:root{--bg0:#1a1510;--bg1:#241c14;--bg2:#2a2118;--ink:#f3e6d0;--muted:#b8a48a;--coral:#d4a574;--peach:#e8c07a;--gold:#e8c07a;--sage:#a89070;--cream:#2a2118;--card:#241c14eb;--stroke:#e8c07a47;--shadow:0 18px 40px #00000059;--radius:4px;--font-display:"Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--font-body:Georgia, "Times New Roman", serif;--font-ui:"Courier New", Courier, monospace}*,:before,:after{box-sizing:border-box}html,body,#root{max-width:100%;min-height:100%;overflow-x:hidden}html{overscroll-behavior-x:none}body{color:var(--ink);font-family:var(--font-body);background:radial-gradient(900px 420px at 18% -8%, #d4a57429, transparent 55%), radial-gradient(700px 380px at 100% 0%, #78462838, transparent 50%), linear-gradient(180deg, #2a2118 0%, var(--bg0) 45%, #0e0b08 100%);overscroll-behavior-x:none;touch-action:pan-y;background-attachment:scroll;margin:0}@media (width>=901px){body{background-attachment:fixed}}button,input{font:inherit;color:inherit}a{color:inherit}h1,h2,h3,.brand-hero,.brand-mark{font-family:var(--font-display);letter-spacing:.04em;color:var(--gold);font-weight:500}.muted{color:var(--muted)}.btn{cursor:pointer;font-family:var(--font-ui);letter-spacing:.06em;text-transform:uppercase;border:1px solid #0000;border-radius:2px;justify-content:center;align-items:center;gap:.4rem;padding:.75rem 1.35rem;font-size:.78rem;text-decoration:none;transition:transform .18s,background .18s,border-color .18s;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn.primary{border-color:var(--gold);color:var(--gold);background:linear-gradient(#5a4028,#3a2818)}.btn.primary:hover:not(:disabled){transform:translateY(-1px)}.btn.soft{border:1px solid var(--stroke);color:var(--gold);background:0 0}.btn.soft:hover:not(:disabled){background:#e8c07a14}.ghost-btn,.text-btn{cursor:pointer;color:var(--muted);background:0 0;border:none}.ghost-btn:hover,.text-btn:hover{color:var(--ink)}.music-controls{align-items:center;gap:.15rem;display:inline-flex}.music-toggle.on{color:var(--gold)}.music-toggle.needs-gesture{color:var(--gold);animation:1.4s ease-in-out infinite musicPulse}.music-toggle.loading{color:var(--peach);opacity:.85}.music-toggle.error{color:#e09070}@keyframes musicPulse{0%,to{opacity:.72}50%{opacity:1}}.music-switch{opacity:.75;min-width:1.6rem;padding-inline:.25rem}.music-switch:hover:not(:disabled){opacity:1}.music-switch:disabled,.music-toggle:disabled{opacity:.55;cursor:wait}.music-dock{z-index:60;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#140e0ab8;border:1px solid #e8c07a47;border-radius:4px;padding:.35rem .45rem;position:fixed;bottom:.75rem;left:.75rem}.music-floating .ghost-btn{font-size:.78rem}.route-fallback{min-height:40vh}.pill{border:1px solid var(--stroke);font-size:.78rem;font-family:var(--font-ui);letter-spacing:.04em;background:#00000059;border-radius:2px;align-items:center;padding:.25rem .7rem;display:inline-flex}.form-error{color:#e8a090;margin:0}.form-info{color:var(--ink);border:1px solid var(--stroke);background:#e8c07a1a;border-radius:2px;margin:0;padding:.65rem .8rem;font-size:.92rem}label{flex-direction:column;gap:.35rem;font-weight:700;display:flex}input,textarea{border:1px solid var(--stroke);resize:vertical;font:inherit;color:inherit;background:#00000059;border-radius:2px;outline:none;padding:.75rem .9rem}input:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 2px #e8c07a33}.onboard-actions{flex-wrap:wrap;justify-content:center;gap:.65rem;display:flex}.onboard-thanks{text-align:center;justify-items:center;gap:1.1rem;animation:.5s both rise;display:grid}.thanks-line{font-family:var(--font-display);color:var(--coral);margin:0;font-size:clamp(1.35rem,4vw,1.85rem);font-weight:700}.ask-page,.admin-page{box-sizing:border-box;flex-direction:column;align-items:center;gap:1rem;min-height:100dvh;padding:1.5rem 1rem 2.5rem;display:flex}.ask-card{width:min(100%,640px);margin-inline:auto}.ask-done{justify-items:stretch;gap:.75rem;display:grid}.admin-top{gap:.25rem;width:min(100%,720px);display:grid}.admin-section-title{width:min(100%,720px);font-family:var(--font-display);color:var(--gold);margin:.75rem 0 0;font-size:1.05rem;font-weight:500}.admin-list{gap:.9rem;width:min(100%,720px);margin:0;padding:0;list-style:none;display:grid}.admin-card{background:var(--card);border:1px solid var(--stroke);border-radius:var(--radius);box-shadow:var(--shadow);gap:.7rem;padding:1rem;display:grid}.admin-q{white-space:pre-wrap;margin:0;font-weight:700}.tiny{font-size:.82rem}.landing-room,.hub-room{box-sizing:border-box;place-content:start center;justify-items:center;gap:1rem;width:100%;max-width:100%;min-height:100vh;padding:1rem .75rem 2rem;display:grid;position:relative;overflow-x:hidden}.hub-room{--hub-tv-max:920px;--hub-curtain:max(0px, calc((100vw - var(--hub-tv-max)) / 2));padding:.65rem var(--hub-curtain) 1.5rem;justify-content:center;align-items:flex-start;gap:0;place-content:unset;justify-items:unset;min-height:100dvh;display:flex;overflow:visible}.hub-curtains{z-index:0;pointer-events:none;position:fixed;inset:0}.hub-side-art{width:var(--hub-curtain);object-fit:cover;opacity:.42;-webkit-user-select:none;user-select:none;height:100%;display:block;position:absolute;top:0;bottom:0}.hub-side-art-left{object-position:70% center;left:0}.hub-side-art-right{object-position:30% center;right:0}.hub-room>.hub-cube-stage{z-index:2;width:100%;max-width:var(--hub-tv-max);margin:.65rem 0 0;position:relative}.hub-cube-stage{width:100%;overflow:visible}.hub-cube-stage .hub-tv{contain:layout paint;width:100%}.hub-room>.room-glow{inset:auto var(--hub-curtain) 0;z-index:1;height:42%;position:fixed}.room-glow{pointer-events:none;background:radial-gradient(#e8c07a2e,#0000 70%);height:55%;position:absolute;inset:auto 0 -30%}.room-glow.soft{opacity:.7;height:40%}.room-lamp{pointer-events:none;filter:blur(2px);background:radial-gradient(circle,#ffc87838,#0000 70%);border-radius:50%;width:140px;height:140px;position:absolute;top:8%;right:12%}.room-caption{z-index:2;font-family:var(--font-ui);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.72rem;position:relative}.tv-set{z-index:1;box-sizing:border-box;filter:drop-shadow(0 28px 50px #0000008c);opacity:.88;width:min(100%,1280px);max-width:100%;transition:transform .7s,opacity .7s,filter .7s;position:relative;transform:scale(.985)}.landing-room.is-on .tv-set{opacity:1;transform:scale(1)}.tv-bezel{box-sizing:border-box;background:linear-gradient(160deg,#3a322c 0%,#1c1612 45%,#12100e 100%);border:1px solid #b4966e59;border-radius:28px 28px 18px 18px;width:100%;padding:.75rem .75rem .55rem;box-shadow:inset 0 1px #ffffff14,inset 0 -2px 8px #00000073}.tv-monitor .tv-bezel{background:linear-gradient(160deg,#2a2420,#14110f);border-radius:10px;padding:.55rem}.tv-glass{background:#0c0907;border:3px solid #0a0806;border-radius:18px;position:relative;overflow:hidden;box-shadow:inset 0 0 40px #000000a6,0 0 0 1px #e8c07a1f}.tv-monitor .tv-glass{border-radius:4px}.tv-screen{z-index:1;background:radial-gradient(900px 420px at 50% 0,#d4a57424,#0000 55%),linear-gradient(#241c14 0%,#1a1510 55%,#100d0a 100%);min-height:28rem;position:relative}.tv-monitor .tv-screen{background:0 0;min-height:auto}.tv-scanlines{pointer-events:none;z-index:3;opacity:.12;mix-blend-mode:overlay;background:repeating-linear-gradient(#ffffff0f 0 1px,#0000 2px 4px);position:absolute;inset:0}.tv-vignette{pointer-events:none;z-index:2;background:radial-gradient(#0000 55%,#00000059 100%);position:absolute;inset:0}.tv-channel{z-index:4;font-family:var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:#e8c07abf;text-shadow:0 0 8px #e8c07a59;pointer-events:none;font-size:.68rem;position:absolute;top:.75rem;right:.9rem}.tv-cabinet{background:linear-gradient(#4a3a2c,#2a1e16 60%,#1a140f);border:1px solid #b48c5a47;border-top:none;border-radius:0 0 14px 14px;grid-template-columns:1fr auto auto;align-items:center;gap:.75rem;margin-top:.55rem;padding:.55rem .85rem .15rem;display:grid;box-shadow:inset 0 1px #ffffff0f}.tv-grill{opacity:.9;background:repeating-linear-gradient(90deg,#1a140f 0 3px,#3a2e24 3px 6px);border-radius:3px;height:28px}.tv-dials{gap:.45rem;display:flex}.tv-dial{background:radial-gradient(circle at 35% 30%,#c9b08a,#5a4634 55%,#2a1e16);border:1px solid #00000073;border-radius:50%;width:22px;height:22px;box-shadow:inset 0 1px #fff3}.tv-brand{font-family:var(--font-ui);letter-spacing:.1em;color:#e8c07ab3;white-space:nowrap;font-size:.62rem}.tv-monitor-foot{font-family:var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);justify-content:center;align-items:center;gap:.5rem;margin-top:.45rem;font-size:.62rem;display:flex}.tv-led{background:#5a4030;border-radius:50%;width:7px;height:7px}.tv-led.on{background:#7dff9a;box-shadow:0 0 8px #7dff9a8c}.landing-stage-wrap{z-index:1;grid-template-columns:minmax(0,1fr) minmax(280px,560px) minmax(0,1fr);align-items:center;gap:1rem 1.25rem;width:min(100%,1480px);padding:1.25rem .75rem .75rem;display:grid;position:relative}.landing-rail{z-index:1;flex-direction:column;gap:1rem;min-width:0;display:flex}.landing-rail-left{align-items:flex-end}.landing-rail-right{align-items:flex-start}.landing-tv{z-index:2;justify-self:center;width:100%;max-width:560px}.landing-tv .tv-screen{aspect-ratio:4/5;min-height:0}.hub-tv{width:100%;max-width:920px}.hub-tv.tv-set{opacity:1;transform:none}.landing-broadcast{place-items:center;height:100%;min-height:0;padding:1.35rem 1.1rem 1.4rem;display:grid;position:relative;overflow:auto}.film-strip{text-align:left;background:linear-gradient(#1a1410,#0c0a08 40%,#14100c);border:1px solid #e8c07a38;grid-template-columns:14px 1fr 14px;width:min(100%,22rem);animation:.8s both rise;display:grid;overflow:hidden;box-shadow:0 14px 28px #00000073,inset 0 0 0 1px #ffffff08}.film-place-left,.film-place-top-left,.film-place-bottom-left{transform:rotate(-1.5deg)}.film-place-right,.film-place-top-right,.film-place-bottom-right{transform:rotate(1.5deg)}.film-place-top-left,.film-place-top-right{animation-delay:.12s}.film-place-left,.film-place-right{animation-delay:.22s}.film-place-bottom-left,.film-place-bottom-right{animation-delay:.32s}.film-sprockets{background:radial-gradient(circle at 50% 10px,#0a0806 0 3.5px,#0000 4px) 0 0/100% 18px repeat-y,linear-gradient(90deg,#2a221c,#1a1510);border-inline:1px solid #00000080}.film-sprockets-left{border-right:1px solid #e8c07a1f}.film-sprockets-right{border-left:1px solid #e8c07a1f}.film-body{gap:0;min-width:0;padding:.35rem .55rem .55rem;display:grid}.film-edge-label{font-family:var(--font-ui);letter-spacing:.14em;text-transform:uppercase;color:#e8c07a8c;text-align:center;margin-bottom:.35rem;font-size:.58rem}.film-frame{color:#e8dcc4;overflow-wrap:anywhere;word-break:break-word;background:#fff4dc0a;border-top:1px solid #e8c07a2e;padding:.55rem .45rem .55rem 1.35rem;font-size:.82rem;line-height:1.4;position:relative}.film-frame+.film-frame{border-top-style:dashed;margin-top:.2rem}.film-frame-answer{color:var(--ink);background:#e8c07a14}.film-frame-no{font-family:var(--font-ui);letter-spacing:.06em;color:#e8c07aa6;font-size:.62rem;position:absolute;top:.55rem;left:.25rem}.film-frame p{margin:0}.film-frame .chat-name{align-items:center;gap:.4rem;margin-bottom:.35rem;font-size:.72rem;display:inline-flex}.chat-avatar{object-fit:cover;object-position:center;border:1px solid #e8c07a73;border-radius:50%;flex-shrink:0;width:1.35rem;height:1.35rem}.landing-hero{text-align:center;z-index:1;max-width:26rem;margin:0 auto;position:relative}.broadcast-tag{font-family:var(--font-ui);letter-spacing:.16em;text-transform:uppercase;color:#e8c07ab3;margin:0 0 .55rem;font-size:.68rem;animation:.7s both rise}.brand-hero{letter-spacing:.14em;background:linear-gradient(120deg, var(--coral), var(--peach) 45%, var(--gold));color:#0000;text-shadow:none;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(3rem,10vw,4.8rem);line-height:.95;animation:.7s both rise}.brand-sub{color:var(--muted);font-family:var(--font-ui);letter-spacing:.2em;text-transform:uppercase;margin:.25rem 0 1rem;font-size:.72rem;font-weight:400;animation:.7s 80ms both rise}.landing-welcome{width:min(100%,26rem);color:var(--ink);margin:.35rem auto 1.1rem;font-size:clamp(.98rem,2.2vw,1.1rem);line-height:1.55;animation:.7s .1s both rise}.landing-welcome p{margin:0 0 .55rem}.landing-welcome p:last-child{font-family:var(--font-display);color:var(--coral);margin-bottom:0;font-weight:500}.landing-guide-overlay{right:max(.55rem, env(safe-area-inset-right));bottom:max(.55rem, env(safe-area-inset-bottom));z-index:40;pointer-events:none;animation:.35s both guideIn;position:fixed}.landing-guide-panel{pointer-events:auto;width:min(42vw,10.5rem);box-shadow:none;background:0 0;border:none;justify-items:center;gap:.2rem;padding:.35rem .2rem 0;display:grid;position:relative}.landing-guide-close{z-index:2;color:#f3e6d0;cursor:pointer;background:#0000008c;border:none;border-radius:50%;place-items:center;width:1.45rem;height:1.45rem;padding:0;font-size:1.1rem;line-height:1;display:grid;position:absolute;top:-.15rem;right:-.1rem}.landing-guide-bubble{background:#140e0ae0;border:none;border-radius:14px;max-width:100%;margin-top:.15rem;padding:.45rem .6rem;position:relative;box-shadow:0 8px 18px #00000059}.landing-guide-bubble p{text-align:center;color:var(--ink);margin:0;font-size:.78rem;line-height:1.3}.landing-guide-bubble:after{content:"";background:#140e0ae0;width:10px;height:10px;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)rotate(45deg)}.landing-guide-portrait{aspect-ratio:1;width:100%;box-shadow:none;background:0 0;border:none;overflow:visible}.landing-guide-portrait img{object-fit:contain;object-position:center bottom;filter:drop-shadow(0 10px 18px #00000073);width:100%;height:100%;display:block}.landing-guide-portrait.is-fallback{place-items:center;display:grid}@media (width<=900px){.landing-guide-panel{width:min(46vw,9.2rem)}.landing-guide-bubble p{font-size:.72rem}}.chat-bubble{border-radius:16px;max-width:100%;padding:.65rem .8rem;font-size:.88rem;line-height:1.4;box-shadow:0 10px 24px #b46e4614}.chat-bubble p{margin:0}.chat-them{border:1px solid var(--stroke);color:var(--muted);background:#0006;border-radius:2px;justify-self:start}.chat-me{border:1px solid var(--stroke);color:var(--ink);background:#e8c07a1f;border-radius:2px;justify-self:end}.chat-name{font-family:var(--font-display);color:var(--coral);margin-bottom:.2rem;font-size:.78rem;font-weight:700;display:block}.cta-row{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-bottom:1rem;animation:.7s .35s both rise;display:flex}@media (width<=1100px){.landing-stage-wrap{grid-template-columns:minmax(0,.9fr) minmax(260px,480px) minmax(0,.9fr);gap:.75rem}.landing-hero{max-width:100%}}@media (width<=900px){.landing-stage-wrap{grid-template-columns:1fr;justify-items:center}.landing-tv{order:1;width:min(100%,420px)}.landing-tv .tv-screen{aspect-ratio:3/4}.landing-rail-left{order:2;align-items:stretch;width:min(100%,26rem)}.landing-rail-right{order:3;align-items:stretch;width:min(100%,26rem)}.film-strip{width:100%;transform:none}.landing-broadcast{padding:1.1rem .9rem 1.2rem}.tv-cabinet{grid-template-columns:1fr auto}.tv-brand,.room-lamp{display:none}.hub-room{--hub-curtain:0px;min-height:100dvh;padding:0}.hub-curtains{display:none}.hub-room>.hub-cube-stage{max-width:100%;margin:0}.hub-cube-stage{perspective:1200px}.hub-tv{filter:none;border-radius:0;width:100%;max-width:100%}.hub-tv .tv-bezel{box-shadow:none;background:0 0;border:none;border-radius:0;padding:0}.hub-tv .tv-glass{box-shadow:none;border:none;border-radius:0;overflow-x:hidden}.hub-tv .tv-channel,.hub-tv .tv-scanlines,.hub-tv .tv-vignette,.hub-tv .tv-monitor-foot{display:none}.hub-tv .tv-screen{background:radial-gradient(700px 360px at 50% 0,#d4a5741f,#0000 55%),linear-gradient(#241c14 0%,#1a1510 55%,#100d0a 100%);min-height:100dvh}.hub-shell{padding:.7rem .65rem 1.2rem;overflow-x:clip}.hub-top{flex-wrap:wrap;align-items:center;gap:.45rem .6rem}.hub-top .brand-logo-md{width:36px;height:36px}.hub-top .brand-mark{font-size:1.05rem}.hub-reel{font-size:.6rem}.hub-stats{flex-wrap:nowrap;gap:.3rem;margin-left:auto}.dubl-label{display:none}.dubl-pips{border:1px solid var(--stroke);background:#00000040;border-radius:2px;gap:.22rem;padding:.2rem .35rem}.dubl-pip{width:.55rem;height:.55rem}.hub-stats .ghost-btn{white-space:nowrap;padding:.32rem .45rem;font-size:.68rem}.hub-admin-link{display:none}.hub-nav{-webkit-overflow-scrolling:touch;gap:.2rem;margin:.7rem 0}.tab{padding:.42rem .65rem;font-size:.64rem}.panel{padding:.85rem .7rem}.landing-room{padding:.75rem .5rem 1.5rem;overflow-x:hidden}.landing-tv{filter:drop-shadow(0 12px 24px #00000073);width:100%;max-width:100%}.landing-tv .tv-bezel{padding:.45rem}.landing-tv .tv-cabinet{margin-top:.35rem;padding:.4rem .55rem .1rem}.brand-logo-hero{width:168px!important;height:168px!important}}.landing-stage{margin-top:1.5rem;animation:4.5s ease-in-out infinite floaty}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.auth-page,.onboarding,.boot-screen{box-sizing:border-box;place-content:center;place-items:center;gap:1rem;width:100%;max-width:100%;min-height:100dvh;padding:1.5rem;display:grid;position:relative;overflow-x:hidden}.auth-tv{justify-self:center;width:min(100%,560px);margin-inline:auto}.auth-in-tv{justify-items:center;gap:.85rem;padding:1.25rem 1rem 1.5rem;display:grid}.auth-card.flat{width:100%;box-shadow:none;background:0 0;border:none;padding:0}.auth-card,.onboard-form{background:var(--card);border:1px solid var(--stroke);border-radius:var(--radius);width:min(100%,520px);box-shadow:var(--shadow);gap:.9rem;padding:1.5rem;display:grid}.brand-mark{letter-spacing:.14em;font-size:1.4rem}.brand-mark.linkish{text-align:center;text-decoration:none}.brand-logo{object-fit:cover;border-radius:18%;flex-shrink:0;display:block;box-shadow:0 8px 22px #0006}.brand-logo-sm{width:44px;height:44px}.brand-logo-md{width:64px;height:64px}.brand-logo-lg{width:96px;height:96px}.brand-logo-hero{border-radius:22%;width:200px;height:200px;margin:0 auto .75rem;animation:.7s both rise;box-shadow:0 0 0 2px #e8c07a66,0 16px 36px #00000080}.brand-hero-logo{margin-left:auto;margin-right:auto}.brand-lockup{color:inherit;align-items:center;gap:.55rem;text-decoration:none;display:inline-flex}.brand-lockup.linkish{justify-content:center}.onboarding{place-content:start center;max-width:960px;margin:0 auto;padding-top:2rem}.onboarding h1{text-align:center;margin:0}.onboarding>.muted{text-align:center;max-width:36rem;margin:0 auto 1rem}.onboard-form{width:min(100%,980px)}.char-pick{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.85rem;display:grid}.char-card{text-align:center;border:1px solid var(--stroke);cursor:pointer;background:#00000047;border-radius:2px;justify-items:center;gap:.45rem;padding:.9rem;transition:border-color .15s,transform .15s;display:grid}.char-card span{color:var(--muted);font-size:.85rem}.char-card.selected{border-color:var(--gold);background:#e8c07a14;transform:translateY(-2px)}.hub-shell{z-index:1;min-width:0;max-width:none;margin:0;padding:1.1rem 1.25rem 1.6rem;position:relative}.hub-top{justify-content:space-between;align-items:center;gap:1rem;min-width:0;display:flex}.hub-stats{flex-wrap:wrap;align-items:center;gap:.5rem;min-width:0;display:flex}.demo-banner{border:1px solid var(--stroke);color:var(--muted);background:#e8c07a1a;border-radius:2px;margin:.75rem 0 0;padding:.65rem .9rem;font-size:.92rem}.hub-reel{font-family:var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:.2rem;font-size:.68rem;display:block}.dubl-pips{flex-shrink:0;align-items:center;gap:.35rem;display:inline-flex}.dubl-label{font-family:var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-right:.15rem;font-size:.65rem}.dubl-pip{border:1.5px solid var(--coral);background:0 0;border-radius:50%;flex-shrink:0;width:.7rem;height:.7rem}.dubl-pip.on{background:radial-gradient(circle at 35% 30%, #f5d9a8, var(--coral) 55%, #8a5a2b);box-shadow:0 0 8px #e8c07a59}.xp-bar{border:1px solid var(--stroke);background:#00000059;border-radius:2px;height:1.55rem;margin-top:.9rem;position:relative;overflow:hidden}.xp-fill{background:linear-gradient(90deg, #6b3e22, var(--coral) 70%, var(--gold));height:100%;transition:width .45s}.xp-label{font-size:.72rem;font-family:var(--font-ui);letter-spacing:.04em;text-shadow:0 1px 2px #000000b3;place-items:center;display:grid;position:absolute;inset:0}.hub-nav{border-bottom:1px solid var(--stroke);gap:.4rem;margin:1rem 0;padding-bottom:.15rem;display:flex;overflow-x:auto}.tab{color:var(--muted);white-space:nowrap;font-family:var(--font-ui);letter-spacing:.06em;text-transform:uppercase;background:0 0;border:1px solid #0000;border-radius:2px;align-items:center;gap:.35rem;padding:.5rem .75rem;font-size:.72rem;text-decoration:none;display:inline-flex}.tab.active{color:var(--ink);border-color:var(--stroke);background:#e8c07a14}.channel-lamp{background:#3a3228;border-radius:50%;flex-shrink:0;width:.45rem;height:.45rem;box-shadow:inset 0 0 0 1px #00000073}.channel-lamp.on{background:#e8c07a;box-shadow:0 0 6px #e8c07ad9,0 0 1px #fff6d8}.channel-lamp.is-zapping{animation:.12s steps(2,end) infinite channelLampBlink}.tab-ch{letter-spacing:.04em;opacity:.55;font-variant-numeric:tabular-nums;font-size:.58rem}.tab.active .tab-ch{opacity:.8;color:var(--gold)}.hub-screen-stage{min-height:0;position:relative}.hub-main.is-channel-dim{filter:contrast(1.35)brightness(.55)saturate(.4)}.channel-zap{z-index:30;pointer-events:none;border-radius:2px;position:absolute;inset:0;overflow:hidden}.channel-zap-snow{opacity:.55;mix-blend-mode:screen;background-image:repeating-linear-gradient(0deg,#ffffff12 0 1px,#0000 1px 3px),repeating-linear-gradient(90deg,#00000059 0 1px,#0000 1px 2px);animation:.12s steps(3,end) infinite channelSnow;position:absolute;inset:-20%}.channel-zap-scan{opacity:.7;background:repeating-linear-gradient(#0000 0 2px,#00000047 2px 3px);animation:.55s linear infinite channelScan;position:absolute;inset:0}.channel-zap-flash{background:radial-gradient(at 50% 40%,#e8c07a38,#0000 55%);animation:.78s ease-out both channelFlash;position:absolute;inset:0}.channel-zap-label{font-family:var(--font-ui);letter-spacing:.14em;color:#e8c07aeb;text-shadow:0 0 8px #000c;margin:0;font-size:.72rem;animation:.78s both channelChPop;position:absolute;top:.65rem;right:.75rem}@keyframes channelSnow{0%{transform:translate(0)}33%{transform:translate(-1.5%,2%)}66%{transform:translate(2%,-1%)}to{transform:translate(-1%,1.5%)}}@keyframes channelScan{0%{transform:translateY(-8%)}to{transform:translateY(8%)}}@keyframes channelFlash{0%{opacity:.9}18%{opacity:.15}35%{opacity:.55}to{opacity:0}}@keyframes channelChPop{0%{opacity:0;transform:scale(1.2)}15%{opacity:1;transform:none}70%{opacity:1}to{opacity:0}}@keyframes channelLampBlink{0%{box-shadow:none;background:#5a4a30}to{background:#e8c07a;box-shadow:0 0 7px #e8c07ae6}}.panel{background:var(--card);border:1px solid var(--stroke);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.2rem;position:relative}.panel-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1rem;display:flex}.panel-head h2{margin:0}.panel-head-aside{flex-direction:column;align-items:flex-end;gap:.2rem;margin-left:auto;display:flex}.panel-head-tools{align-items:center;gap:.45rem;display:flex}.panel-head-frames{text-align:right;margin:0;font-size:.9rem;line-height:1.2}.panel-scenario{position:relative}.scenario-cam-btn{width:1.65rem;height:1.65rem;color:var(--gold);cursor:pointer;opacity:.78;background:#1a151066;border:1px solid #e8c07a38;border-radius:2px;flex:none;place-items:center;padding:0;display:inline-grid}.scenario-cam-btn:hover{opacity:1;background:#e8c07a1a;border-color:#e8c07a80}.task-list{gap:.7rem;margin:0;padding:0;list-style:none;display:grid}.task-row{border:1px solid var(--stroke);background:#00000047;border-radius:2px;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.9rem 1rem;animation:.35s both rise;display:flex}.task-row p{color:var(--muted);margin:.2rem 0;font-size:.92rem}.task-how{line-height:1.45;font-size:.85rem!important}.task-reward{color:var(--coral);font-size:.72rem;font-family:var(--font-ui);letter-spacing:.03em}.task-row.done{opacity:.55}.task-row.retro{background:#30261c8c;border-color:#c4a06e47;box-shadow:inset 0 0 0 1px #c4a06e0f}.task-row.retro.done{opacity:.58}.task-title-line{flex-wrap:wrap;align-items:baseline;gap:.45rem;display:inline-flex}.task-retro-tag{font-family:var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:#c4a06e;background:#c4a06e1a;border:1px solid #c4a06e59;border-radius:2px;padding:.12rem .38rem;font-size:.62rem;font-weight:500;line-height:1.2}.retro-toggle{flex:none}.character-panel{grid-template-columns:auto 1fr;align-items:start;gap:1.4rem;display:grid}.character-avatar-col{justify-items:center;gap:.55rem;max-width:260px;display:grid}.avatar-actions{flex-wrap:wrap;justify-content:center;gap:.4rem;display:flex}.onboard-avatar-preview{justify-items:center;margin:.5rem 0 .15rem;display:grid}.character-copy h2{margin:0 0 .35rem}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin-top:1rem;display:grid}.stat-grid .label{color:var(--muted);font-size:.8rem;display:block}.visit-empty,.visit-stage{text-align:center;justify-items:center;gap:1rem;padding:1rem 0 .5rem;display:grid}.visit-card{border:1px solid var(--stroke);background:radial-gradient(circle at 50% 20%,#ffecc8e6,#0000 55%),linear-gradient(#fff7ee,#ffe4cf);border-radius:24px;width:min(100%,420px);padding:1.2rem;animation:.45s both visitIn}.visit-name{font-family:var(--font-display);color:#2a1c12;margin:0 0 .4rem;font-size:1.4rem;font-weight:700}.neighbor-chat{gap:.75rem;display:grid}.visit-block{border-top:1px solid var(--stroke);gap:.75rem;margin-top:1.5rem;padding-top:1.25rem;display:grid}.top-board{gap:.5rem;display:grid}.top-board-empty{text-align:center;margin:.35rem 0}.top-board-list,.friends-list{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.friends-row{grid-template-columns:auto 1fr!important}.visit-friend-btn{width:100%;margin:.35rem 0 .15rem}.btn.tiny,.ghost-btn.tiny{padding:.28rem .55rem;font-size:.72rem}.friend-bell{position:relative}.friend-bell-btn{align-items:center;gap:.35rem;display:inline-flex;position:relative}.friend-bell-label{line-height:1}.friend-bell-dot{color:#fff8ef;min-width:1.15rem;height:1.15rem;font-size:.64rem;font-family:var(--font-ui);background:#c45c3e;border-radius:999px;place-items:center;padding:0 .28rem;font-weight:700;line-height:1;display:inline-grid;box-shadow:0 0 0 1px #00000040}.friend-bell-panel{z-index:40;background:#120e0af7;border:1px solid #e8c07a52;border-radius:2px;width:min(18.5rem,100vw - 1.5rem);max-height:min(70vh,22rem);padding:.65rem .7rem;position:absolute;top:calc(100% + .4rem);right:0;overflow:auto;box-shadow:0 16px 36px #00000073}@media (width<=900px){.friend-bell-panel{left:max(.5rem, env(safe-area-inset-left,0px));right:max(.5rem, env(safe-area-inset-right,0px));width:auto;max-width:none;top:var(--friend-bell-top,4.5rem);z-index:60;position:fixed}}.friend-bell-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.45rem;display:flex}.friend-bell-head strong{font-family:var(--font-display);color:var(--gold);font-size:.95rem}.friend-bell-empty{margin:.35rem 0}.friend-bell-list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.friend-bell-list li{background:#00000047;border:1px solid #e8c07a2e;padding:.45rem .5rem}.friend-bell-list li.is-read{opacity:.62}.friend-bell-body{margin:0 0 .25rem;font-size:.82rem;line-height:1.35}.friend-bell-list time{color:var(--muted);font-size:.68rem;font-family:var(--font-ui);margin-bottom:.35rem;display:block}.friend-bell-actions{flex-wrap:wrap;gap:.35rem;display:flex}.top-board-row{text-align:left;border:1px solid var(--stroke);border-radius:var(--radius);width:100%;color:var(--ink);cursor:pointer;font:inherit;background:#00000047;grid-template-columns:auto auto 1fr;align-items:center;gap:.65rem;padding:.45rem .55rem;transition:border-color .15s,background .15s;display:grid}.top-board-row:hover:not(:disabled),.top-board-row:focus-visible{background:#241c14d9;border-color:#e8c07a8c;outline:none}.top-board-row:disabled{opacity:.65;cursor:wait}.top-board-row.is-mine{border-color:#e8c07a6b}.top-board-rank{width:1.4rem;font-family:var(--font-ui);color:var(--gold);text-align:center;font-size:.85rem}.top-board-meta{gap:.1rem;min-width:0;display:grid}.top-board-meta strong{font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.other-channels{z-index:6;width:min(11.5rem, calc(var(--hub-curtain) - .75rem));pointer-events:auto;position:fixed;top:28%}.other-channels-left{left:.45rem}.other-channels-right{right:.45rem}.other-channels-toggle{width:100%;color:var(--gold);cursor:pointer;font:inherit;writing-mode:horizontal-tb;background:linear-gradient(165deg,#302418f0,#16100ceb);border:1px solid #e8c07a59;border-radius:2px;grid-template-columns:auto 1fr;align-items:center;gap:.4rem;padding:.45rem .55rem;display:grid;box-shadow:0 10px 28px #00000059}.other-channels-lamp{background:#6a5840;border-radius:50%;width:.45rem;height:.45rem;box-shadow:inset 0 0 0 1px #00000059}.other-channels.is-open .other-channels-lamp{background:#c9a46a;box-shadow:0 0 8px #e8c07a73}.other-channels-title{font-family:var(--font-ui);letter-spacing:.04em;text-transform:uppercase;text-align:left;font-size:.72rem;line-height:1.2}.other-channels-panel{background:#120e0af0;border:1px solid #e8c07a47;border-radius:2px;margin-top:.35rem;padding:.55rem .6rem;box-shadow:0 14px 32px #0006}.other-channels-empty{color:var(--muted);margin:0;font-size:.78rem;line-height:1.4}.other-channels-list{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.other-channels-list a{color:var(--ink);gap:.15rem;text-decoration:none;display:grid}.other-channels-list a:hover strong,.other-channels-list a:focus-visible strong{color:var(--gold)}.other-channels-list strong{font-family:var(--font-display);font-size:.92rem}.other-channels-list span{color:var(--muted);font-size:.72rem;line-height:1.35}@media (width<=1100px){.other-channels{width:auto;max-width:min(14rem,100vw - 1.5rem);top:auto;bottom:1rem}.other-channels-left{left:.65rem;right:auto}.other-channels-right{left:auto;right:.65rem}}.neighbor-chat-head h3{margin:0 0 .35rem;font-size:1.15rem}.neighbor-chat-rules{color:var(--muted);background:#00000038;border:1px solid #e8c07a38;margin:0;padding:.65rem .75rem;font-size:.82rem;line-height:1.45}.neighbor-chat-tabs{flex-wrap:wrap;gap:.4rem;display:flex}.neighbor-chat-list{border:1px solid var(--stroke);border-radius:var(--radius);background:#00000047;gap:.45rem;max-height:min(42vh,360px);padding:.55rem;display:grid;overflow-y:auto}.neighbor-chat-empty{text-align:center;margin:.5rem 0}.neighbor-chat-day{justify-content:center;margin:.35rem 0 .15rem;display:flex}.neighbor-chat-day time{letter-spacing:.02em;color:var(--muted);font-size:.72rem;font-family:var(--font-ui);background:#140e0ab8;border:1px solid #e8c07a2e;border-radius:999px;padding:.2rem .65rem;display:inline-block}.neighbor-msg{background:#241c14bf;border:1px solid #e8c07a24;border-radius:2px;padding:.45rem .55rem}.neighbor-msg.is-system{color:var(--muted);background:#e8c07a14;border-style:dashed;font-size:.86rem}.neighbor-msg.is-whisper{background:#48301c8c;border:1px dashed #e8c07a6b;box-shadow:inset 0 0 0 1px #0003}.neighbor-msg.is-whisper .neighbor-msg-meta strong{letter-spacing:.02em;color:#e0c090;font-style:italic}.neighbor-msg-whisper-body{color:#f0e2c8;font-style:italic}.neighbor-msg-whisper-hint{letter-spacing:.04em;text-transform:uppercase;font-size:.68rem;font-family:var(--font-ui);color:#e8c07a8c;margin:.35rem 0 0}.neighbor-msg.is-mine{border-color:#e8c07a59}.neighbor-msg-meta{color:var(--gold);justify-content:space-between;gap:.5rem;margin-bottom:.2rem;font-size:.72rem;display:flex}.neighbor-msg-meta time{color:var(--muted);font-family:var(--font-ui)}.neighbor-msg-body{overflow-wrap:anywhere;margin:0;line-height:1.4}.neighbor-chat-form{grid-template-columns:1fr auto;gap:.45rem;display:grid}.neighbor-chat-form input{border-radius:var(--radius);border:1px solid var(--stroke);width:100%;color:var(--ink);background:#00000059;padding:.55rem .7rem}@keyframes visitIn{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:none}}.portrait{justify-items:center;gap:.45rem;margin:0;display:grid}.portrait-frame{border:1px solid var(--stroke);box-shadow:var(--shadow);background:#ffffff73;border-radius:28px;place-items:center;display:grid;position:relative;overflow:hidden}.portrait-sm .portrait-frame{width:120px;height:120px}.portrait-md .portrait-frame{width:180px;height:180px}.portrait-lg .portrait-frame{width:240px;height:240px}.portrait-char{object-fit:cover;width:100%;height:100%;animation:.45s both popIn}.portrait-animate .portrait-char{animation:.45s both popIn}.portrait-meta{justify-items:center;gap:.15rem;font-weight:700;display:grid}@keyframes popIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}.float-layer{z-index:5;pointer-events:none;justify-items:center;gap:.4rem;display:grid;position:absolute;top:.65rem;left:50%;transform:translate(-50%)}.float-chip{border:1px solid var(--stroke);font-family:var(--font-ui);letter-spacing:.04em;color:var(--gold);box-shadow:var(--shadow);background:#241c14f2;border-radius:2px;padding:.4rem .85rem;font-size:.75rem;animation:1.4s forwards floatReward}.float-chip.is-archive{background:linear-gradient(#382a1cfa,#1c140efa);border-color:#e8c07a8c;gap:.12rem;min-width:11.5rem;max-width:min(18rem,78vw);padding:.55rem .85rem .65rem;animation:2.6s forwards floatArchive;display:grid;box-shadow:0 0 0 1px #e8c07a1f,0 10px 28px #00000073}.float-archive-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:#e8c07ab8;font-size:.62rem}.float-archive-kind{letter-spacing:.08em;text-transform:uppercase;color:var(--coral);font-size:.68rem}.float-archive-title{font-family:var(--font-display);letter-spacing:.01em;color:#f3e6d0;font-size:.95rem;font-weight:700;line-height:1.25}@keyframes floatReward{0%{opacity:0;transform:translateY(8px)}15%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-28px)}}@keyframes floatArchive{0%{opacity:0;transform:translateY(12px)scale(.96)}12%{opacity:1;transform:translateY(0)scale(1)}78%{opacity:1;transform:translateY(-6px)scale(1)}to{opacity:0;transform:translateY(-22px)scale(.98)}}@media (width<=720px){.character-panel{text-align:center;grid-template-columns:1fr;justify-items:center}.stat-grid{text-align:left}.task-row{flex-direction:column;align-items:stretch}}.cat-row{flex-wrap:wrap;gap:.4rem;margin-bottom:.85rem;display:flex}.cat-chip{font-family:var(--font-ui);letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--stroke);color:var(--muted);cursor:pointer;background:#00000040;align-items:baseline;gap:.4rem;padding:.45rem .7rem;font-size:.68rem;display:inline-flex}.cat-chip-lvl{letter-spacing:.02em;opacity:.78;text-transform:none;font-variant-numeric:tabular-nums;font-size:.62rem}.cat-chip.active{background:var(--gold);color:#1a1510;border-color:var(--gold)}.cat-chip.active .cat-chip-lvl{opacity:.72}.brand-home{color:inherit;cursor:pointer;text-decoration:none;display:block}.brand-home:hover,.brand-home:focus-visible{color:var(--gold)}.cat-chip.soft.active{color:var(--ink);border-color:var(--gold);background:#e8c07a2e}.form-filters{margin-bottom:.5rem}.word-day{border:1px dashed var(--stroke);background:#00000038;margin:0 0 1rem;padding:.7rem .85rem;font-size:.95rem}.word-day.compact{margin-bottom:.75rem}.word-day strong{color:var(--gold);font-family:var(--font-display);font-weight:500}.ai-sheet{border:1px solid var(--stroke);background:#00000059;gap:.75rem;margin-top:1rem;padding:1rem;display:grid}.ai-sheet h3{margin:0}.photo-field{gap:.45rem;display:grid}.photo-field input[type=file]{color:var(--muted);font-size:.85rem}.photo-preview-wrap{gap:.25rem;display:grid}.photo-preview{object-fit:contain;background:#00000059;border-radius:4px;width:min(100%,220px);max-height:220px}.act-lock{text-align:center;border:1px dashed var(--stroke);background:#00000040;padding:1.5rem 1rem}.subhead{margin:1.25rem 0 .5rem;font-size:1rem}.cat-xp-list{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.cat-xp-list li{border-top:1px solid var(--stroke);justify-content:space-between;gap:1rem;padding:.45rem 0;font-size:.92rem;display:flex}.rest-today-badge{border:1px solid #0000;border-radius:2px;align-items:baseline;gap:.35rem;margin:.75rem 0 0;padding:.35rem .7rem;font-size:.88rem;line-height:1.2;display:inline-flex}.rest-today-badge strong{font-variant-numeric:tabular-nums}.rest-today-badge.is-zero{color:#9a9086;background:#786e6429;border-color:#786e6447}.rest-today-badge.is-ok{color:#1f6b3a;background:#38a05a29;border-color:#38a05a59}.rest-today-badge.is-high{color:#8f2a22;background:#c8463724;border-color:#c8463761}.rest-head-aside{align-items:flex-end;gap:.35rem}.rest-head-aside .rest-today-badge{margin-top:0}.visit-rest-badge{margin:.65rem 0 0}.visit-cats-title{letter-spacing:.06em;text-transform:uppercase;color:#7a5a3a;margin:.85rem 0 .2rem;font-size:.78rem}.visit-cat-xp{color:#4a3728;margin-top:.15rem}.visit-cat-xp li{border-top-color:#5a3c1e2e;font-size:.86rem}.cinema-stats .label{font-family:var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--coral);font-size:.68rem}.coffee-menu{grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.5rem;margin-bottom:1.1rem;display:grid}.coffee-option{text-align:left;border:1px solid var(--stroke);color:var(--muted);cursor:pointer;font:inherit;background:#00000047;gap:.25rem;padding:.7rem .75rem;display:grid}.coffee-option strong{font-family:var(--font-display);color:var(--ink);font-size:.95rem;font-weight:500}.coffee-option span{font-size:.78rem;line-height:1.35}.coffee-option.active{border-color:var(--gold);color:var(--ink);background:#e8c07a1a}.coffee-option:disabled{opacity:.55;cursor:not-allowed}.coffee-wrap{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));place-items:start center;gap:1.25rem;display:grid}.espresso-rig{gap:.75rem;width:min(100%,300px);display:grid}.espresso-svg{filter:drop-shadow(0 12px 24px #00000059);width:100%;height:auto;display:block}.esp-led{fill:#5a4030;transition:fill .2s}.esp-led.on{fill:#e8c07a;filter:drop-shadow(0 0 6px #e8c07acc)}.pour-stream{opacity:0;transform-origin:140px 138px;transform:scaleY(0)}.pour-stream.on{opacity:1;animation:1.85s cubic-bezier(.33,.1,.25,1) forwards pourBeam}.pour-splash{opacity:0}.pour-stream.on .pour-splash{animation:1.85s ease-in-out forwards pourSplash}@keyframes pourBeam{0%{opacity:0;transform:scaleY(0)}10%{opacity:1;transform:scaleY(1)}72%{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(.12)}}@keyframes pourSplash{0%,8%{opacity:0;transform:scale(.4)}18%,70%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(.7)}}.steam-cloud{opacity:0}.steam-cloud.on{animation:1.35s ease-out infinite steamWaft}@keyframes steamWaft{0%{opacity:0;transform:translateY(5px)}35%{opacity:.95}to{opacity:0;transform:translateY(-14px)}}.cup-liquid{transition:transform 1.75s cubic-bezier(.22,.7,.25,1);transform:translateY(0)}.cup-liquid.rise{transform:translateY(-42px)}.cup-crema,.cup-surface,.cup-surface-sheen{opacity:0;transition:opacity .4s .95s,transform 1.75s cubic-bezier(.22,.7,.25,1);transform:translateY(16px)}.cup-crema.show,.cup-surface.show{opacity:.92;transform:translateY(0)}.cup-surface-sheen.show{opacity:.35;transform:translateY(0)}.coffee-brew{width:100%}.coffee-status{text-align:center;max-width:36rem;margin:1rem auto 0}.coffee-topview{text-align:center;justify-items:center;gap:.75rem;width:min(100%,260px);animation:.55s both rise;display:grid}.coffee-topview-title{font-family:var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin:0;font-size:.72rem}.coffee-line{border-left:2px solid var(--gold);color:var(--ink);font-family:var(--font-display);text-align:left;box-sizing:border-box;background:#00000047;width:100%;margin:.25rem 0 0;padding:.75rem .85rem;font-size:.98rem;font-style:italic;line-height:1.45}.coffee-saucer{background:radial-gradient(46% 24% at 36% 28%,#fffcf566,#0000 68%),radial-gradient(circle at 50% 52%,#b8a888 0 34%,#cfc0a4 55%,#b5a486 78%,#8a7860 100%);border-radius:50%;place-items:center;width:236px;height:236px;display:grid;position:relative;box-shadow:inset 0 2px #fffaeb59,inset 0 -12px 20px #281c102e,inset 0 0 0 1px #3c302259,0 14px 28px #0000006b}.coffee-cup-rim{z-index:1;background:radial-gradient(36% 22% at 36% 30%,#ffffff8c,#0000 65%),radial-gradient(circle,#0000 0 66%,#eef1f5 68% 74%,#c4ccd6 76% 82%,#8a94a0 85% 90%,#4a5560 93% 97%,#1e242c 98% 100%);border-radius:50%;place-items:center;width:152px;height:152px;display:grid;position:relative;box-shadow:0 6px 18px #00000073,inset 0 1px #ffffff59,inset 0 -2px 8px #00000047,inset 0 0 14px #0000002e}.coffee-cup-rim:after{content:"";pointer-events:none;border-radius:50%;position:absolute;inset:14%;box-shadow:inset 0 0 0 1px #ffffff1f,inset 0 0 10px #00000059}.coffee-surface{z-index:1;background:radial-gradient(circle at 38% 32%,#6b3a1e 0%,#2a160c 55%,#120a06 100%);border-radius:50%;width:114px;height:114px;position:relative;overflow:hidden;box-shadow:inset 0 0 16px #0000008c,inset 0 1px #ffdca014}.latte-art{border-radius:50%;width:100%;height:100%;display:block}.coffee-photo-frame{aspect-ratio:1;background:#1a1410;border-radius:10px;width:min(100%,236px);margin:0;overflow:hidden;box-shadow:0 14px 28px #0000006b,0 0 0 1px #3c302259}.coffee-top-photo{object-fit:cover;object-position:center;width:100%;height:100%;display:block}@media (prefers-reduced-motion:reduce){.pour-stream.on,.pour-stream.on .pour-splash,.steam-cloud.on{opacity:1;animation:none;transform:none}.cup-liquid,.cup-crema,.cup-surface,.cup-surface-sheen{transition:none}.tv-set{opacity:1;transition:none;transform:none}.guide-speech p{animation:none}}.guide-dock{right:max(.75rem, env(safe-area-inset-right));bottom:max(.75rem, env(safe-area-inset-bottom));z-index:80;pointer-events:none;position:fixed}.guide-dock>*{pointer-events:auto}.guide-reopen{right:max(.75rem, env(safe-area-inset-right));bottom:max(.75rem, env(safe-area-inset-bottom));z-index:80;width:2.4rem;height:2.4rem;color:var(--gold);cursor:pointer;background:#140e0abf;border:none;border-radius:50%;position:fixed;box-shadow:0 8px 18px #00000059}.guide-card{width:min(42vw,10.5rem);box-shadow:none;background:0 0;border:none;border-radius:0;justify-items:center;gap:.35rem;padding:.35rem .2rem 0;display:grid;position:relative}@media (width>=901px){.guide-card{gap:.45rem;width:min(22vw,17.5rem)}.guide-speech p{padding:.55rem .75rem;font-size:.92rem;line-height:1.35}.guide-reopen{width:3rem;height:3rem;font-size:1.15rem}}.guide-card-close{z-index:2;color:#f3e6d0;cursor:pointer;background:#0000008c;border:none;border-radius:50%;place-items:center;width:1.45rem;height:1.45rem;padding:0;font-size:1.1rem;line-height:1;display:grid;position:absolute;top:-.15rem;right:-.1rem}.guide-portrait{aspect-ratio:1;background:0 0;border:none;width:100%;overflow:visible}.guide-portrait img{object-fit:contain;object-position:center bottom;filter:drop-shadow(0 10px 18px #00000073);width:100%;height:100%;display:block}.guide-portrait.is-fallback{place-items:center;display:grid}.guide-silhouette{opacity:.7;background:radial-gradient(circle at 50% 28%,#e8c07a 0 18%,#0000 19%),linear-gradient(#0000 22%,#a89070 23% 55%,#6b4a2e 70%);border-radius:40% 40% 28% 28%;width:42px;height:56px}.guide-speech{order:-1;width:100%;min-width:0}.guide-speech p{text-align:center;color:var(--ink);background:#140e0ae0;border-radius:14px;margin:0;padding:.45rem .6rem;font-size:.78rem;line-height:1.3;animation:.35s both guideIn;position:relative;box-shadow:0 8px 18px #00000059}.guide-speech p:after{content:"";background:#140e0ae0;width:10px;height:10px;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)rotate(45deg)}@keyframes guideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (width<=900px){.guide-card{width:min(46vw,9.2rem)}.guide-speech p{font-size:.72rem}}@media (width>=1200px){.guide-card{width:min(20vw,19rem)}}.hub-await-enter>.hub-cube-stage{opacity:1;filter:brightness(.78);animation:3s cubic-bezier(.22,1,.36,1) 4.5s forwards hubApproach;transform:scale(.9)}.hub-await-enter>.hub-curtains{opacity:.85;animation:3s 4.5s forwards hubCurtainIn}.hub-reveal>.hub-cube-stage{animation:1.15s cubic-bezier(.16,1,.3,1) both hubRevealIn}.hub-reveal>.hub-curtains{animation:1.2s both hubCurtainIn}@keyframes hubApproach{0%{filter:brightness(.78);transform:scale(.9)}to{filter:brightness();transform:scale(1.04)}}@keyframes hubRevealIn{0%{opacity:.9;filter:brightness();transform:scale(1.04)}to{opacity:1;filter:none;transform:none}}@keyframes hubCurtainIn{0%{opacity:.7}to{opacity:1}}.tavern-enter{z-index:9999;opacity:1;visibility:visible;pointer-events:none;background:#120a06;place-items:center;animation:.9s 6.2s forwards tavernFadeOut;display:grid;position:fixed;inset:0;overflow:hidden}.tavern-interior{z-index:0;opacity:.55;background:radial-gradient(50% 60% at 50% 48%,#ffc878bf,#0000 68%),radial-gradient(80% 70% at 50% 100%,#8c461e8c,#0000 55%),linear-gradient(#2a1810 0%,#5a3418 42%,#1a1008 100%);animation:6.4s cubic-bezier(.22,1,.36,1) forwards tavernPushIn;position:absolute;inset:0;transform:scale(.78)}.tavern-seam{z-index:1;opacity:.9;background:linear-gradient(#ffe6aa26,#ffd282f2 45%,#ffe6aa33);width:6px;margin-left:-3px;animation:4.8s 1.1s forwards tavernSeam;position:absolute;top:0;bottom:0;left:50%;box-shadow:0 0 28px 10px #ffc8788c}.tavern-doors{z-index:2;display:flex;position:absolute;inset:0}.tavern-door{will-change:transform;width:50%;height:100%;position:relative}.tavern-door-left{animation:3.8s cubic-bezier(.45,.02,.2,1) 1.4s forwards tavernSlideLeft}.tavern-door-right{animation:3.8s cubic-bezier(.45,.02,.2,1) 1.4s forwards tavernSlideRight}.tavern-door-face{background:linear-gradient(#8b5a32 0%,#6a4024 40%,#3f2614 100%);border:3px solid #1a1008;grid-template-columns:repeat(4,1fr);display:grid;position:absolute;inset:0;overflow:hidden;box-shadow:inset 0 0 50px #00000080,inset 0 0 0 2px #e8c07a40}.tavern-door-left .tavern-door-face{border-right:2px solid #120a06;box-shadow:inset -22px 0 36px #0006,inset 0 0 50px #00000073,12px 0 40px #000000a6}.tavern-door-right .tavern-door-face{border-left:2px solid #120a06;box-shadow:inset 22px 0 36px #0006,inset 0 0 50px #00000073,-12px 0 40px #000000a6}.tavern-plank{background:linear-gradient(90deg,#00000047,#0000 20% 80%,#00000038),linear-gradient(#ffdca024,#0000 28%,#0000002e);border-right:1px solid #140c0873}.tavern-band{background:linear-gradient(#c4a574,#7a6040 50%,#3a2c1c);border-radius:2px;height:14px;position:absolute;left:5%;right:5%;box-shadow:0 1px #ffe6b459,0 4px 8px #00000073}.tavern-band-top{top:11%}.tavern-band-mid{top:47%}.tavern-band-bot{bottom:11%}.tavern-handle{background:linear-gradient(90deg,#f0d9a0,#c4a050 50%,#6a4e28);border-radius:10px;width:18px;height:64px;margin-top:-32px;position:absolute;top:50%;box-shadow:0 3px 12px #0000008c,inset 0 0 6px #fff0c873}.tavern-handle-left{right:9%}.tavern-handle-right{left:9%}.tavern-caption{z-index:3;font-family:var(--font-display);letter-spacing:.12em;color:#fff6e4;text-shadow:0 2px 24px #000000e6;text-align:center;background:#0c080573;border:1px solid #e8c07a59;margin:0;padding:.55rem 1.1rem;font-size:clamp(1.35rem,4.2vw,2.15rem);animation:5.8s forwards tavernCaption;position:relative}@keyframes tavernSlideLeft{0%,12%{transform:translate(0)}to{transform:translate(-102%)}}@keyframes tavernSlideRight{0%,12%{transform:translate(0)}to{transform:translate(102%)}}@keyframes tavernPushIn{0%,20%{opacity:.55;transform:scale(.78)}55%{opacity:1;transform:scale(1)}to{opacity:1;transform:scale(1.35)}}@keyframes tavernSeam{0%{opacity:.95;width:6px;box-shadow:0 0 28px 10px #ffc8788c}to{opacity:0;width:42vw;margin-left:-21vw;box-shadow:0 0 80px 40px #ffc87859}}@keyframes tavernCaption{0%{opacity:0;transform:translateY(18px)}8%{opacity:1;transform:none}42%{opacity:1}62%{opacity:0;transform:translateY(-16px)scale(1.05)}to{opacity:0}}@keyframes tavernFadeOut{0%{opacity:1;visibility:visible}to{opacity:0;visibility:hidden}}.scenario-intro{z-index:20;opacity:0;pointer-events:none;border-radius:inherit;background:#0a0806f0;place-items:center;transition:opacity .4s;display:grid;position:absolute;inset:0;overflow:hidden}.scenario-intro.is-visible{opacity:1;pointer-events:auto}.scenario-intro.is-idle{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;inset:auto auto auto -9999px;overflow:hidden}.scenario-intro-out{pointer-events:none;opacity:0!important}.scenario-intro-video{object-fit:contain;background:0 0;width:100%;max-width:100%;height:100%;max-height:100%}.scenario-intro-loading{z-index:2;letter-spacing:.08em;color:#f3e6d0;background:#1a1510c7;border:1px solid #e8c07a59;margin:0;padding:.65rem 1.1rem;font-family:Palatino Linotype,Palatino,Book Antiqua,Georgia,serif;position:absolute}.scenario-intro-play,.scenario-intro-skip{z-index:2;letter-spacing:.06em;cursor:pointer;color:#f3e6d0;background:#1a1510c7;border:1px solid #e8c07a59;font-family:Palatino Linotype,Palatino,Book Antiqua,Georgia,serif;position:absolute}.scenario-intro-play{padding:.85rem 1.6rem;font-size:clamp(1.05rem,3vw,1.35rem)}.scenario-intro-skip{opacity:.85;padding:.45rem .85rem;font-size:.85rem;top:.75rem;right:.75rem}.scenario-intro-skip:hover,.scenario-intro-play:hover{opacity:1;border-color:#e8c07a8c}@media (width<=900px){.scenario-intro{z-index:1;aspect-ratio:16/9;opacity:1;pointer-events:auto;background:#100d0a;border:1px solid #e8c07a38;border-radius:2px;width:100%;max-height:min(42vh,260px);margin:0 0 .9rem;position:relative;inset:auto}.scenario-intro.is-idle{aspect-ratio:auto;left:-9999px;border:none;width:1px;height:1px;max-height:none;margin:0;position:absolute;inset:auto}.scenario-intro-out{opacity:0!important}.scenario-intro-video{object-fit:contain;width:100%;height:100%}.scenario-intro-skip{padding:.35rem .65rem;font-size:.75rem;top:.45rem;right:.45rem}.scenario-cam-btn{width:1.5rem;height:1.5rem}}@media (prefers-reduced-motion:reduce){.hub-reveal>.hub-cube-stage,.hub-reveal>.hub-curtains,.hub-await-enter>.hub-cube-stage,.hub-await-enter>.hub-curtains{opacity:1;filter:none;transform:none;animation:none!important}.channel-zap-snow,.channel-zap-scan,.channel-zap-flash,.channel-zap-label,.channel-lamp.is-zapping{animation:none!important}.scenario-intro{transition:none}}.site-legal-links{z-index:2;font-family:var(--font-ui);letter-spacing:.04em;flex-wrap:wrap;justify-content:center;gap:.45rem;margin:.35rem 0 0;font-size:.72rem;display:flex;position:relative}.site-legal-links a{color:var(--muted);text-decoration:none}.site-legal-links a:hover{color:var(--gold)}.auth-legal{text-align:center;margin:.35rem 0 0;line-height:1.45}.auth-legal a{color:var(--gold)}.legal-page{min-height:100dvh;color:var(--ink);background:radial-gradient(at 20% 0,#5a3c1e59,#0000 55%),radial-gradient(at 80% 100%,#281c1280,#0000 50%),#120e0b;padding:1.25rem clamp(1rem,3vw,2rem) 2.5rem}.legal-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.legal-nav{font-family:var(--font-ui);gap:1rem;font-size:.85rem;display:flex}.legal-nav a{color:var(--muted);text-decoration:none}.legal-nav a:hover{color:var(--gold)}.legal-doc{border:1px solid var(--stroke);background:#00000059;max-width:42rem;margin:0 auto;padding:1.5rem 1.35rem 1.75rem}.legal-doc h1{font-family:var(--font-display);margin:0 0 .35rem;font-size:clamp(1.6rem,4vw,2.1rem);font-weight:500}.legal-updated{margin:0 0 1.25rem}.legal-body{gap:.85rem;font-size:.95rem;line-height:1.55;display:grid}.legal-body h2{font-family:var(--font-display);color:var(--gold);margin:.65rem 0 0;font-size:1.15rem;font-weight:500}.legal-body p,.legal-body ul{color:var(--ink);margin:0}.legal-body ul{gap:.35rem;padding-left:1.2rem;display:grid}.legal-body a{color:var(--gold)}.legal-back{margin:1.5rem 0 0}.account-danger{border-top:1px solid var(--stroke);justify-items:start;gap:.55rem;margin-top:1.5rem;padding-top:1.1rem;display:grid}.btn.danger-outline{color:#e8a090;background:0 0;border:1px solid #c85a468c}.btn.danger-outline:hover:not(:disabled){background:#c85a461f}.btn.danger{color:#f2d0c8;background:linear-gradient(#6a3028,#3a1814);border-color:#c07060}.btn.danger:hover:not(:disabled){transform:translateY(-1px)}.account-delete-overlay{z-index:80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#080503b8;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.account-delete-modal{border:1px solid var(--stroke);background:#1a1410;gap:.75rem;width:min(100%,420px);padding:1.25rem;display:grid}.account-delete-modal h3{font-family:var(--font-display);margin:0;font-weight:500}.account-delete-modal p{color:var(--muted);margin:0;font-size:.92rem;line-height:1.45}.account-delete-modal label{color:var(--muted);gap:.35rem;font-size:.85rem;display:grid}.account-delete-modal input{box-sizing:border-box;border:1px solid var(--stroke);width:100%;color:var(--ink);font:inherit;background:#00000059;border-radius:2px;padding:.55rem .65rem}.account-delete-actions{flex-wrap:wrap;justify-content:flex-end;gap:.55rem;margin-top:.25rem;display:flex}.archive-shelf-root .archive-shelf-meta{justify-content:flex-end;margin:.15rem 0 .35rem;display:flex}.archive-shelf,.panel-archive .archive-shelf{grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));align-items:stretch;gap:.55rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}@media (width<=720px){.archive-shelf,.panel-archive .archive-shelf,.archive-shelf-root.is-compact .archive-shelf{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}.archive-slot,.archive-shelf-root.is-compact .archive-slot{gap:.3rem;min-height:0;padding:.4rem}.archive-slot-copy{min-height:2.6rem}.archive-title,.archive-shelf-root.is-compact .archive-title{min-height:2em;font-size:.74rem}.archive-kind{font-size:.58rem}.archive-date{font-size:.68rem}}.archive-shelf>li,.panel-archive .archive-shelf>li{min-height:0;display:flex}.visit-archive{text-align:left;color:#f3e6d4;background:#120c08eb;border:1px solid #e8c07a38;border-radius:16px;width:100%;margin-top:.85rem;padding:.75rem .7rem .85rem}.visit-archive .visit-cats-title{color:#f3e6d4;margin-bottom:.15rem}.visit-archive .muted{color:#e8c07ab8}.archive-shelf-root.is-compact .archive-shelf{grid-template-columns:repeat(auto-fill,minmax(7.25rem,1fr));gap:.4rem;margin-top:.45rem}.archive-shelf-root.is-compact .archive-slot{gap:.35rem;min-height:11.5rem;padding:.4rem}.archive-shelf-root.is-compact .archive-title{min-height:2em;font-size:.78rem}.archive-slot{box-sizing:border-box;text-align:left;border:1px solid var(--stroke);width:100%;height:100%;min-height:15.5rem;color:inherit;cursor:pointer;font:inherit;background:#00000047;flex-direction:column;align-items:stretch;gap:.45rem;padding:.55rem;display:flex}.archive-slot.is-locked{opacity:.45;cursor:default;background:#0000002e}.archive-thumb-wrap{aspect-ratio:1;background:#00000059;border:1px solid #e8c07a2e;flex:none;place-items:center;width:100%;display:grid;overflow:hidden}.archive-thumb-wrap.kind-film{background:linear-gradient(160deg,#281c12f2,#0c0a08fa)}.archive-thumb-wrap.kind-title{background:linear-gradient(160deg,#302016f2,#0e0a08fa)}.archive-thumb-wrap.kind-ticket{background:linear-gradient(160deg,#241e16f2,#0c0a08fa)}.archive-thumb-mark{font-family:var(--font-ui);letter-spacing:.14em;text-transform:uppercase;color:#e8c07ab8;font-size:.72rem}.archive-thumb{object-fit:cover;width:100%;height:100%;display:block}.archive-slot.is-locked .archive-thumb{filter:grayscale(.85)brightness(.45)}.archive-slot.is-locked .archive-thumb-mark{opacity:.55}.archive-slot-copy{flex-direction:column;flex:auto;gap:.2rem;min-height:3.6rem;display:flex}.archive-sheet-art{aspect-ratio:1;object-fit:cover;border:1px solid #e8c07a38;width:100%;margin-bottom:.15rem}.archive-slot.is-open:hover,.archive-slot.is-open:focus-visible{border-color:var(--gold)}.archive-kind{font-family:var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--coral);font-size:.62rem}.archive-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.15em;font-size:.86rem;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.archive-date{min-height:1.1em;margin-top:auto}.archive-sheet{z-index:1200;padding:max(1rem, env(safe-area-inset-top)) 1.25rem max(1rem, env(safe-area-inset-bottom));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#080604b8;place-items:center;display:grid;position:fixed;inset:0;overflow-y:auto}.archive-sheet-card{border:1px solid var(--stroke);background:var(--panel,#1c1612);width:min(22rem,100%);max-height:min(85vh,36rem);box-shadow:var(--shadow);align-content:start;gap:.55rem;padding:1.1rem 1.15rem;display:grid;overflow-y:auto}.archive-sheet-card h3{margin:0;font-size:1.15rem}.archive-sheet-card p{margin:0}
