:root{--night: #0a0f1e;--panel: rgba(13, 19, 38, .9);--panel-solid: #121a31;--chip-bg: rgba(10, 15, 30, .6);--raised: rgba(255, 255, 255, .06);--raised-2: rgba(255, 255, 255, .1);--line: rgba(244, 236, 220, .12);--ease: cubic-bezier(.22, 1, .36, 1);--ink: #f4ecdc;--mute: #a7b0c6;--gold: #e8b75a;--gold-ink: #2a1c05;--berry: #c8323a;--live: #5fd38a;--paper: #f5ead2;--paper-gold: #f0c463;--paper-line: rgba(80, 60, 40, .24);--pen: #2b2a4a;--pen-soft: rgba(43, 42, 74, .6);--font-hand: "Nanum Pen Script", "Gaegu", cursive;--font-display: "Gowun Batang", "Nanum Myeongjo", "AppleMyungjo", serif;--font-ui: "IBM Plex Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif;color-scheme:dark}html,body{height:100%}body{background:var(--night);color:var(--ink);font-family:var(--font-ui);overflow:hidden;-webkit-tap-highlight-color:transparent}#scene{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none;outline:none}.hud-top{position:fixed;left:0;right:0;top:0;padding-top:calc(max(env(safe-area-inset-top,0px),var(--wt-safe-top, 0px)) + 16px);padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));display:flex;justify-content:space-between;align-items:flex-start;gap:12px;pointer-events:none;background:linear-gradient(to bottom,#0508128c,#05081200);padding-bottom:28px}.countdown{display:grid;gap:2px;min-width:0}.eyebrow{font-size:12px;color:var(--gold);font-weight:500}.clock{font-family:var(--font-display);font-weight:400;font-size:clamp(24px,6.6vw,42px);line-height:1.1;font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:.4em;flex-wrap:wrap;text-shadow:0 1px 12px rgba(5,8,18,.5)}.clock .days{color:var(--gold)}.tree-name{font-size:13px;color:var(--mute);margin-top:4px}.badge{pointer-events:auto;flex:none;font-size:11px;color:var(--mute);border:1px solid rgba(167,176,198,.35);border-radius:999px;padding:5px 10px;background:#0a0f1e80;white-space:nowrap}.hud-bottom{position:fixed;left:0;right:0;bottom:0;padding-bottom:calc(max(env(safe-area-inset-bottom,0px),var(--wt-safe-bottom, 0px)) + 16px);padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-top:36px;display:grid;gap:12px;justify-items:center;pointer-events:none;background:linear-gradient(to top,#050812b3,#05081200)}.hud-bottom>*{pointer-events:auto}.tabs{display:flex;gap:4px;padding:4px;background:var(--panel);border:1px solid var(--line);border-radius:999px;max-width:100%}.tab{appearance:none;border:0;cursor:pointer;font:500 14px/1 var(--font-ui);color:var(--mute);background:transparent;padding:10px 16px;border-radius:999px;white-space:nowrap}.tab[aria-selected=true]{background:var(--gold);color:var(--gold-ink)}.tab:focus-visible,.btn:focus-visible,.chip:focus-visible,textarea:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.actions{width:100%;max-width:560px;display:flex;align-items:center;gap:12px}.meta{flex:1;min-width:0;font-size:12px;color:var(--mute);line-height:1.45}.meta strong{color:var(--ink);font-weight:600}.btn{appearance:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;box-sizing:border-box;font:500 15px/1 var(--font-ui);border-radius:999px;padding:0 20px;border:1px solid var(--line);background:var(--panel);color:var(--ink);white-space:nowrap}.btn.primary{background:var(--gold);color:var(--gold-ink);border-color:var(--gold)}.btn:disabled{opacity:.45;cursor:not-allowed}.icon{flex:none;display:inline-block;vertical-align:middle}.place-rail{position:fixed;z-index:5;left:max(12px,env(safe-area-inset-left,0px));bottom:calc(max(env(safe-area-inset-bottom,0px),var(--wt-safe-bottom, 0px)) + 92px);display:grid;gap:10px}.place-btn{appearance:none;cursor:pointer;width:56px;padding:8px 0;border-radius:16px;display:grid;justify-items:center;gap:4px;border:1px solid var(--line);background:var(--panel);color:var(--ink)}.place-icon{color:var(--mute)}.place-name{font:500 11px/1 var(--font-ui);color:var(--mute)}.place-btn.here{border-color:var(--gold)}.place-btn.here .place-name,.place-btn.going .place-name,.place-btn.here .place-icon,.place-btn.going .place-icon{color:var(--gold)}.place-btn.going{animation:place-pulse 1s ease-in-out infinite}.place-btn:disabled{opacity:.45;cursor:not-allowed}.place-btn:active{transform:scale(.97)}.place-btn:focus-visible{outline:2px solid var(--ink);outline-offset:2px}@keyframes place-pulse{50%{border-color:var(--gold)}}@media (prefers-reduced-motion: reduce){.place-btn.going{animation:none;border-color:var(--gold)}}.place-action{position:fixed;z-index:5;left:50%;transform:translate(-50%);bottom:calc(max(env(safe-area-inset-bottom,0px),var(--wt-safe-bottom, 0px)) + 92px);font-size:16px;min-height:48px;padding:0 24px}.place-action:active{transform:translate(-50%) scale(.97)}.place-rail.lifted,.place-action.lifted{bottom:calc(max(env(safe-area-inset-bottom,0px),var(--wt-safe-bottom, 0px)) + 138px)}.info-toggle{appearance:none;cursor:pointer;pointer-events:auto;justify-self:start;display:inline-flex;align-items:center;gap:4px;margin-top:8px;padding:4px 8px 4px 12px;border-radius:999px;font:500 12px/1 var(--font-ui);color:var(--mute);background:var(--chip-bg);border:1px solid var(--line)}.info-toggle[aria-expanded=true]{color:var(--gold);border-color:var(--line)}.info-toggle:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.hud-info{display:grid;gap:2px;margin-top:4px;padding:8px 12px;border-radius:12px;background:var(--chip-bg);border:1px solid var(--line);justify-self:start;max-width:100%}.hud-info .tree-name{margin-top:0}.ui-layer>*{transition:opacity .45s ease,visibility 0s linear 0s}.ui-layer.focus>*{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s ease,visibility 0s linear .45s}.focus-bar{position:fixed;z-index:6;right:max(12px,env(safe-area-inset-right,0px));bottom:calc(max(env(safe-area-inset-bottom,0px),var(--wt-safe-bottom, 0px)) + 14px);display:flex;gap:6px;opacity:.8}.focus-btn{appearance:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font:500 12px/1 var(--font-ui);color:var(--ink);background:var(--chip-bg);border:1px solid var(--line);border-radius:999px;padding:8px 12px}.focus-btn[aria-pressed=true]{color:var(--gold);border-color:var(--line)}.focus-btn:focus-visible{outline:2px solid var(--ink);outline-offset:2px}@media (prefers-reduced-motion: reduce){.ui-layer>*,.ui-layer.focus>*{transition:none}}.menu-grid{width:100%;max-width:560px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:8px;border-radius:20px;background:var(--panel);border:1px solid var(--line)}.tile{appearance:none;cursor:pointer;min-width:0;display:grid;justify-items:center;align-content:center;gap:8px;min-height:64px;padding:8px 4px;border-radius:12px;border:1px solid transparent;background:#ffffff0a;color:var(--ink)}.tile-icon{display:grid;place-items:center;height:24px;font-size:22px;line-height:1;color:var(--mute)}.tile-label{font:500 12px/1.25 var(--font-ui);color:var(--mute);text-align:center;word-break:keep-all}.tile[aria-pressed=true]{background:var(--raised-2)}.tile[aria-pressed=true] .tile-label,.tile[aria-pressed=true] .tile-icon{color:var(--gold)}.tile:active{transform:scale(.97);background:#ffffff14}.tile:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.menu-foot{display:grid;gap:4px;justify-items:center;font-size:12px;color:var(--mute);text-align:center}.menu-foot p{margin:0}.menu-count{color:var(--ink)}.menu-warn{color:#ffb4b4}.foot-link{color:var(--mute);text-decoration:underline;text-underline-offset:3px;font-size:11px}.fw-preview{margin:4px 0 2px;min-height:40px;text-align:center;font:700 26px/1.3 var(--font-display);color:var(--gold);text-shadow:0 0 12px rgba(255,196,90,.9),0 0 28px rgba(255,140,40,.6);letter-spacing:.04em;word-break:keep-all}.fw-input{width:100%;box-sizing:border-box;font:500 17px/1.2 var(--font-ui);color:var(--ink);background:var(--raised);border:1px solid var(--line);border-radius:12px;padding:12px 16px}.fw-input:focus-visible{outline:2px solid var(--gold);outline-offset:1px}.fw-buy{display:grid;gap:8px;justify-items:center;padding:12px;border-radius:12px;border:1px dashed var(--line)}.fw-buy .btn{width:100%}.stamps{list-style:none;margin:4px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.stamp{display:grid;justify-items:center;gap:6px;text-align:center}.stamp-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-size:22px;border:1.5px dashed var(--line);background:#ffffff08}.stamp.on .stamp-icon{border:1.5px solid var(--gold);background:var(--gold);color:var(--gold-ink)}.stamp-label{font:500 12px/1.3 var(--font-ui);color:var(--mute);word-break:keep-all}.stamp.on .stamp-label{color:var(--ink)}.advent-sub{margin-top:4px}.advent-hint{font-weight:400;color:var(--mute);font-size:13px}.ornaments{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.orn{appearance:none;aspect-ratio:1;min-width:0;cursor:pointer;border-radius:12px;border:1px solid var(--line);background:#ffffff0a;font-size:22px;line-height:1;display:grid;place-items:center;color:var(--ink)}.orn:disabled{cursor:default;opacity:.5}.orn-no{font:500 11px/1 var(--font-ui);color:var(--mute)}.orn[aria-pressed=true]{border-color:var(--gold);background:#e8b75a1f}.orn:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.sheet{position:fixed;left:0;right:0;bottom:var(--kb, 0px);z-index:20;display:flex;justify-content:center;padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px));padding-bottom:calc(max(env(safe-area-inset-bottom,0px),var(--wt-safe-bottom, 0px)) + 12px)}.sheet-card{width:100%;max-width:520px;background:var(--panel-solid);border:1px solid var(--line);border-radius:20px;padding:20px;display:grid;gap:16px;box-shadow:0 -8px 32px #00000073;animation:rise .32s var(--ease);max-height:calc(var(--vvh, 100dvh) - max(env(safe-area-inset-top,0px),var(--wt-safe-top, 0px)) - 24px);overflow-y:auto;overscroll-behavior:contain;box-sizing:border-box}html.kb .sheet{padding-bottom:8px}html.kb .sheet-card{gap:10px;padding:14px 16px}html.kb .paper-sheet>.lbl,html.kb .paper-sheet>.chips,html.kb .paper-sheet>.target-line,html.kb .fw-sheet .chips,html.kb .fw-sheet .wish-meta,html.kb .fw-buy{display:none}html.kb .paper{aspect-ratio:auto;width:min(100%,320px);padding:34px 18px 30px;transform:none}html.kb .paper:before{top:16px;height:8px}html.kb .paper-hole{top:4px;width:8px;height:8px;margin-left:-4px}html.kb .paper-input{height:120px}html.kb .fw-preview{min-height:0;font-size:22px}@keyframes rise{0%{transform:translateY(12px);opacity:0}to{transform:none;opacity:1}}.wish-text{font-family:var(--font-display);font-size:22px;line-height:1.5;text-wrap:balance;margin:0}.wish-meta{font-size:12px;color:var(--mute);margin:0}.row{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.lbl{margin:0;font:500 16px/1.4 var(--font-ui);color:var(--ink)}textarea{width:100%;box-sizing:border-box;resize:none;font:400 18px/1.5 var(--font-display);color:var(--ink);background:#ffffff0a;border:1px solid var(--line);border-radius:12px;padding:12px 16px}.counter{font-size:12px;color:var(--mute);text-align:right;font-variant-numeric:tabular-nums}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{appearance:none;cursor:pointer;font:400 13px/1 var(--font-ui);color:var(--ink);background:var(--raised);border:1px solid var(--line);border-radius:999px;padding:8px 12px}.toast{position:fixed;z-index:30;left:50%;transform:translate(-50%);top:calc(max(env(safe-area-inset-top,0px),var(--wt-safe-top, 0px)) + 96px);background:var(--panel-solid);color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:10px 16px;font-size:13px;max-width:calc(100% - 32px)}.loading{position:fixed;inset:0;display:grid;place-items:center;font-family:var(--font-display);font-size:18px;color:var(--gold);background:var(--night);z-index:40}.fallback{padding:24px;max-width:34em;line-height:1.6}.side{display:grid;gap:4px;justify-items:end;pointer-events:auto;flex:none}.presence{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink);background:var(--chip-bg);border:1px solid var(--line);border-radius:999px;padding:6px 12px;white-space:nowrap;font-variant-numeric:tabular-nums}.presence .dot{width:8px;height:8px;border-radius:50%;background:var(--live)}.sim{font-size:10px;color:var(--mute)}.invite{appearance:none;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:4px;font:600 12px/1 var(--font-ui);color:var(--gold-ink);background:var(--gold);border-radius:999px;padding:7px 12px;box-shadow:0 2px 10px #0000004d;white-space:nowrap}.invite:active{transform:scale(.97)}.invite:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.mine-pill{appearance:none;cursor:pointer;pointer-events:auto;display:inline-flex;align-items:center;gap:6px;font:500 12px/1 var(--font-ui);color:var(--ink);background:var(--chip-bg);border:1px solid var(--line);border-radius:999px;padding:8px 12px}.mine-pill:disabled{opacity:.45;cursor:not-allowed}.mine-pill:active{transform:scale(.97)}.mine-pill:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.mine-count{color:var(--gold);font:500 12px/1 var(--font-ui);font-variant-numeric:tabular-nums}.mine-list{list-style:none;margin:0;padding:0;display:grid;gap:8px;max-height:46vh;overflow-y:auto}.mine-item{appearance:none;cursor:pointer;width:100%;text-align:left;display:grid;gap:4px;padding:12px 16px;border-radius:12px;border:1px solid var(--line);background:var(--raised);color:var(--ink)}.mine-item:active{background:var(--raised-2)}.mine-item:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.mine-where{font:500 12px/1.2 var(--font-ui);color:var(--gold)}.mine-text{font:22px/1.25 var(--font-hand);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.linkbtn{appearance:none;border:0;background:none;cursor:pointer;color:var(--gold);font:500 12px/1.2 var(--font-ui);padding:4px 2px;text-decoration:underline;text-underline-offset:3px}.linkbtn:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.fw-line{font-size:12px;color:var(--mute);margin-top:2px}.fw-line b{color:var(--ink);font-weight:500}.emotes{width:100%;max-width:560px;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.emotes::-webkit-scrollbar{display:none}.emotes .chip{flex:none;background:var(--panel)}.chip.me{border-color:var(--gold);color:var(--gold)}.char-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}@media (max-width: 440px){.char-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.char-opt{appearance:none;cursor:pointer;min-width:0;display:grid;gap:2px;justify-items:center;text-align:center;padding:8px 8px 12px;border-radius:12px;border:1px solid var(--line);background:var(--raised);color:var(--ink)}.char-opt img{width:100%;max-width:120px;aspect-ratio:1;object-fit:contain}.char-opt .nm{font:400 16px/1.3 var(--font-display)}.char-opt .ds{font-size:11px;color:var(--mute);line-height:1.35}.char-opt[aria-pressed=true]{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset}.char-opt:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.inst{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.inst .chip{background:var(--panel)}.inst .chip[aria-pressed=true]{background:var(--gold);color:var(--gold-ink);border-color:var(--gold)}.paper-sheet{justify-items:center}.paper-sheet>.row,.paper-sheet>.chips,.paper-sheet>.counter,.paper-sheet>.wish-meta,.paper-sheet>.lbl{justify-self:stretch}.paper{position:relative;box-sizing:border-box;width:min(100%,250px);aspect-ratio:.7;padding:72px 22px 40px;border-radius:14px;background:linear-gradient(var(--paper-line) 1px,transparent 1px) 0 39px / 100% 40px repeat-y content-box content-box,var(--paper);box-shadow:0 14px 34px #00000073;transform:rotate(-1.5deg)}.paper.mine{background:linear-gradient(var(--paper-line) 1px,transparent 1px) 0 39px / 100% 40px repeat-y content-box content-box,var(--paper-gold)}.paper:before{content:"";position:absolute;left:0;right:0;top:34px;height:12px;background:var(--berry)}.paper-hole{position:absolute;top:12px;left:50%;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:var(--night)}.paper-text,.paper-input{font-family:var(--font-hand);font-size:30px;line-height:40px;color:var(--pen);margin:0;word-break:keep-all;overflow-wrap:anywhere}.paper-input{display:block;width:100%;height:160px;padding:0;border:0;border-radius:0;background:transparent;resize:none}.paper-input::placeholder{color:var(--pen-soft)}.paper-input:focus-visible{outline:2px dashed var(--pen-soft);outline-offset:4px}.paper-sign{position:absolute;right:22px;bottom:12px;font-family:var(--font-hand);font-size:22px;color:var(--pen-soft)}.target-line{font-size:12px;color:var(--mute);margin:0}@media (prefers-reduced-motion: reduce){.sheet-card{animation:none}.paper{transform:none}}@media (max-width: 380px){.tab{padding:8px 12px;font-size:13px}.btn{padding:0 16px}}.dev-panel{position:fixed;z-index:15;left:12px;bottom:calc(max(env(safe-area-inset-bottom,0px),var(--wt-safe-bottom, 0px)) + 12px);display:grid;gap:8px;width:min(320px,calc(100% - 24px));padding:12px;border-radius:14px;background:var(--panel);border:1px solid var(--line);font-size:12px;color:var(--mute)}.dev-panel strong{color:var(--ink);font-weight:600}.dev-panel .row{justify-content:flex-start}.dev-panel input[type=range]{width:100%;accent-color:var(--gold)}.dev-panel select{font:inherit;color:var(--ink);background:var(--panel-solid);border:1px solid var(--line);border-radius:8px;padding:4px 6px}.dev-panel .chip[aria-pressed=true]{background:var(--gold);color:var(--gold-ink);border-color:var(--gold)}.form-error{margin:0;justify-self:stretch;text-align:center;font-size:13px;color:#ffb4b4;line-height:1.45}.terms-list{margin:0;padding-left:1.2em;display:grid;gap:8px;font-size:14px;line-height:1.55;color:var(--ink)}.terms-list li::marker{color:var(--gold)}.paper-text[aria-busy=true]{color:var(--pen-soft)}[hidden]{display:none!important}.music{display:flex;align-items:center;gap:4px;box-sizing:border-box;max-width:min(34vw,240px);font-size:12px;color:var(--ink);background:var(--chip-bg);border:1px solid var(--line);border-radius:999px;padding:2px 4px 2px 10px}.music-note{color:var(--mute)}.music-note.on{color:var(--gold)}.music-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.music-text{display:inline-block}@media (prefers-reduced-motion: no-preference){.music-title.scroll{text-overflow:clip}.music-title.scroll .music-text{animation:music-marquee var(--music-dur, 6s) ease-in-out infinite alternate}}@keyframes music-marquee{0%,15%{transform:translate(0)}85%,to{transform:translate(var(--music-shift, 0))}}.music-style{color:var(--mute)}.music-btn{appearance:none;flex:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:0;border-radius:999px;background:transparent;color:var(--ink)}.music-btn:focus-visible{outline:2px solid var(--ink);outline-offset:1px}@media (max-width: 440px){.music{padding-left:8px;gap:2px}.music-style{display:none}.music-btn{width:28px;height:28px}}.terms-privacy{font-size:12px;color:var(--mute);margin:0;line-height:1.6}.terms-privacy .linkbtn{padding:0;font-size:12px}a.linkbtn{display:inline-block}.hud-bottom.collapsed{padding-top:16px;background:linear-gradient(to top,#05081273,#05081200)}.hud-bottom>*{touch-action:pan-x}.hud-more{display:grid;gap:12px;justify-items:center;width:100%;pointer-events:auto}@media (prefers-reduced-motion: no-preference){.hud-more{animation:hud-more-in .32s var(--ease)}}@keyframes hud-more-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.actions-spacer{flex:1}.controls-toggle{padding:0 16px;flex:none}.controls-chev{color:var(--mute)}.side-more{display:grid;gap:4px;justify-items:end}.float-card{position:fixed;z-index:12;left:50%;transform:translate(-50%);top:calc(max(env(safe-area-inset-top,0px),var(--wt-safe-top, 0px)) + 4vh);display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;gap:10px;width:min(230px,64vw);animation:float-in .55s cubic-bezier(.34,1.25,.64,1) both}.float-card.leaving{animation:float-out .45s ease-in both}.float-card-btn{appearance:none;border:0;padding:0;background:none;cursor:pointer;width:100%;display:grid;justify-items:center}.float-card-btn:focus-visible{outline:2px solid var(--ink);outline-offset:4px;border-radius:14px}.float-card .paper{width:100%;box-shadow:0 0 40px #f0c4638c,0 14px 34px #00000080}.float-card .paper-text{text-align:center;white-space:normal}.float-card-btn,.float-card .paper{min-width:0;max-width:100%}.float-cap{margin:0;padding:6px 12px;border-radius:999px;font-size:12px;color:var(--ink);background:#0a0f1eb8;text-align:center}@media (prefers-reduced-motion: no-preference){.float-card-btn{animation:float-bob 3s ease-in-out .55s infinite}}@keyframes float-in{0%{opacity:0;transform:translate(-50%) translateY(40px) scale(.6)}to{opacity:1;transform:translate(-50%)}}@keyframes float-out{to{opacity:0;transform:translate(-50%) translateY(-24px) scale(.92)}}@keyframes float-bob{50%{transform:translateY(-8px)}}@media (prefers-reduced-motion: reduce){.float-card,.float-card.leaving{animation-duration:.01s}}.fw-photo{position:fixed;z-index:14;right:max(12px,env(safe-area-inset-right,0px));bottom:calc(max(env(safe-area-inset-bottom,0px),var(--wt-safe-bottom, 0px)) + 64px);width:144px;display:grid;gap:8px;padding:8px;border-radius:16px;background:var(--panel-solid);border:1px solid var(--line);box-shadow:0 8px 24px #00000073;animation:rise .32s var(--ease)}.fw-photo img{width:100%;max-height:150px;object-fit:cover;object-position:50% 30%;border-radius:8px;display:block}.fw-photo-cap{margin:0;font-size:11px;color:var(--mute);text-align:center}.fw-photo .row{justify-content:stretch;flex-wrap:nowrap;gap:6px}.fw-photo .btn{flex:1;padding:0 8px;font-size:12px}.music{max-width:min(42vw,170px);padding:2px 2px 2px 4px;pointer-events:auto}.music-open{appearance:none;border:0;background:none;cursor:pointer;min-width:0;flex:1;display:flex;align-items:center;gap:6px;padding:4px 2px 4px 6px;color:var(--ink);font:500 12px/1.2 var(--font-ui)}.music-open .music-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.music-open:focus-visible{outline:2px solid var(--ink);outline-offset:1px;border-radius:999px}.track-list{display:grid;gap:10px;max-height:44vh;overflow-y:auto;overscroll-behavior:contain}.track-group ol{list-style:none;margin:0;padding:0;display:grid;gap:4px}.track-cat{margin:0 0 8px 4px;font:500 12px/1.2 var(--font-ui);color:var(--mute)}.track-text{display:grid;gap:2px;min-width:0}.track-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track-mood{font:400 11px/1.3 var(--font-ui);color:var(--mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track{appearance:none;cursor:pointer;width:100%;text-align:left;display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 12px;border-radius:12px;border:1px solid transparent;background:#ffffff0a;color:var(--ink);font:500 14px/1.3 var(--font-ui)}.track.cur{border-color:var(--line);background:var(--raised-2);color:var(--gold)}.track:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.track-no{display:grid;place-items:center;color:var(--mute);font-variant-numeric:tabular-nums}.track.cur .track-no{color:var(--gold)}.track-dur{font-size:12px;color:var(--mute);font-variant-numeric:tabular-nums}.seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;border-radius:999px;background:#ffffff0d;border:1px solid var(--line)}.seg-btn{appearance:none;cursor:pointer;border:0;border-radius:999px;padding:8px 4px;display:inline-flex;align-items:center;justify-content:center;gap:4px;background:transparent;color:var(--mute);font:500 13px/1 var(--font-ui);white-space:nowrap}.seg-btn[aria-checked=true]{background:var(--gold);color:var(--gold-ink)}.seg-btn:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.music-ctl{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:8px}.music-ctl .btn{padding:0 8px}.update-banner{position:fixed;z-index:35;left:50%;transform:translate(-50%);top:calc(max(env(safe-area-inset-top,0px),var(--wt-safe-top, 0px)) + 10px);display:flex;align-items:center;gap:8px;padding:4px 4px 4px 16px;border-radius:999px;background:var(--panel-solid);border:1px solid var(--line);color:var(--ink);font-size:13px;box-shadow:0 8px 24px #00000073;white-space:nowrap;animation:rise .3s ease-out}.update-go{appearance:none;cursor:pointer;border:0;border-radius:999px;padding:8px 12px;background:var(--gold);color:var(--gold-ink);font:500 12px/1 var(--font-ui)}.update-x{appearance:none;cursor:pointer;border:0;background:none;color:var(--mute);width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:999px}.update-go:focus-visible,.update-x:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.fw-queue{color:var(--gold)}.fw-ask{display:grid;gap:12px;padding:12px 16px;border-radius:12px;border:1px solid var(--gold);background:#e8b75a1a}.fw-ask p{margin:0;font-size:14px;line-height:1.55;color:var(--ink)}.fw-ask b{color:var(--gold)}.event-pill{appearance:none;cursor:pointer;pointer-events:auto;display:inline-flex;align-items:center;gap:6px;font:500 12px/1 var(--font-ui);color:var(--gold);background:var(--chip-bg);border:1px solid var(--line);border-radius:999px;padding:6px 12px 6px 8px}.event-pill:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.ev-sec{display:grid;gap:8px;padding:16px;border-radius:12px;background:#ffffff0a;border:1px solid var(--line)}.ev-sec h3{margin:0;font:500 15px/1.3 var(--font-ui);color:var(--ink)}.ev-desc{margin:0;font-size:12px;color:var(--mute);line-height:1.5}.ev-wait{margin:0;font-size:12px;color:var(--gold)}.ev-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ev-grid .tile:disabled{opacity:.45;cursor:not-allowed}.ev-go{width:100%}.menu-me{width:100%;max-width:560px;box-sizing:border-box;display:flex;align-items:center;gap:8px;padding:8px 8px 8px 16px;border-radius:16px;background:var(--panel);border:1px solid var(--line)}.menu-me-label{font-size:12px;color:var(--mute);flex:none}.menu-me-nick{flex:1;min-width:0;color:var(--gold);font-size:15px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-me-btn,.social-pill .btn,.fw-photo .btn{min-height:32px;padding:0 12px}.menu-me-btn{flex:none;font-size:12px}.fb-input{width:100%;box-sizing:border-box;resize:vertical;min-height:110px;font:400 15px/1.5 var(--font-ui);color:var(--ink);background:var(--raised);border:1px solid var(--line);border-radius:12px;padding:12px 16px}.fb-input:focus-visible{outline:2px solid var(--gold);outline-offset:1px}.emotes .chip.greet{border-color:var(--gold);color:var(--gold)}.social-pill{position:fixed;z-index:15;left:50%;transform:translate(-50%);bottom:calc(max(env(safe-area-inset-bottom,0px),var(--wt-safe-bottom, 0px)) + 120px);width:min(420px,calc(100% - 32px));box-sizing:border-box;display:flex;align-items:center;gap:8px;padding:8px 8px 8px 16px;border-radius:999px;background:var(--panel-solid);border:1px solid var(--line);box-shadow:0 8px 24px #00000073;animation:social-in .3s var(--ease)}.social-pill.greeted{border-color:var(--gold)}.social-text{flex:1;min-width:0;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.social-text b{color:var(--gold);font-weight:600}.social-pill .btn{flex:none;font-size:13px}.social-x{flex:none;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--mute);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.social-x:focus-visible{outline:2px solid var(--ink);outline-offset:1px}@keyframes social-in{0%{opacity:.4;transform:translate(-50%) translateY(16px)}to{opacity:1;transform:translate(-50%)}}
