html,body{cursor:none}*{cursor:none!important}.cursor{position:fixed;top:0;left:0;pointer-events:none;z-index:9999;width:0;height:0;transition:opacity .18s ease;mix-blend-mode:normal}.cursor.is-hidden{opacity:0}.cursor__dot,.cursor__ring{position:absolute;left:50%;top:50%;border-radius:50%;transform:translate(-50%,-50%);transition:all .16s ease-out}.cursor__dot{width:6px;height:6px;background:#fffdf5;box-shadow:0 0 4px #00000073}.cursor__ring{width:22px;height:22px;border:1.5px solid rgba(255,253,245,.85);box-shadow:0 0 6px #0000004d}.cursor__hand{position:absolute;left:50%;top:50%;transform:translate(-50%,-55%) scale(.6);opacity:0;transition:opacity .16s ease-out,transform .16s ease-out;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}.cursor--hover .cursor__dot,.cursor--hover .cursor__ring{opacity:0;transform:translate(-50%,-50%) scale(.4)}.cursor--hover .cursor__hand{opacity:1;transform:translate(-50%,-55%) scale(1)}.cursor.is-pressed .cursor__ring{width:16px;height:16px}.cursor.is-pressed .cursor__dot{width:8px;height:8px}.cursor.is-pressed .cursor__hand{transform:translate(-50%,-55%) scale(.88)}.mode-switcher{position:fixed;top:clamp(110px,15vh,140px);right:max(var(--container-pad-x, 64px),calc((100vw - var(--container-max, 1280px)) / 2 + var(--container-pad-x, 64px)));z-index:100;display:inline-flex;align-items:center;gap:12px;background:transparent;border:none;padding:6px 8px;cursor:pointer;font:inherit;color:var(--switcher-fg, #f2efe6);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.mode-switcher__label{font-size:15px;letter-spacing:.2px;color:var(--switcher-fg, #f2efe6)}.mode-switcher__track{position:relative;width:44px;height:24px;border-radius:999px;background:var(--switcher-track-bg, #000);transition:background .28s ease;flex-shrink:0}.mode-switcher__thumb{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--switcher-thumb-bg, #fff);transition:transform .26s cubic-bezier(.2,.8,.2,1)}.mode-switcher__track.is-on .mode-switcher__thumb{transform:translate(20px)}.mode-switcher--on{--switcher-fg: #f2efe6;--switcher-track-bg: #1f1f1f;--switcher-thumb-bg: #ffffff}.mode-switcher--off{--switcher-fg: #1a1814;--switcher-track-bg: #1a1814;--switcher-thumb-bg: #ffffff}.mode-switcher:focus-visible{outline:2px solid #5b5bff;outline-offset:4px;border-radius:6px}.lang-switcher{position:fixed;top:calc(clamp(110px,15vh,140px) + 8px);right:calc(max(var(--container-pad-x, 64px),calc((100vw - var(--container-max, 1280px)) / 2 + var(--container-pad-x, 64px))) + 180px);z-index:100;display:inline-flex;align-items:center;gap:8px;font-family:inherit;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.lang-switcher__btn{background:transparent;border:none;padding:2px 4px;cursor:pointer;font:inherit;font-size:14px;font-weight:400;letter-spacing:.02em;color:var(--lang-fg, rgba(242, 239, 230, .5));transition:color .2s ease;line-height:1}.lang-switcher__btn:hover{color:var(--lang-fg-hover, rgba(242, 239, 230, .85))}.lang-switcher__btn.is-active{color:var(--lang-fg-active, #f2efe6);font-weight:500}.lang-switcher__sep{font-size:14px;color:var(--lang-fg, rgba(242, 239, 230, .3));pointer-events:none}.lang-switcher--on{--lang-fg: rgba(242, 239, 230, .5);--lang-fg-hover: rgba(242, 239, 230, .85);--lang-fg-active: #f2efe6}.lang-switcher--off{--lang-fg: rgba(26, 24, 20, .5);--lang-fg-hover: rgba(26, 24, 20, .85);--lang-fg-active: #1a1814}.lang-switcher__btn:focus-visible{outline:2px solid #5b5bff;outline-offset:4px;border-radius:4px}.portfolio-link{position:fixed;top:calc(clamp(110px,15vh,140px) + 8px);right:calc(max(var(--container-pad-x, 64px),calc((100vw - var(--container-max, 1280px)) / 2 + var(--container-pad-x, 64px))) + 276px);z-index:100;display:inline-flex;align-items:center;gap:6px;font-family:inherit;font-size:14px;font-weight:400;letter-spacing:.02em;line-height:1;text-decoration:none;color:var(--pl-fg, rgba(242, 239, 230, .6));transition:color .2s ease,transform .2s ease;padding:2px 4px;-webkit-tap-highlight-color:transparent}.portfolio-link:hover{color:var(--pl-fg-hover, #f2efe6)}.portfolio-link:hover .portfolio-link__arrow{transform:translate(2px,-2px)}.portfolio-link__arrow{display:inline-block;font-size:13px;transition:transform .2s ease;opacity:.85}.portfolio-link--on{--pl-fg: rgba(242, 239, 230, .6);--pl-fg-hover: #f2efe6}.portfolio-link--off{--pl-fg: rgba(26, 24, 20, .6);--pl-fg-hover: #1a1814}.portfolio-link:focus-visible{outline:2px solid #5b5bff;outline-offset:4px;border-radius:4px}@media (max-width: 820px){.portfolio-link{display:none}}.timeline{width:100%;height:100%;padding-top:32px;color:#f2efe6}.timeline__frame{position:relative;height:100%;max-width:var(--container-max);margin:0 auto;padding:0 calc(var(--rail-pad-right) + 240px) 0 var(--container-pad-x);box-sizing:border-box}.timeline__viewport{position:relative;height:100%;overflow:hidden;mask-image:linear-gradient(to bottom,transparent 0,#000 5%,#000 92%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 5%,#000 92%,transparent 100%);touch-action:none;cursor:default}.timeline__focus{position:absolute;left:0;right:0;top:50%;height:1px;background:transparent;pointer-events:none}.timeline__content-wrap{position:relative;opacity:1;transform:translateY(0);transition:opacity .8s cubic-bezier(.16,1,.3,1) .1s,transform .8s cubic-bezier(.16,1,.3,1) .1s}.timeline__content-wrap.is-behind-bio{opacity:0;transform:translateY(100%);transition:opacity .5s cubic-bezier(.4,0,1,1),transform .5s cubic-bezier(.4,0,1,1)}.timeline__content{position:relative;will-change:transform}.timeline__rail{position:absolute;top:0;bottom:0;left:50%;width:1px;transform:translate(-.5px);background:#5b5bff66;pointer-events:none}.timeline__slot{display:grid;grid-template-columns:1fr auto 1fr;column-gap:44px;align-items:center;padding:30px 0;min-height:180px}.timeline__left{grid-column:1;text-align:right}.timeline__right{grid-column:3;text-align:left}.timeline__leftInner,.timeline__rightInner{display:inline-block;transform-origin:right center;transition:transform .36s cubic-bezier(.2,.8,.2,1),opacity .36s ease}.timeline__rightInner{transform-origin:left center}.timeline__dot{grid-column:2;width:8px;height:8px;border-radius:50%;background:#5b5bff;justify-self:center;align-self:center;opacity:.55;transform:scale(.85);transition:transform .36s cubic-bezier(.2,.8,.2,1),opacity .36s ease,box-shadow .36s ease}.timeline__dot.is-active{opacity:1;transform:scale(1.3);box-shadow:0 0 0 4px #5b5bff38,0 0 14px #5b5bff80}.timeline__bio-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding-bottom:calc(50vh - 200px);z-index:5;background:#000;will-change:opacity,transform}.timeline__bio-overlay.is-visible{opacity:1;transform:translateY(0);pointer-events:auto;transition:opacity .7s cubic-bezier(.16,1,.3,1) .1s,transform .7s cubic-bezier(.16,1,.3,1) .1s}.timeline__bio-overlay.is-hidden{opacity:0;transform:translateY(-100%);pointer-events:none;transition:opacity .7s cubic-bezier(.4,0,.6,1),transform .7s cubic-bezier(.4,0,.6,1)}.timeline__bio-text{margin:0;font-size:clamp(15px,1.4vw,22px);font-weight:300;line-height:1.75;letter-spacing:.005em;color:#f2efe6;opacity:.8;max-width:640px;text-align:left}.timeline__location{font-size:clamp(12px,.9vw,13px);font-weight:300;opacity:.6;letter-spacing:.02em;margin-bottom:10px}.timeline__role{font-size:clamp(16px,1.4vw,21px);font-weight:500;line-height:1.3;letter-spacing:-.005em}.timeline__summary{font-size:clamp(15px,1.2vw,18px);font-weight:500;margin-bottom:12px;line-height:1.35;letter-spacing:-.005em;white-space:pre-line}.timeline__items{list-style:none;margin:0;padding:0}.timeline__items li{font-size:clamp(13px,1vw,15px);font-weight:200;opacity:.32;line-height:1.72;letter-spacing:.01em;transform:translateY(6px);transition:opacity .42s ease,transform .52s cubic-bezier(.2,.8,.2,1)}.timeline__slot.is-active .timeline__items li{opacity:.72;transform:translateY(0)}.timeline__slot .timeline__location,.timeline__slot .timeline__role,.timeline__slot .timeline__summary{transition:opacity .36s ease,transform .42s cubic-bezier(.2,.8,.2,1)}.timeline__slot:not(.is-active) .timeline__location,.timeline__slot:not(.is-active) .timeline__role,.timeline__slot:not(.is-active) .timeline__summary{transform:translateY(4px)}.timeline__scrubber{position:fixed;right:max(var(--container-pad-x),calc((100vw - var(--container-max)) / 2 + var(--container-pad-x)));top:50%;height:180px;transform:translateY(-50%);width:2px;-webkit-user-select:none;user-select:none;z-index:50}.timeline__track{position:relative;width:2px;height:100%;background:#5b5bff26;border-radius:2px;cursor:pointer;touch-action:none}.timeline__track.is-dragging{background:#5b5bff47}.timeline__snapTick{position:absolute;left:50%;width:6px;height:6px;border-radius:50%;background:#5b5bff59;transform:translate(-50%,-50%);transition:background .22s ease,width .22s ease,height .22s ease,box-shadow .22s ease}.timeline__snapTick.is-active{background:#7c7cff;width:8px;height:8px;box-shadow:0 0 0 3px #5b5bff33}.timeline__snapTick.is-bio-tick{width:12px;height:12px;background:#5b5bffb3;border:2px solid rgba(124,124,255,.9)}.timeline__snapTick.is-bio-tick.is-active{width:14px;height:14px;background:#5b5bff;border-color:#fff;box-shadow:0 0 0 5px #5b5bff47,0 0 16px #5b5bff8c}.timeline__thumb{position:absolute;left:50%;width:14px;height:14px;border-radius:50%;background:#5b5bff;transform:translate(-50%,-50%);cursor:grab;touch-action:none;box-shadow:0 0 0 4px #5b5bff33,0 0 12px #5b5bff73;transition:width .5s cubic-bezier(.4,0,.2,1),height .5s cubic-bezier(.4,0,.2,1),box-shadow .4s ease,background .22s ease}.timeline__thumb.is-bio{width:26px;height:26px;box-shadow:0 0 0 6px #5b5bff38,0 0 20px #5b5bff80;animation:thumb-pulse 2.2s ease-in-out infinite}@keyframes thumb-pulse{0%,to{box-shadow:0 0 0 6px #5b5bff38,0 0 20px #5b5bff80}50%{box-shadow:0 0 0 14px #5b5bff1a,0 0 36px #5b5bff66}}.timeline__thumb:hover,.timeline__thumb:focus-visible{outline:none;width:18px;height:18px;box-shadow:0 0 0 6px #5b5bff38,0 0 18px #5b5bff8c;animation:none}.timeline__thumb.is-bio:hover{width:30px;height:30px}.timeline__thumb.is-dragging,.timeline__thumb:active{cursor:grabbing;width:22px;height:22px;background:#7c7cff;box-shadow:0 0 0 10px #5b5bff47,0 0 28px #5b5bffa6;animation:none}.timeline__thumb-label{position:absolute;right:calc(100% + 14px);top:50%;transform:translateY(-50%);white-space:nowrap;display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:400;letter-spacing:.02em;color:#f2efe6;opacity:.92;padding:4px 10px;border-radius:999px;background:#5b5bff24;border:1px solid rgba(91,91,255,.4);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;font-variant-numeric:tabular-nums;transition:font-size .4s ease,padding .4s ease}.timeline__thumb-label.is-bio-label{font-size:15px;font-weight:500;padding:6px 14px;background:#5b5bff2e}.timeline__hint-arrow{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#5b5bff;color:#fff;font-size:13px;font-weight:700;line-height:1;animation:hint-bounce 1.2s cubic-bezier(.4,0,.2,1) infinite;box-shadow:0 0 12px #5b5bff99}@keyframes hint-bounce{0%{transform:translateY(0)}30%{transform:translateY(-2px)}60%{transform:translateY(6px)}to{transform:translateY(0)}}@media (max-width: 640px){.timeline{padding-top:16px}.timeline__viewport{height:auto;overflow:visible;mask-image:none;-webkit-mask-image:none}.timeline__content{padding:0!important;transform:none!important}.timeline__slot{grid-template-columns:12px 1fr;column-gap:16px;align-items:start;padding:16px 0;row-gap:12px;min-height:auto}.timeline__rail{left:6px;transform:none}.timeline__dot{grid-column:1}.timeline__left{grid-column:2;text-align:left}.timeline__right{grid-column:2;margin-top:4px}.timeline__leftInner,.timeline__rightInner{transform:none!important;opacity:1!important}.timeline__items li{opacity:.82;transform:none}.timeline__scrubber{display:none}.timeline__bio-text{text-align:left}}:root{--container-max: 1280px;--container-pad-x: 64px;--rail-pad-right: 140px}@media (max-width: 1024px){:root{--container-pad-x: 40px;--rail-pad-right: 80px}}@media (max-width: 640px){:root{--container-pad-x: 24px;--rail-pad-right: 24px}}.hero-stage{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;background:#000;color:#f2efe6;overflow:hidden;display:flex;flex-direction:column;animation:hero-fade-in .7s ease-out both}@keyframes hero-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.hero-header{flex-shrink:0;padding-top:clamp(72px,14vh,120px);z-index:3;position:relative}.hero-header__inner{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-pad-x) 0 calc(var(--container-pad-x) + (var(--container-max) - var(--container-pad-x) - var(--rail-pad-right) - 240px - 640px) / 2);width:100%;box-sizing:border-box}.hero-title{margin:0;font-weight:400;font-size:clamp(20px,3vw,36px);line-height:1.2;letter-spacing:-.01em;color:#f2efe6}.hero-line{display:block}.hero-line+.hero-line{margin-top:4px}.hero-accent{color:#5b5bff;font-weight:700}.hero-marquee{position:relative;margin-top:28px;width:100vw;margin-left:calc(-50vw + 50%);overflow:hidden;display:flex;mask-image:linear-gradient(to right,transparent 0,#000 6%,#000 94%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0,#000 6%,#000 94%,transparent 100%)}.hero-marquee__track{display:flex;flex-shrink:0;white-space:nowrap;animation:hero-marquee-scroll 38s linear infinite;will-change:transform}@keyframes hero-marquee-scroll{0%{transform:translate(0)}to{transform:translate(-100%)}}.hero-marquee__item{display:inline-flex;align-items:center;font-size:clamp(13px,1.2vw,17px);font-weight:300;letter-spacing:.02em;color:#5b5bff;opacity:.7}.hero-marquee__text{padding:0 18px}.hero-marquee__sep{opacity:.55}.hero-marquee:hover .hero-marquee__track{animation-play-state:paused}.hero-body{flex:1;position:relative;overflow:hidden}@media (max-width: 640px){.hero-marquee{margin-top:18px}}.interactive-item-slot{position:absolute;opacity:0;animation:itemDropIn .62s cubic-bezier(.2,.9,.25,1.25) forwards}@keyframes itemDropIn{0%{opacity:0;transform:translateY(-10px) scale(.9)}60%{opacity:1;transform:translateY(2px) scale(1.04)}to{opacity:1;transform:translateY(0) scale(1)}}.interactive-item{display:block;width:100%;height:100%;pointer-events:auto;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;image-rendering:auto;image-rendering:-webkit-optimize-contrast;image-rendering:high-quality;transition:filter .18s ease-out,transform .18s ease-out;transform-origin:center center;will-change:filter,transform;cursor:pointer}.interactive-item.is-hovered{filter:drop-shadow(0 0 .5px #ffffff) drop-shadow(0 0 .5px #ffffff) drop-shadow(0 0 1px #ffffff) drop-shadow(0 0 10px #d9fff2) drop-shadow(0 0 22px rgba(180,250,225,.9)) drop-shadow(0 0 36px rgba(150,240,210,.6));transform:scale(1.06)}.bgm-iframe{position:fixed;width:1px;height:1px;left:-9999px;top:-9999px;opacity:0;border:0;pointer-events:none}.mini-bgm{position:fixed;left:50%;bottom:24px;transform:translate(-50%,12px);display:flex;align-items:center;gap:14px;padding:10px 12px 10px 18px;background:#141416db;backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);color:#fff;border-radius:999px;border:1px solid rgba(255,255,255,.08);box-shadow:0 10px 30px #00000059;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;z-index:1000;opacity:0;pointer-events:none;transition:opacity .36s ease,transform .36s cubic-bezier(.2,.8,.2,1);max-width:min(420px,calc(100vw - 32px))}.mini-bgm.is-visible{opacity:1;transform:translate(-50%);pointer-events:auto}.mini-bgm__info{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;font:inherit;color:inherit;text-align:left;padding:4px 6px;margin:-4px -6px;border-radius:8px;cursor:pointer;display:flex;align-items:baseline;gap:8px;min-width:0;flex:1;transition:background .16s ease,transform .16s ease;-webkit-tap-highlight-color:transparent}.mini-bgm__info:hover{background:#ffffff0f}.mini-bgm__info:active{transform:scale(.98)}.mini-bgm__info:focus-visible{outline:2px solid #5b5bff;outline-offset:2px}.mini-bgm__title{font-size:13.5px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.2px}.mini-bgm__sep{color:#ffffff59;font-size:12px;flex-shrink:0}.mini-bgm__artist{font-size:12.5px;color:#fff9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.2px}.mini-bgm__controls{display:flex;align-items:center;gap:4px;flex-shrink:0}.mini-bgm__btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:#ffffffd9;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .16s ease,color .16s ease,transform .16s ease;-webkit-tap-highlight-color:transparent}.mini-bgm__btn:hover{background:#ffffff1f;color:#fff}.mini-bgm__btn:active{transform:scale(.92)}.mini-bgm__play{background:#5b5bffeb;color:#fff;box-shadow:0 3px 10px #5b5bff66}.mini-bgm__play:hover{background:#5b5bff}.mini-bgm__next{color:#ffffffc7}.mini-bgm__next:hover{background:#5b5bff2e;color:#c4c4ff}@media (max-width: 600px){.mini-bgm{bottom:16px;padding:9px 10px 9px 14px;gap:10px}.mini-bgm__title{font-size:12.5px}.mini-bgm__artist{font-size:11.5px}}.mute-toggle{position:fixed;top:calc(clamp(110px,15vh,140px) - 1px);right:calc(max(var(--container-pad-x, 64px),calc((100vw - var(--container-max, 1280px)) / 2 + var(--container-pad-x, 64px))) + 264px);z-index:100;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;padding:4px;margin:0;line-height:0;cursor:pointer;color:var(--mute-fg, rgba(26, 24, 20, .5));transition:color .2s ease,transform .18s cubic-bezier(.2,.8,.2,1);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.mute-toggle:hover{color:var(--mute-fg-hover, rgba(26, 24, 20, .9));transform:scale(1.08)}.mute-toggle:active{transform:scale(.94)}.mute-toggle.is-muted{color:var(--mute-fg, rgba(26, 24, 20, .4))}.mute-toggle:not(.is-muted){color:var(--mute-fg-active, #1a1814)}.mute-toggle--on{--mute-fg: rgba(242, 239, 230, .5);--mute-fg-hover: rgba(242, 239, 230, .9);--mute-fg-active: #f2efe6}.mute-toggle--off{--mute-fg: rgba(26, 24, 20, .45);--mute-fg-hover: rgba(26, 24, 20, .9);--mute-fg-active: #1a1814}.mute-toggle:focus-visible{outline:2px solid #5b5bff;outline-offset:4px;border-radius:4px}.mute-toggle.is-pulsing{animation:muteTogglePulse 1.4s ease-in-out infinite;color:var(--mute-fg-pulse, #5b5bff)}.mute-toggle.is-pulsing:hover{animation:none}@keyframes muteTogglePulse{0%,to{transform:scale(1);filter:drop-shadow(0 0 0 rgba(91,91,255,0)) drop-shadow(0 0 0 rgba(91,91,255,0))}50%{transform:scale(1.28);filter:drop-shadow(0 0 10px rgba(91,91,255,.85)) drop-shadow(0 0 22px rgba(91,91,255,.45))}}@media (prefers-reduced-motion: reduce){.mute-toggle.is-pulsing{animation:none}.mute-toggle.is-pulsing{color:var(--mute-fg-pulse, #5b5bff)}}@media (max-width: 1024px){.mute-toggle{right:calc(max(var(--container-pad-x, 32px),calc((100vw - var(--container-max, 1280px)) / 2 + var(--container-pad-x, 32px))) + 214px)}}.doggo{position:absolute;z-index:5;transition:none;filter:drop-shadow(0 1px 1px rgba(0,0,0,.18));will-change:transform,left,top}.doggo__svg{display:block;width:100%;height:100%}.doggo__shadow{position:absolute;left:50%;bottom:0;width:50%;height:5px;background:#00000026;border-radius:50%;transform:translate(-50%);filter:blur(1.5px);z-index:-1}.doggo--walking .doggo__leg{animation:dogLegStep .4s ease-in-out infinite;transform-origin:50% 0}.doggo--walking .doggo__leg--bl,.doggo--walking .doggo__leg--fr{animation-delay:0s}.doggo--walking .doggo__leg--br,.doggo--walking .doggo__leg--fl{animation-delay:-.2s}@keyframes dogLegStep{0%{transform:translateY(0) rotate(0)}25%{transform:translateY(-1.5px) rotate(-12deg)}50%{transform:translateY(0) rotate(0)}75%{transform:translateY(.5px) rotate(10deg)}to{transform:translateY(0) rotate(0)}}.doggo--walking .doggo__svg{animation:dogBob .4s ease-in-out infinite}@keyframes dogBob{0%,to{transform:translateY(0)}50%{transform:translateY(-1.5px)}}.doggo--idle .doggo__tail-group{animation:dogTailIdle 1.6s ease-in-out infinite;transform-origin:14px 28px}@keyframes dogTailIdle{0%,to{transform:rotate(-6deg)}50%{transform:rotate(10deg)}}.doggo--walking .doggo__tail-group{animation:dogTailWalk .4s ease-in-out infinite;transform-origin:14px 28px}@keyframes dogTailWalk{0%,to{transform:rotate(-12deg)}50%{transform:rotate(16deg)}}.doggo--idle .doggo__svg{animation:dogBreath 2.6s ease-in-out infinite;transform-origin:50% 80%}@keyframes dogBreath{0%,to{transform:scale(1)}50%{transform:scale(1.015,.985)}}.doggo--walking .doggo__ear{animation:dogEar .4s ease-in-out infinite;transform-origin:56px 18px}@keyframes dogEar{0%,to{transform:rotate(0)}50%{transform:rotate(-5deg)}}.doggo .doggo__leg,.doggo .doggo__body{transition:transform .5s ease}.doggo--sitting .doggo__leg--bl{transform-origin:23px 40px;transform:rotate(-80deg) translate(-10px)}.doggo--sitting .doggo__leg--br{transform-origin:27px 40px;transform:rotate(-80deg) translate(-10px)}.doggo--sitting .doggo__leg--fl{transform-origin:42px 39px;transform:rotate(-80deg) translate(-10px)}.doggo--sitting .doggo__leg--fr{transform-origin:46px 39px;transform:rotate(-80deg) translate(-10px)}.doggo--sitting .doggo__body{transform:translateY(10px)}.doggo--sitting .doggo__tail-group{animation:dogTailSit 2.4s ease-in-out infinite;transform-origin:14px 28px}@keyframes dogTailSit{0%,to{transform:rotate(-4deg)}50%{transform:rotate(8deg)}}.doggo__card{position:absolute;bottom:110%;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none;z-index:10;white-space:nowrap;opacity:0;transition:opacity .4s ease}.doggo__card.is-visible{opacity:1;pointer-events:auto}.doggo__card-img{width:110px;height:auto;border-radius:10px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.2))}.doggo__card-name{font-size:11px;font-weight:500;color:#fff;letter-spacing:1px;background:#00000080;padding:2px 10px;border-radius:10px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.sink-hotspot{position:absolute;z-index:3;background:transparent;border:none;cursor:pointer;padding:0;margin:0;-moz-appearance:none;appearance:none;-webkit-appearance:none}.sink-hotspot:focus-visible{outline:2px solid rgba(100,180,255,.5);outline-offset:2px;border-radius:4px}.sink-water{position:absolute;z-index:2;pointer-events:none;animation:sinkWaterLife 5s ease both}.sink-water__stream{width:4px;border-radius:2px;background:linear-gradient(180deg,#8cc8ffb3,#64b4ff80 40%,#8cd2ff59);animation:sinkStreamFlow .4s ease-in-out infinite alternate;transform-origin:top center;animation:sinkStreamIn .3s ease-out forwards,sinkStreamFlow .4s .3s ease-in-out infinite alternate}.sink-water__splash{position:relative;top:-2px;left:-6px;width:16px;height:8px;border-radius:50%;background:radial-gradient(ellipse at 50% 50%,#8cd2ff80,#8cd2ff00 70%);animation:sinkSplash .3s ease-in-out infinite alternate}@keyframes sinkStreamIn{0%{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:1}}@keyframes sinkStreamFlow{0%{transform:scaleX(1) scaleY(1)}to{transform:scaleX(1.3) scaleY(1.02)}}@keyframes sinkSplash{0%{transform:scale(1);opacity:.6}to{transform:scale(1.4,.7);opacity:.3}}@keyframes sinkWaterLife{0%{opacity:0}5%{opacity:1}85%{opacity:1}to{opacity:0}}.wall-clock{position:absolute;z-index:3;padding:0;margin:0;border:none;background:transparent;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;transform:translate(-50%,-50%) perspective(300px) rotateX(-30deg) rotateY(-40deg) rotate(10deg);filter:drop-shadow(2px 3px 1px rgba(0,0,0,.35)) drop-shadow(5px 8px 6px rgba(0,0,0,.15));transition:filter .2s ease}.wall-clock:hover{filter:drop-shadow(2px 3px 1px rgba(0,0,0,.35)) drop-shadow(5px 8px 6px rgba(0,0,0,.15)) brightness(1.06)}.wall-clock:focus-visible{outline:2px solid rgba(100,150,255,.5);outline-offset:4px;border-radius:50%}.clock-face{display:block}.clock-face__hand{transition:none}.clock-panel-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:transparent;animation:clockFadeIn .2s ease}@keyframes clockFadeIn{0%{opacity:0}to{opacity:1}}.clock-panel{position:relative;background:#ffffffe0;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.9);border-radius:20px;padding:32px 36px 28px;box-shadow:0 20px 60px #0000002e,inset 0 1px 1px #fffc;max-width:460px;width:90vw}.clock-panel__close{position:absolute;top:12px;right:14px;width:28px;height:28px;border-radius:50%;border:none;background:#0000000f;color:#00000073;font-size:16px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .16s ease,color .16s ease}.clock-panel__close:hover{background:#0000001f;color:#000000b3}.clock-panel__clocks{display:flex;gap:32px;justify-content:center;flex-wrap:wrap}.clock-card{display:flex;flex-direction:column;align-items:center;gap:12px;min-width:140px}.clock-card__face-wrap{filter:drop-shadow(0 2px 6px rgba(0,0,0,.1))}.clock-card__info{display:flex;flex-direction:column;align-items:center;gap:2px}.clock-card__label{font-size:13px;font-weight:600;color:#2a2520;letter-spacing:.5px}.clock-card__digital{font-size:22px;font-weight:300;color:#2a2520;font-variant-numeric:tabular-nums;letter-spacing:1px;font-family:SF Mono,Fira Code,Menlo,monospace}.clock-card__tz{font-size:11px;color:#2a252080;letter-spacing:.3px}@media (max-width: 480px){.clock-panel__clocks{flex-direction:column;gap:24px}.clock-panel{padding:24px 20px 20px}}.clock-panel__scene{margin:24px 0 0;padding:16px 0 0;border-top:1px solid rgba(0,0,0,.06);font-size:13px;font-style:italic;color:#2a252080;text-align:center;line-height:1.6;letter-spacing:.15px;transition:opacity .4s ease}.clock-panel__scene.is-loading{opacity:.35}.cushion-secret{position:absolute;left:395px;top:602px;width:54px;height:53px;z-index:8}.cushion-secret__pad{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;padding:0;margin:0;border:none;background:transparent;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;transform-origin:50% 50%;transition:transform .5s cubic-bezier(.3,.9,.3,1)}.cushion-secret__pad.is-open{transform:rotate(-25deg) translate(-12px,-16px);transition-delay:.1s}.cushion-secret__img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(1px 1px 1px rgba(0,0,0,.15))}.cushion-secret__svg{display:block;width:100%;height:100%;filter:drop-shadow(1px 1px 1px rgba(0,0,0,.15))}.cushion-secret__item{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1;opacity:0;pointer-events:none}.cushion-secret__item.is-visible{opacity:1}.cushion-secret__detail{position:absolute;bottom:110%;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none;z-index:10;white-space:nowrap;opacity:0;transition:opacity .4s ease}.cushion-secret__detail.is-visible{opacity:1}.cushion-secret__detail>:first-child{transform:scale(2);margin-bottom:12px}.cushion-secret__detail-name{font-size:12px;font-weight:400;color:#fff;letter-spacing:.3px;background:#00000073;padding:3px 10px;border-radius:8px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.themed-modal__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:100;animation:tmFadeIn .22s ease-out;padding:24px}.themed-modal__backdrop.is-closing{animation:tmFadeOut .26s ease-in forwards}.themed-modal{position:relative;max-height:88vh;display:flex;flex-direction:column;overflow:visible;animation:tmPopIn .28s cubic-bezier(.2,.8,.2,1.15)}.themed-modal.is-closing{animation:tmPopOut .26s cubic-bezier(.4,0,.9,.3) forwards}.themed-modal__close{position:absolute;top:-14px;right:-14px;width:36px;height:36px;border-radius:50%;border:2px solid #2c2a26;background:#fdfaf2;color:#2c2a26;font-size:22px;line-height:1;font-weight:600;cursor:pointer;box-shadow:0 4px 14px #00000059;z-index:10;transition:transform .14s ease,background .14s ease}.themed-modal__close:hover{background:#ffe7c7;transform:rotate(90deg)}@keyframes tmFadeIn{0%{opacity:0}to{opacity:1}}@keyframes tmPopIn{0%{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes tmFadeOut{0%{opacity:1}to{opacity:0}}@keyframes tmPopOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(12px) scale(.94)}}.themed-modal--frame{max-height:none;background:transparent;border:none;box-shadow:none}.themed-modal--frame .themed-modal__close{display:none}.frame-stage{display:flex;align-items:center;justify-content:center;width:100%}.gallery{--gallery-fg: #f5f5f5;--gallery-fg-dim: rgba(245, 245, 245, .55);--gallery-fg-faint: rgba(245, 245, 245, .28);--gallery-hairline: rgba(245, 245, 245, .12);--gallery-accent: #f5f5f5;position:relative;width:min(94vw,1400px);height:min(92vh,900px);background:#0b0b0c;color:var(--gallery-fg);border-radius:4px;overflow:hidden;box-shadow:0 30px 80px #0009,0 10px 24px #00000073;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Arial,PingFang SC,Hiragino Sans GB,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:flex;flex-direction:column}.gallery__mat{flex:1;min-height:0;display:flex;flex-direction:column}.gallery__back-floating{position:absolute;left:20px;top:50%;transform:translateY(-50%);z-index:5;-moz-appearance:none;appearance:none;-webkit-appearance:none;width:48px;height:48px;border-radius:50%;border:1px solid var(--gallery-hairline);background:#0b0b0c8c;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--gallery-fg-dim);cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .28s cubic-bezier(.2,.8,.2,1)}.gallery__back-floating svg{display:block;transition:transform .24s cubic-bezier(.2,.8,.2,1)}.gallery__back-floating:hover{color:var(--gallery-fg);border-color:#f5f5f552;background:#f5f5f51a}.gallery__back-floating:hover svg{transform:translate(-3px)}.gallery__back-floating:focus-visible{outline:1px solid var(--gallery-fg);outline-offset:4px}.gallery__tools-floating{position:absolute;top:16px;right:16px;z-index:5;display:inline-flex;align-items:center;gap:8px}.gallery__icon-btn{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:32px;height:32px;border-radius:50%;border:1px solid var(--gallery-hairline);background:#0b0b0c8c;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--gallery-fg-dim);cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center;transition:background .18s ease,color .18s ease,border-color .18s ease}.gallery__icon-btn:hover{background:#f5f5f51a;color:var(--gallery-fg);border-color:#f5f5f552}.gallery__icon-btn:focus-visible{outline:1px solid var(--gallery-fg);outline-offset:3px}.gallery__icon-btn.is-on{background:var(--gallery-fg);border-color:var(--gallery-fg);color:#0b0b0c}.gallery__icon-btn.is-on:hover{background:#fff;border-color:#fff;color:#0b0b0c}.gallery__icon-btn svg{display:block}.gallery__scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:64px 40px 60px;scrollbar-width:thin;scrollbar-color:rgba(245,245,245,.18) transparent}.gallery__scroll::-webkit-scrollbar{width:6px}.gallery__scroll::-webkit-scrollbar-track{background:transparent}.gallery__scroll::-webkit-scrollbar-thumb{background:#f5f5f524;border-radius:3px}.gallery__scroll::-webkit-scrollbar-thumb:hover{background:#f5f5f54d}.gallery__overview{display:flex;flex-direction:column;gap:72px;max-width:1200px;margin:0 auto}.gallery__group{display:flex;flex-direction:column;gap:28px}.gallery__group-header{padding:0 2px 14px;border-bottom:1px solid var(--gallery-hairline)}.gallery__group-title{margin:0;font-size:11px;font-weight:500;color:var(--gallery-fg-faint);letter-spacing:2.4px;text-transform:uppercase;line-height:1.2}.gallery__collections--empty{display:flex;flex-wrap:wrap;gap:14px;margin-top:14px}.gallery__collections--empty .gallery__collection-card--empty{width:240px;height:160px}.gallery__collection-card{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:#141416;color:inherit;font:inherit;cursor:pointer;text-align:left;overflow:hidden;position:relative;transition:transform .32s cubic-bezier(.2,.8,.2,1)}.gallery__collection-card>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1),filter .4s ease}.gallery__collection-card:hover{transform:translateY(-3px)}.gallery__collection-card:hover>img{transform:scale(1.03)}.gallery__collection-card:focus-visible{outline:1px solid var(--gallery-fg);outline-offset:4px}.gallery__collection-cover--placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gallery-fg-faint);background:#141416}.gallery__detail{display:flex;flex-direction:column;gap:40px;max-width:1200px;margin:0 auto}.gallery__detail-header{display:flex;flex-direction:column;gap:8px;padding:0 2px 20px;border-bottom:1px solid var(--gallery-hairline)}.gallery__detail-title{margin:0;font-size:30px;font-weight:400;color:var(--gallery-fg);letter-spacing:.1px;line-height:1.15}.gallery__detail-subtitle{margin:2px 0 0;font-size:14px;color:var(--gallery-fg-dim);font-weight:400;line-height:1.5}.gallery__detail-meta{margin:6px 0 0;font-size:11px;color:var(--gallery-fg-faint);letter-spacing:1.6px;text-transform:uppercase;font-weight:500}.gallery__detail-meta a{color:inherit;text-decoration:none;border-bottom:1px solid transparent;transition:color .16s ease,border-color .16s ease}.gallery__detail-meta a:hover{color:var(--gallery-fg);border-bottom-color:var(--gallery-fg-faint)}.gallery__detail-meta-sep{margin:0 4px;opacity:.6}.gallery__tile{position:relative;background:#141416;cursor:pointer;text-align:left;font:inherit;color:inherit;overflow:hidden;transition:transform .32s cubic-bezier(.2,.8,.2,1)}.gallery__tile:hover{transform:translateY(-3px)}.gallery__tile:focus-visible{outline:1px solid var(--gallery-fg);outline-offset:3px}.gallery__tile>img{display:block;width:100%;height:100%;object-fit:cover;background:#141416;transition:filter .3s ease}.gallery__tile:hover>img{filter:brightness(1.05)}.gallery__tile-placeholder{aspect-ratio:3 / 4;display:flex;align-items:center;justify-content:center;background:#141416;font-size:10.5px;letter-spacing:2px;text-transform:uppercase;color:var(--gallery-fg-faint)}.gallery__lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0a0bf5;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:56px 20px;animation:galleryLightboxIn .24s ease;z-index:1000}@keyframes galleryLightboxIn{0%{opacity:0}to{opacity:1}}.gallery__lightbox-inner{position:relative;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}.gallery__lightbox-inner:before{content:none}.gallery__lightbox-close{position:absolute;top:-52px;right:0;width:36px;height:36px;border-radius:50%;background:#0b0b0c8c;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--gallery-hairline);color:var(--gallery-fg-dim);cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center;transition:background .18s ease,color .18s ease,border-color .18s ease;z-index:1}.gallery__lightbox-close:hover{color:var(--gallery-fg);border-color:#f5f5f552;background:#f5f5f51a}.gallery__lightbox-close:focus-visible{outline:1px solid var(--gallery-fg);outline-offset:4px}.gallery__lightbox-close svg{display:block}.gallery__lightbox-image{position:relative;z-index:1;flex:1;min-height:0;width:100%;display:flex;align-items:center;justify-content:center;background:transparent;border:none;overflow:hidden;padding:0}.gallery__lightbox-image img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;display:block}.gallery__lightbox-placeholder{color:var(--gallery-fg-faint);text-align:center;font-size:11px;letter-spacing:2px;text-transform:uppercase}.gallery__lightbox-placeholder p{margin:0}.gallery__lightbox-links{position:relative;z-index:1;flex-shrink:0;font-size:12.5px;color:var(--gallery-fg-dim);letter-spacing:.2px;text-align:center;line-height:1.5}.gallery__lightbox-links a{color:inherit;text-decoration:none;border-bottom:1px solid transparent;transition:color .16s ease,border-color .16s ease}.gallery__lightbox-links a:hover{color:var(--gallery-fg);border-bottom-color:var(--gallery-fg-faint)}.gallery__lightbox-links-sep{margin:0 8px;opacity:.55}.frame-confirm{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;align-items:center;justify-content:center;padding:24px;background:#0a0a0bb3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:galleryLightboxIn .2s ease}.frame-confirm__card{max-width:360px;width:100%;background:#141416;border:1px solid var(--gallery-hairline);border-radius:4px;padding:28px 28px 20px;color:var(--gallery-fg)}.frame-confirm__title{margin:0 0 20px;font-size:14px;font-weight:400;line-height:1.55;text-align:left;color:var(--gallery-fg)}.frame-confirm__actions{display:flex;gap:8px;justify-content:flex-end}.frame-confirm__btn{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:1px solid var(--gallery-hairline);background:transparent;color:var(--gallery-fg-dim);font:inherit;font-size:11px;font-weight:500;letter-spacing:1.4px;text-transform:uppercase;padding:8px 16px;border-radius:999px;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease}.frame-confirm__btn:hover{color:var(--gallery-fg);border-color:#f5f5f547}.frame-confirm__btn--primary{background:var(--gallery-fg);border-color:var(--gallery-fg);color:#0b0b0c}.frame-confirm__btn--primary:hover{background:#fff;border-color:#fff;color:#0b0b0c}.gallery__empty{min-height:260px;display:flex;align-items:center;justify-content:center;color:var(--gallery-fg-faint);font-size:11.5px;letter-spacing:2px;text-transform:uppercase}@media (max-width: 720px){.gallery{width:96vw;height:92vh}.gallery__scroll{padding:56px 20px 48px}.gallery__back-floating{left:10px;width:40px;height:40px}.gallery__tools-floating{top:12px;right:12px}.gallery__overview{gap:48px}.gallery__group{gap:20px}.gallery__group-title{font-size:10px;letter-spacing:2px}.gallery__detail-title{font-size:22px}.gallery__lightbox{padding:72px 20px 40px}.gallery__lightbox-close{top:-44px;width:32px;height:32px}}.recipe-spread{position:relative;width:min(1100px,92vw);aspect-ratio:1600 / 1100;max-height:88vh;perspective:1800px;perspective-origin:50% 50%}.recipe-spread__paper{position:relative;width:100%;height:100%;background:#fff;border-radius:6px;box-shadow:0 20px 50px #00000059;overflow:hidden;background-image:linear-gradient(to right,#0000 47%,#46321914 49.5%,#46321929,#46321914 50.5%,#0000 53%)}.recipe-spread__svg{display:block;width:100%;height:100%;-webkit-user-select:none;user-select:none}.recipe-spread__half-overlay{position:absolute;top:0;height:100%;width:50%;z-index:2;background:#fff;overflow:hidden;pointer-events:none;border-radius:6px}.recipe-spread__half-overlay--left{left:0}.recipe-spread__half-overlay--right{right:0}.recipe-spread__half-inner{position:absolute;top:0;width:200%;height:100%}.recipe-spread__half-overlay--left .recipe-spread__half-inner{left:0}.recipe-spread__half-overlay--right .recipe-spread__half-inner{left:-100%}.recipe-spread__half-inner .recipe-spread__svg{width:100%;height:100%}.recipe-spread__half-overlay:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0;z-index:3;mix-blend-mode:multiply}.recipe-spread__half-overlay--left:after{background:linear-gradient(to left,#281e0f2e,#281e0f14 8%,#281e0f05,#0000 28%);animation:recipeShadowFade .62s cubic-bezier(.55,.05,.35,1) forwards}.recipe-spread__half-overlay--right:after{background:linear-gradient(to right,#281e0f2e,#281e0f14 8%,#281e0f05,#0000 28%);animation:recipeShadowFade .62s cubic-bezier(.55,.05,.35,1) forwards}@keyframes recipeShadowFade{0%{opacity:0}25%{opacity:.55}50%{opacity:1}75%{opacity:.55}to{opacity:0}}.recipe-spread__flip{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:4}.recipe-spread__flip-face{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;border-radius:6px;transform-origin:50% 50%}.recipe-spread__flip-inner{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;overflow:hidden;border-radius:6px}.recipe-spread__flip-inner .recipe-spread__svg{width:100%;height:100%}.recipe-spread__flip-curl{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:6px;opacity:0}.recipe-spread__flip.is-flipping--next .recipe-spread__flip-front{clip-path:inset(0 0 0 50%);animation:recipeFrontNext .62s cubic-bezier(.55,.05,.35,1) forwards;filter:drop-shadow(-14px 16px 24px rgba(0,0,0,.28))}.recipe-spread__flip.is-flipping--next .recipe-spread__flip-back{clip-path:inset(0 50% 0 0);animation:recipeBackNext .62s cubic-bezier(.55,.05,.35,1) forwards;filter:drop-shadow(-14px 16px 24px rgba(0,0,0,.28))}.recipe-spread__flip.is-flipping--next .recipe-spread__flip-front .recipe-spread__flip-curl{background:linear-gradient(to left,#0000,#0000001f,#00000052);animation:recipeCurlFrontNext .62s cubic-bezier(.55,.05,.35,1) forwards}.recipe-spread__flip.is-flipping--next .recipe-spread__flip-back .recipe-spread__flip-curl{background:linear-gradient(to right,#00000052,#0000001f,#0000);animation:recipeCurlBackNext .62s cubic-bezier(.55,.05,.35,1) forwards}@keyframes recipeFrontNext{0%{transform:rotateY(0);opacity:1}49%{transform:rotateY(-89deg);opacity:1}50%{transform:rotateY(-90deg);opacity:0}to{transform:rotateY(-90deg);opacity:0}}@keyframes recipeBackNext{0%{transform:rotateY(90deg);opacity:0}49%{transform:rotateY(91deg);opacity:0}50%{transform:rotateY(90deg);opacity:1}to{transform:rotateY(0);opacity:1}}@keyframes recipeCurlFrontNext{0%{opacity:0}20%{opacity:.4}49%{opacity:.95}50%{opacity:0}to{opacity:0}}@keyframes recipeCurlBackNext{0%{opacity:0}49%{opacity:0}50%{opacity:.95}80%{opacity:.35}to{opacity:0}}.recipe-spread__flip.is-flipping--prev .recipe-spread__flip-front{clip-path:inset(0 50% 0 0);animation:recipeFrontPrev .62s cubic-bezier(.55,.05,.35,1) forwards;filter:drop-shadow(14px 16px 24px rgba(0,0,0,.28))}.recipe-spread__flip.is-flipping--prev .recipe-spread__flip-back{clip-path:inset(0 0 0 50%);animation:recipeBackPrev .62s cubic-bezier(.55,.05,.35,1) forwards;filter:drop-shadow(14px 16px 24px rgba(0,0,0,.28))}.recipe-spread__flip.is-flipping--prev .recipe-spread__flip-front .recipe-spread__flip-curl{background:linear-gradient(to right,#0000,#0000001f,#00000052);animation:recipeCurlFrontNext .62s cubic-bezier(.55,.05,.35,1) forwards}.recipe-spread__flip.is-flipping--prev .recipe-spread__flip-back .recipe-spread__flip-curl{background:linear-gradient(to left,#00000052,#0000001f,#0000);animation:recipeCurlBackNext .62s cubic-bezier(.55,.05,.35,1) forwards}@keyframes recipeFrontPrev{0%{transform:rotateY(0);opacity:1}49%{transform:rotateY(89deg);opacity:1}50%{transform:rotateY(90deg);opacity:0}to{transform:rotateY(90deg);opacity:0}}@keyframes recipeBackPrev{0%{transform:rotateY(-90deg);opacity:0}49%{transform:rotateY(-91deg);opacity:0}50%{transform:rotateY(-90deg);opacity:1}to{transform:rotateY(0);opacity:1}}.recipe-spread__nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:2px solid #7B8B3C;background:#fffffff5;color:#7b8b3c;font-size:28px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .16s ease,background .16s ease,box-shadow .2s ease;padding:0;z-index:6;box-shadow:0 2px 8px #0000001f}.recipe-spread__nav:hover{background:#f3f6e8;transform:translateY(-50%) scale(1.08);box-shadow:0 4px 14px #7b8b3c40}.recipe-spread__nav:active:not(:disabled){transform:translateY(-50%) scale(.96)}.recipe-spread__nav:disabled{opacity:.4;cursor:wait}.recipe-spread__nav--prev{left:-22px}.recipe-spread__nav--next{right:-22px}.recipe-spread__pager{position:absolute;bottom:-28px;left:50%;transform:translate(-50%);font-family:Helvetica Neue,Arial,sans-serif;color:#7b8b3c;font-size:13px;letter-spacing:1px;-webkit-user-select:none;user-select:none;z-index:6}@keyframes laptopViewIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.laptop{width:min(820px,92vw);display:flex;flex-direction:column;align-items:center;filter:drop-shadow(0 20px 40px rgba(0,0,0,.5));position:relative}.laptop__close-fab{position:absolute;top:-14px;right:-14px;width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:#ffffff1a;color:#ffffffd9;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;z-index:20;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 6px 18px #00000059;transition:background .16s ease,border-color .16s ease,transform .16s ease}.laptop__close-fab:hover{background:#ff503cd9;border-color:transparent;transform:rotate(90deg)}.laptop__bezel{position:relative;width:100%;background:linear-gradient(180deg,#2b2b2e,#1c1c1f);border-radius:10px 10px 4px 4px;padding:12px 8px 8px;box-shadow:inset 0 0 0 1px #000,inset 0 0 0 1.5px #3f3f42}.laptop__camera{position:absolute;top:5px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:#0a0a0a;box-shadow:inset 0 0 0 1px #ffffff1f}.laptop__screen{height:min(500px,72vh);background:radial-gradient(ellipse at 30% 20%,rgba(120,140,200,.15) 0%,transparent 60%),radial-gradient(ellipse at 70% 80%,rgba(160,120,200,.12) 0%,transparent 50%),linear-gradient(160deg,#1a1d28,#12141c,#0e1018);border-radius:4px;overflow:hidden;display:flex;flex-direction:column;position:relative;box-shadow:inset 0 0 0 1px #ffffff0f}.laptop__desktop{flex:1;padding:36px 28px 64px;display:flex;flex-wrap:wrap;justify-content:center;align-content:center;gap:20px 14px;overflow:auto;animation:laptopViewIn .32s cubic-bezier(.2,.8,.2,1) both}.laptop__icon{background:transparent;border:0;padding:6px 4px;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;width:96px;position:relative;transition:transform .22s cubic-bezier(.2,.8,.2,1)}.laptop__icon:hover:not(.laptop__icon--disabled){transform:translateY(-3px)}.laptop__icon:hover:not(.laptop__icon--disabled) .laptop__icon-tile{transform:scale(1.06);box-shadow:0 12px 28px #00000073,inset 0 1px #ffffff29;border-color:#ffffff29}.laptop__icon:hover:not(.laptop__icon--disabled) .laptop__icon-label{color:#fffffff2}.laptop__icon--disabled{cursor:default}.laptop__icon--disabled .laptop__icon-tile{opacity:.42}.laptop__icon--disabled .laptop__icon-label{color:#fff6}.laptop__icon-tile{width:60px;height:60px;border-radius:16px;background:linear-gradient(160deg,#2a2e3c,#1c1f2a);border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;color:#ffffffe0;box-shadow:0 6px 16px #00000061,inset 0 1px #ffffff14;transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease,border-color .22s ease}.laptop__icon-label{color:#ffffffc7;font-size:12px;font-weight:500;line-height:1.35;letter-spacing:.2px;max-width:100%;text-align:center;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;transition:color .2s ease}.laptop__detail{flex:1;padding:28px 40px;background:#ffffff0d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);overflow:auto;color:#ffffffe6;font-family:-apple-system,BlinkMacSystemFont,sans-serif;animation:laptopViewIn .32s cubic-bezier(.2,.8,.2,1) both}.laptop__back{background:transparent;border:0;color:#8caaffe6;font-size:13px;cursor:pointer;padding:0;margin-bottom:10px;display:inline-flex;align-items:center;gap:2px;transition:color .16s ease,transform .2s cubic-bezier(.2,.8,.2,1)}.laptop__back:hover{color:#a0c0ff;transform:translate(-3px)}.laptop__detail-title{margin:0 0 4px;font-size:22px;color:#fff}.laptop__detail-meta{color:#ffffff73;font-size:13px;margin-bottom:14px}.laptop__detail-thumb{margin-bottom:14px;border-radius:10px;overflow:hidden;box-shadow:0 4px 16px #0000004d}.laptop__detail-thumb img{width:100%;display:block}.laptop__detail-desc{margin:0 0 16px;line-height:1.7;font-size:14.5px;color:#ffffffbf}.laptop__detail-link{display:inline-block;padding:8px 18px;background:#648cff40;border:1px solid rgba(100,140,255,.3);color:#a0c0ff;border-radius:8px;text-decoration:none;font-size:14px;transition:background .16s ease,border-color .16s ease}.laptop__detail-link:hover{background:#648cff59;border-color:#8caaff80}.laptop__base{width:108%;height:16px;background:linear-gradient(180deg,#4a4a4e,#2a2a2e);border-radius:0 0 18px 18px;box-shadow:0 8px 14px #0006;position:relative;margin-top:-2px}.laptop__hinge{position:absolute;left:50%;top:0;transform:translate(-50%);width:70px;height:5px;background:#0f0f12;border-radius:0 0 6px 6px}.laptop__dock{position:absolute;left:50%;bottom:14px;transform:translate(-50%);z-index:3;display:flex;justify-content:center;align-items:center;gap:10px;padding:0;background:transparent}.laptop__chat-cta{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:10px;padding:9px 18px 9px 14px;border-radius:999px;border:1px solid rgba(140,170,255,.28);background:linear-gradient(135deg,#7896ff38,#a078ff2e);color:#ffffffeb;font-size:13px;font-weight:500;letter-spacing:.3px;font-family:inherit;cursor:pointer;backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);box-shadow:0 6px 20px #5064c838,inset 0 1px #ffffff1a;transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s ease,border-color .2s ease,background .2s ease}.laptop__chat-cta:hover:not(:disabled){transform:translateY(-2px);border-color:#a0beff80;background:linear-gradient(135deg,#7896ff52,#a078ff47);box-shadow:0 10px 28px #5064c85c,inset 0 1px #ffffff26}.laptop__chat-cta:hover:not(:disabled) .laptop__chat-cta-arrow{transform:translate(2px)}.laptop__chat-cta:disabled,.laptop__chat-cta.is-active{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.laptop__chat-cta-dot{width:7px;height:7px;border-radius:50%;background:#4ade80;box-shadow:0 0 #4ade8099;animation:laptopChatDotPulse 2.2s ease-out infinite;flex-shrink:0}@keyframes laptopChatDotPulse{0%{box-shadow:0 0 #4ade808c}70%{box-shadow:0 0 0 8px #4ade8000}to{box-shadow:0 0 #4ade8000}}.laptop__chat-cta-text{white-space:nowrap}.laptop__chat-cta-arrow{display:inline-flex;align-items:center;justify-content:center;color:#ffffffa6;transition:transform .2s cubic-bezier(.2,.8,.2,1)}.laptop__note-cta{position:absolute;right:14px;bottom:14px;z-index:3;-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:#1414188c;color:#ffffffc7;font-size:12px;font-weight:500;letter-spacing:.3px;font-family:inherit;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s cubic-bezier(.2,.8,.2,1)}.laptop__note-cta:hover:not(:disabled){background:#ffffff1a;border-color:#ffffff3d;color:#fff;transform:translateY(-1px)}.laptop__note-cta:disabled,.laptop__note-cta.is-active{opacity:.5;cursor:not-allowed;transform:none}.laptop__note-cta-text{white-space:nowrap}.laptop__note-window{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(440px,calc(100% - 24px));max-height:calc(100% - 24px);display:flex;flex-direction:column;background:#141620c7;backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);border:1px solid rgba(255,255,255,.1);border-radius:16px;box-shadow:0 20px 50px #00000080,0 0 0 1px #ffffff0a,inset 0 1px #ffffff0d;padding:24px 22px 20px;z-index:8;animation:laptopChatWindowIn .28s cubic-bezier(.2,.8,.2,1)}.laptop__note-window.is-closing{animation:laptopChatWindowOut .22s cubic-bezier(.4,0,.6,1) forwards;pointer-events:none}.laptop__note-window-close{position:absolute;top:10px;right:10px;z-index:5;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:26px;height:26px;border-radius:50%;border:1px solid rgba(255,255,255,.1);background:#14162099;color:#ffffffb3;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:background .16s ease,color .16s ease,transform .16s ease,border-color .16s ease}.laptop__note-window-close:hover{background:#ff503cd9;border-color:transparent;color:#fff;transform:rotate(90deg)}.laptop__note-window .laptop__note-form{margin-top:18px}.laptop__folder{flex:1;padding:24px 28px 64px;overflow:auto;font-family:-apple-system,BlinkMacSystemFont,sans-serif;animation:laptopViewIn .32s cubic-bezier(.2,.8,.2,1) both}.laptop__folder-title{margin:0 0 20px;font-size:20px;font-weight:600;color:#ffffffe6;letter-spacing:.3px}.laptop__friends-cta{position:absolute;left:14px;bottom:14px;z-index:3;-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:#14141873;color:#ffffff85;font-size:11px;font-weight:500;letter-spacing:.3px;font-family:inherit;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s cubic-bezier(.2,.8,.2,1)}.laptop__friends-cta:hover:not(:disabled){background:#ffffff14;border-color:#fff3;color:#ffffffd9;transform:translateY(-1px)}.laptop__friends-cta:disabled,.laptop__friends-cta.is-active{opacity:.5;cursor:not-allowed;transform:none}.laptop__friends-cta-text{white-space:nowrap}.laptop__friends-window{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(280px,calc(100% - 32px));border-radius:14px;background:#1c1c22e0;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.1);box-shadow:0 12px 40px #00000080;padding:20px 0 10px;z-index:8;animation:laptopChatWindowIn .28s cubic-bezier(.2,.8,.2,1)}.laptop__friends-window.is-closing{animation:laptopChatWindowOut .22s cubic-bezier(.4,0,.6,1) forwards;pointer-events:none}.laptop__friends-window-close{position:absolute;top:10px;right:10px;z-index:5;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:24px;height:24px;border-radius:50%;border:1px solid rgba(255,255,255,.1);background:#ffffff0f;color:#ffffff80;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:background .16s ease,color .16s ease,transform .16s ease}.laptop__friends-window-close:hover{background:#ff503cd9;border-color:transparent;color:#fff;transform:rotate(90deg)}.laptop__friends-window-title{margin:0 0 12px;padding:0 18px;font-size:13px;font-weight:600;color:#ffffffb3;letter-spacing:.2px}.laptop__friends-body{display:flex;flex-direction:column}.laptop__friends-item{display:flex;align-items:center;gap:10px;font-size:13px;color:#ffffffa6;text-decoration:none;padding:8px 18px;transition:color .15s ease,background .15s ease}.laptop__friends-item:hover{color:#fff;background:#ffffff0f}.laptop__friends-favicon{width:14px;height:14px;border-radius:3px;object-fit:contain;flex-shrink:0;opacity:.8}.laptop__ebook-empty{margin:20px 0 0;padding:18px;border-radius:12px;background:#ffffff0a;color:#ffffff8c;font-size:13px;line-height:1.6;text-align:center}.laptop__ebook-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:18px}.laptop__ebook-card{display:flex;flex-direction:column;gap:8px;padding:0;background:transparent;border:0;border-radius:0;text-decoration:none;color:inherit;transition:opacity .2s ease,transform .22s cubic-bezier(.2,.8,.2,1)}.laptop__ebook-card--link:hover{opacity:.95;transform:translateY(-2px)}.laptop__ebook-cover{width:100%;aspect-ratio:2 / 3;border-radius:4px;overflow:hidden;background:#ffffff0a;display:flex;align-items:center;justify-content:center;position:relative;transition:filter .2s ease}.laptop__ebook-cover img{width:100%;height:100%;object-fit:cover;display:block}.laptop__ebook-cover-placeholder{color:#fff6}.laptop__ebook-cover-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:#0f121c9e;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);color:#fffffff2;font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;opacity:0;transition:opacity .2s ease;pointer-events:none}.laptop__ebook-card--link:hover .laptop__ebook-cover-hint{opacity:1}.laptop__ebook-meta{display:flex;flex-direction:column;gap:3px;min-width:0}.laptop__ebook-title{font-size:13px;font-weight:600;color:#ffffffeb;letter-spacing:.2px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.laptop__ebook-sub{font-size:11px;color:#ffffff80;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.laptop__ebook-note{margin:2px 0 0;font-size:11.5px;line-height:1.5;color:#ffffff8c;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.laptop__ebook-list>li{animation:laptopViewIn .38s cubic-bezier(.2,.8,.2,1) both}.laptop__ebook-list>li:nth-child(1){animation-delay:60ms}.laptop__ebook-list>li:nth-child(2){animation-delay:.12s}.laptop__ebook-list>li:nth-child(3){animation-delay:.18s}.laptop__ebook-list>li:nth-child(4){animation-delay:.24s}.laptop__ebook-list>li:nth-child(5){animation-delay:.3s}.laptop__ebook-list>li:nth-child(6){animation-delay:.36s}.laptop__skill-empty{text-align:center;color:#fff6;font-size:13px;padding:32px 0}.laptop__skill-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.laptop__skill-card{animation:laptopViewIn .38s cubic-bezier(.2,.8,.2,1) both}.laptop__skill-card:nth-child(1){animation-delay:60ms}.laptop__skill-card:nth-child(2){animation-delay:.12s}.laptop__skill-card:nth-child(3){animation-delay:.18s}.laptop__skill-card:nth-child(4){animation-delay:.24s}.laptop__skill-card:nth-child(5){animation-delay:.3s}.laptop__skill-card:nth-child(6){animation-delay:.36s}.laptop__skill-link{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:8px;background:#ffffff0f;text-decoration:none;color:inherit;transition:background .2s ease;cursor:pointer}.laptop__skill-link:hover{background:#ffffff1f}.laptop__skill-name{font-size:14px;font-weight:600;color:#ffffffeb}.laptop__skill-desc{font-size:12px;color:#ffffff8c;line-height:1.4}.laptop__game-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:18px}.laptop__game-card{display:flex;flex-direction:column;gap:8px;padding:0;background:transparent;border:0;border-radius:0;text-decoration:none;color:inherit;transition:opacity .2s ease,transform .22s cubic-bezier(.2,.8,.2,1)}.laptop__game-card--link:hover{opacity:.88;transform:translateY(-2px)}.laptop__game-card--link:hover .laptop__game-cover{filter:brightness(1.05)}.laptop__game-cover{width:100%;aspect-ratio:460 / 215;border-radius:6px;overflow:hidden;background:#ffffff0a;display:flex;align-items:center;justify-content:center;transition:filter .2s ease}.laptop__game-cover img{width:100%;height:100%;object-fit:cover;display:block}.laptop__game-cover-placeholder{color:#fff6}.laptop__game-meta{display:flex;flex-direction:column;gap:3px;min-width:0}.laptop__game-header{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.laptop__game-title{font-size:13.5px;font-weight:600;color:#ffffffeb;letter-spacing:.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.laptop__game-rating{font-size:11.5px;font-weight:500;color:#ffd782d9;font-variant-numeric:tabular-nums;flex-shrink:0}.laptop__game-sub{font-size:11px;color:#ffffff80;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.laptop__game-note{margin:2px 0 0;font-size:11.5px;line-height:1.5;color:#ffffff8c;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.laptop__game-list>li{animation:laptopViewIn .38s cubic-bezier(.2,.8,.2,1) both}.laptop__game-list>li:nth-child(1){animation-delay:60ms}.laptop__game-list>li:nth-child(2){animation-delay:.12s}.laptop__game-list>li:nth-child(3){animation-delay:.18s}.laptop__game-list>li:nth-child(4){animation-delay:.24s}.laptop__game-list>li:nth-child(5){animation-delay:.3s}.laptop__game-list>li:nth-child(6){animation-delay:.36s}.laptop__note-form{display:flex;flex-direction:column;gap:12px}.laptop__note-form>*{animation:laptopViewIn .38s cubic-bezier(.2,.8,.2,1) both}.laptop__note-form>*:nth-child(1){animation-delay:80ms}.laptop__note-form>*:nth-child(2){animation-delay:.15s}.laptop__note-form>*:nth-child(3){animation-delay:.22s}.laptop__note-form>*:nth-child(4){animation-delay:.29s}.laptop__note-form>*:nth-child(5){animation-delay:.36s}.laptop__note-intro{margin:0 0 4px;font-size:13px;line-height:1.6;color:#fff9;letter-spacing:.2px}.laptop__note-textarea,.laptop__note-input{width:100%;box-sizing:border-box;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:12px 14px;color:#ffffffeb;font-size:13.5px;font-family:inherit;outline:none;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:border-color .16s ease,background .16s ease,box-shadow .16s ease;resize:none}.laptop__note-textarea{min-height:110px;line-height:1.55}.laptop__note-textarea::placeholder,.laptop__note-input::placeholder{color:#ffffff52}.laptop__note-textarea:focus,.laptop__note-input:focus{border-color:#8caaff80;background:#ffffff1a;box-shadow:0 0 0 3px #648cff1f}.laptop__note-textarea:disabled,.laptop__note-input:disabled{opacity:.55;cursor:not-allowed}.laptop__note-error{font-size:12px;padding:8px 12px;border-radius:8px;background:#ff503c1f;color:#ffb3b0;border:1px solid rgba(255,80,60,.25)}.laptop__note-send{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding:12px 20px;border-radius:12px;background:linear-gradient(135deg,#648cff99,#8c64ff8c);color:#fff;font-size:13.5px;font-weight:600;letter-spacing:.5px;cursor:pointer;font-family:inherit;align-self:flex-start;box-shadow:0 6px 18px #6478ff4d;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease}.laptop__note-send:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 24px #6478ff73}.laptop__note-send:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.laptop__note-success{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 20px;animation:laptopNoteSuccessIn .42s cubic-bezier(.2,.8,.2,1)}.laptop__note-success-icon{font-size:44px;margin-bottom:14px;animation:laptopNoteFly .7s cubic-bezier(.2,.8,.2,1)}.laptop__note-success-title{margin:0 0 6px;font-size:16px;font-weight:600;color:#ffffffeb;letter-spacing:.3px}.laptop__note-success-hint{margin:0;font-size:12.5px;line-height:1.6;color:#ffffff80}@keyframes laptopNoteSuccessIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes laptopNoteFly{0%{transform:translate(-12px,8px) rotate(-12deg);opacity:0}60%{transform:translateY(-4px) rotate(0);opacity:1}to{transform:translate(0) rotate(0);opacity:1}}.laptop__chat-window{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(640px,calc(100% - 24px));height:calc(100% - 24px);display:flex;flex-direction:column;background:#141620c7;backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);border:1px solid rgba(255,255,255,.1);border-radius:16px;overflow:hidden;box-shadow:0 20px 50px #00000080,0 0 0 1px #ffffff0a,inset 0 1px #ffffff0d;z-index:8;animation:laptopChatWindowIn .28s cubic-bezier(.2,.8,.2,1)}@keyframes laptopChatWindowIn{0%{opacity:0;transform:translate(-50%,calc(-50% + 12px)) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes laptopChatWindowOut{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,calc(-50% + 14px)) scale(.94)}}.laptop__chat-window.is-closing{animation:laptopChatWindowOut .22s cubic-bezier(.4,0,.6,1) forwards;pointer-events:none}.laptop__chat-window-close{position:absolute;top:10px;right:10px;z-index:5;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:26px;height:26px;border-radius:50%;border:1px solid rgba(255,255,255,.1);background:#14162099;color:#ffffffb3;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:background .16s ease,color .16s ease,transform .16s ease,border-color .16s ease}.laptop__chat-window-close:hover{background:#ff503cd9;border-color:transparent;color:#fff;transform:rotate(90deg)}.laptop__chat-window-info{position:absolute;top:10px;right:44px;z-index:5;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid rgba(255,255,255,.08);background:#14162080;color:#ffffff73;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:help;transition:color .16s ease,border-color .16s ease,background .16s ease}.laptop__chat-window-info:hover,.laptop__chat-window-info:focus-visible{color:#ffffffd9;border-color:#ffffff2e;background:#141620b3;outline:none}.laptop__chat-window .laptop__chat{border-radius:0;background:transparent}.laptop__chat{flex:1;display:flex;flex-direction:column;background:#0003;color:#ffffffe6;overflow:hidden;position:relative;font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,sans-serif}.laptop__chat-thread{flex:1;overflow-y:auto;padding:14px 16px 8px;display:flex;flex-direction:column;gap:6px}.laptop__desktop,.laptop__folder,.laptop__detail,.laptop__chat-thread{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) transparent}.laptop__desktop::-webkit-scrollbar,.laptop__folder::-webkit-scrollbar,.laptop__detail::-webkit-scrollbar,.laptop__chat-thread::-webkit-scrollbar{width:6px}.laptop__desktop::-webkit-scrollbar-track,.laptop__folder::-webkit-scrollbar-track,.laptop__detail::-webkit-scrollbar-track,.laptop__chat-thread::-webkit-scrollbar-track{background:transparent}.laptop__desktop::-webkit-scrollbar-thumb,.laptop__folder::-webkit-scrollbar-thumb,.laptop__detail::-webkit-scrollbar-thumb,.laptop__chat-thread::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:999px;transition:background .18s ease}.laptop__desktop:hover::-webkit-scrollbar-thumb,.laptop__folder:hover::-webkit-scrollbar-thumb,.laptop__detail:hover::-webkit-scrollbar-thumb,.laptop__chat-thread:hover::-webkit-scrollbar-thumb{background:#ffffff2e}.laptop__desktop::-webkit-scrollbar-thumb:hover,.laptop__folder::-webkit-scrollbar-thumb:hover,.laptop__detail::-webkit-scrollbar-thumb:hover,.laptop__chat-thread::-webkit-scrollbar-thumb:hover{background:#ffffff47}.laptop__desktop::-webkit-scrollbar-thumb:active,.laptop__folder::-webkit-scrollbar-thumb:active,.laptop__detail::-webkit-scrollbar-thumb:active,.laptop__chat-thread::-webkit-scrollbar-thumb:active{background:#ffffff59}.laptop__chat-bubble{max-width:72%;padding:9px 13px;border-radius:18px;font-size:14px;line-height:1.45;word-wrap:break-word;animation:chatBubbleIn .24s ease-out backwards}.laptop__chat-bubble--me{align-self:flex-start;background:#ffffff1a;color:#ffffffe6;border:1px solid rgba(255,255,255,.08);border-bottom-left-radius:6px}.laptop__chat-bubble--you{align-self:flex-end;background:linear-gradient(135deg,#648cff80,#8c64ff73);color:#fff;border-bottom-right-radius:6px}.laptop__chat-bubble--system{align-self:center;background:#ffc83c1f;color:#ffdc8ce6;border:1px solid rgba(255,200,60,.2);font-size:13px;max-width:88%;text-align:center;border-radius:10px}.laptop__chat-error{margin:6px 12px 0;padding:8px 12px;border-radius:10px;background:#ff503c26;color:#ff9090;border:1px solid rgba(255,80,60,.25);font-size:12px}@keyframes chatBubbleIn{0%{opacity:0;transform:translateY(6px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.laptop__chat-bubble--typing{padding:10px 14px;display:inline-flex;align-items:center;gap:4px}.laptop__chat-bubble--typing span{width:6px;height:6px;border-radius:50%;background:#ffffff80;animation:chatTyping 1.2s infinite ease-in-out}.laptop__chat-bubble--typing span:nth-child(2){animation-delay:.15s}.laptop__chat-bubble--typing span:nth-child(3){animation-delay:.3s}@keyframes chatTyping{0%,60%,to{transform:translateY(0);opacity:.45}30%{transform:translateY(-3px);opacity:1}}.laptop__chat-inputbar{display:flex;align-items:center;gap:10px;padding:10px 14px 14px;border-top:1px solid rgba(255,255,255,.06);background:#00000026}.laptop__chat-input{flex:1;border:1px solid rgba(255,255,255,.12);background:#ffffff14;border-radius:999px;padding:8px 14px;font-size:13.5px;color:#ffffffe6;outline:none;transition:border-color .16s ease}.laptop__chat-input::placeholder{color:#ffffff59;font-style:italic}.laptop__chat-input:focus{border-color:#8ca0ff66}.laptop__chat-input:disabled{background:#ffffff0a;cursor:not-allowed}.laptop__chat-send{width:32px;height:32px;border-radius:50%;border:0;background:linear-gradient(135deg,#648cff99,#8c64ff8c);color:#fff;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #6478ff4d;transition:transform .14s ease,box-shadow .14s ease}.laptop__chat-send:hover:not(:disabled){transform:scale(1.08);box-shadow:0 4px 14px #6478ff80}.laptop__chat-send:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}.laptop__chat-reset{flex-shrink:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:#ffffff8c;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease}.laptop__chat-reset:hover:not(:disabled){background:#ff503c2e;color:#ffb0a8;border-color:#ff503c59;transform:scale(1.06)}.laptop__chat-reset:disabled{opacity:.4;cursor:not-allowed}.laptop__chat-confirm-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:16px;background:#00000073;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:laptopConfirmIn .18s cubic-bezier(.2,.8,.2,1)}@keyframes laptopConfirmIn{0%{opacity:0}to{opacity:1}}.laptop__chat-confirm{width:100%;max-width:340px;padding:20px 22px;border-radius:16px;background:#1c1e2af5;border:1px solid rgba(255,255,255,.08);box-shadow:0 24px 60px #0000008c,inset 0 1px #ffffff0f;color:#ffffffe6;animation:laptopConfirmPop .22s cubic-bezier(.2,.8,.2,1)}@keyframes laptopConfirmPop{0%{opacity:0;transform:translateY(6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.laptop__chat-confirm-title{margin:0 0 8px;font-size:15px;font-weight:600;letter-spacing:.2px;color:#fff}.laptop__chat-confirm-desc{margin:0 0 18px;font-size:13px;line-height:1.6;color:#ffffff9e}.laptop__chat-confirm-actions{display:flex;justify-content:flex-end;gap:8px}.laptop__chat-confirm-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:8px 16px;border-radius:10px;font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease}.laptop__chat-confirm-btn--cancel{border:1px solid rgba(255,255,255,.12);background:transparent;color:#ffffffb8}.laptop__chat-confirm-btn--cancel:hover:not(:disabled){background:#ffffff0f;color:#fff}.laptop__chat-confirm-btn--danger{border:1px solid rgba(255,80,60,.35);background:#ff503c2e;color:#ffb0a8}.laptop__chat-confirm-btn--danger:hover:not(:disabled){background:#ff503c52;border-color:#ff503c8c;color:#fff}.laptop__chat-confirm-btn:disabled{opacity:.5;cursor:not-allowed}.stv{width:min(960px,94vw);display:flex;flex-direction:column;align-items:center;filter:drop-shadow(0 30px 50px rgba(0,0,0,.45))}.stv__bezel{width:100%;background:#0a0a0a;border-radius:14px;padding:8px;box-shadow:inset 0 0 0 1px #ffffff0a,0 1px #ffffff14,0 10px 30px #0006}.stv__screen{position:relative;height:min(560px,74vh);background:linear-gradient(180deg,#15171c,#0e1014);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;color:#e8eaef;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}.stv__topbar{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;background:linear-gradient(180deg,rgba(255,255,255,.03),transparent);border-bottom:1px solid rgba(255,255,255,.06)}.stv__brand,.stv__heading{display:flex;align-items:center;gap:8px;min-width:0}.stv__heading-dot{width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,#5ec1ff,#8a7dff);box-shadow:0 0 8px #5ec1ff99;flex-shrink:0}.stv__heading-text{font-size:13px;letter-spacing:.6px;color:#ffffffd1;font-weight:500}.stv__brand-dot{width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,#5ec1ff,#8a7dff);box-shadow:0 0 8px #5ec1ff99}.stv__brand-text{font-size:13px;letter-spacing:.5px;color:#ffffffc7;font-weight:500}.stv__tabs{display:flex;gap:4px;background:#ffffff0d;padding:4px;border-radius:999px;border:1px solid rgba(255,255,255,.06)}.stv__tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:#ffffffa6;font-size:13px;font-weight:500;padding:6px 16px;border-radius:999px;cursor:pointer;transition:background .2s ease,color .2s ease;letter-spacing:.3px}.stv__tab:hover{color:#fff}.stv__tab.is-active{background:#fff;color:#111;box-shadow:0 2px 8px #00000040}.stv__close{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.1);background:#ffffff0f;color:#ffffffd9;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .16s ease,transform .16s ease,color .16s ease;flex-shrink:0}.stv__close:hover{background:#ffffff24;color:#fff;transform:rotate(90deg)}.stv__content{flex:1;overflow-y:auto;padding:22px 22px 26px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}.stv__content::-webkit-scrollbar{width:8px}.stv__content::-webkit-scrollbar-thumb{background:#ffffff29;border-radius:4px}.stv__content::-webkit-scrollbar-thumb:hover{background:#ffffff47}.stv__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:18px}.stv__card{display:flex;flex-direction:column;gap:10px;cursor:pointer;transition:transform .24s cubic-bezier(.2,.8,.2,1)}.stv__card:hover{transform:translateY(-4px)}.stv__card:hover .stv__poster{box-shadow:0 0 0 2px #ffffffd9,0 12px 28px #0000008c}.stv__poster{position:relative;aspect-ratio:2 / 3;background:#1c1f26;border-radius:10px;overflow:hidden;box-shadow:0 0 0 1px #ffffff0f,0 6px 16px #0006;transition:box-shadow .24s ease}.stv__card--music .stv__poster{aspect-ratio:1 / 1}.stv__poster img{width:100%;height:100%;object-fit:cover;display:block}.stv__poster-fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:56px;opacity:.45;background:linear-gradient(135deg,#2a2f3a,#181b22)}.stv__rating{position:absolute;top:8px;right:8px;display:inline-flex;align-items:center;gap:3px;padding:3px 8px;background:#000000a6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;font-size:11.5px;font-weight:600;border-radius:999px;letter-spacing:.3px}.stv__rating-star{color:#ffc94a;font-size:11px;line-height:1}.stv__type-badge{position:absolute;left:8px;bottom:8px;padding:2px 8px;background:#0000008c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#ffffffeb;font-size:10.5px;letter-spacing:.5px;border-radius:4px}.stv__play-btn{position:absolute;right:8px;bottom:8px;width:32px;height:32px;border-radius:50%;background:#5b5bffeb;color:#fff;display:flex;align-items:center;justify-content:center;pointer-events:none;box-shadow:0 4px 14px #5b5bff8c;transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s ease,background .2s ease;z-index:3}.stv__poster:hover .stv__play-btn{transform:scale(1.1);background:#5b5bff;box-shadow:0 6px 20px #5b5bffb3}.stv__card.is-playing .stv__play-btn{background:#fff;color:#5b5bff;box-shadow:0 4px 16px #ffffff4d}.stv__audio-iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;opacity:0;pointer-events:none;z-index:0}.stv__poster img,.stv__poster-fallback,.stv__rating,.stv__type-badge{position:relative;z-index:1}.stv__poster img,.stv__poster-fallback{z-index:1}.stv__rating,.stv__type-badge{z-index:2}.stv__poster{cursor:default;outline:none}.stv__card--music .stv__poster[role=button]{cursor:pointer}.stv__card--music .stv__poster[role=button]:focus-visible{box-shadow:0 0 0 2px #5b5bff,0 6px 16px #0006}.stv__playing-indicator{position:absolute;top:10px;left:10px;display:flex;align-items:flex-end;gap:3px;height:20px;padding:6px 11px;background:#5b5bfff2;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:999px;z-index:2;box-shadow:0 3px 16px #5b5bffb3}.stv__playing-indicator span{display:block;width:3px;background:#fff;border-radius:1.5px;animation:stvBar .9s ease-in-out infinite}.stv__playing-indicator span:nth-child(1){animation-delay:0ms;height:8px}.stv__playing-indicator span:nth-child(2){animation-delay:.15s;height:14px}.stv__playing-indicator span:nth-child(3){animation-delay:.3s;height:10px}.stv__playing-indicator span:nth-child(4){animation-delay:.45s;height:16px}@keyframes stvBar{0%,to{transform:scaleY(.5);transform-origin:bottom}50%{transform:scaleY(1.2);transform-origin:bottom}}.stv__card.is-playing{transform:translateY(-6px) scale(1.06)!important;z-index:5;position:relative}.stv__card.is-playing:hover{transform:translateY(-8px) scale(1.08)}.stv__card.is-playing .stv__poster{box-shadow:0 0 0 3px #5b5bff,0 0 32px #5b5bffb3,0 14px 34px #0000008c;animation:stvGlow 2s ease-in-out infinite}@keyframes stvGlow{0%,to{box-shadow:0 0 0 3px #5b5bff,0 0 22px #5b5bff8c,0 14px 34px #0000008c}50%{box-shadow:0 0 0 3px #5b5bff,0 0 40px #8a7dffd9,0 14px 34px #0000008c}}.stv__card.is-playing .stv__poster img{filter:brightness(1.08) saturate(1.15)}.stv__card.is-playing .stv__title{color:#d8d4ff;font-weight:700}.stv__card.is-playing .stv__artist{color:#c4c0ffd9}.stv__info{display:flex;flex-direction:column;gap:3px;padding:0 2px}.stv__title{margin:0;font-size:14px;font-weight:600;color:#fff;line-height:1.35;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.stv__meta{font-size:12px;color:#ffffff80;letter-spacing:.3px}.stv__comment{margin:4px 0 0;font-size:12.5px;color:#ffffffa6;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.stv__artist{margin:2px 0 0;font-size:12.5px;color:#ffffffb3;letter-spacing:.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stv__empty{display:flex;align-items:center;justify-content:center;height:100%;color:#fff6;font-size:14px;letter-spacing:1px}.stv__stand{display:flex;flex-direction:column;align-items:center;margin-top:-2px}.stv__stand-neck{width:90px;height:14px;background:linear-gradient(180deg,#1a1a1a,#0a0a0a);border-radius:0 0 4px 4px;box-shadow:0 2px 4px #0000004d}.stv__stand-base{width:220px;height:6px;background:linear-gradient(180deg,#2a2a2a,#0a0a0a);border-radius:3px;box-shadow:0 6px 12px #00000080}@media (max-width: 600px){.stv__topbar{padding:10px 12px;gap:8px}.stv__brand-text{display:none}.stv__tab{padding:5px 12px;font-size:12.5px}.stv__content{padding:16px}.stv__grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:14px}.stv__stand-base{width:160px}}.fishbowl-modal{position:relative;width:min(880px,95vw);max-height:92vh;transform:translateY(-80px);display:flex;flex-direction:column;align-items:stretch;background:transparent;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;color:#f0f7fa}.fishbowl-modal__topbar{position:absolute;top:17%;transform:translateY(-100%);left:0;right:0;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 18px;z-index:5;pointer-events:none}.fishbowl-modal__title-area,.fishbowl-modal__close{pointer-events:auto}.fishbowl-modal__title-area{display:flex;align-items:center;gap:12px}.fishbowl-modal__title{font-size:11px;font-weight:600;letter-spacing:4px;color:#ffffffc7;text-transform:uppercase}.fishbowl-modal__count{font-size:11px;letter-spacing:.5px;color:#ffffff73;padding:3px 10px;background:#ffffff14;border:1px solid rgba(255,255,255,.1);border-radius:999px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.fishbowl-modal__close{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:#ffffff14;color:#ffffffd9;cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:background .16s ease,transform .16s ease,border-color .16s ease}.fishbowl-modal__close:hover{background:#ffffff2e;border-color:#ffffff4d;transform:rotate(90deg)}.fishbowl-scene{width:100%;position:relative;display:block;margin-top:0}.fishbowl-scene__bowl{width:100%;height:auto;display:block;filter:drop-shadow(0 14px 30px rgba(0,0,0,.35))}.fishbowl-scene__fishes{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.fishbowl-scene__fish-anchor{position:absolute;pointer-events:auto;transform:translate(-50%,-50%);cursor:pointer}.fishbowl-scene__fish-anchor.is-hovered{z-index:5}.fishbowl-scene__fish{position:absolute;left:0;top:0;width:100%;height:auto;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 1px 3px rgba(0,30,50,.25));transition:transform 80ms linear,filter .2s ease}.fishbowl-scene__fish-anchor.is-hovered .fishbowl-scene__fish{filter:drop-shadow(0 0 4px rgba(255,255,255,.7)) drop-shadow(0 2px 6px rgba(0,30,50,.35))}.fishbowl-scene__bubble{position:absolute;left:50%;bottom:50%;margin-bottom:10px;transform:translate(-50%);width:max-content;max-width:200px;padding:5px 10px;background:#fff6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#0f2632;font-size:11.5px;font-weight:500;line-height:1.4;letter-spacing:.2px;text-align:center;border-radius:10px;border:1px solid rgba(255,255,255,.35);box-shadow:0 4px 14px #001e321a;white-space:normal;word-break:break-word;pointer-events:none;animation:fbBubbleIn .22s cubic-bezier(.2,.8,.25,1);font-family:inherit;z-index:1}.fishbowl-scene__bubble.is-auto{animation:fbBubbleIn .32s cubic-bezier(.2,.8,.25,1)}.fishbowl-scene__bubble:after{content:"";position:absolute;bottom:-3px;left:50%;width:7px;height:7px;margin-left:-3.5px;background:#fff6;transform:rotate(45deg);border-right:1px solid rgba(255,255,255,.35);border-bottom:1px solid rgba(255,255,255,.35)}@keyframes fbBubbleIn{0%{opacity:0;transform:translate(-50%) translateY(4px) scale(.92)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.fishbowl-scene__empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;color:#ffffffd9;font-size:15px;text-align:center;letter-spacing:1.5px;text-shadow:0 2px 8px rgba(0,30,50,.4)}.fishbowl-scene__empty p{margin:4px 0}.fishbowl-scene__empty-hint{font-size:12.5px;color:#fff9;letter-spacing:2px;text-transform:uppercase}.fishbowl-modal__footer{position:absolute;left:0;right:0;top:92%;flex-shrink:0;display:flex;justify-content:center;transition:opacity .2s ease;z-index:4;pointer-events:none}.fishbowl-modal__footer .fishbowl-modal__paint-btn{pointer-events:auto}.fishbowl-modal__footer.is-hidden{opacity:0;pointer-events:none}.fishbowl-modal__paint-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,255,255,.2);padding:12px 22px;border-radius:999px;background:#ffffff1a;color:#fff;font-size:13px;font-weight:500;letter-spacing:.5px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 8px 24px #001e3233;transition:background .2s ease,transform .2s ease,box-shadow .2s ease,border-color .2s ease}.fishbowl-modal__paint-btn:hover{background:#fff3;border-color:#ffffff59;transform:translateY(-2px);box-shadow:0 12px 28px #001e324d}.fishbowl-modal__paint-btn svg{flex-shrink:0}.fishbowl-modal__paint-hint{font-size:12px;color:#ffffff8c;letter-spacing:.3px;pointer-events:auto;margin-top:20px}.fishbowl-modal__submit-error{display:none}.fishbowl-modal__toast{position:absolute;left:50%;top:42%;transform:translate(-50%);z-index:30;max-width:320px;padding:12px 22px;border-radius:14px;background:#000000b3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fffffff2;font-size:13px;line-height:1.45;text-align:center;letter-spacing:.2px;pointer-events:none;animation:fishToastLife 3s ease both}@keyframes fishToastLife{0%{opacity:0;transform:translate(-50%) translateY(6px)}8%{opacity:1;transform:translate(-50%) translateY(0)}75%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(-8px)}}.fishbowl-modal__painter-layer{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;display:flex;align-items:flex-end;justify-content:center;padding:20px 20px 60px;border-radius:inherit;z-index:10;animation:fbLayerIn .2s ease-out both}@keyframes fbLayerIn{0%{opacity:0}to{opacity:1}}.fishbowl-modal__painter-card{width:100%;max-width:360px}.fishbowl-modal__confirm-layer{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:20px;background:transparent;z-index:20;animation:fbLayerIn .18s ease-out both}.fishbowl-modal__confirm-card{width:100%;max-width:320px;background:#ffffffa6;border:1px solid rgba(255,255,255,.7);border-radius:16px;padding:22px 22px 18px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:inset 0 1px 1px #ffffffb3,0 12px 36px #001e3259;color:#173846;text-align:center}.fishbowl-modal__confirm-thumb{width:80px;height:80px;display:block;margin:0 auto 12px;border-radius:12px;background:#ffffff80;border:1px solid rgba(255,255,255,.7);object-fit:contain;padding:6px}.fishbowl-modal__confirm-title{margin:0 0 6px;font-size:14px;font-weight:500;color:#173846;letter-spacing:.3px}.fishbowl-modal__confirm-msg{margin:0 0 16px;font-size:12.5px;color:#173846b3;font-style:italic;line-height:1.4;word-break:break-word}.fishbowl-modal__confirm-actions{display:flex;gap:10px;justify-content:center}.fishbowl-modal__confirm-btn{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex:1;padding:9px 16px;border-radius:999px;border:1px solid rgba(23,56,70,.2);background:#ffffff8c;color:#173846;font:inherit;font-size:12.5px;font-weight:500;letter-spacing:.3px;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.fishbowl-modal__confirm-btn:hover{background:#ffffffd9;border-color:#17384659;transform:translateY(-1px)}.fishbowl-modal__confirm-btn--danger{background:#dc505ad9;border-color:#dc505ad9;color:#fff}.fishbowl-modal__confirm-btn--danger:hover{background:#dc505a;border-color:#dc505a;color:#fff}.fish-painter{position:relative;display:flex;flex-direction:column;gap:14px;padding:22px 20px 20px;border-radius:26px;background:linear-gradient(145deg,#ffffff38,#ffffff14 45%,#ffffff24);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.25);box-shadow:0 24px 56px #00142873,inset 0 1px 1px #ffffff73,inset 0 -1px 1px #ffffff14;overflow:hidden;isolation:isolate}.fish-painter:before{content:"";position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.6) 50%,transparent 100%);pointer-events:none;z-index:1}.fish-painter:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(60% 50% at 20% 105%,#5fb8d459,#5fb8d400 70%),radial-gradient(55% 45% at 85% 100%,#ed87a44d,#ed87a400 70%),radial-gradient(70% 40% at 50% -10%,#ffffff47,#fff0 75%);pointer-events:none;z-index:-1}.fish-painter__title{margin:0;font-size:12px;font-weight:600;text-align:center;color:#ffffffe0;letter-spacing:5px;text-transform:uppercase;text-shadow:0 1px 2px rgba(0,0,0,.2)}.fish-painter__canvas-wrap{display:flex;justify-content:center}.fish-painter__canvas-stack{position:relative;width:240px;height:240px;border-radius:16px;box-shadow:0 8px 24px #00142859,inset 0 0 0 1px #ffffff40}.fish-painter__canvas-actions{position:absolute;top:8px;right:8px;z-index:2;display:inline-flex;gap:6px}.fish-painter__canvas-fab{width:30px;height:30px;border-radius:50%;border:1px solid rgba(255,255,255,.7);background:#ffffffb3;color:#173846e6;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;box-shadow:0 2px 8px #00000026,inset 0 1px 1px #fffc;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease,opacity .18s ease}.fish-painter__canvas-fab:hover:not(:disabled){background:#ffffffd9;border-color:#ffffffd9;color:#173846;transform:scale(1.08)}.fish-painter__canvas-fab:disabled{opacity:.35;cursor:not-allowed}.fish-painter__canvas-fab--danger{color:#c83c3cf2}.fish-painter__canvas-fab--danger:hover:not(:disabled){background:#ff5a5ae6;border-color:#ffffffb3;color:#fff;transform:rotate(-10deg) scale(1.08)}.fish-painter__orientation-hint{position:absolute;bottom:8px;left:10px;z-index:2;display:inline-flex;align-items:center;gap:5px;padding:3px 9px 3px 10px;border-radius:999px;background:#ffffffb3;border:1px solid rgba(255,255,255,.7);color:#173846e6;font-size:11px;letter-spacing:.3px;pointer-events:none;box-shadow:0 1px 3px #0000001a,inset 0 1px 1px #fffc}.fish-painter__orientation-hint svg{display:block;opacity:.85}.fish-painter__canvas,.fish-painter__canvas-preview{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border-radius:16px;touch-action:none}.fish-painter__canvas{background:repeating-conic-gradient(rgba(23,56,70,.05) 0% 25%,transparent 0% 50%) 0 0 / 14px 14px,#ffffffd1;cursor:crosshair}.fish-painter__canvas-preview{pointer-events:none;background:transparent}.fish-painter__row{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;position:relative;z-index:1}.fish-painter__tools{display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap;padding:4px;border-radius:14px;background:#ffffff8c;border:1px solid rgba(255,255,255,.65);box-shadow:inset 0 1px 1px #ffffffb3}.fish-painter__divider{width:1px;height:18px;background:#1738464d;margin:0 4px}.fish-painter__tool{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;background:transparent;width:30px;height:30px;border-radius:9px;cursor:pointer;color:#173846d9;display:inline-flex;align-items:center;justify-content:center;padding:0;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}.fish-painter__tool:hover{background:#fff9;color:#0f2632}.fish-painter__tool.is-active{background:#173846;color:#fff;border-color:#17384699;box-shadow:0 2px 8px #0014284d,inset 0 1px 1px #ffffff40}.fish-painter__colors{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;padding:6px 10px;border-radius:14px;background:#ffffff8c;border:1px solid rgba(255,255,255,.65);box-shadow:inset 0 1px 1px #ffffffb3}.fish-painter__color{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;border:2px solid rgba(255,255,255,.9);cursor:pointer;padding:0;box-shadow:0 1px 4px #00000040,inset 0 1px 1px #fff6,inset 0 -1px 1px #0003;transition:transform .14s ease,box-shadow .14s ease}.fish-painter__color:hover{transform:scale(1.18)}.fish-painter__color.is-active{box-shadow:0 0 0 2px #173846,0 0 8px #ffffff80,inset 0 1px 1px #fff6;transform:scale(1.12)}.fish-painter__sizes{display:flex;gap:4px;padding:3px;border-radius:12px;background:#ffffff8c;border:1px solid rgba(255,255,255,.65);box-shadow:inset 0 1px 1px #ffffffb3}.fish-painter__size{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;background:transparent;width:30px;height:30px;border-radius:9px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease}.fish-painter__size span{display:block;background:#173846;border-radius:50%}.fish-painter__size.is-active{background:#173846;border-color:#17384699;box-shadow:0 2px 8px #0014284d,inset 0 1px 1px #ffffff40}.fish-painter__size.is-active span{background:#fff;box-shadow:none}.fish-painter__fill-toggle{display:flex;padding:3px;border-radius:999px;background:#ffffff8c;border:1px solid rgba(255,255,255,.65);box-shadow:inset 0 1px 1px #ffffffb3}.fish-painter__fill-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;font-size:11px;letter-spacing:.5px;padding:5px 12px;border-radius:999px;cursor:pointer;color:#173846d9;transition:background .18s ease,color .18s ease,box-shadow .18s ease}.fish-painter__fill-btn.is-active{background:#173846;color:#fff;box-shadow:0 2px 6px #0014284d,inset 0 1px 1px #ffffff40}.fish-painter__author{width:100%;border:1px solid rgba(255,255,255,.7);background:#fff9;border-radius:12px;padding:10px 14px;font-size:13px;color:#0f2632;outline:none;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;font-family:inherit;box-sizing:border-box;box-shadow:inset 0 1px 1px #ffffffb3}.fish-painter__author::placeholder{color:#17384680}.fish-painter__author:focus{border-color:#17384680;background:#ffffffbf;box-shadow:0 0 0 3px #1738461f,inset 0 1px 1px #fffc}.fish-painter__actions{display:flex;gap:10px;margin-top:4px;position:relative;z-index:1}.fish-painter__btn{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,255,255,.3);padding:11px 16px;border-radius:14px;font-size:13px;font-weight:600;letter-spacing:.3px;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease,background .18s ease,border-color .18s ease;font-family:inherit}.fish-painter__btn--secondary{background:#fff9;color:#173846f2;border-color:#ffffffbf;box-shadow:inset 0 1px 1px #ffffffb3}.fish-painter__btn--secondary:hover{background:#fffc;color:#0f2632;border-color:#ffffffe6}.fish-painter__btn--primary{background:linear-gradient(135deg,#ffffff59,#ffffff1f),linear-gradient(135deg,#5fb8d4,#2c5d75);background-blend-mode:overlay,normal;color:#fff;border-color:#ffffff73;box-shadow:0 8px 20px #2c5d7573,inset 0 1px 1px #fff9,inset 0 -1px 1px #00000026;text-shadow:0 1px 2px rgba(0,20,40,.25)}.fish-painter__btn--primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 26px #2c5d758c,inset 0 1px 1px #ffffffb3,inset 0 -1px 1px #00000026}.fish-painter__btn--primary:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.room-stage{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#f5f1ea}.room{position:relative;transform-origin:center center;flex-shrink:0;opacity:0;filter:brightness(.35) blur(6px);transition:opacity .9s ease-out,filter .9s ease-out}.room-stage.is-entered .room{opacity:1;filter:brightness(1) blur(0)}.room{transition:opacity .9s ease-out,filter .9s ease-out,transform .9s cubic-bezier(.2,.8,.2,1)}.room__bg{display:block;width:100%;height:100%;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;image-rendering:auto;image-rendering:-webkit-optimize-contrast;image-rendering:high-quality;pointer-events:none}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;width:100%;font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,PingFang SC,Segoe UI,Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased;color:#1a1814;background:#f5f1ea;overflow:hidden}img{display:block}
