.welcome-eyebrow{font-size:var(--fs-caption);letter-spacing:.16em;text-transform:uppercase;color:#d8e2ec9e}.tour-actions{gap:10px;display:flex}.welcome-primary,.welcome-ghost{min-height:52px;font:inherit;font-family:var(--font-ui);cursor:pointer;border-radius:26px;flex:1 1 0;font-size:16px}.welcome-primary{color:#fff7ea;background:linear-gradient(#c8262c,#9a1218);border:1px solid #ffd2968c;font-weight:600;box-shadow:0 6px 20px #b3141c6b,inset 0 1px #ffffff40}.welcome-ghost{color:#fbf1dc;background:#1f5a3f8c;border:1px solid #aae6be59;font-weight:600;box-shadow:inset 0 1px #dcffe61f}.welcome-ghost:hover{background:#2c7a54b8;border-color:#bef0cd8c}.welcome-primary:focus-visible,.welcome-ghost:focus-visible{outline-offset:3px;outline:2px solid #ffe2b0}.welcome-primary:active,.welcome-ghost:active{transform:scale(.97)}.tour{z-index:55;color:#ecf1f8f2;background:#04070c80;animation:.4s ease-out both welcome-fade;position:fixed;inset:0}@keyframes welcome-fade{0%{opacity:0}to{opacity:1}}.tour-card{left:50%;bottom:calc(24px + env(safe-area-inset-bottom));box-sizing:border-box;-webkit-backdrop-filter:blur(18px);color:#fbf1dc;width:min(100vw - 32px,400px);font-family:var(--font-ui);background:linear-gradient(#18284af0,#0c162cf2);border:1px solid #f2c7796b;border-radius:24px;padding:18px 18px 14px;position:absolute;transform:translate(-50%);box-shadow:0 12px 40px #02040c80,inset 0 1px #ffe0aa1f}.tour-star{color:#f2c779;text-shadow:0 0 10px #ffcd78cc;font-size:14px;line-height:1;position:absolute;top:12px;right:16px}.tour-card h2{font-family:var(--font-festive);color:#fbf1dc;text-shadow:0 0 18px #ffba6066;margin:8px 0 6px;font-size:28px;font-weight:700;line-height:1.1}.tour-card p{font-family:var(--font-ui);color:#fbf1dcd6;margin:0 0 16px;font-size:15px;line-height:1.45}.tour-dots{gap:6px;display:flex}.tour-dots span{background:#fbf1dc47;border-radius:3px;width:6px;height:6px;transition:all .25s}.tour-dots span.on{background:#f2c779;width:20px}.tour-art{pointer-events:none;position:absolute;inset:0 0 260px}.tour-stick{background:#d8e2ec1a;border:1.5px solid #d8e2ec8c;border-radius:50%;width:104px;height:104px;position:absolute;bottom:14%;left:18%}.tour-stick i{background:#f4f8fcb3;border-radius:50%;width:44px;height:44px;margin:-22px 0 0 -22px;animation:2.4s ease-in-out infinite tour-stick;position:absolute;top:50%;left:50%}@keyframes tour-stick{0%,to{transform:translate(0)}35%{transform:translateY(-28px)}70%{transform:translate(24px,-10px)}}.tour-swipe{background:#f4f8fc8c;border-radius:50%;width:54px;height:54px;animation:2.6s ease-in-out infinite tour-swipe;position:absolute;top:40%;right:22%;box-shadow:0 0 0 10px #f4f8fc24}@keyframes tour-swipe{0%,to{transform:translate(40px)}50%{transform:translate(-70px,-14px)}}.tour-icons{gap:22px;display:flex;position:absolute;top:38%;left:50%;transform:translate(-50%)}.tour-icons span{background:#080c1480;border:1px solid #d8e2ec66;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;animation:2s ease-in-out infinite tour-pulse;display:flex}.tour-icons span:nth-child(2){animation-delay:.5s}.tour-icons svg{width:32px;height:32px}@keyframes tour-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@media (prefers-reduced-motion:reduce){.tour-stick i,.tour-swipe,.tour-icons span{animation:none}}.daily-row{flex-wrap:wrap;align-items:stretch;gap:10px;margin:0 0 12px;display:flex}.daily-card{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:#d8e2ec12;border:1px solid #d8e2ec2e;border-radius:14px;flex:auto;align-items:center;gap:12px;padding:8px;display:flex}.daily-card .library-meta{flex-direction:column;gap:2px;min-width:0;display:flex}.daily-surprise{border-radius:var(--radius-md);min-width:84px;color:inherit;font:inherit;font-size:var(--fs-body);cursor:pointer;min-height:var(--tap-min);padding:0 var(--space-4);background:0 0;border:1px solid #d8e2ec2e;flex:100%}.daily-streak{min-height:var(--tap-min);color:inherit;font:inherit;font-size:var(--fs-body);cursor:pointer;background:0 0;border:1px dashed #d8e2ec47;border-radius:12px;flex:100%}.ritual-sheet-note{left:50%;bottom:calc(150px + env(safe-area-inset-bottom));z-index:40;box-sizing:border-box;-webkit-backdrop-filter:blur(16px);color:#ecf1f8f2;background:#090d16db;border:1px solid #e8d6a04d;border-radius:20px;width:min(100vw - 32px,360px);padding:14px 16px;font-size:14px;line-height:1.45;animation:.5s ease-out both ritual-rise;position:fixed;transform:translate(-50%)}.ritual-actions{gap:8px;margin-top:10px;display:flex}.ritual-btn{min-height:48px;color:inherit;font:inherit;cursor:pointer;background:#d8e2ec14;border:1px solid #d8e2ec38;border-radius:24px;flex:1;font-size:14px}.ritual-btn.primary{background:#e8d6a033;border-color:#e8d6a080}.knowing{align-items:center;gap:16px;margin:4px 0 8px;display:flex}.knowing-ring{flex:none;width:92px;height:92px}.knowing-ring svg{width:100%;height:100%;display:block}.knowing-list{color:#d8e2ecb3;gap:4px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.knowing-list li.on{color:#ecf1f8f2}.knowing-list li:before{content:"◇ ";color:#d8e2ec66}.knowing-list li.on:before{content:"◆ ";color:#e8d6a0}.coll-grid{gap:8px;display:grid}.coll{background:#d8e2ec0d;border:1px solid #d8e2ec1a;border-radius:14px;padding:12px 14px}.coll.complete{border-color:#e8d6a066}.coll-head{justify-content:space-between;gap:8px;font-size:14px;display:flex}.coll-head small{color:#d8e2ec99}.coll-dots{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.coll-dots i{border:1px solid #d8e2ec59;border-radius:50%;width:12px;height:12px}.coll-dots i.have{background:#e8d6a0;border-color:#e8d6a0}.frame-row{-webkit-overflow-scrolling:touch;gap:10px;padding:4px 0 8px;display:flex;overflow-x:auto}.frame-chip{box-sizing:border-box;color:#ecf1f8eb;min-width:96px;min-height:64px;font:inherit;cursor:pointer;background:0 0;border-style:solid;border-width:3px;border-radius:10px;flex:none;align-items:flex-end;padding:8px;font-size:12px;display:flex}.frame-chip.chosen{box-shadow:0 0 0 2px #e8d6a0cc}.frame-note{color:#d8e2ec99;margin:0;font-size:12px}.lit-owners{color:#e8d6a0e6}body.photo-mode :is([class^=hud-],.build-bar,.place-bar,.moon-prompt,.reticle,.epigraph,.menu-layer){display:none!important}body.photo-mode .touch-zone{opacity:.85}.photo-ui{z-index:60;pointer-events:none;color:#ecf1f8f0;font-family:Avenir Next,Segoe UI,system-ui,-apple-system,sans-serif;position:fixed;inset:0}.photo-ui button{font:inherit;color:inherit;cursor:pointer;pointer-events:auto}.photo-bar-h,.photo-bar-v{background:#020408d1;transition:all .3s;position:absolute}.photo-bar-h{left:0;right:0}.photo-bar-v{top:0;bottom:0}.photo-flash{opacity:0;pointer-events:none;background:#fff;position:absolute;inset:0}.photo-flash.on{animation:.32s ease-out photo-flash}@keyframes photo-flash{0%{opacity:.85}to{opacity:0}}.photo-dock{padding:0 12px calc(14px + env(safe-area-inset-bottom));flex-direction:column;align-items:center;gap:10px;display:flex;position:absolute;bottom:0;left:0;right:0}.photo-sheet{pointer-events:auto;box-sizing:border-box;-webkit-backdrop-filter:blur(18px)saturate(1.3);background:#090d16b8;border:1px solid #d8e2ec24;border-radius:24px;width:100%;max-width:460px;padding:8px 18px 16px;animation:.28s cubic-bezier(.2,.8,.2,1) both photo-rise;box-shadow:0 10px 40px #00000059}@keyframes photo-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.photo-grip{background:#d8e2ec40;border-radius:2px;width:36px;height:4px;margin:0 auto 10px}.photo-row-head{letter-spacing:.14em;text-transform:uppercase;color:#d8e2ec99;justify-content:space-between;align-items:baseline;margin:10px 2px 8px;font-size:11px;display:flex}.photo-val{letter-spacing:.04em;text-transform:none;color:#f4f8fcf2;font-size:14px}.photo-slider{appearance:none;pointer-events:auto;touch-action:pan-x;background:0 0;width:100%;height:44px;margin:0;display:block}.photo-slider::-webkit-slider-runnable-track{background:linear-gradient(90deg,#f6b98a 0%,#8ec5ff 25%,#ff9a5c 50%,#1f2a52 75%,#f6b98a 100%);border-radius:5px;height:10px}.photo-slider::-moz-range-track{background:linear-gradient(90deg,#f6b98a 0%,#8ec5ff 25%,#ff9a5c 50%,#1f2a52 75%,#f6b98a 100%);border-radius:5px;height:10px}.photo-slider::-webkit-slider-thumb{-webkit-appearance:none;background:#f4f7fb;border:3px solid #090d168c;border-radius:50%;width:30px;height:30px;margin-top:-10px;box-shadow:0 2px 10px #0006}.photo-slider::-moz-range-thumb{background:#f4f7fb;border:3px solid #090d168c;border-radius:50%;width:24px;height:24px}.photo-chips,.photo-seg{scrollbar-width:none;touch-action:pan-x;gap:8px;padding:2px 0;display:flex;overflow-x:auto}.photo-chips::-webkit-scrollbar{display:none}.photo-chip{background:#d8e2ec12;border:1px solid #d8e2ec33;border-radius:22px;flex:none;min-height:44px;padding:0 16px;font-size:14px}.photo-seg .photo-chip{flex:1 1 0;padding:0 8px}.photo-chip.on{color:#0b1018;background:#f4f8fceb;border-color:#0000;font-weight:600}.photo-controls{box-sizing:border-box;justify-content:space-between;align-items:center;width:100%;max-width:460px;padding:0 14px;display:flex}.photo-side{-webkit-backdrop-filter:blur(10px);background:#080c1480;border:1px solid #d8e2ec38;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;padding:0;font-size:28px;line-height:1;display:flex}.photo-side svg{width:22px;height:22px}.photo-side.on{color:#0b1018;background:#f4f8fce6}.photo-shutter{background:0 0;border:3px solid #ffffffeb;border-radius:50%;justify-content:center;align-items:center;width:76px;height:76px;padding:0;transition:transform .1s;display:flex}.photo-shutter span{background:#fffffff2;border-radius:50%;width:58px;height:58px;transition:transform .1s}.photo-shutter:active span{transform:scale(.88)}.photo-shutter:disabled{opacity:.5}.photo-error{left:50%;top:calc(18px + env(safe-area-inset-top));text-align:center;background:#3c0e0ed1;border:1px solid #ff8c8c59;border-radius:14px;max-width:86%;margin:0;padding:10px 16px;font-size:14px;position:absolute;transform:translate(-50%)}.photo-error--inline{margin-bottom:12px;position:static;transform:none}.photo-preview{pointer-events:auto;z-index:2;padding:calc(20px + env(safe-area-inset-top)) 20px calc(20px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(10px);background:#04070ce0;flex-direction:column;justify-content:center;align-items:center;gap:18px;animation:.25s ease-out both photo-fade;display:flex;position:absolute;inset:0}@keyframes photo-fade{0%{opacity:0}to{opacity:1}}.photo-preview img{object-fit:contain;border-radius:10px;max-width:100%;max-height:66%;box-shadow:0 12px 50px #0000008c}.photo-actions{flex-wrap:wrap;justify-content:center;gap:10px;width:100%;max-width:420px;display:flex}.photo-primary,.photo-ghost{border-radius:25px;min-height:50px;padding:0 24px;font-size:16px}.photo-primary{background:#f4f8fcf2;border:none;flex:100%;font-weight:600;color:#0b1018!important}.photo-ghost{background:#d8e2ec14;border:1px solid #d8e2ec47;flex:1 1 0}.photo-live{background:#d8e2ec14;border:1px solid #d8e2ec40;border-radius:16px;min-height:32px;margin-left:10px;padding:0 12px;font-size:12px}.photo-chips{justify-content:space-between}.photo-chips .photo-chip{flex:1 1 0;padding:0 8px}.photo-chips{gap:6px}.photo-chips .photo-chip{min-width:0;padding:0 2px;font-size:13px}.shop-scrim{z-index:60;-webkit-backdrop-filter:blur(4px);background:#04070c8c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.shop-sheet{touch-action:pan-y;-webkit-overflow-scrolling:touch;width:min(100vw,460px);max-height:88vh;padding:0 20px calc(20px + env(safe-area-inset-bottom,0px));color:#e8eef6eb;background:#0c1018f7;border:1px solid #d8e2ec29;border-bottom:none;border-radius:20px 20px 0 0;overflow-y:auto}.shop-sheet header{background:#0c1018fc;border-bottom:1px solid #d8e2ec1a;justify-content:space-between;align-items:center;margin:0 -20px 12px;padding:16px 20px 12px;display:flex;position:sticky;top:0}.shop-sheet h2{letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:15px;font-weight:400}.shop-lede,.shop-note{color:#e8eef69e;margin:0 0 12px;font-size:12px;line-height:1.55}.shop-list{gap:8px;margin:0 0 14px;padding:0;list-style:none;display:grid}.shop-item{background:#d8e2ec0a;border:1px solid #d8e2ec24;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.shop-item h3{margin:0 0 2px;font-size:14px;font-weight:500}.shop-item p{opacity:.65;margin:0;font-size:11px;line-height:1.45}.shop-btn{min-height:44px;color:inherit;cursor:pointer;background:#7dc8ff24;border:1px solid #96d2ff8c;border-radius:12px;flex:none;padding:0 16px;font-size:13px}.shop-btn:disabled{opacity:.45;cursor:default}.shop-btn.quiet{background:0 0;border-color:#d8e2ec33}.shop-owned{letter-spacing:.08em;color:#a0e6bee6;flex:none;font-size:12px}.shop-check{align-items:flex-start;gap:10px;margin:12px 0;font-size:12px;line-height:1.5;display:flex}.shop-check input{flex:none;width:22px;height:22px;margin:0}.shop-code{letter-spacing:.12em;text-align:center;-webkit-user-select:all;user-select:all;border:1px dashed #96d2ff8c;border-radius:12px;margin:8px 0 12px;padding:14px;font:600 22px/1.2 ui-monospace,SF Mono,Menlo,monospace}.shop-input{box-sizing:border-box;width:100%;min-height:44px;color:inherit;letter-spacing:.12em;text-transform:uppercase;background:#d8e2ec0f;border:1px solid #d8e2ec40;border-radius:12px;padding:0 12px;font:600 18px ui-monospace,SF Mono,Menlo,monospace}.shop-status{margin:10px 0;font-size:12px;line-height:1.5}.shop-status.error{color:#ffaaa0f2}.shop-row{gap:8px;margin-top:10px;display:flex}.shop-foot{flex-wrap:wrap;gap:4px 14px;margin-top:14px;font-size:11px;display:flex}.shop-foot a{color:#b4d7f5d9}.settings-legal{flex-wrap:wrap;gap:4px 14px;margin:4px 0 0;font-size:12px;display:flex}.settings-legal a{color:#b4d7f5d9}.auth-scrim{z-index:62;-webkit-backdrop-filter:blur(4px);background:#04070c8c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.auth-sheet{width:min(100vw,460px);max-height:calc(92vh - var(--kb-inset,0px));margin-bottom:var(--kb-inset,0px);touch-action:pan-y;-webkit-overflow-scrolling:touch;padding:0 20px calc(12px + env(safe-area-inset-bottom,0px));color:#e8eef6eb;box-sizing:border-box;background:#0c1018f7;border:1px solid #d8e2ec29;border-bottom:none;border-radius:20px 20px 0 0;overflow-y:auto}.auth-sheet header{z-index:2;background:#0c1018fc;border-bottom:1px solid #d8e2ec1a;justify-content:space-between;align-items:center;margin:0 -20px 12px;padding:16px 20px 12px;display:flex;position:sticky;top:0}.auth-sheet h2{letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:15px;font-weight:400}.auth-sheet .settings-x{width:44px;height:44px;margin:-6px -8px -6px 0}.auth-body,.auth-form{gap:12px;display:grid}.auth-seg{gap:6px;display:flex}.auth-seg button{color:#e8eef6b3;min-height:44px;font:inherit;cursor:pointer;background:#d8e2ec0a;border:1px solid #d8e2ec24;border-radius:12px;flex:1;font-size:14px}.auth-seg button.on{color:#e8eef6f2;background:#7dc8ff24;border-color:#96d2ff8c}.auth-lede,.auth-hint,.auth-note{color:#e8eef6ad;margin:0;font-size:13px;line-height:1.5}.auth-hint{color:#e8eef68c;font-size:12px}.auth-user{color:#e8eef6f2;overflow-wrap:anywhere;font-weight:500}.auth-field{gap:6px;display:grid}.auth-field>span{letter-spacing:.06em;color:#e8eef69e;font-size:12px}.auth-field input{box-sizing:border-box;width:100%;min-height:48px;color:inherit;font:inherit;background:#d8e2ec0f;border:1px solid #d8e2ec38;border-radius:12px;padding:0 14px;font-size:16px}.auth-field input:focus-visible{outline-offset:1px;outline:2px solid #96d2ffcc}.auth-pw{display:block;position:relative}.auth-pw input{padding-right:52px}.auth-eye{color:#e8eef6b3;cursor:pointer;background:0 0;border:0;border-radius:12px;place-items:center;width:48px;height:48px;padding:0;display:grid;position:absolute;top:0;right:0}.auth-eye[aria-pressed=true]{color:#96d2fff2}.auth-error{color:#ffd6d6f7;background:#ff6e6e1f;border:1px solid #ff8c8c73;border-radius:10px;margin:0;padding:10px 12px;font-size:13px;line-height:1.45}.auth-primary,.auth-secondary{min-height:48px;font:inherit;color:inherit;cursor:pointer;border-radius:12px;padding:0 18px;font-size:15px}.auth-primary{background:#7dc8ff33;border:1px solid #96d2ff8c}.auth-secondary{background:0 0;border:1px solid #d8e2ec33}.auth-primary:disabled,.auth-secondary:disabled{opacity:.5;cursor:default}.auth-skip{width:100%;min-height:48px;font:inherit;color:#d8e2ecb3;text-underline-offset:3px;cursor:pointer;background:0 0;border:none;margin-top:8px;font-size:14px;text-decoration:underline;display:block}.auth-prompt{left:50%;top:calc(72px + env(safe-area-inset-top,0px));z-index:44;box-sizing:border-box;-webkit-backdrop-filter:blur(14px);color:#e8eef6eb;background:#090d16cc;border:1px solid #d8e2ec29;border-radius:18px;width:min(100vw - 32px,380px);padding:14px 16px;animation:.4s ease-out both fade-opacity;position:fixed;transform:translate(-50%)}.auth-prompt p{margin:0 0 10px;font-size:14px}.auth-prompt div{gap:8px;display:flex}.auth-prompt button{flex:1;padding:0 10px;font-size:14px}.wide-option+.settings-legal{margin-top:14px}.menu-layer{z-index:48;position:fixed;inset:0}.menu-scrim{background:#04070c80;animation:.2s ease-out both menu-fade;position:absolute;inset:0}.menu-layer.closing .menu-scrim{opacity:0;transition:opacity .18s ease-in;animation:none}.menu-sheet{width:min(100%,520px);max-height:min(70vh,640px);box-sizing:border-box;border-radius:var(--radius-lg) var(--radius-lg) 0 0;border:1px solid var(--glass-border);max-height:min(70dvh,640px);-webkit-backdrop-filter:var(--glass-blur);color:var(--text-hi);font-family:var(--font-ui);background:#0a0e1af2;border-bottom:0;flex-direction:column;transition:translate .18s ease-in;animation:.28s cubic-bezier(.2,.8,.2,1) both menu-rise;display:flex;position:absolute;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -12px 40px #0006}.menu-layer.closing .menu-sheet{translate:0 100%}@keyframes menu-fade{0%{opacity:0}}@keyframes menu-rise{0%{transform:translate(-50%,100%)}}.menu-head{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--gutter) var(--space-2);touch-action:none;cursor:grab;flex:none;display:flex;position:relative}.menu-grip{background:#e2eaf64d;border-radius:2px;width:40px;height:4px;margin-left:-20px;position:absolute;top:6px;left:50%}.menu-title{flex-direction:column;gap:2px;min-width:0;display:flex}.menu-world{font-size:var(--fs-title);letter-spacing:.1em;text-overflow:ellipsis;white-space:nowrap;font-weight:300;overflow:hidden}.menu-presence{font-size:var(--fs-caption);color:var(--text-mid);align-items:center;gap:6px;display:inline-flex}.menu-presence svg{width:14px;height:14px}.menu-x{width:var(--tap-min);height:var(--tap-min);border:1px solid var(--glass-border);color:var(--text-mid);cursor:pointer;background:0 0;border-radius:50%;flex:none;justify-content:center;align-items:center;margin-right:-8px;padding:0;display:flex}.menu-x svg{width:18px;height:18px}.menu-x:active{background:#d8e2ec33}.menu-body{overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;min-height:0;padding:var(--space-2) var(--gutter) calc(var(--space-4) + env(safe-area-inset-bottom));flex:auto;overflow-y:auto}.menu-tiles{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.menu-tile{align-items:center;gap:var(--space-3);min-height:64px;padding:var(--space-2) var(--space-3);box-sizing:border-box;border-radius:var(--radius-md);border:1px solid var(--glass-border);color:inherit;font:inherit;text-align:left;cursor:pointer;background:#d8e2ec17;min-width:0;display:flex;position:relative}.menu-tile:active{background:#d8e2ec38}.menu-tile-ico{flex:none;display:flex}.menu-tile-ico svg{width:26px;height:26px}.menu-tile-text{flex-direction:column;gap:1px;min-width:0;display:flex}.menu-tile-label{font-size:var(--fs-label);letter-spacing:.02em;font-weight:600}.menu-tile-sub{font-size:var(--fs-caption);color:var(--text-lo);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.menu-kbd{display:none}@media (hover:hover) and (pointer:fine){.menu-kbd{border:1px solid var(--glass-border);font:inherit;color:var(--text-lo);border-radius:5px;padding:0 6px;font-size:11px;line-height:18px;display:inline-block;position:absolute;top:6px;right:8px}}.menu-groups{margin-top:var(--space-3);border-top:1px solid #e2eaf61f;flex-direction:column;display:flex}.menu-group{border-bottom:1px solid #e2eaf61f}.menu-group-head,.menu-row{align-items:center;gap:var(--space-3);width:100%;min-height:52px;padding:var(--space-2) var(--space-1);box-sizing:border-box;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.menu-group-head:active,.menu-row:active{background:#d8e2ec24}.menu-row:disabled{opacity:.55;cursor:default}.menu-row--static{cursor:default}.menu-group-head .menu-row-label{font-size:var(--fs-body);letter-spacing:.04em;flex:1;font-weight:600}.menu-chev{color:var(--text-lo);transition:transform .2s;display:flex}.menu-chev svg{width:18px;height:18px}.menu-group.open .menu-chev{transform:rotate(90deg)}.menu-row-ico{width:24px;color:var(--text-mid);flex:none;display:flex}.menu-row-ico svg{width:22px;height:22px}.menu-rows{padding:0 0 var(--space-2) var(--space-5);border-left:1px solid #e2eaf61f;margin-left:11px}.menu-row-text{flex-direction:column;gap:1px;min-width:0;display:flex}.menu-row-label{font-size:var(--fs-body)}.menu-row-sub{font-size:var(--fs-caption);color:var(--text-lo);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.menu-row[aria-pressed=true] .menu-row-ico{color:#f9e3a8}.menu-account .quality-option{width:100%;min-height:52px;margin:0}.menu-legal{padding:var(--space-2) 0 0}.menu-legal .settings-legal{gap:0 var(--space-3)}.menu-legal .settings-legal a{font-size:var(--fs-small);color:var(--text-mid)}.menu-version{font-size:var(--fs-caption);color:var(--text-lo);margin:0}@media (prefers-reduced-motion:reduce){.menu-sheet,.menu-scrim{animation:none}.menu-layer.closing .menu-sheet{transition:none}}body.menu-open .hud-orb,body.menu-open .hud-slot,body.menu-open .hud-left,body.menu-open .hud-camera,body.menu-open .hud-claim,body.menu-open .hud-title{opacity:0;pointer-events:none;transition:opacity .15s}body.menu-open .touch-zone,body.menu-open .joy-base{pointer-events:none}.menu-account .menu-note{opacity:.7;margin:4px 12px 8px;font-size:12.5px;line-height:1.4}.hud-fade{transition:opacity .15s ease-out}.hud-btn.hud-fade{transition:opacity .15s ease-out,background .2s,transform .1s}body.hud-idle .hud-fade,body.hud-idle .hud-btn.hud-fade{opacity:.4;transition:opacity .4s}.hud-title{top:calc(12px + env(safe-area-inset-top));padding:0 calc(var(--gutter) + 56px);text-align:center;pointer-events:none;z-index:30;opacity:0;transition:opacity .9s;position:fixed;left:0;right:0}.hud-title.shown{opacity:1;transition:opacity .5s}.hud-title .hud-title-btn{pointer-events:auto;max-width:100%;min-height:var(--tap-min);padding:0 var(--space-3);font:inherit;letter-spacing:.2em;text-indent:.2em;color:var(--text-hi);text-shadow:0 1px 2px #0009,0 0 14px #0000008c;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;font-size:17px;font-weight:300;overflow:hidden}.hud-claim{top:calc(60px + env(safe-area-inset-top));max-width:calc(100vw - 2 * var(--gutter));z-index:30;align-items:center;gap:var(--space-2);width:max-content;min-height:40px;padding:0 var(--space-4);border-radius:var(--radius-pill);background:var(--glass-bg-strong);-webkit-backdrop-filter:var(--glass-blur);color:#f9e3a8;font:inherit;font-size:var(--fs-small);letter-spacing:.06em;cursor:pointer;border:1px solid #f4d27a8c;animation:.5s ease-out both hud-claim-in;display:inline-flex;position:fixed;left:50%;transform:translate(-50%)}.hud-claim:before{content:"";position:absolute;inset:-4px 0}.hud-claim:active{background:#f4d27a38}.hud-claim .flag-ico{display:inline-flex}.hud-claim .flag-ico svg{width:15px;height:15px}@keyframes hud-claim-in{0%{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%)}}.hud-orb{right:calc(var(--gutter) + env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom));z-index:30;background:var(--glass-bg);width:56px;height:56px;-webkit-backdrop-filter:var(--glass-blur);color:var(--text-hi);cursor:pointer;border:1px solid #e2eaf657;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:opacity .15s ease-out,background .2s,transform .1s;display:flex;position:fixed;box-shadow:0 4px 18px #00000047}.hud-orb svg{width:26px;height:26px}.hud-orb:active{transform:scale(.92)}.hud-orb.active{background:#d8e2ec47}.hud-camera{top:calc(12px + env(safe-area-inset-top));right:calc(var(--gutter) + env(safe-area-inset-right));z-index:30;position:fixed}.hud-camera[hidden]{display:none}.hud-camera .hud-btn{width:var(--tap-min);height:var(--tap-min)}.hud-slot{right:calc(var(--gutter) - 4px + env(safe-area-inset-right));bottom:calc(88px + env(safe-area-inset-bottom));z-index:30;background:var(--glass-bg);width:64px;height:64px;-webkit-backdrop-filter:var(--glass-blur);color:var(--text-hi);font:inherit;letter-spacing:.08em;cursor:pointer;border:1px solid #e2eaf657;border-radius:50%;padding:0;font-size:11px;font-weight:600;transition:opacity .15s ease-out,background .2s,transform .1s;animation:.14s ease-out hud-slot-pop;position:fixed;box-shadow:0 4px 18px #00000047}.hud-slot:active{background:#d8e2ec47;transform:scale(.92)}@keyframes hud-slot-pop{0%{opacity:.4;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.hud-slot--dive{color:#d2eefcf2;background:#0a263c9e;border-color:#78c8f080}.hud-slot--talk{width:72px;height:72px;right:calc(var(--gutter) - 8px + env(safe-area-inset-right));color:#ffe0b4f5;background:radial-gradient(circle at 50% 35%,#463218db,#140e08b3);border-color:#ffc47899;animation:.34s cubic-bezier(.2,1.5,.4,1) talk-pop;box-shadow:0 0 22px #ffb4604d}.hud-slot--talk:after{content:"";pointer-events:none;border:1px solid #ffc47866;border-radius:50%;animation:2.4s ease-out infinite talk-ring;position:absolute;inset:-5px}@media (prefers-reduced-motion:reduce){.hud-slot,.hud-claim,.hud-slot--talk:after{animation:none}}.hud-left .chat-toggle{width:var(--tap-min);height:var(--tap-min)}.chat-presence{box-sizing:border-box;background:var(--glass-bg-strong);border:1px solid var(--glass-border);min-width:18px;height:18px;color:var(--text-hi);border-radius:9px;align-items:center;gap:3px;padding:0 5px;font-size:11px;font-weight:600;line-height:1;display:inline-flex;position:absolute;bottom:-4px;right:-6px}.chat-presence .link-dot{width:6px;height:6px}.gate{z-index:58;box-sizing:border-box;padding:calc(env(safe-area-inset-top) + clamp(20px, 6vh, 56px)) max(var(--gutter), env(safe-area-inset-right)) calc(env(safe-area-inset-bottom) + var(--space-2)) max(var(--gutter), env(safe-area-inset-left));color:#f4f7fcf7;font-family:var(--font-ui);touch-action:pan-y;-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:space-between;transition:opacity 1.2s cubic-bezier(.5,0,.7,.4);display:flex;position:fixed;inset:0;overflow:hidden auto}.gate--calm{transition-duration:.4s}.gate--leaving{opacity:0;pointer-events:none}.gate-brand,.gate-lower{transition:opacity .2s}.gate--sheet .gate-brand,.gate--sheet .gate-lower{opacity:0;animation:none}.gate-sky{z-index:-2;opacity:1;background:radial-gradient(120% 70% at 50% 108%,#f2a65e 0%,#c8605cc7 24%,#3e347480 54%,#0000 78%),linear-gradient(#0a1030 0%,#1a2150 46%,#3a2a5c 100%);transition:opacity 1.6s;position:fixed;inset:0}.gate--ready .gate-sky{opacity:0}.gate-shade{z-index:-1;background:linear-gradient(#0408128c 0%,#0408122e 20%,#04081200 34%),linear-gradient(#04081200 46%,#04081247 60%,#040812b3 76%,#040812d6 100%);position:fixed;inset:0}.gate-brand{text-align:center;animation:1s cubic-bezier(.2,.8,.2,1) both gate-in}.gate-brand h1{flex-direction:column;align-items:center;margin:0;font-weight:300;line-height:1;display:flex}.gate-a{align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);font-size:var(--fs-caption);letter-spacing:.4em;text-indent:.4em;color:#ffe2b8eb;font-weight:500;display:flex}.gate-a i{background:linear-gradient(90deg,#0000,#ffe2b8d9);width:clamp(20px,7vw,36px);height:1px}.gate-a i:last-child{transform:scaleX(-1)}.gate-words{white-space:nowrap;font-size:var(--fs-display);justify-content:center;gap:.7em;display:flex}.gate-word{letter-spacing:.24em;background:linear-gradient(#fff 30%,#ffe3bd 100%);color:#0000;filter:drop-shadow(0 2px 14px #080c1e8c);-webkit-background-clip:text;background-clip:text;margin-right:-.24em;font-weight:300;display:block}.gate-tagline{margin:var(--space-3) auto 0;text-wrap:balance;max-width:32ch;font-family:var(--font-serif);font-style:italic;font-size:var(--fs-label);letter-spacing:.01em;color:#f0f4fceb;text-shadow:0 1px 12px #040812bf;line-height:1.35}.gate-lower{width:min(100%,360px);margin:var(--space-4) auto 0;gap:var(--space-3);flex-direction:column;animation:1s cubic-bezier(.2,.8,.2,1) .15s both gate-in;display:flex}@keyframes gate-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.gate-eyebrow{font-size:var(--fs-caption);letter-spacing:.12em;text-transform:uppercase;color:var(--text-mid)}.gate-world{font-size:var(--fs-title);letter-spacing:.01em;color:#fff;font-weight:600}.gate-chip{text-align:center;max-width:100%;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);flex-direction:column;align-self:center;align-items:center;display:flex}.gate-chip-text{flex-direction:column;align-items:center;gap:2px;min-width:0;max-width:100%;display:flex}.gate-chip .gate-eyebrow{letter-spacing:.1em;white-space:nowrap;flex:none;font-size:11px}.gate-world--chip{font-size:var(--fs-body);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.gate-invite{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);text-align:center;background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.gate-invite .gate-world{margin-top:var(--space-1);font-size:var(--fs-title)}.gate-meta{font-size:var(--fs-small);color:var(--text-mid);margin-top:2px}.gate-actions{gap:var(--space-2);flex-direction:column;display:flex}.gate-row{gap:var(--space-2);display:flex}.gate-btn{min-width:0;min-height:var(--tap-primary);padding:0 var(--space-3);border-radius:var(--radius-pill);font:inherit;font-size:var(--fs-body);letter-spacing:.01em;cursor:pointer;white-space:nowrap;flex:1 1 0;transition:transform .12s,background .2s}.gate-btn:active{transform:scale(.97)}.gate-btn--primary{font-size:var(--fs-label);color:#121826;background:linear-gradient(#fff,#ffe9cc);border:none;font-weight:650;box-shadow:0 6px 20px #ffc88c3d,inset 0 1px #ffffffb3}.gate-btn--ghost{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--text-hi);background:#0e142480;border:1px solid #e2eaf64d;font-weight:500}.gate-surprise{min-height:var(--tap-min);padding:0 var(--space-4);color:var(--text-mid);font:inherit;font-size:var(--fs-body);text-underline-offset:4px;cursor:pointer;background:0 0;border:none;align-self:center;-webkit-text-decoration:underline #e2eaf666;text-decoration:underline #e2eaf666}.gate-surprise:active{color:#fff}.gate:focus{outline:none}.gate :focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.gate-foot{justify-content:center;align-items:center;column-gap:var(--space-4);font-size:var(--fs-caption);color:var(--text-lo);flex-wrap:wrap;display:flex}.gate-foot a,.gate-lang{min-height:var(--tap-min);align-items:center;display:inline-flex}.gate-foot a{color:inherit;text-underline-offset:3px;-webkit-text-decoration:underline #d6e0ee59;text-decoration:underline #d6e0ee59}.gate--invite .gate-tagline{display:none}@media (max-height:700px){.gate{padding-top:calc(env(safe-area-inset-top) + var(--space-4))}.gate-lower{gap:var(--space-2);margin-top:var(--space-3)}.gate-tagline{margin-top:var(--space-2)}}@media (max-height:520px){.gate-a{display:none}}@media (prefers-reduced-motion:reduce){.gate,.gate-sky{transition-duration:.4s}.gate-brand,.gate-lower{animation:none}.gate-btn{transition:none}}.gate{--xg-gold:#f2c779;--xg-cream:#fbf1dc;--xg-red:#b3141c;--xg-night:#0d1830}.gate .gate-sky{background:radial-gradient(120% 70% at 50% 108%,#ffaa5a8c,#0000 60%),radial-gradient(90% 60% at 50% -10%,#20365f,#0000 70%),linear-gradient(#0b1428,#1c2d52 55%,#3a3550)}.xgate-brand{text-align:center;justify-items:center;gap:10px;display:grid}.xgate-star{color:var(--xg-gold);text-shadow:0 0 18px #ffcd78e6,0 0 42px #ffaa5099;font-size:34px;animation:3.2s ease-in-out infinite xg-twinkle}.xgate-title{font-family:var(--font-festive);white-space:nowrap;letter-spacing:.01em;color:var(--xg-cream);text-shadow:0 0 26px #ffba6080,0 0 60px #ff964647,0 2px 2px #0006;margin:0;font-size:clamp(1.8rem,9vw,5.4rem);font-weight:700;line-height:1.04}.xgate-tagline{color:#fbf1dcdb;max-width:34ch}.gate.gate--invite .xgate-tagline{display:block}.gate .xgate-season{background:#78101c8c;border:1px solid #ffd6a059;box-shadow:0 4px 18px #5a0a1459,inset 0 1px #ffe6be26}.xgate-season .gate-eyebrow{color:var(--xg-gold)}.xgate-season .gate-world--chip{color:var(--xg-cream)}.gate .gate-btn--primary{color:#fff7ea;background:linear-gradient(#c8262c,#9a1218);border-color:#ffd2968c;font-weight:600;box-shadow:0 6px 22px #b3141c73,inset 0 1px #ffffff40}.gate .gate-btn--ghost{color:var(--xg-cream);background:#1f5a3f8c;border:1px solid #aae6be59;font-weight:600;line-height:1.2;box-shadow:inset 0 1px #dcffe61f}.gate .xgate-btn--secondary{white-space:normal;padding:8px var(--space-3)}.gate .gate-btn--ghost:hover{background:#2c7a54b8;border-color:#bef0cd8c}.gate .gate-btn:focus-visible{outline-offset:3px;outline:2px solid #ffe2b0}.xgate-loading{color:#fbf1dccc;justify-content:center;align-items:center;gap:12px;min-height:28px;font-size:.86rem;display:flex}.xgate-lights{align-items:flex-start;gap:12px;padding:0 6px;display:flex;position:relative}.xgate-lights:before{content:"";background:#fbf1dc66;height:1px;position:absolute;top:2px;left:0;right:0}.xgate-bulb{background:radial-gradient(circle at 35% 30%, #fff 0, var(--bulb) 45%, #00000059 110%);opacity:.35;width:9px;height:12px;animation:1.6s ease-in-out infinite xg-bulb;animation-delay:calc(var(--i) * .32s);border-radius:50% 50% 46% 46%/60% 60% 40% 40%;margin-top:4px;display:block;position:relative}.xgate-bulb:before{content:"";background:#fbf1dc8c;border-radius:1px;width:5px;height:3px;margin-left:-2.5px;position:absolute;top:-3px;left:50%}.xgate-loading--done .xgate-bulb{opacity:1;box-shadow:0 0 8px 1px var(--bulb);animation:none}.xgate-snow{pointer-events:none;position:absolute;inset:0;overflow:hidden}.xgate-snow i{background:#ffffffe6;border-radius:50%;animation:linear infinite xg-fall;position:absolute;top:-10px;box-shadow:0 0 6px #fff9}@keyframes xg-fall{to{transform:translate3d(var(--drift,0px), 105vh, 0)}}@keyframes xg-bulb{0%,to{opacity:.35;box-shadow:none}12%{opacity:1;box-shadow:0 0 9px 2px var(--bulb)}30%{opacity:.5;box-shadow:none}}@keyframes xg-twinkle{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.12)}}@media (prefers-reduced-motion:reduce){.xgate-snow i,.xgate-star{animation:none}.xgate-bulb{opacity:1;box-shadow:0 0 8px 1px var(--bulb);animation:none}}.xgate-note{text-align:center;color:#fbf1dce0;text-shadow:0 1px 8px #00000080;margin:0;font-size:.95rem}.install-nudge{left:50%;bottom:calc(16px + env(safe-area-inset-bottom));box-sizing:border-box;z-index:45;-webkit-backdrop-filter:blur(18px)saturate(1.3);color:#ecf1f8f2;background:#090d16eb;border:1px solid #d8e2ec2e;border-radius:24px;width:min(100vw - 32px,420px);padding:16px 16px 12px;font-family:Avenir Next,Segoe UI,system-ui,-apple-system,sans-serif;animation:.6s cubic-bezier(.2,.8,.2,1) both install-rise;position:fixed;transform:translate(-50%);box-shadow:0 14px 50px #00000073}@keyframes install-rise{0%{opacity:0;transform:translate(-50%,24px)}to{opacity:1;transform:translate(-50%)}}.install-title{letter-spacing:.01em;margin:0 0 4px;font-size:17px;font-weight:600}.install-sub{color:#d8e2ecbd;margin:0 0 12px;font-size:14px;line-height:1.4}.install-steps{grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 12px;padding:0;list-style:none;display:grid}.install-step{text-align:center;color:#d8e2ecd9;flex-direction:column;align-items:center;gap:6px;font-size:12px;line-height:1.25;display:flex}.install-step svg{background:#ffffff0d;border-radius:12px;width:100%;max-width:108px;height:auto}.install-step b{color:#fffffff2;font-weight:600;display:block}.install-pulse{transform-box:fill-box;transform-origin:50%;animation:1.6s ease-in-out infinite install-pulse}@keyframes install-pulse{0%,to{opacity:.9;transform:scale(1)}50%{opacity:.25;transform:scale(1.35)}}.install-arrow{color:#aad7fff2;margin:-4px auto 6px;animation:1.4s ease-in-out infinite install-bob;display:block}@keyframes install-bob{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}.install-actions{justify-content:flex-end;gap:8px;display:flex}.install-actions button{font:inherit;min-height:44px;color:inherit;cursor:pointer;background:0 0;border:1px solid #d8e2ec38;border-radius:999px;padding:0 18px;font-size:15px}.install-actions .install-primary{color:#07101c;background:#96cdfff2;border-color:#0000;font-weight:600}@media (prefers-reduced-motion:reduce){.install-nudge,.install-pulse,.install-arrow{animation:none}}.elfc{z-index:60;padding:16px;padding-top:max(16px, env(safe-area-inset-top,0px));padding-bottom:max(16px, env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-family:var(--font-ui);color:#fbf1dc;background:radial-gradient(120% 90% at 50% 100%,#ffa0502e,#0000 60%),#060c1a9e;place-items:center;display:grid;position:fixed;inset:0}.elfc:focus{outline:none}.elfc-card{background:linear-gradient(160deg,#13234a,#0d1830 60%,#1a1630);border:1px solid #f2c77973;border-radius:22px;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);width:min(920px,100%);height:min(660px,100%);display:grid;overflow:hidden;box-shadow:0 24px 70px #00000080,inset 0 1px #ffffff0f}.elfc-stage{background:radial-gradient(70% 60% at 50% 70%,#ffbe6e47,#0000 70%),radial-gradient(90% 70% at 50% 0,#22406f,#0000 70%);min-height:340px;position:relative}.elfc-dice{cursor:pointer;background:#1f5a3f99;border:1px solid #aae6be66;border-radius:50%;width:46px;height:46px;font-size:22px;position:absolute;bottom:14px;right:14px}.elfc-panel{align-content:start;gap:14px;min-width:0;padding:22px 22px 18px;display:grid;overflow-y:auto}.elfc-title{font-family:var(--font-festive,Georgia, serif);color:#f2c779;text-shadow:0 0 18px #ffbe6459;margin:0;font-size:2.3rem;line-height:1}.elfc-name{color:#fbf1dcbf;gap:6px;font-size:.85rem;display:grid}.elfc-name input{font:inherit;color:#fbf1dc;background:#ffffff12;border:1px solid #f2c77959;border-radius:12px;padding:10px 12px;font-size:16px}.elfc-name input:focus-visible,.elfc-swatch:focus-visible,.elfc-chip:focus-visible,.elfc-btn:focus-visible,.elfc-dice:focus-visible{outline-offset:2px;outline:2px solid #f2c779}.elfc-group{gap:8px;display:grid}.elfc-label{letter-spacing:.08em;text-transform:uppercase;color:#fbf1dc9e;font-size:.78rem}.elfc-swatches,.elfc-chips,.elfc-toggles{flex-wrap:wrap;gap:8px;display:flex}.elfc-swatch{cursor:pointer;border:2px solid #ffffff2e;border-radius:50%;width:34px;height:34px;transition:transform .12s;box-shadow:inset 0 -3px 6px #00000040}.elfc-swatch.is-on{border-color:#f2c779;transform:scale(1.12);box-shadow:0 0 0 3px #f2c7794d,inset 0 -3px 6px #00000040}.elfc-chip{font:inherit;color:#fbf1dc;cursor:pointer;background:#1f5a3f66;border:1px solid #aae6be59;border-radius:999px;padding:7px 13px;font-size:.9rem}.elfc-chip.is-on{background:linear-gradient(#c8262c,#9a1218);border-color:#ffd29699}.elfc-actions{justify-content:flex-end;gap:10px;padding-top:6px;display:flex}.elfc-btn{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:14px;padding:11px 20px;font-size:1rem;font-weight:600}.elfc-btn--primary{color:#fff7ea;background:linear-gradient(#c8262c,#9a1218);border-color:#ffd2968c;box-shadow:0 6px 20px #b3141c66}.elfc-btn--ghost{color:#fbf1dc;background:#1f5a3f73;border-color:#aae6be59}@media (max-width:720px){.elfc{place-items:end stretch;padding:0}.elfc-card{border-radius:22px 22px 0 0;grid-template-rows:38vh minmax(0,1fr);grid-template-columns:minmax(0,1fr);height:100%}.elfc-stage{min-height:0}}.elfc-stage{touch-action:none;cursor:grab}.elfc-tabs{background:#ffffff0f;border-radius:14px;gap:6px;padding:4px;display:flex}.elfc-tab{font:inherit;color:#fbf1dcbf;cursor:pointer;background:0 0;border:0;border-radius:10px;flex:1;padding:9px 6px;font-size:.95rem;font-weight:600}.elfc-tab.is-on{color:#fff7ea;background:linear-gradient(#c8262c,#9a1218)}.elfc-tab:focus-visible{outline-offset:2px;outline:2px solid #f2c779}.elfc-tabpanel{align-content:start;gap:14px;min-height:210px;display:grid}.xradio{font-family:var(--font-ui);color:#fbf1dc;background:linear-gradient(160deg,#13234aeb,#0d1830eb);border:1px solid #f2c77973;border-radius:16px;align-items:center;gap:10px;padding:8px 10px 8px 12px;display:flex;box-shadow:0 10px 30px #0006}.xradio-ico{font-size:22px}.xradio-ico.is-on{animation:1.2s ease-in-out infinite xr-bob}.xradio-text{min-width:0;line-height:1.15;display:grid}.xradio-text b{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.xradio-text span{color:#fbf1dcb3;font-size:.8rem}.xradio-btn,.xradio-x{font:inherit;color:#fbf1dc;cursor:pointer;background:#1f5a3f8c;border:1px solid #aae6be59;border-radius:999px;width:36px;height:36px}.xradio-spotify{color:#08130c;white-space:nowrap;background:#1ed760;border-radius:999px;padding:8px 12px;font-size:.85rem;font-weight:600;text-decoration:none}.xradio-btn:focus-visible,.xradio-x:focus-visible,.xradio-spotify:focus-visible{outline-offset:2px;outline:2px solid #f2c779}@keyframes xr-bob{0%,to{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}@media (prefers-reduced-motion:reduce){.xradio-ico.is-on{animation:none}}.xmusic{left:calc(env(safe-area-inset-left,0px) + 14px);top:calc(env(safe-area-inset-top,0px) + 14px);z-index:70;color:#fbf1dc;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;background:#0d18309e;border:1px solid #f2c77973;border-radius:50%;width:42px;height:42px;font-size:20px;line-height:1;position:fixed}.xmusic.is-on{color:#f2c779;box-shadow:0 0 14px #f2c77959}.xmusic:focus-visible{outline-offset:2px;outline:2px solid #f2c779}.xmusic.is-waiting{color:#f2c779;animation:2.4s ease-in-out infinite xmusic-wait}@keyframes xmusic-wait{0%,to{box-shadow:0 0 #f2c77900}50%{box-shadow:0 0 16px #f2c7798c}}@media (prefers-reduced-motion:reduce){.xmusic.is-waiting{animation:none}}.xstars{left:calc(env(safe-area-inset-left,0px) + 64px);top:calc(env(safe-area-inset-top,0px) + 18px);z-index:70;font-family:var(--font-ui);font-variant-numeric:tabular-nums;color:#f2c779;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0d18309e;border:1px solid #f2c77973;border-radius:999px;padding:6px 12px;font-weight:600;position:fixed}.xstall{box-sizing:border-box;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 112px);z-index:45;width:min(420px,100vw - 32px);font-family:var(--font-ui);color:#fbf1dc;background:linear-gradient(160deg,#4a1614f0,#280e0ef0);border:1px solid #f2c77980;border-radius:18px;gap:10px;padding:14px 16px;display:grid;position:fixed;transform:translate(-50%);box-shadow:0 14px 34px #00000073}.xstall-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.xstall-head b{color:#f2c779;font-family:Mountains of Christmas,Georgia,serif;font-size:1.5rem}.xstall-stars{font-variant-numeric:tabular-nums;color:#f2c779;font-weight:600}.xstall-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.xstall-item{justify-content:space-between;align-items:center;gap:12px;display:flex}.xstall-name{min-width:0;line-height:1.3}.xstall-item.is-soon .xstall-name{color:#fbf1dcb8}.xstall-buy,.xstall-put{font:inherit;white-space:nowrap;cursor:pointer;color:#fbf1dc;background:linear-gradient(#2f7a52,#1f5a3c);border:1px solid #aae6be66;border-radius:999px;padding:8px 14px;font-weight:600}.xstall-buy:disabled{cursor:default;opacity:.7}.xstall-put{background:#ffffff0f;border-color:#f2c77959;justify-self:start;font-weight:500}.xstall-soon{color:#f2c779;white-space:nowrap;border:1px dashed #f2c77973;border-radius:999px;padding:4px 10px;font-size:.8rem}.xstall-say{color:#fbf1dcd9;margin:0;font-style:italic}.xstall button:focus-visible{outline-offset:2px;outline:2px solid #f2c779}.xhouse{box-sizing:border-box;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 112px);z-index:45;width:min(380px,100vw - 32px);font-family:var(--font-ui);color:#fbf1dc;background:linear-gradient(160deg,#163428f0,#0c1e18f0);border:1px solid #f2c77980;border-radius:18px;gap:8px;padding:14px 16px;display:grid;position:fixed;transform:translate(-50%);box-shadow:0 14px 34px #00000073}.xhouse-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.xhouse-head b{color:#f2c779;font-family:Mountains of Christmas,Georgia,serif;font-size:1.4rem}.xhouse-gold{color:#f2c779;font-size:1.2rem}.xhouse-text{margin:0;line-height:1.35}.xhouse-soft{color:#fbf1dcb8}.xhouse-move{font:inherit;cursor:pointer;color:#3a2410;background:linear-gradient(#f6d886,#d9a93d);border:1px solid #ffeebe99;border-radius:999px;justify-self:start;padding:9px 18px;font-weight:600}.xhouse-say{color:#fbf1dce6;margin:0;font-style:italic}.snow-btn{right:calc(var(--gutter) - 4px + env(safe-area-inset-right));bottom:calc(164px + env(safe-area-inset-bottom));z-index:30;width:64px;height:64px;-webkit-backdrop-filter:var(--glass-blur);color:var(--text-hi);font:inherit;letter-spacing:.02em;cursor:pointer;touch-action:manipulation;background:radial-gradient(circle at 50% 30%,#3c5070c7,#0e182cb3);border:1px solid #e2eaf66b;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:0;font-size:7.5px;font-weight:600;transition:transform .1s,background .2s;display:flex;position:fixed;box-shadow:0 4px 18px #00000047}.snow-btn:active{background:#d8e2ec47;transform:scale(.92)}.snow-btn-ball{background:radial-gradient(circle at 35% 30%,#fff,#dfe9f6 55%,#aebfd6);border-radius:50%;width:20px;height:20px;box-shadow:inset -2px -3px 5px #50648c73,0 0 8px #c8dcff59}.xround{box-sizing:border-box;width:min(360px,100%);font-family:var(--font-ui);color:#fbf1dc;background:linear-gradient(160deg,#4a1614f0,#280e0ef0);border:1px solid #f2c77980;border-radius:18px;gap:8px;padding:12px 14px;display:grid;box-shadow:0 14px 34px #00000073}.xround-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.xround--invite{gap:4px;padding:8px 10px 8px 14px}.xround--invite .xround-head{align-items:center}.xround--invite .xround-head b{white-space:nowrap;font-size:1.2rem}.xround-head b{color:#f2c779;font-family:Mountains of Christmas,Georgia,serif;font-size:1.35rem}.xround-head .xround-clock{font-family:var(--font-ui);font-variant-numeric:tabular-nums;font-size:1.25rem}.xround-team{border:1px solid #f2c77966;border-radius:999px;padding:3px 10px;font-weight:600}.xround-team.is-red{background:#be26228c}.xround-team.is-green{background:#22783e99}.xround-text,.xround-hint{margin:0;line-height:1.35}.xround-hint{color:#fbf1dcb8;font-size:.8rem;font-style:italic}.xround-reward{color:#f2c779;font-weight:600}.xround-score{justify-content:center;align-items:baseline;gap:14px;font-weight:600;display:flex}.xround-score b{font-variant-numeric:tabular-nums;color:#f4ecd8;font-size:1.7rem}.xround-score .is-red{color:#ff8b80}.xround-score .is-green{color:#82dc8e}.xround-foot{justify-content:space-between;align-items:center;gap:10px;font-size:.85rem;display:flex}.xround-go,.xround-quiet{font:inherit;white-space:nowrap;cursor:pointer;color:#fbf1dc;border-radius:999px;padding:8px 16px;font-weight:600}.xround-go{background:linear-gradient(#2f7a52,#1f5a3c);border:1px solid #aae6be66}.xround-quiet{background:#ffffff0f;border:1px solid #f2c77959;font-weight:500}.xround button:focus-visible{outline-offset:2px;outline:2px solid #f2c779}.xferris-text{color:#fbf1dce6;margin:0;line-height:1.4}.xferris-go{justify-self:stretch;padding:11px 18px;font-size:1.05rem}.xferris-bar{background:#ffffff1f;border:1px solid #f2c7794d;border-radius:999px;height:8px;overflow:hidden}.xferris-bar i{background:linear-gradient(90deg,#f2c779,#ffb347);height:100%;transition:width .3s linear;display:block}.xgift{box-sizing:border-box;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 112px);z-index:46;width:min(440px,100vw - 32px);max-height:min(58vh,520px);font-family:var(--font-ui);color:#fbf1dc;background:linear-gradient(160deg,#4a1614f2,#280e0ef2);border:1px solid #f2c77980;border-radius:18px;gap:10px;padding:14px 16px;display:grid;position:fixed;overflow-y:auto;transform:translate(-50%);box-shadow:0 14px 34px #00000073}.xgift-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.xgift-head b{color:#f2c779;font-family:Mountains of Christmas,Georgia,serif;font-size:1.5rem}.xgift-stars{font-variant-numeric:tabular-nums;color:#f2c779;font-weight:600}.xgift p{margin:0}.xgift-say{line-height:1.35}.xgift-dim{color:#fbf1dcb8;font-size:.85rem}.xgift-rank{flex-wrap:wrap;align-items:center;gap:8px;font-size:.92rem;display:flex}.xgift-badge{color:#3a1c08;background:linear-gradient(#f6d68a,#d9a131);border-radius:999px;padding:2px 10px;font-weight:600}.xgift-steps{text-align:center;grid-template-columns:repeat(4,1fr);gap:6px;margin:0;padding:0;font-size:.78rem;list-style:none;display:grid}.xgift-steps li{color:#fbf1dc99;background:#ffffff0d;border-radius:10px;gap:2px;padding:4px 2px;display:grid}.xgift-steps li span{color:#f2c779;letter-spacing:1px;font-weight:700}.xgift-steps li.is-now{color:#fbf1dc;background:#f2c7792e;outline:1px solid #f2c7798c}.xgift-steps li.is-done{color:#fbf1dcd9}.xgift-opts{flex-wrap:wrap;gap:8px;display:flex}.xgift-opt,.xgift-go,.xgift-quit{font:inherit;cursor:pointer;color:#fbf1dc;background:#ffffff12;border:1px solid #f2c77966;border-radius:999px;padding:9px 14px;font-weight:600}.xgift-opt.is-on{background:#f2c77940;border-color:#f2c779}.xgift-go{background:linear-gradient(#2f7a52,#1f5a3c);border-color:#aae6be73;justify-self:start}.xgift-go:disabled{cursor:default;opacity:.5}.xgift-quit{justify-self:start;padding:6px 12px;font-size:.85rem;font-weight:500}.xgift-swatch{cursor:pointer;border:2px solid #ffffff40;border-radius:50%;width:40px;height:40px;padding:0;overflow:hidden}.xgift-swatch.is-paper{background:0 0;border-radius:8px;line-height:0}.xgift-swatch canvas{width:100%;height:100%;display:block}.xgift-swatch.is-on{border-color:#f2c779;box-shadow:0 0 0 2px #f2c77973}.xgift-name{color:#fbf1dccc;gap:4px;font-size:.85rem;display:grid}.xgift-name input{font:inherit;color:#fbf1dc;background:#0000004d;border:1px solid #f2c77966;border-radius:10px;padding:8px 10px;font-size:1rem}.xgift-bar{cursor:pointer;touch-action:manipulation;background:#00000059;border:1px solid #f2c77966;border-radius:999px;height:34px;position:relative;overflow:hidden}.xgift-zone{opacity:.9;background:linear-gradient(#4fc27a,#2f8f55);position:absolute;top:0;bottom:0}.xgift-marker{background:#fff3d0;border-radius:3px;width:6px;margin-left:-3px;position:absolute;top:0;bottom:0;box-shadow:0 0 8px #ffe096e6}.xgift-thanks{color:#f2c779;font-family:Mountains of Christmas,Georgia,serif;font-size:1.25rem;line-height:1.25}.xgift-quality{letter-spacing:4px;color:#f2c779;font-size:1.6rem}.xgift-earned{color:#f2c779;font-weight:600}.xgift-row{align-items:center;gap:10px;display:flex}.xgift button:focus-visible,.xgift input:focus-visible{outline-offset:2px;outline:2px solid #f2c779}@media (min-width:900px){.xgift{bottom:110px;left:24px;transform:none}}@media (max-width:520px){.xgift{bottom:calc(env(safe-area-inset-bottom,0px) + 84px);gap:8px;max-height:48vh;padding:10px 12px}.xgift-head b{font-size:1.25rem}}.gate.xload{z-index:200;background:radial-gradient(130% 40% at 50% 70%,#ffaa5a33,#0000 60%),linear-gradient(#0b1a3a 0%,#1c3a6e 38%,#3a649a 62%,#aebfd6 66%,#8da6c6 100%);transition:opacity .45s}.gate.xload--leaving{opacity:0;pointer-events:none}.xnight{z-index:-2;position:fixed;inset:0;overflow:hidden}.xnight-layer{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity 1.4s;position:absolute;inset:0}.xnight-layer.is-painted{opacity:1}.xnight-aurora{mix-blend-mode:screen;transform-origin:50% 60%}.xnight-aurora.is-painted{animation:19s ease-in-out infinite alternate xnight-sway}.xnight-aurora--back.is-painted{animation:27s ease-in-out infinite alternate xnight-sway-back}@keyframes xnight-sway{0%{opacity:.78;transform:translate(-2.5%)skew(-3deg)scaleY(.96)}45%{opacity:1}to{opacity:.88;transform:translate(2.5%)skew(3deg)scaleY(1.05)}}@keyframes xnight-sway-back{0%{opacity:.6;transform:translate(3%)skew(2deg)scaleY(1.04)}to{opacity:.95;transform:translate(-3%)skew(-2deg)scaleY(.95)}}.xload-shade{background:linear-gradient(#0a162e00 58%,#0a162e9e 78%,#0a162ecc 100%)}.xload-lower{align-items:center;gap:var(--space-4);padding-bottom:calc(var(--space-5) + 2vh)}.xload-status{font-variant-numeric:tabular-nums;text-shadow:0 1px 8px #060e20d9,0 0 2px #060e2099}.xload-tree{min-height:0;padding:var(--space-2) 0 0;pointer-events:none;flex:1 1 0;justify-content:center;align-items:flex-end;display:flex}.xload-tree svg{width:auto;max-width:100%;height:100%;overflow:visible;transform:translateY(2.4vh)}.xtree-bulb{animation:xtree-twinkle var(--t,3.2s) ease-in-out infinite;animation-delay:var(--d,0s)}@keyframes xtree-twinkle{0%,to{opacity:1}50%{opacity:.55}}.xtree-starglow{animation:3.6s ease-in-out infinite xtree-star}@keyframes xtree-star{0%,to{opacity:1}50%{opacity:.6}}@media (max-height:520px){.xload-tree{display:none}}.xlights{width:min(100%,340px);height:38px;margin-bottom:var(--space-2);position:relative}.xlights-wire{width:100%;height:100%;position:absolute;top:0;left:0;overflow:visible}.xlights-wire path{fill:none;stroke:#1d2a20;stroke-width:1.6px;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px #fff0d21f)}.xlight{width:9px;height:14px;transform:rotate(var(--tilt));transform-origin:50% -3px;background:radial-gradient(circle at 36% 30%, #ffffff8c 0, #fff0 32%), radial-gradient(circle at 50% 60%, var(--bulb) 0, color-mix(in srgb, var(--bulb) 55%, #000) 100%);filter:saturate(.35)brightness(.42);border-radius:48% 48% 50% 50%/38% 38% 62% 62%;margin-top:3px;margin-left:-4.5px;transition:filter .6s,box-shadow .6s;position:absolute}.xlight:before{content:"";background:linear-gradient(90deg,#14301e,#2c5a3a 50%,#14301e);border-radius:1.5px 1.5px 1px 1px;width:6px;height:5px;margin-left:-3px;position:absolute;top:-4px;left:50%}.xlight.is-lit{filter:none;box-shadow:0 0 6px 1px color-mix(in srgb, var(--bulb) 80%, transparent), 0 0 18px 4px color-mix(in srgb, var(--bulb) 35%, transparent);animation:2.8s ease-in-out infinite xlight-glow;animation-delay:var(--d)}@keyframes xlight-glow{0%,to{opacity:1}50%{opacity:.82}}.xload-enter{min-width:220px;min-height:var(--tap-primary);border-radius:var(--radius-pill);font:600 1.12rem var(--font-ui);letter-spacing:.02em;color:#fbf1dc80;-webkit-backdrop-filter:blur(8px);cursor:default;background:#0e14248c;border:1px solid #ffd69638;padding:14px 40px;transition:color .6s,background .6s,border-color .6s,box-shadow .6s,transform .15s}.xload-enter:not(:disabled){color:#fff;cursor:pointer;background:linear-gradient(#d0353a,#a3161c);border-color:#ffd6968c;animation:2.4s ease-in-out infinite xload-ready;box-shadow:0 8px 26px #c8282866,inset 0 1px #ffffff40}.xload-enter:not(:disabled):active{transform:scale(.97)}.xload-enter:focus-visible{outline-offset:3px;outline:2px solid #e9c46a}@keyframes xload-ready{0%,to{box-shadow:0 8px 26px #c8282866,0 0 #ffbe6e00}50%{box-shadow:0 8px 34px #dc3c3299,0 0 26px #ffbe6e59}}.xload-hint{font-size:var(--fs-caption);color:#ecf0fad1;text-shadow:0 1px 6px #060e20d9;margin:0}@media (prefers-reduced-motion:reduce){.xnight-aurora.is-painted,.xnight-aurora--back.is-painted,.xlight.is-lit,.xtree-bulb,.xtree-starglow,.xload-enter:not(:disabled){animation:none}.gate.xload{transition:none}}.world-veil{z-index:40;padding:env(safe-area-inset-top,0px) max(var(--gutter), env(safe-area-inset-right,0px)) env(safe-area-inset-bottom,0px) max(var(--gutter), env(safe-area-inset-left,0px));opacity:0;pointer-events:none;background:radial-gradient(130% 50% at 50% 115%,#ffa04852,#ffa04800 64%),radial-gradient(90% 70% at 50% 38%,#142038 0%,#0b1324 55%,#060a12 100%);place-items:center;transition:opacity .8s;display:grid;position:fixed;inset:0;overflow:hidden}.world-veil.visible{opacity:1;pointer-events:auto;transition:opacity .22s}.veil-snow{pointer-events:none;background-repeat:repeat;position:absolute;inset:-20% -10%}.veil-snow-far{background-image:radial-gradient(1.3px 1.3px at 7% 11%,#ebf2ff99,#0000 70%),radial-gradient(1px 1px at 23% 47%,#ebf2ff73,#0000 70%),radial-gradient(1.5px 1.5px at 38% 8%,#ebf2ff8c,#0000 70%),radial-gradient(1.1px 1.1px at 52% 71%,#ebf2ff80,#0000 70%),radial-gradient(1.4px 1.4px at 66% 29%,#ebf2ff80,#0000 70%),radial-gradient(1px 1px at 81% 88%,#ebf2ff66,#0000 70%),radial-gradient(1.2px 1.2px at 93% 53%,#ebf2ff80,#0000 70%),radial-gradient(1px 1px at 14% 79%,#ebf2ff73,#0000 70%),radial-gradient(1.3px 1.3px at 44% 92%,#ebf2ff66,#0000 70%);background-size:433px 389px;animation:16s linear infinite veil-fall}.veil-snow-near{filter:blur(.5px);background-image:radial-gradient(2.4px 2.4px at 17% 23%,#f5f8ffcc,#0000 70%),radial-gradient(3px 3px at 61% 67%,#f5f8ffa6,#0000 70%),radial-gradient(2px 2px at 83% 12%,#f5f8ffb3,#0000 70%),radial-gradient(2.6px 2.6px at 36% 84%,#f5f8ff99,#0000 70%);background-size:617px 571px;animation:10s linear infinite veil-fall-near}.world-veil--quiet{background:#060a12;transition:opacity .45s}.world-veil--quiet.visible{transition:opacity .22s}.world-veil--quiet .veil-snow{display:none}.veil-progress--late{left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 18vh);opacity:0;margin:0 0 0 calc(min(72vw,300px)/-2);animation:.8s 1.6s forwards veil-card-in;position:absolute}@keyframes veil-fall{0%{background-position:0 0}to{background-position:60px 389px}}@keyframes veil-fall-near{0%{background-position:0 0}to{background-position:-90px 571px}}.veil-card{justify-items:center;gap:var(--space-3);text-align:center;opacity:0;max-width:34rem;animation:.6s .35s forwards veil-card-in;display:grid;position:relative}@keyframes veil-card-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.veil-eyebrow{font-family:var(--font-ui);font-size:var(--fs-caption);letter-spacing:.22em;text-transform:uppercase;color:#d6c49ec7}.veil-title{font-family:var(--font-festive);white-space:nowrap;color:#f3d891;text-shadow:0 0 18px #ffb45a73,0 2px #3c1e0a99;font-size:clamp(22px,7.4vw,58px);font-weight:700;line-height:1.1}.veil-rule{align-items:center;gap:10px;width:min(68vw,260px);display:flex}.veil-rule:before,.veil-rule:after{content:"";background:linear-gradient(90deg,#c9a24a00,#c9a24acc);flex:1;height:1px}.veil-rule:after{background:linear-gradient(90deg,#c9a24acc,#c9a24a00)}.veil-rule span{background:#e9c46a;width:7px;height:7px;transform:rotate(45deg);box-shadow:0 0 8px #ffc46ecc}.veil-progress{width:min(72vw,300px);height:2px;margin-top:var(--space-4);background:#d6c49e29;border-radius:2px;position:relative;overflow:hidden}.veil-ember{background:linear-gradient(90deg,#ff963c00,#ffb45a 55%,#fff1c9 80%,#ffb45a00);border-radius:2px;width:38%;animation:1.6s ease-in-out infinite veil-ember;position:absolute;top:0;bottom:0;box-shadow:0 0 10px #ffaa50e6}@keyframes veil-ember{0%{left:-40%}to{left:102%}}.veil-tip{max-width:30rem;margin-top:var(--space-2);font-family:var(--font-serif);font-style:italic;font-size:var(--fs-small);color:#e2e8f4b8;line-height:1.5}@media (prefers-reduced-motion:reduce){.veil-snow,.veil-ember{animation:none}.veil-ember{left:31%}}.train-chip{border-radius:var(--radius-pill);color:#f0d58a;font:500 var(--fs-small) var(--font-ui);text-align:center;font-variant-numeric:tabular-nums;background:#14382adb;border:1px solid #c9a24a99;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:8px 16px;display:flex;box-shadow:0 6px 18px #00000059}.train-chip-line{align-items:center;gap:10px;display:inline-flex}.train-chip-btns{gap:8px;display:inline-flex}@media (max-width:820px),(pointer:coarse){.train-chip{border-radius:18px;row-gap:6px}.train-chip-btns{flex-basis:100%;justify-content:center}}.train-chip-dot{background:#ffc46b;border-radius:50%;flex:none;width:8px;height:8px;box-shadow:0 0 8px #ffb24a}.train-chip-btn{border-radius:var(--radius-pill);color:#fff;min-height:36px;font:600 var(--fs-small) var(--font-ui);cursor:pointer;background:linear-gradient(#d0353a,#a3161c);border:1px solid #ffd69699;padding:6px 16px}.train-chip-btn:focus-visible{outline-offset:2px;outline:2px solid #e9c46a}.wish-chip{border-radius:var(--radius-pill);color:#f6dc9a;font:500 var(--fs-small) var(--font-ui);text-align:center;background:#161c38e0;border:1px solid #f0c87899;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:8px 16px;display:flex;box-shadow:0 6px 18px #00000059,0 0 22px #ffbe642e}.wish-chip-star{color:#ffc46b;text-shadow:0 0 8px #ffb24a;flex:none}.wish-chip-input{border-radius:var(--radius-pill);color:#fff3d6;min-width:0;min-height:36px;font:500 var(--fs-small) var(--font-ui);background:#0a0e20b3;border:1px solid #f0c87880;flex:14rem;padding:6px 12px}.wish-chip-input:focus-visible{outline-offset:2px;outline:2px solid #e9c46a}.wish-chip-btn{border-radius:var(--radius-pill);color:#fff;min-height:36px;font:600 var(--fs-small) var(--font-ui);cursor:pointer;background:linear-gradient(#d0353a,#a3161c);border:1px solid #ffd69699;padding:6px 16px}.wish-chip-btn:disabled{opacity:.5;cursor:default}.wish-chip-btn:focus-visible,.wish-chip-close:focus-visible{outline-offset:2px;outline:2px solid #e9c46a}.wish-chip-close{color:#f6dc9a;min-width:36px;min-height:36px;font:600 20px/1 var(--font-ui);cursor:pointer;background:0 0;border:0;border-radius:50%}.pyramid-chip{background:#461614e0;border-color:#d9a131b3}.ah-stack{align-items:center;gap:var(--space-2);pointer-events:none;flex-direction:column;display:flex}.ah-chip{border-radius:var(--radius-pill);color:#d7f3e8;font:500 var(--fs-small) var(--font-ui);text-align:center;pointer-events:auto;background:#0a1828db;border:1px solid #78dcbe80;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:8px 16px;display:flex;box-shadow:0 6px 18px #00000059}.ah-dot{background:#6ff2c0;border-radius:50%;flex:none;width:8px;height:8px;box-shadow:0 0 8px #3fe0a4}.ah-btn{border-radius:var(--radius-pill);color:#fff;min-height:36px;font:600 var(--fs-small) var(--font-ui);cursor:pointer;background:linear-gradient(#d0353a,#a3161c);border:1px solid #ffd69699;padding:6px 16px}.ah-btn:focus-visible{outline-offset:2px;outline:2px solid #e9c46a}.ah-scope{z-index:20;pointer-events:none;background:radial-gradient(circle,#0000 0 37vmin,#c9962ff2 37.3vmin,#785218f2 38vmin,#02040af7 38.4vmin);position:fixed;inset:0}.ah-scope:after{content:"";background:linear-gradient(#ffffff47,#ffffff47) 50%/1px 6vmin no-repeat,linear-gradient(#ffffff47,#ffffff47) 50%/6vmin 1px no-repeat;position:absolute;inset:0}.bk-stack{align-items:center;gap:var(--space-2);pointer-events:none;flex-direction:column;display:flex}.bk-chip{border-radius:var(--radius-pill);color:#fbe8c8;max-width:100%;font:500 var(--fs-small) var(--font-ui);text-align:center;pointer-events:auto;background:#22140ce6;border:1px solid #ffbe6e80;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 12px;padding:8px 16px;display:flex;box-shadow:0 6px 18px #00000059}.bk-dot{background:#ffb45a;border-radius:50%;flex:none;width:8px;height:8px;box-shadow:0 0 8px #ff9a30}.bk-title{white-space:nowrap;font-size:clamp(.8rem,3.6vw,1rem);font-weight:700}.bk-note{white-space:normal;min-width:0}.bk-label{white-space:nowrap;opacity:.8}.bk-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:inline-flex}.bk-btn,.bk-ghost,.bk-opt{border-radius:var(--radius-pill);min-height:36px;font:600 var(--fs-small) var(--font-ui);white-space:nowrap;cursor:pointer;padding:6px 14px}.bk-btn{color:#fff;background:linear-gradient(#d0353a,#a3161c);border:1px solid #ffd69699}.bk-ghost{color:#fbe8c8;background:0 0;border:1px solid #ffd69659}.bk-opt{color:#fbe8c8;background:#ffd69614;border:1px solid #ffd69666;min-height:32px;padding:4px 12px}.bk-opt[aria-pressed=true]{color:#fff;background:#ffbe6e52;border-color:#ffd596}.bk-btn:disabled{opacity:.55;cursor:default}.bk-swatch{cursor:pointer;border:2px solid #ffffff59;border-radius:50%;width:30px;height:30px;padding:0}.bk-swatch[aria-pressed=true]{border-color:#ffd596;box-shadow:0 0 0 2px #ffbe6eb3}.bk-btn:focus-visible,.bk-ghost:focus-visible,.bk-opt:focus-visible,.bk-swatch:focus-visible{outline-offset:2px;outline:2px solid #e9c46a}.bk-bar{background:#ffffff1a;border:1px solid #ffd69680;border-radius:9px;flex:180px;min-width:160px;max-width:320px;height:18px;position:relative;overflow:hidden}.bk-bar-bake{background:linear-gradient(90deg,#e2be88 0%,#c8964f 35%,#9a5a24 62%,#5a3018 82%,#231410 100%)}.bk-zone{background:#46c86e8c;border-radius:9px;position:absolute;top:0;bottom:0;box-shadow:inset 0 0 0 2px #beffcdcc}.bk-bar-bake .bk-zone{background:#ffd2504d;box-shadow:inset 0 0 0 2px #ffe182f2}.bk-marker{background:#fff;border-radius:2px;width:4px;margin-left:-2px;position:absolute;top:-2px;bottom:-2px;box-shadow:0 0 6px #ffffffe6}.cp-stack{align-items:center;gap:var(--space-2);pointer-events:none;width:max-content;max-width:min(calc(100vw - 2 * var(--gutter,16px)), var(--hud-lane,100vw));flex-direction:column;display:flex}.cp-chip{border-radius:var(--radius-pill);color:#fbe8c8;font:500 var(--fs-small) var(--font-ui);text-align:center;pointer-events:auto;background:#22140ce0;border:1px solid #ffbe6e80;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;max-width:100%;padding:8px 16px;display:flex;box-shadow:0 6px 18px #00000059}.cp-dot{background:#ffb45a;border-radius:50%;flex:none;width:8px;height:8px;box-shadow:0 0 8px #ff9a30}.cp-btn{border-radius:var(--radius-pill);color:#fff;min-height:36px;font:600 var(--fs-small) var(--font-ui);white-space:nowrap;cursor:pointer;background:linear-gradient(#d0353a,#a3161c);border:1px solid #ffd69699;padding:6px 16px}.cp-btn:focus-visible{outline-offset:2px;outline:2px solid #e9c46a}.adv-stack{align-items:center;gap:var(--space-2);pointer-events:none;width:max-content;max-width:min(calc(100vw - 2 * var(--gutter,16px)), var(--hud-lane,100vw));flex-direction:column;display:flex}.adv-chip{border-radius:var(--radius-pill);color:#fbe8c8;font:500 var(--fs-small) var(--font-ui);text-align:center;pointer-events:auto;background:#22140ce0;border:1px solid #ffbe6e80;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 10px;max-width:100%;padding:8px 16px;display:flex;box-shadow:0 6px 18px #00000059}.adv-verse{text-align:left;border-radius:18px;padding:10px 18px;line-height:1.4}.adv-title{white-space:nowrap;color:#ffd79a;flex:none;font-weight:700}.adv-verse .adv-title{margin-right:8px}.adv-text{min-width:0}.adv-dot{background:#ffb45a;border-radius:50%;flex:none;width:8px;height:8px;box-shadow:0 0 8px #ff9a30}.adv-btn{border-radius:var(--radius-pill);color:#fff;min-height:36px;font:600 var(--fs-small) var(--font-ui);white-space:nowrap;cursor:pointer;background:linear-gradient(#d0353a,#a3161c);border:1px solid #ffd69699;padding:6px 16px}.adv-btn:focus-visible{outline-offset:2px;outline:2px solid #e9c46a}.sm-stack{align-items:center;gap:var(--space-2);pointer-events:none;flex-direction:column;display:flex}.sm-chip{border-radius:var(--radius-pill);color:#f1e6d0;max-width:100%;font:500 var(--fs-small) var(--font-ui);text-align:center;pointer-events:auto;background:#0e1626e0;border:1px solid #ffd69680;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 12px;padding:8px 16px;display:flex;box-shadow:0 6px 18px #00000059}.sm-dot{background:#ffb347;border-radius:50%;flex:none;width:8px;height:8px;box-shadow:0 0 8px #ff9d2e}.sm-dim{box-shadow:none;background:#8a8f99}.sm-title{white-space:nowrap;font-size:clamp(.8rem,3.6vw,1rem);font-weight:700}.sm-note{white-space:normal;min-width:0}.sm-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:inline-flex}.sm-label{white-space:nowrap;opacity:.8}.sm-btn,.sm-ghost,.sm-opt{border-radius:var(--radius-pill);min-height:36px;font:600 var(--fs-small) var(--font-ui);white-space:nowrap;cursor:pointer;padding:6px 16px}.sm-btn{color:#fff;background:linear-gradient(#d0353a,#a3161c);border:1px solid #ffd69699}.sm-btn:disabled{opacity:.6;cursor:default}.sm-ghost{color:#e8dcc4;background:0 0;border:1px solid #ffffff47}.sm-opt{color:#f1e6d0;background:#ffffff0f;border:1px solid #ffffff47;min-height:32px;padding:4px 12px}.sm-opt[aria-pressed=true]{background:#ffb34738;border-color:#ffb347}.sm-swatch{cursor:pointer;border:2px solid #ffffff59;border-radius:50%;width:32px;height:32px}.sm-swatch[aria-pressed=true]{border-color:#ffb347;box-shadow:0 0 0 2px #ffb34780}.sm-btn:focus-visible,.sm-ghost:focus-visible,.sm-opt:focus-visible,.sm-swatch:focus-visible{outline-offset:2px;outline:2px solid #e9c46a}:root{--mm-size:200px;--mm-band:14px;--mm-gold:#c9a24a;--mm-gold-dark:#8a6a2c;--mm-ink:#0e0c08d1;--mm-amber:#ffb347}@media (max-width:640px),(pointer:coarse){:root{--mm-size:144px}}@media (max-height:520px){:root{--mm-size:116px}}.hud-minimap{top:calc(12px + env(safe-area-inset-top));right:calc(var(--gutter) + env(safe-area-inset-right));z-index:30;pointer-events:none;flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:fixed}.hud-minimap[hidden]{display:none}.mm-disc,.mm-row{transition:opacity .6s}.hud-minimap.mm-quiet .mm-disc{opacity:.42}.hud-minimap.mm-quiet .mm-row{opacity:.5}.hud-minimap-show{top:calc(12px + env(safe-area-inset-top));right:calc(var(--gutter) + env(safe-area-inset-right));z-index:30;border:1.5px solid var(--mm-gold-dark);cursor:pointer;background:radial-gradient(circle at 35% 28%,#55421f,#1b1509 75%);border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:flex;position:fixed;box-shadow:0 2px 8px #0000008c}.hud-minimap-show svg{width:26px;height:26px}.hud-minimap-show path{fill:var(--mm-amber)}.hud-minimap-show circle{fill:none;stroke:var(--mm-gold);stroke-width:1.4px}.hud-minimap-show:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.mm-disc{width:var(--mm-size);height:var(--mm-size);pointer-events:auto;cursor:crosshair;background:radial-gradient(circle at 50% 38%, #2a2616, var(--mm-ink) 70%);border:1.5px solid var(--mm-gold-dark);-webkit-tap-highlight-color:transparent;border-radius:50%;position:relative;box-shadow:0 0 0 1px #080602bf,0 6px 20px #00000080,inset 0 0 0 1px #ffe29629}@media (pointer:coarse){.mm-disc{cursor:pointer}}.mm-map{inset:var(--mm-band);background:#2a3a55;border-radius:50%;position:absolute;overflow:hidden;box-shadow:0 0 0 1px #c9a24acc}.mm-map:after{content:"";pointer-events:none;border-radius:50%;position:absolute;inset:0;box-shadow:inset 0 0 14px #0408128c}.mm-canvas{width:100%;height:100%;display:block}.mm-ticks{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.mm-ticks line{stroke:#ecce8c99;stroke-width:.55px;stroke-linecap:round}.mm-card{font:600 9px/1 var(--font-ui);color:#e8e0c8e0;text-shadow:0 1px 1px #000000b3;pointer-events:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;display:flex;position:absolute}.mm-n,.mm-s{height:var(--mm-band);left:0;right:0}.mm-n{color:#ffcf7a;text-shadow:0 0 6px #ffaa46b3,0 1px 1px #000c;font-size:11px;font-weight:700;top:0}.mm-s{bottom:0}.mm-e,.mm-w{width:var(--mm-band);top:0;bottom:0}.mm-e{right:0}.mm-w{left:0}.mm-me{pointer-events:none;will-change:transform;filter:drop-shadow(0 1px 2px #000000b3);width:18px;height:18px;margin:-9px 0 0 -9px;position:absolute;top:50%;left:50%}.mm-me path{fill:#fff4d6;stroke:#301a06f2;stroke-width:1.3px;stroke-linejoin:round}.mm-zoom{border:1px solid var(--mm-gold-dark);color:#f6e2a8;width:26px;height:26px;font:700 17px/1 var(--font-ui);cursor:pointer;background:radial-gradient(circle at 35% 28%,#55421f,#1b1509 75%);border-radius:50%;justify-content:center;align-items:center;margin:-13px 0 0 -13px;padding:0;display:flex;position:absolute;box-shadow:0 2px 6px #0000008c}.mm-zoom:after{content:"";position:absolute;inset:-9px}.mm-zoom:active:not(:disabled){transform:scale(.9)}.mm-zoom:disabled{opacity:.4;cursor:default}.mm-zoom:focus-visible,.mm-place:focus-visible,.mm-way:focus-visible,.bm-btn:focus-visible,.bm-close:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.mm-hide{left:calc(var(--mm-size) * .146);top:calc(var(--mm-size) * .146);font-size:15px}.mm-zoom-in{left:calc(var(--mm-size) * .0302);top:calc(var(--mm-size) * .671)}.mm-zoom-out{left:calc(var(--mm-size) * .25);top:calc(var(--mm-size) * .933)}@media (max-width:640px),(pointer:coarse){.mm-zoom{width:28px;height:28px;margin:-14px 0 0 -14px}}.mm-row{max-width:calc(100vw - 2 * var(--gutter));pointer-events:none;justify-content:flex-end;align-items:center;gap:6px;display:flex}.mm-place,.mm-way{border-radius:var(--radius-pill);-webkit-backdrop-filter:blur(6px);color:#f3e6c4;min-height:28px;font:600 clamp(11px, 3.1vw, 13px)/1.2 var(--font-ui);letter-spacing:.03em;white-space:nowrap;cursor:pointer;pointer-events:auto;background:#0e0c08b3;border:1px solid #c9a24a8c;flex:none;align-items:center;gap:6px;padding:3px 11px;display:inline-flex;position:relative;box-shadow:0 3px 10px #00000059}.mm-place:before,.mm-way:before{content:"";position:absolute;inset:-8px -2px}.mm-way{color:#ffd9a0;font-variant-numeric:tabular-nums;border-color:#ffb347a6}.mm-way-dot{border:2px solid var(--mm-amber);width:8px;height:8px;box-shadow:0 0 6px var(--mm-amber);box-sizing:border-box;border-radius:50%}.mm-way-x{opacity:.7;font-size:15px;line-height:1}body.has-minimap .hud-camera{top:calc(12px + env(safe-area-inset-top) + var(--mm-size) + 46px)}body.has-minimap.minimap-hidden .hud-camera{top:calc(12px + env(safe-area-inset-top) + 52px)}.hud-bigmap{z-index:46;background:#1b2740;outline:none;animation:.18s ease-out bm-in;position:fixed;inset:0}@keyframes bm-in{0%{opacity:0}to{opacity:1}}.hud-bigmap:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 110px #04081299}.bm-canvas{touch-action:none;cursor:crosshair;width:100%;height:100%;display:block;position:absolute;inset:0}.bm-title{top:calc(16px + env(safe-area-inset-top));font:400 clamp(20px, 3.4vw, 30px)/1 var(--font-festive);letter-spacing:.04em;white-space:nowrap;color:#f6e6c0;text-shadow:0 2px 8px #000c,0 0 18px #0009;pointer-events:none;margin:0;position:absolute;left:50%;transform:translate(-50%)}.bm-close,.bm-btn{width:var(--tap-min);height:var(--tap-min);border:1px solid var(--mm-gold-dark);color:#f6e2a8;font:600 24px/1 var(--font-ui);cursor:pointer;background:radial-gradient(circle at 35% 28%,#4b3b1c,#17120a 78%);border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;box-shadow:0 4px 14px #00000080}.bm-close:active,.bm-btn:active{transform:scale(.92)}.bm-close{top:calc(12px + env(safe-area-inset-top));right:calc(var(--gutter) + env(safe-area-inset-right));font-size:28px;position:absolute}.bm-tools{right:calc(var(--gutter) + env(safe-area-inset-right));gap:var(--space-2);flex-direction:column;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.bm-here svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:24px;height:24px}.bm-way{left:calc(var(--gutter) + env(safe-area-inset-left));bottom:calc(58px + env(safe-area-inset-bottom));min-height:var(--tap-min);border-radius:var(--radius-pill);color:#ffd9a0;font:600 var(--fs-small) var(--font-ui);white-space:nowrap;font-variant-numeric:tabular-nums;cursor:pointer;background:#0e0c08c7;border:1px solid #ffb347a6;align-items:center;gap:8px;padding:0 16px;display:inline-flex;position:absolute;box-shadow:0 4px 14px #00000073}.bm-hint{left:50%;bottom:calc(14px + env(safe-area-inset-bottom));width:max-content;max-width:calc(100vw - 2 * var(--gutter));border-radius:var(--radius-pill);color:var(--text-mid);font:500 var(--fs-caption) var(--font-ui);text-align:center;pointer-events:none;background:#0e0c0899;margin:0;padding:6px 14px;position:absolute;transform:translate(-50%)}.bm-wait{color:var(--text-mid);font:500 var(--fs-body) var(--font-ui);pointer-events:none;margin:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (prefers-reduced-motion:reduce){.hud-bigmap{animation:none}}.station-chip{box-sizing:border-box;color:#f0d58a;width:min(420px,100%);font:500 var(--fs-small) var(--font-ui);background:#14382ae6;border:1px solid #c9a24a99;border-radius:16px;flex-direction:column;align-items:stretch;gap:8px;padding:10px 14px;display:flex;box-shadow:0 6px 18px #00000059}.station-chip-head{text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.station-chip-dot{background:#ffc46b;border-radius:50%;flex:none;width:8px;height:8px;box-shadow:0 0 8px #ffb24a}.station-chip-btn{border-radius:var(--radius-pill);color:#fff;min-height:36px;font:600 var(--fs-small) var(--font-ui);cursor:pointer;background:linear-gradient(#d0353a,#a3161c);border:1px solid #ffd69699;padding:6px 16px}.station-chip-btn:focus-visible{outline-offset:2px;outline:2px solid #e9c46a}.station-panel{border-top:1px solid #c9a24a66;flex-direction:column;gap:6px;padding-top:8px;display:flex}.station-panel h3{font:600 var(--fs-small) var(--font-ui);color:#fff1c9;text-align:center;margin:0}.station-row{color:#fff1c9;background:#00000038;border-radius:10px;flex-direction:column;gap:2px;padding:6px 10px;display:flex}.station-row small{color:#cdb47a;font-style:italic}.station-ticket{text-align:center;color:#fff1c9}:root{--dock-side:max(calc(min(420px, 32vw) + var(--gutter) + 16px), calc(50vw - 240px));--dock-left:var(--dock-side);--dock-right:var(--dock-side)}@media (max-width:820px),(pointer:coarse){:root{--dock-left:calc(var(--gutter) + env(safe-area-inset-left,0px) + 52px);--dock-right:calc(var(--gutter) + env(safe-area-inset-right,0px) + 76px)}}.hud-dock{left:var(--dock-left);right:var(--dock-right);bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:30;justify-content:flex-end;align-items:center;gap:var(--space-2);pointer-events:none;flex-direction:column;display:flex;position:fixed}.hud-dock:empty{display:none}.hud-dock>:where(*){box-sizing:border-box;pointer-events:auto;max-width:100%}.post-chip{border-radius:var(--radius-pill);color:#f6e3b4;font:500 var(--fs-small) var(--font-ui);text-align:center;background:#68141ae0;border:1px solid #f2c779a6;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:8px 8px 8px 16px;display:flex;box-shadow:0 6px 18px #00000059}.post-chip-dot{background:#ffc46b;border-radius:50%;flex:none;width:8px;height:8px;box-shadow:0 0 8px #ffb24a}.post-chip-btn{border-radius:var(--radius-pill);color:#3a2410;min-height:36px;font:600 var(--fs-small) var(--font-ui);cursor:pointer;background:linear-gradient(#f6d886,#d9a93d);border:1px solid #ffeebe99;padding:6px 16px}.post-chip-btn:focus-visible,.post-pill:focus-visible,.post-motif:focus-visible,.post-send:focus-visible,.post-quiet:focus-visible,.post-x:focus-visible{outline-offset:2px;outline:2px solid #e9c46a}.post-panel{left:50%;top:calc(env(safe-area-inset-top,0px) + 56px);z-index:46;box-sizing:border-box;width:min(420px,100vw - 32px);max-height:calc(100dvh - env(safe-area-inset-top,0px) - 72px);font-family:var(--font-ui);color:var(--ink);background:radial-gradient(120% 90% at 20% 0%, #ffffff38, #fff0 60%), var(--paper);border:2px solid var(--ink);box-shadow:0 0 0 4px var(--paper), 0 16px 38px #00000080;border-radius:16px;gap:10px;padding:14px 16px 16px;display:grid;position:fixed;overflow-y:auto;transform:translate(-50%)}.post-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.post-head b{font-family:var(--font-festive);white-space:nowrap;font-size:1.5rem;line-height:1.1}.post-x{width:var(--tap-min);height:var(--tap-min);color:inherit;cursor:pointer;background:0 0;border:0;margin:-8px -8px -8px 0;font-size:1.6rem;line-height:1}.post-more{font-size:var(--fs-small);opacity:.8}.post-row{gap:8px;display:flex}.post-pill{min-height:var(--tap-min);border:1.5px solid var(--ink);border-radius:var(--radius-pill);color:var(--ink);font:600 var(--fs-small) var(--font-ui);cursor:pointer;background:0 0;flex:1;padding:6px 10px}.post-pill.is-on{background:var(--ink);color:var(--paper)}.post-to{font-size:var(--fs-caption);gap:4px;font-weight:600;display:grid}.post-to input{min-height:var(--tap-min);box-sizing:border-box;border:1.5px solid var(--ink);border-radius:var(--radius-sm);color:var(--ink);font:500 var(--fs-label) var(--font-ui);background:#ffffff2e;padding:6px 12px}.post-motifs{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.post-motif{border-radius:var(--radius-sm);background:var(--paper);color:var(--ink);font:600 var(--fs-caption) var(--font-ui);cursor:pointer;border:1.5px solid #0000;justify-items:center;gap:2px;padding:6px 4px 4px;display:grid;box-shadow:0 0 0 1px #00000040}.post-motif.is-on{border-color:#e9c46a;box-shadow:0 0 0 2px #e9c46a}.post-motif .post-art{width:100%;max-height:42px}.post-art{color:var(--ink);display:block}.post-sheet{border-radius:var(--radius-sm);background:repeating-linear-gradient(to bottom, transparent 0 25px, color-mix(in srgb, var(--ink) 22%, transparent) 25px 26px);border:1px solid color-mix(in srgb, var(--ink) 45%, transparent);position:relative}.post-corner{opacity:.75;pointer-events:none;width:54px;position:absolute;top:6px;right:8px}.post-sheet textarea{box-sizing:border-box;resize:none;width:100%;min-height:130px;color:var(--ink);font:500 var(--fs-label) / 26px var(--font-serif);background:0 0;border:0;padding:8px 12px 22px;display:block}.post-sheet textarea::placeholder{color:color-mix(in srgb, var(--ink) 55%, transparent)}.post-count{font-size:var(--fs-caption);opacity:.7;position:absolute;bottom:4px;right:10px}.post-fault{min-height:1.2em;font-size:var(--fs-small);color:color-mix(in srgb, var(--ink) 70%, #b8121a);margin:0;font-weight:600}.post-foot{justify-content:flex-end;gap:10px;display:flex}.post-send,.post-quiet{min-height:var(--tap-min);border-radius:var(--radius-pill);border:1.5px solid var(--ink);font:600 var(--fs-body) var(--font-ui);cursor:pointer;padding:8px 20px}.post-send{background:var(--ink);color:var(--paper)}.post-quiet{color:var(--ink);background:0 0}.post-seal{border:2px solid var(--ink);box-sizing:border-box;border-radius:50%;justify-self:center;width:92px;padding:10px}.post-answer{font:500 var(--fs-label) / 1.45 var(--font-serif);margin:0}.post-sheet.is-read{padding:12px 14px 10px}.post-text{white-space:pre-wrap;overflow-wrap:anywhere;font:500 var(--fs-label) / 26px var(--font-serif);margin:0 56px 8px 0}.post-from{text-align:right;font-size:var(--fs-small);margin:0}@media (prefers-reduced-motion:no-preference){.post-panel{animation:.25s ease-out post-in}}@keyframes post-in{0%{opacity:0;transform:translate(-50%,-8px)}}@font-face{font-family:Fredoka;src:url(/fonts/fredoka-latin-variable.woff2)format("woff2");font-weight:400 600;font-style:normal;font-display:swap}@font-face{font-family:Mountains of Christmas;src:url(/fonts/mountains-of-christmas-700-latin.woff2)format("woff2");font-weight:700;font-style:normal;font-display:block}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--gutter:clamp(16px, 4.4vw, 24px);--fs-caption:12px;--fs-small:13px;--fs-body:15px;--fs-label:16px;--fs-title:20px;--fs-display:clamp(24px, 6.8vw, 32px);--font-ui:"Fredoka", system-ui, sans-serif;--font-serif:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--font-festive:"Mountains of Christmas", Georgia, serif;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-pill:999px;--tap-min:44px;--tap-primary:48px;--glass-bg:#0a0e1a9e;--glass-bg-strong:#0a0e1ac7;--glass-border:#e2eaf633;--glass-blur:blur(14px) saturate(1.3);--text-hi:#f6f9fdf7;--text-mid:#e2eaf6d6;--text-lo:#d6e0eeb8;--focus-ring:#ffd9a8}html,body{color:#d8e2ec;overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;background:#060a12;width:100%;height:100%;margin:0;padding:0;font-family:Avenir Next,Segoe UI,system-ui,-apple-system,sans-serif;position:fixed;inset:0;overflow:hidden}#root{width:100vw;height:100vh;height:100lvh;position:fixed;inset:0}#root canvas{touch-action:none;display:block}.touch-zone{touch-action:none;z-index:10;position:fixed;inset:0}.joy-base{-webkit-backdrop-filter:blur(2px);pointer-events:none;will-change:transform;background:#d8e2ec0f;border:1.5px solid #d8e2ec40;border-radius:50%;width:104px;height:104px;display:none;position:fixed;top:0;left:0}.joy-knob{will-change:transform;background:#d8e2ec52;border-radius:50%;width:44px;height:44px;margin:-22px 0 0 -22px;position:absolute;top:50%;left:50%;box-shadow:0 0 12px #d8e2ec2e}.hud-btn{background:var(--glass-bg);-webkit-backdrop-filter:blur(8px);color:#f4f8fcf2;cursor:pointer;border:1px solid #d8e2ec4d;border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;padding:0;transition:background .2s,transform .1s;display:flex}.hud-btn:active{transform:scale(.92)}.hud-btn.active{background:#d8e2ec47;border-color:#e8eef680}.hud-btn svg{width:20px;height:20px}.hud-restore{right:calc(var(--gutter) + 19px + env(safe-area-inset-right));bottom:calc(39px + env(safe-area-inset-bottom));cursor:pointer;z-index:30;background:#d8e2ec1f;border:1px solid #d8e2ec4d;border-radius:50%;width:18px;height:18px;padding:0;position:fixed}@keyframes beckon-pulse{0%,to{border-color:#96e0ff80;box-shadow:0 0 #96e0ff00}50%{border-color:#b4ecfff2;box-shadow:0 0 18px 4px #96e0ff8c}}.hud-beckon,.build-item--beckon{border:1px solid #96e0ff80;animation:1.25s ease-in-out infinite beckon-pulse}.moon-prompt{left:50%;bottom:calc(max(124px, var(--dock-h,0px) + 32px) + env(safe-area-inset-bottom));z-index:30;color:#e0f0fcf2;white-space:nowrap;-webkit-backdrop-filter:blur(8px);background:#080e16b8;border:1px solid #96e0ff59;border-radius:999px;padding:9px 18px;font-size:13px;animation:1.8s ease-in-out infinite beckon-pulse;position:fixed;transform:translate(-50%)}.moon-prompt b{color:#bfeaff;font-weight:600}.epigraph{left:50%;bottom:calc(22% + env(safe-area-inset-bottom));text-align:center;letter-spacing:.12em;color:#e8eef600;text-shadow:0 1px 10px #00000080;pointer-events:none;z-index:25;max-width:min(78vw,460px);margin:0;font-size:13px;font-style:italic;line-height:1.7;transition:color 2.2s;position:fixed;transform:translate(-50%)}.epigraph.visible{color:#e8eef6d9}.build-bar{left:50%;bottom:calc(20px + env(safe-area-inset-bottom));z-index:35;flex-direction:column;align-items:center;gap:12px;width:min(94vw,520px);animation:.4s ease-out both fade-opacity;display:flex;position:fixed;transform:translate(-50%)}@keyframes fade-opacity{0%{opacity:0}to{opacity:1}}.build-catalogue{box-sizing:border-box;touch-action:pan-y;-webkit-overflow-scrolling:touch;background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(12px);scrollbar-width:thin;border:1px solid #d8e2ec29;border-radius:18px;width:100%;max-height:40vh;padding:10px 12px;overflow-y:auto}.build-catalogue::-webkit-scrollbar{width:6px}.build-catalogue::-webkit-scrollbar-thumb{background:#d8e2ec33;border-radius:3px}.build-cat+.build-cat{margin-top:10px}.build-cat h3{letter-spacing:.22em;text-transform:uppercase;color:var(--text-lo);margin:0 0 6px 4px;font-size:11px;font-weight:600}.build-grid{grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:8px;display:grid}.build-item{color:#f0f4fae6;cursor:pointer;background:#d8e2ec0d;border:1px solid #0000;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;height:76px;padding:6px 4px;transition:background .15s,border-color .15s;display:flex}.build-item svg{width:26px;height:26px}.build-item span{letter-spacing:.04em;opacity:.95;text-align:center;font-size:11px;line-height:1.15}.build-item.active{color:#fffffff2;background:#d8e2ec29;border-color:#e8eef673}.catalogue-close{padding:0 var(--space-5);background:var(--glass-bg-strong);color:#e8eef6d9;font-size:var(--fs-small);letter-spacing:.14em;cursor:pointer;-webkit-backdrop-filter:blur(8px);min-height:var(--tap-min);border:1px solid #d8e2ec38;border-radius:999px;align-self:center;margin-top:2px}.place-bar{left:50%;bottom:calc(22px + env(safe-area-inset-bottom));z-index:35;flex-direction:column;align-items:center;gap:12px;animation:.25s ease-out both fade-opacity;display:flex;position:fixed;transform:translate(-50%)}.place-chip{background:var(--glass-bg);color:#e8eef6e6;font-size:var(--fs-small);letter-spacing:.08em;cursor:pointer;-webkit-backdrop-filter:blur(8px);min-height:var(--tap-min);border:1px solid #d8e2ec33;border-radius:999px;align-items:center;gap:8px;padding:6px 14px 6px 10px;display:inline-flex}.place-chip svg{width:18px;height:18px}.place-verbs,.build-verbs{align-items:center;gap:12px;display:flex}.hud-btn.abort{color:#ffc8c8eb;background:#461a1e80;border-color:#ff6b6b73}.hud-slot--place{color:#d6ffe6;background:#285a4680;border-color:#7dffa880}.hud-slot--place.disabled{color:#ffc8c899;background:#3c1e2273;border-color:#ff6b6b66}.reticle{pointer-events:none;z-index:24;border:1.5px solid #ff6b6bd9;border-radius:50%;width:8px;height:8px;margin:-4px 0 0 -4px;transition:border-color .15s;position:fixed;top:50%;left:50%;box-shadow:0 0 8px #00000080}.reticle[data-valid=true]{border-color:#7dffa8f2}.hud-toast{left:50%;bottom:calc(max(150px, var(--dock-h,0px) + 36px) + env(safe-area-inset-bottom));background:var(--glass-bg-strong);color:#e8eef6eb;font-size:var(--fs-small);letter-spacing:.08em;z-index:36;pointer-events:none;-webkit-backdrop-filter:blur(8px);border:1px solid #d8e2ec2e;border-radius:999px;padding:8px 16px;animation:.3s ease-out both toast-in;position:fixed;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.settings-scrim{z-index:50;-webkit-backdrop-filter:blur(4px);background:#04070c8c;justify-content:center;align-items:center;padding:20px;animation:.2s ease-out both fade-opacity;display:flex;position:fixed;inset:0}.settings-panel{touch-action:pan-y;-webkit-overflow-scrolling:touch;color:#e8eef6eb;background:#0c1018eb;border:1px solid #d8e2ec29;border-radius:20px;width:min(92vw,380px);max-height:86vh;padding:0 20px 20px;overflow-y:auto;box-shadow:0 24px 60px #00000080}.settings-panel header{z-index:2;padding:var(--space-2) var(--space-5) var(--space-2);background:#0c1018fa;border-bottom:1px solid #d8e2ec1a;justify-content:space-between;align-items:center;margin:0 -20px 14px;display:flex;position:sticky;top:0}.settings-panel h2{letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:15px;font-weight:400}.settings-x{width:var(--tap-min);height:var(--tap-min);color:#e8eef6cc;cursor:pointer;background:0 0;border:1px solid #d8e2ec33;border-radius:50%;margin-right:-10px;font-size:20px;line-height:1}.settings-panel h3{letter-spacing:.22em;text-transform:uppercase;color:var(--text-lo);margin:18px 0 8px;font-size:11px;font-weight:600}.settings-panel>h3:first-of-type{margin-top:0}.settings-tabs{gap:6px;margin-bottom:16px;display:flex}.settings-tab{color:var(--text-mid);font-size:var(--fs-small);letter-spacing:.1em;cursor:pointer;min-height:var(--tap-min);background:#d8e2ec0a;border:1px solid #d8e2ec24;border-radius:10px;flex:1;padding:9px 10px;transition:background .15s,border-color .15s,color .15s}.settings-tab.active{color:#e8eef6f2;background:#7dc8ff24;border-color:#96d2ff8c}.quality-options{gap:8px;display:grid}.quality-option{color:inherit;cursor:pointer;text-align:left;min-height:var(--tap-min);background:#d8e2ec0a;border:1px solid #d8e2ec24;border-radius:12px;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 14px;transition:background .15s,border-color .15s;display:flex}.quality-option.active{background:#7dc8ff24;border-color:#96d2ff8c}.wide-option{width:100%}.quality-option .q-name{letter-spacing:.04em;font-size:14px}.quality-option .q-note{font-size:var(--fs-caption);opacity:.82}.settings-foot{font-size:var(--fs-caption);color:var(--text-lo);margin:14px 0 0;line-height:1.5}.slider-head{justify-content:space-between;align-items:baseline;gap:12px;margin-top:18px;display:flex}.slider-head h3{margin:0}.detail-slider{appearance:none;background:#d8e2ec38 padding-box content-box;border-radius:999px;outline:none;width:100%;height:4px;margin:-8px 0 -12px;padding:20px 0;display:block}.detail-slider::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#e8eef6;border-radius:50%;width:18px;height:18px;box-shadow:0 1px 4px #0006}.detail-slider::-moz-range-thumb{cursor:pointer;background:#e8eef6;border:none;border-radius:50%;width:18px;height:18px}.slider-val{letter-spacing:.06em;text-transform:uppercase;color:#f4d27a;font-size:13px}.slider-note{font-size:var(--fs-caption);color:#e8eef680;margin:8px 0 0;line-height:1.5}.world-rare{text-align:center;letter-spacing:.2em;text-transform:uppercase;color:#0a0e14;background:linear-gradient(100deg,#f4d27a,#e7a0c0 55%,#8fb6f0);border-radius:12px;margin:0 0 14px;padding:8px 12px;font-size:12px;font-weight:600}.world-facts{background:#d8e2ec14;border-radius:12px;grid-template-columns:1fr 1fr;gap:1px;margin:0;display:grid;overflow:hidden}.world-share{margin-top:16px}.world-facts>div{background:#0c1018b3;padding:9px 12px}.world-facts>div.wide{grid-column:1/-1}.world-facts dt{letter-spacing:.14em;text-transform:uppercase;color:var(--text-lo);margin:0 0 3px;font-size:11px}.world-facts dd{color:#eef4faf2;margin:0;font-size:14px}.world-phenomena{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.world-phenomena li{color:#e8eef6d9;background:#d8e2ec1a;border:1px solid #d8e2ec24;border-radius:999px;padding:5px 10px;font-size:12px}.world-neighbour{background:#d8e2ec12;border:1px solid #d8e2ec24;border-radius:12px;margin:0 0 12px;padding:10px 12px}.world-neighbour .neighbour-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:#8fb6f0d9;font-size:11px;display:block}.world-neighbour .neighbour-name{color:#eef2f8f2;margin:2px 0 4px;font-size:14px;font-weight:600;display:block}.world-neighbour .neighbour-lore{color:#e8eef6b3;font-size:12px;line-height:1.45;display:block}.world-neighbour .neighbour-reach{font-size:var(--fs-caption);color:var(--text-lo);margin-top:6px;display:block}.world-parent-link{cursor:pointer;font:inherit;color:#8fb6f0;background:0 0;border:none;padding:0}.library-panel{width:min(94vw,440px)}.library-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.library-row{align-items:stretch;gap:6px;display:flex}.library-card{color:inherit;cursor:pointer;text-align:left;background:#d8e2ec0a;border:1px solid #d8e2ec1f;border-radius:12px;flex:1;align-items:center;gap:12px;padding:8px;transition:background .15s,border-color .15s;display:flex}.library-card:hover{background:#7dc8ff1a;border-color:#96d2ff66}.library-thumb{object-fit:cover;background:#080c12cc;border-radius:8px;flex-shrink:0;width:80px;height:50px}.library-thumb--empty{display:block}.library-meta{flex-direction:column;gap:2px;min-width:0;display:flex}.library-name{color:#eef4faf5;white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.library-sub{font-size:var(--fs-caption);color:#e8eef69e;line-height:1.3}.library-sub--dim{color:#e8eef666}.library-flag{color:#f4d27a;flex-shrink:0;width:18px;margin-left:auto}.library-bookmark{color:#e8eef680;cursor:pointer;background:#d8e2ec0a;border:1px solid #d8e2ec1f;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:38px;display:flex}.library-bookmark svg{width:18px;height:18px}.library-bookmark.on{color:#8fb6f0;background:#7dc8ff1f;border-color:#96d2ff80}.peer-tag{color:#f0f4faf2;letter-spacing:.06em;white-space:nowrap;text-overflow:ellipsis;background:#080c149e;border:1px solid #d8e2ec66;border-radius:999px;max-width:24ch;padding:2px 8px;font-size:12px;overflow:hidden;transform:translate(-50%,-100%)}@keyframes talk-pop{0%{opacity:0;transform:scale(.55)}60%{opacity:1;transform:scale(1.14)}to{opacity:1;transform:scale(1)}}@keyframes talk-ring{0%{opacity:.5;transform:scale(1)}to{opacity:0;transform:scale(1.35)}}.caretaker-scrim{z-index:60;-webkit-backdrop-filter:blur(3px);background:#04030266;justify-content:center;align-items:flex-end;animation:.25s ease-out caretaker-fade;display:flex;position:fixed;inset:0}@keyframes caretaker-fade{0%{opacity:0}to{opacity:1}}.caretaker-panel{width:min(580px,96vw);max-height:78vh;margin:0 0 calc(12px + env(safe-area-inset-bottom));background:linear-gradient(#16120cf5,#0c0a07f7);border:1px solid #ffc47842;border-radius:20px;flex-direction:column;animation:.32s cubic-bezier(.2,.9,.3,1) caretaker-rise;display:flex;overflow:hidden;box-shadow:0 -8px 60px #0000008c,0 0 40px #ffaa5a14}@keyframes caretaker-rise{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.caretaker-head{border-bottom:1px solid #ffc47824;align-items:center;gap:12px;padding:16px 16px 12px;display:flex}.caretaker-glyph{color:#ffd6a0eb;background:#ffb46014;border:1px solid #ffc47859;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;display:grid}.caretaker-glyph svg{width:22px;height:22px}.caretaker-title{flex-direction:column;flex:1;line-height:1.2;display:flex}.caretaker-title strong{color:#f5e8d6f5;letter-spacing:.04em;font-size:15px}.caretaker-title small{color:#d6c0a099;letter-spacing:.08em;font-size:11px;font-style:italic}.caretaker-x{color:#e8d8c0b3;cursor:pointer;background:0 0;border:1px solid #ffe2be2e;border-radius:50%;flex:none;width:30px;height:30px;font-size:13px}.caretaker-x:active{background:#ffe2be1f}.caretaker-body{-webkit-overflow-scrolling:touch;padding:16px;overflow-y:auto}.caretaker-say{color:#eee2ceeb;letter-spacing:.01em;margin:0;font-size:14px;font-style:italic;line-height:1.7}.caretaker-greet{color:#ffe0b8eb}.caretaker-exchange{margin-top:14px}.caretaker-ask{color:#b4c6dcc7;letter-spacing:.03em;margin:0 0 4px;font-size:12.5px;font-style:normal}.caretaker-foot{background:#00000038;border-top:1px solid #ffc47824;padding:12px}.caretaker-tabs{flex-wrap:wrap;gap:7px;display:flex}.caretaker-tab{color:#e8d8c0d1;letter-spacing:.03em;cursor:pointer;background:#ffb4600f;border:1px solid #ffc47838;border-radius:999px;padding:7px 12px;font-size:12px}.caretaker-tab.active{color:#ffe6c4f5;background:#ffb46029;border-color:#ffc47899}.caretaker-questions{flex-direction:column;gap:6px;margin-top:10px;display:flex}.caretaker-q{text-align:left;color:#e2ded6e6;cursor:pointer;background:#ffffff08;border:1px solid #d8e2ec1f;border-radius:12px;padding:10px 12px;font-size:13px}.caretaker-q:active{background:#ffffff14}.caretaker-q.asked{opacity:.45}.link-dot{background:#8892a0;border-radius:50%;flex:none;width:7px;height:7px}.link-dot.online{background:#5ce0a0;box-shadow:0 0 8px #5ce0a0b3}.link-dot.connecting{background:#f5d04d;animation:1.2s ease-in-out infinite link-pulse}@keyframes link-pulse{50%{opacity:.35}}.hud-left{left:calc(var(--gutter) + env(safe-area-inset-left));bottom:calc(20px + env(safe-area-inset-bottom));z-index:30;position:fixed}.hud-left[hidden]{display:none}.chat-toggle{position:relative}.chat-dot{box-sizing:border-box;color:#14100a;text-align:center;background:#e8a13d;border-radius:9px;min-width:17px;height:17px;padding:0 4px;font-size:11px;font-weight:700;line-height:17px;position:absolute;top:-3px;right:-3px}.chat-preview{left:calc(var(--gutter) + env(safe-area-inset-left));bottom:calc(80px + var(--dock-h,0px) + env(safe-area-inset-bottom));z-index:29;pointer-events:none;max-width:min(74vw,320px);position:fixed}.chat-preview p,.chat-lines p{color:#f0f4faeb;text-shadow:0 1px 6px #000c;overflow-wrap:anywhere;margin:0 0 4px;font-size:13px;line-height:1.35}.chat-preview p{background:#080c1480;border-radius:12px;width:-moz-fit-content;width:fit-content;padding:4px 10px;animation:9s ease-out both toast-fade}@keyframes toast-fade{0%,80%{opacity:1}to{opacity:0}}.chat-backdrop{z-index:45;touch-action:none;position:fixed;inset:0}.chat-sheet{left:0;right:0;bottom:var(--kb-inset,0px);z-index:46;box-sizing:border-box;padding:8px calc(10px + env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) calc(10px + env(safe-area-inset-left));flex-direction:column;gap:8px;max-width:560px;transition:opacity .18s,transform .18s;display:flex;position:fixed}.chat-sheet:not(.open){opacity:0;pointer-events:none;transform:translateY(14px)}body.chat-typing .chat-sheet{padding-bottom:8px}.chat-lines{pointer-events:none;opacity:.88;flex-direction:column;justify-content:flex-end;max-height:9em;display:flex;overflow:hidden}.chat-lines p.old{opacity:.6}.chat-empty{opacity:.7;font-style:italic}.chat-preview p.chat-whisper,.chat-lines p.chat-whisper{color:#f2a6ff}.chat-whisper b{font-weight:600}.chat-preview p.chat-sys,.chat-lines p.chat-sys{color:var(--text-lo);font-style:italic}.chat-sheet[hidden]{display:none}.chat-sheet.dock{left:calc(var(--gutter) + env(safe-area-inset-left));right:auto;bottom:calc(20px + env(safe-area-inset-bottom));gap:var(--space-2);z-index:31;pointer-events:none;width:min(420px,32vw);max-width:none;padding:0}.chat-sheet.dock:not(.open){opacity:1;pointer-events:none;transform:none}.chat-sheet.dock .chat-lines{pointer-events:auto;max-height:13.5em;padding:var(--space-2) var(--space-3);box-sizing:border-box;border-radius:var(--radius-md);background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);opacity:1;transition:opacity .6s}.chat-sheet.dock .chat-lines p:last-child{margin-bottom:0}.chat-sheet.dock.faded:not(:hover) .chat-lines{opacity:0}.chat-sheet.dock:not(.open) .chat-emotes{display:none}.chat-sheet.dock:not(.open) .chat-bar{opacity:0;pointer-events:none;max-height:0;overflow:hidden}.chat-sheet.dock.open .chat-emotes,.chat-sheet.dock.open .chat-bar{pointer-events:auto}.chat-sheet.dock .chat-emote{width:34px;height:34px;font-size:18px}.chat-sheet.dock .chat-bar input{height:40px;font-size:var(--fs-body);border-radius:var(--radius-md)}body.chat-typing .chat-sheet.dock{padding-bottom:0}body.menu-open .chat-sheet.dock .chat-lines{opacity:0;pointer-events:none}.chat-sheet.dock .chat-send{display:none}@media (prefers-reduced-motion:reduce){.chat-sheet.dock .chat-lines{transition:none}}.chat-emotes{scrollbar-width:none;touch-action:pan-x;gap:8px;display:flex;overflow-x:auto}.chat-emote{cursor:pointer;-webkit-backdrop-filter:blur(8px);background:#080c149e;border:1px solid #d8e2ec33;border-radius:50%;flex:none;width:44px;height:44px;padding:0;font-size:22px;line-height:1}.chat-emote:active{transform:scale(.9)}.chat-bar{align-items:center;gap:8px;display:flex}.chat-bar input{box-sizing:border-box;color:#f0f4faf5;-webkit-user-select:text;user-select:text;touch-action:manipulation;background:#080c14db;border:1px solid #d8e2ec47;border-radius:23px;outline:none;flex:1;min-width:0;height:46px;padding:0 16px;font-family:inherit;font-size:16px}.chat-bar input:focus{border-color:#e8eef699}.chat-send{color:#f0f4faf5;letter-spacing:.04em;cursor:pointer;background:#3a4a60f5;border:1px solid #e8eef666;border-radius:23px;flex:none;min-width:76px;height:46px;padding:0 18px;font-size:15px;font-weight:600}.chat-send:active{background:#d8e2ec66}body.chat-typing .touch-zone,body.chat-typing .joy-base,body.chat-typing .hud-slot,body.chat-typing .hud-orb{display:none!important}.log-toast{left:50%;bottom:calc(max(150px, var(--dock-h,0px) + 36px) + env(safe-area-inset-bottom));z-index:36;text-align:center;-webkit-backdrop-filter:blur(10px);pointer-events:none;background:#080c149e;border:1px solid #e8d6a04d;border-radius:16px;flex-direction:column;align-items:center;gap:3px;width:max-content;max-width:min(86vw,360px);padding:10px 20px;animation:4.6s ease-in-out both log-toast;display:flex;position:fixed;transform:translate(-50%)}.log-toast-eyebrow{letter-spacing:.3em;text-transform:uppercase;color:#e8d6a0cc;font-size:11px}.log-toast-title{letter-spacing:.08em;color:#f4f7fcf5;font-size:15px}.log-toast-text{color:#e8eef6a8;font-size:12px;line-height:1.4}@keyframes log-toast{0%{opacity:0;transform:translate(-50%,-8px)}8%,86%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%)}}.sheet-scrim{z-index:50;background:#04070c80;justify-content:center;align-items:flex-end;animation:.2s ease-out both fade-opacity;display:flex;position:fixed;inset:0}.sheet{box-sizing:border-box;width:min(100vw,520px);max-height:88vh;touch-action:pan-y;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;max-height:88dvh;padding:0 18px calc(24px + env(safe-area-inset-bottom));color:#e8eef6eb;background:#0c1018f5;border:1px solid #d8e2ec29;border-bottom:0;border-radius:22px 22px 0 0;animation:.26s ease-out both sheet-up;overflow-y:auto;box-shadow:0 -20px 60px #00000080}@keyframes sheet-up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.sheet-grab{width:100%;height:var(--tap-min);cursor:pointer;z-index:2;background:#0c1018f5;border:0;padding:0;display:block;position:sticky;top:0}.sheet-grab:before{content:"";background:#d8e2ec4d;border-radius:3px;width:44px;height:5px;margin:0 auto;display:block}.log-head{text-align:center;padding-bottom:6px}.log-eyebrow{letter-spacing:.32em;text-transform:uppercase;color:#e8d6a0cc;font-size:11px}.log-head h2{letter-spacing:.1em;margin:6px 0 2px;font-size:24px;font-weight:300}.log-head p{color:#e8eef69e;margin:0;font-size:13px}.log-head .log-next{font-size:var(--fs-caption);letter-spacing:.1em;margin-top:8px}.log-bar{background:#d8e2ec24;border-radius:2px;max-width:280px;height:4px;margin:14px auto 0;overflow:hidden}.log-bar i{background:linear-gradient(90deg,#e8d6a0,#a0e8f0);border-radius:2px;height:100%;display:block}.log-stats{flex-wrap:wrap;gap:8px;margin:14px 0 4px;display:flex}.log-stats>div{background:#d8e2ec12;border-radius:12px;flex-direction:column;flex:90px;align-items:center;gap:2px;padding:10px 6px;display:flex}.log-stats b{font-size:18px;font-weight:500}.log-stats span{font-size:var(--fs-caption);letter-spacing:.08em;text-align:center;color:var(--text-mid)}.sheet h3{letter-spacing:.24em;text-transform:uppercase;color:var(--text-lo);margin:18px 0 6px;font-size:11px;font-weight:500}.log-list{margin:0;padding:0;list-style:none}.log-list li{border-bottom:1px solid #d8e2ec12;align-items:flex-start;gap:12px;min-height:44px;padding:8px 0;display:flex}.log-tick{color:#e8d6a0;text-align:center;flex:none;width:16px;margin-top:1px}.log-list .unfound{opacity:.55}.log-list .unfound .log-tick{color:#e8eef680}.log-item,.log-world{text-align:left;flex-direction:column;gap:2px;display:flex}.log-item b,.log-world b{letter-spacing:.03em;font-size:14px;font-weight:500}.log-item small,.log-world small{color:#e8eef699;font-size:12px;line-height:1.4}.log-world{width:100%;min-height:44px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;padding:0}.log-foot{font-size:var(--fs-caption);text-align:center;color:#e8eef66b;margin:18px 0 0;line-height:1.5}.recovery{z-index:100;touch-action:manipulation;-webkit-user-select:text;user-select:text;background:#060a12e0;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.recovery-card{text-align:center;max-width:360px;line-height:1.5}.recovery-card h1{color:#eef3f8;margin:0 0 8px;font-size:1.25rem;font-weight:600}.recovery-card p{color:#aab8c6;margin:0 0 20px}.recovery-actions{flex-direction:column;gap:10px;display:flex}.recovery-actions button{color:#f2f6fb;min-height:46px;font:inherit;cursor:pointer;background:#ffffff24;border:1px solid #ffffff40;border-radius:999px;padding:0 20px}.recovery-actions button.quiet{color:#aab8c6;background:0 0}.place-status{letter-spacing:.04em;text-align:center;-webkit-backdrop-filter:blur(8px);pointer-events:none;border-radius:999px;max-width:min(86vw,320px);padding:6px 14px;font-size:13px;font-weight:600}.place-status.ok{color:#c8ffdc;background:#14462eb3;border:1px solid #7dffa899}.place-status.bad{color:#ffd2d2;background:#50161ac7;border:1px solid #ff6b6ba6}.hud-slot--place.ok{background:#287850b3;border-color:#7dffa8f2;animation:1.6s ease-in-out infinite place-pulse}@keyframes place-pulse{0%,to{box-shadow:0 0 #7dffa88c}50%{box-shadow:0 0 0 9px #7dffa800}}.hud-slot--place.disabled{opacity:.8;cursor:not-allowed;background:repeating-linear-gradient(45deg,#461a1eb3 0 6px,#281014b3 6px 12px);border:1.5px dashed #ff6b6bcc;overflow:hidden}.hud-slot--place.disabled:after{content:"";background:#ff7878e6;border-radius:2px;width:3px;margin-left:-1.5px;position:absolute;top:8%;bottom:8%;left:50%;transform:rotate(45deg)}@media (prefers-reduced-motion:reduce){.hud-slot--place.ok{animation:none}}.hud-restore:after{content:"";position:absolute;inset:-13px}.settings-legal{gap:0 var(--space-4);flex-wrap:wrap;display:flex}.settings-legal a{min-height:var(--tap-min);min-width:var(--tap-min);justify-content:center;align-items:center;display:inline-flex}
