:root{font-family:"PingFang SC","Microsoft YaHei",sans-serif;background:#e7e5e1;color:#53544f;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button{font:inherit;border:0;cursor:pointer;color:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:active{transform:scale(.97)}button:focus-visible,[tabindex]:focus-visible{outline:3px solid #956e5c;outline-offset:4px}svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}img{display:block;user-select:none;-webkit-user-drag:none}h1,h2,p{margin:0}.experience{--mood:#bcbcad;--glow:#e6e3d7;container-type:inline-size;width:min(100vw,56.25dvh);height:100dvh;min-height:0;margin:auto;background:#faf8f5;position:relative;overflow:hidden;display:flex;flex-direction:column;isolation:isolate;transition:background 1.4s}.experience[data-mood=happy]{--mood:#d99b87;--glow:#f0d4c7;background:#fcf8f4}.experience[data-mood=calm]{--mood:#9aa99b;--glow:#dce4d9;background:#f8f9f5}.experience[data-mood=close]{--mood:#c19b9a;--glow:#e9d7d5;background:#fcf7f5}header{flex:none;display:flex;align-items:center;padding:5.3cqw 6.5cqw 3cqw;gap:2.8cqw;height:15cqw}.logo{width:23cqw}.station{font-size:2.3cqw;color:#9a9a93;border-left:1px solid #d9d8d2;padding-left:2.8cqw}.icon-button{background:transparent;margin-left:auto;padding:1.8cqw;color:#a09e95}.icon-button svg{display:block;width:3.4cqw;height:3.4cqw}.welcome{text-align:center;padding-top:4cqw;flex:none;z-index:1}.eyebrow{font-size:2.15cqw;letter-spacing:.16em;color:#9b9186}.welcome h1{font-size:6.2cqw;font-weight:500;line-height:1.55;letter-spacing:.065em;margin-top:2.5cqw;min-height:19.3cqw;transition:opacity .15s}.scene{height:76cqw;min-height:58cqw;flex:1;position:relative;touch-action:none;cursor:grab;outline-offset:-5cqw!important}.scene:active{cursor:grabbing}.aura{position:absolute;border-radius:50%;background:var(--glow);transition:background 1.3s,transform 1.3s;pointer-events:none}.aura-one{width:66cqw;height:66cqw;left:17cqw;top:4cqw;opacity:.65;filter:blur(1.7cqw);animation:aura 8s ease-in-out infinite}.aura-two{width:44cqw;height:44cqw;left:37cqw;top:25cqw;opacity:.5;filter:blur(4cqw)}.orbit{position:absolute;left:11cqw;top:0;width:78cqw;height:74cqw;border-radius:50%;border:1px solid #d6cbbb55;transform:rotate(-20deg) scaleY(.82);pointer-events:none}.moflin{position:absolute;width:94cqw;max-height:88cqw;object-fit:contain;left:3cqw;top:-4cqw;mix-blend-mode:multiply;filter:brightness(1.045);pointer-events:none;animation:none;transform:none}.mood-pill{position:absolute;z-index:2;top:2.5cqw;left:50%;transform:translateX(-50%);background:#ffffffb0;border:1px solid #ffffffb0;backdrop-filter:blur(10px);border-radius:5cqw;padding:1.5cqw 2.5cqw;font-size:2.5cqw;display:flex;align-items:center;gap:1.2cqw;white-space:nowrap;color:#8d887e}.mood-dot{background:var(--mood);border-radius:50%;width:1.15cqw;height:1.15cqw;transition:background 1s}.color-picker{position:absolute;bottom:1.5cqw;left:50%;transform:translateX(-50%);display:flex;gap:1.5cqw;z-index:3}.color-picker button{height:5.8cqw;width:5.8cqw;background:transparent;border:1px solid transparent;border-radius:50%;display:grid;place-items:center}.color-picker button.selected{border-color:#c3b9aa}.color-picker i{width:2.6cqw;height:2.6cqw;display:block;border-radius:50%;background:#c5c7c9}.color-picker [data-color=gold] i{background:#dfc9a6}.response{text-align:center;padding:1.5cqw 4cqw 4.5cqw;flex:none;min-height:16cqw;z-index:2}.response h2{font-size:3.1cqw;font-weight:500;line-height:1.6;letter-spacing:.035em}.response p{color:#a09a8f;font-size:2.15cqw;line-height:1.8;margin-top:1.6cqw}.actions{display:grid;grid-template-columns:1fr 1fr;gap:2cqw;margin:0 7cqw;flex:none}.action{display:flex;align-items:center;gap:2.4cqw;text-align:left;border-radius:3.6cqw;padding:4cqw 3.5cqw;font-size:3cqw;height:13.5cqw}.action svg{width:4.7cqw;height:4.7cqw}.action-sign{margin-left:auto;font-size:3cqw;font-weight:300;opacity:.7}.pet{background:#dfaa96;color:#fffdf9}.hug{background:#ede5d9;color:#897769}footer{flex:none;padding:4.5cqw 7cqw 3.4cqw;text-align:center}#real{background:transparent;padding:1.5cqw;font-size:2.4cqw;color:#8d8273}#real span{display:inline-block;margin-left:2cqw}.footnote{margin-top:3cqw;color:#b0aba0;font-size:1.7cqw;display:flex;align-items:center;justify-content:center;position:relative;min-height:3cqw}#fullscreen{position:absolute;right:0;background:transparent;padding:1cqw;color:#b0aba0}#fullscreen svg{display:block;width:2.7cqw;height:2.7cqw}.touch-light{position:absolute;left:0;top:0;width:15cqw;height:15cqw;background:#fff7d8;border-radius:50%;filter:blur(4cqw);opacity:0;transform:translate(-50%,-50%);pointer-events:none;z-index:1;transition:opacity .15s}.scene.pressed .touch-light{opacity:.8}.hold-progress{display:none;position:absolute;z-index:4;width:12cqw;height:12cqw;pointer-events:none;transform:translate(-50%,-50%);background:#ffffff90;border-radius:50%;backdrop-filter:blur(5px)}.hold-progress.visible{display:grid;place-items:center}.hold-progress svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}.hold-progress span{font-size:1.7cqw;color:#8d887e}.ring-track{stroke:#d8d9cb;stroke-width:2}.ring-fill{stroke:#9ca992;stroke-width:3;stroke-dasharray:276.46;stroke-dashoffset:276.46}.spark{position:absolute;pointer-events:none;z-index:2;width:1.4cqw;height:1.4cqw;border-radius:50%;background:#fff9e9;box-shadow:0 0 2cqw #f6d7a9;animation:drift 1s ease-out forwards}.scene.nuzzle .aura-one{transform:scale(1.12)}.scene.settle .aura-one{transform:scale(1.15)}dialog{border:0;border-radius:4cqw;width:84cqw;max-width:calc(min(100vw,56.25dvh)*.84);max-height:90dvh;background:#faf8f5;padding:4cqw;color:#55564f;margin:auto;overflow:auto;box-shadow:0 3cqw 12cqw #56534320}dialog::backdrop{background:#56534755;backdrop-filter:blur(10px)}dialog>img{width:100%;height:40cqw;object-fit:cover;border-radius:2.5cqw}.close{position:absolute;right:5cqw;top:5cqw;width:6.5cqw;height:6.5cqw;border-radius:50%;background:#fff;font-size:4cqw;color:#858477}dialog .eyebrow{margin:4cqw 0 2.2cqw;font-size:2cqw}dialog h2{font-size:4.8cqw;font-weight:500;line-height:1.5}dialog .guide-copy{font-size:2.5cqw;color:#969082;line-height:1.9;margin-top:2.5cqw}#done{background:#dfaa96;color:white;border-radius:3cqw;padding:3cqw;width:100%;margin-top:4cqw;font-size:2.7cqw}#done span{margin-left:2cqw}.toast{position:absolute;left:12cqw;right:12cqw;bottom:16cqw;z-index:8;background:#6c6b60e8;color:white;border-radius:3cqw;padding:2.5cqw;font-size:2.2cqw;text-align:center;opacity:0;transition:opacity .2s;pointer-events:none}.toast.show{opacity:1}@keyframes aura{0%,100%{transform:scale(.97)}50%{transform:scale(1.035)}}@keyframes drift{to{opacity:0;transform:translateY(-9cqw) scale(.3)}}@media(max-aspect-ratio:9/16){.experience{width:100vw}.scene{max-height:87cqw;min-height:67cqw}.welcome{padding-top:7cqw}.response{margin-top:auto}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.scene{overflow:clip}

.moflin.puppet{width:88cqw;height:88cqw;max-height:none;left:6cqw;animation:none;transform:none}.puppet[hidden]{display:none}
/* Video stories remain secondary to the touch experience. */
.video-entry{display:flex;align-items:center;gap:2cqw;width:100%;background:#f0ebe3;border:1px solid #e6ded2;border-radius:3cqw;padding:2.1cqw 3cqw;margin:0 0 1.5cqw;text-align:left;font-size:2.5cqw;color:#8c7d6b}.video-entry svg{width:3.8cqw;height:3.8cqw}.entry-arrow{margin-left:auto}footer{padding-top:2.4cqw;padding-bottom:2cqw}.footnote{margin-top:1.5cqw}.response{padding-bottom:3cqw;min-height:14.5cqw}#videos{width:90cqw;max-width:calc(min(100vw,56.25dvh)*.9);padding:4.5cqw;max-height:91dvh;border-radius:4cqw}#videos .close{position:static;flex-shrink:0}.video-header{display:flex;justify-content:space-between;align-items:center;gap:2cqw}#videos .eyebrow{margin:0 0 1.8cqw;font-size:1.9cqw}#videos h2{font-size:4.4cqw}.video-categories{display:grid;grid-template-columns:repeat(3,1fr);gap:1cqw;background:#eeebe5;border-radius:3cqw;padding:.6cqw;margin:4cqw 0 3cqw}.video-categories button{background:transparent;border-radius:2.5cqw;font-size:2.5cqw;padding:2cqw .5cqw;white-space:nowrap}.video-categories button[aria-pressed=true]{background:#fffaf4;color:#a07761;box-shadow:0 .3cqw 1cqw #70634b0a}#category-description{font-size:2.6cqw;font-weight:400;color:#979081;margin:0 0 2.5cqw}.video-screen{aspect-ratio:16/10;background:#eae4da;border-radius:3cqw;position:relative;overflow:hidden;display:grid;place-items:center}#video-poster{width:100%;height:100%;position:absolute;object-fit:cover;opacity:.5}#video-poster.illustration{object-fit:contain;padding:8cqw;opacity:.7}#video-placeholder{position:relative;display:flex;flex-direction:column;gap:1.5cqw;align-items:center;padding:3cqw 5cqw;border-radius:3cqw;background:#faf7f0dd;color:#7e786b}#video-placeholder span{font-size:1.7cqw;letter-spacing:.18em}#video-placeholder p{font-size:3.2cqw}#video-placeholder small{font-size:1.8cqw;color:#aaa18e}#video-player{width:100%;height:100%;position:absolute;object-fit:contain;background:#24241f}#videos [hidden]{display:none!important}.video-caption{display:flex;justify-content:space-between;gap:2cqw;align-items:center;margin-top:3cqw}.video-caption h3{font-size:3.1cqw;font-weight:500;margin:0}.video-caption span{font-size:1.8cqw;color:#a39885;border:1px solid #e3dccf;border-radius:4cqw;padding:.8cqw 1.5cqw;white-space:nowrap}#video-description{font-size:2.3cqw;line-height:1.7;color:#969082;margin:1.5cqw 0 3.2cqw}.video-list{display:grid;gap:1.4cqw}.video-item{display:flex;gap:2cqw;align-items:center;width:100%;text-align:left;background:#f0ede7;border:1px solid transparent;border-radius:2.5cqw;padding:2.6cqw 2.4cqw;font-size:2.5cqw}.video-item.selected{background:#f4e5da;border-color:#e7cdbd}.video-number{font-size:1.9cqw;color:#b59b86}.video-item small{margin-left:auto;font-size:1.8cqw;color:#aaa08f;white-space:nowrap}#video-error{padding:2cqw;background:#f3e0d8;border-radius:2cqw;font-size:2.2cqw;margin-bottom:2cqw;color:#926c5d}#retry-video{padding:1cqw 2cqw;margin-left:2cqw;border-radius:2cqw;background:#fffc}
#video-poster{mix-blend-mode:multiply}
