@font-face{font-family:Fredoka;src:url(/fonts/fredoka-latin.woff2) format("woff2");font-weight:300 700;font-style:normal;font-display:swap}@font-face{font-family:Nunito;src:url(/fonts/nunito-latin.woff2) format("woff2");font-weight:300 900;font-style:normal;font-display:swap}:root{--cream: #f9f3df;--cream-2: #efe4c2;--cream-3: #e2d4a8;--ink: #33472f;--ink-soft: #5c7050;--ink-mute: #7f8f74;--edge: #7fa35a;--edge-dark: #577a3a;--teal: #2a9d8f;--teal-dark: #20796e;--coral: #e76f51;--coral-dark: #c9523a;--gold-1: #ffe37a;--gold-2: #ffc93c;--gold-3: #f0a91b;--brown: #7a4a10;--bg: #7fb05a;--dark-1: rgba(76, 100, 40, .92);--dark-2: rgba(52, 72, 26, .92);--dark-edge: #8fae55;--bar-bg: #2f4419;--bar-fill-1: #d4ef85;--bar-fill-2: #8fc73f;--bar-fill-3: #6ba82c;--hint-bg: rgba(40, 60, 24, .78);--veil-1: #9dd2f2;--veil-2: #dbe9c6;--veil-3: #8fc46a;--veil-hill: #6aa94d;--panel-w: 460px;--panel-shadow: 0 6px 0 rgba(52, 74, 24, .22), 0 12px 26px rgba(30, 50, 12, .24);--panel-shadow-sm: 0 4px 0 rgba(52, 74, 24, .2), 0 7px 14px rgba(30, 50, 12, .2);--hud-pad: clamp(10px, 1.4vw, 22px);--display: "Fredoka", "Trebuchet MS", system-ui, sans-serif;--body: "Nunito", "Segoe UI", system-ui, sans-serif}:root[data-theme=frost]{--cream: #eef4fa;--cream-2: #dbe6f1;--cream-3: #c5d5e5;--ink: #1f3550;--ink-soft: #3e5b7c;--ink-mute: #6b85a3;--edge: #6c9ac4;--edge-dark: #4a78a8;--teal: #2f6fbf;--teal-dark: #24599c;--bg: #7fa6cf;--dark-1: rgba(36, 64, 104, .92);--dark-2: rgba(22, 42, 74, .92);--dark-edge: #7fa6d0;--bar-bg: #1b3252;--bar-fill-1: #bfe0ff;--bar-fill-2: #6fb0f0;--bar-fill-3: #3f86d6;--hint-bg: rgba(20, 38, 64, .8);--veil-1: #9fc6ef;--veil-2: #e3edf6;--veil-3: #c9d9e8;--veil-hill: #9db7d0;--panel-shadow: 0 6px 0 rgba(24, 48, 80, .22), 0 12px 26px rgba(12, 30, 56, .24);--panel-shadow-sm: 0 4px 0 rgba(24, 48, 80, .2), 0 7px 14px rgba(12, 30, 56, .2)}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);font-family:var(--body);color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}body:not(.plain-mode){overflow:hidden;user-select:none}#app{position:fixed;inset:0}#scene{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}#scene:active{cursor:grabbing}#hud,#worldlabels,#panels{position:absolute;inset:0;pointer-events:none}#hud>*{pointer-events:auto}#hud .hint,#hud #toasts,#hud .spot-bubs,#hud .hero{pointer-events:none}#hud .hero.show .hero-card{pointer-events:auto}#hud .hero.gone{display:none}#hud .spot-bubs .spot-bub{pointer-events:auto}.icon{width:1em;height:1em;display:block;flex:none}#loading{position:absolute;inset:0;z-index:50;display:grid;place-items:center;background:linear-gradient(180deg,var(--veil-1) 0%,var(--veil-2) 55%,var(--veil-3) 100%);transition:opacity .6s ease}#loading.done{opacity:0;pointer-events:none}.loading-inner{text-align:center;font-family:var(--display);font-weight:600;color:var(--ink);font-size:18px}.loading-sun{width:96px;height:56px;margin:0 auto 10px;overflow:hidden;position:relative}.loading-sun i{position:absolute;left:50%;bottom:-24px;width:48px;height:48px;margin-left:-24px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#fff2b0,var(--gold-2) 60%,var(--gold-3));box-shadow:0 0 30px #ffc93cb3;animation:rise 1.6s ease-in-out infinite alternate}.loading-sun:after{content:"";position:absolute;left:0;right:0;bottom:0;height:22px;border-radius:50% 50% 0 0;background:var(--veil-hill)}@keyframes rise{0%{transform:translateY(14px)}to{transform:translateY(-6px)}}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;padding:0 18px;height:46px;cursor:pointer;text-decoration:none;font-family:var(--display);font-weight:600;font-size:16px;color:var(--ink);background:linear-gradient(180deg,#fdf8e4 0%,var(--cream) 42%,var(--cream-2) 100%);border-radius:18px;box-shadow:inset 0 0 0 3px var(--edge),inset 0 3px #ffffffbf,inset 0 -5px #9682462e,var(--panel-shadow-sm);transition:transform .12s cubic-bezier(.34,1.56,.64,1),filter .12s}.btn:after{content:"";position:absolute;inset:5px 6px auto;height:34%;border-radius:14px 14px 60% 60%;background:linear-gradient(180deg,#ffffff8c,#fff0);pointer-events:none}.btn:hover{transform:translateY(-2px) scale(1.02);filter:saturate(1.06) brightness(1.03)}.btn:active{transform:translateY(2px) scale(.98)}.btn:focus-visible,.round-btn:focus-visible,.icon-btn:focus-visible,.zone-pip:focus-visible,.spot-bub:focus-visible,.player-card:focus-visible{outline:3px solid var(--gold-2);outline-offset:2px}.btn .icon{width:20px;height:20px}.btn.sm{height:38px;padding:0 14px;font-size:14px;border-radius:14px}.btn.cta{color:#fff;background:linear-gradient(180deg,#ff9d78 0%,var(--coral) 45%,var(--coral-dark) 100%);box-shadow:inset 0 0 0 3px #ffd0bf,inset 0 3px #ffffff59,inset 0 -5px #78281440,var(--panel-shadow-sm);text-shadow:0 1px 0 rgba(120,40,20,.35)}.btn.ghost{background:#fffdf4b3;box-shadow:inset 0 0 0 2px var(--cream-3),var(--panel-shadow-sm)}.btn.hire{color:var(--brown);background:linear-gradient(180deg,var(--gold-1) 0%,var(--gold-2) 55%,var(--gold-3) 100%);box-shadow:inset 0 0 0 3px #fff2c4,inset 0 3px #ffffff80,inset 0 -5px #965a0038,var(--panel-shadow-sm)}.round-btn{width:46px;height:46px;border:none;border-radius:50%;cursor:pointer;display:grid;place-items:center;color:var(--ink);text-decoration:none;background:linear-gradient(180deg,#fdf8e4,var(--cream-2));box-shadow:inset 0 0 0 3px var(--edge),inset 0 2px #ffffffb3,var(--panel-shadow-sm);transition:transform .12s}.round-btn:hover{transform:translateY(-2px) scale(1.04)}.round-btn:active{transform:translateY(1px)}.round-btn .icon{width:20px;height:20px}.round-btn.flip .icon{transform:scaleX(-1)}.round-btn.sm{width:38px;height:38px}.round-btn.sm .icon{width:17px;height:17px}.icon-btn{width:44px;height:44px;border:none;border-radius:50%;cursor:pointer;text-decoration:none;display:grid;place-items:center;color:#fdf8e0;background:linear-gradient(180deg,var(--dark-1),var(--dark-2));box-shadow:inset 0 0 0 3px var(--dark-edge),inset 0 2px #fff3,var(--panel-shadow-sm);transition:transform .12s}.icon-btn:hover{transform:translateY(-2px)}.icon-btn .icon{width:20px;height:20px}.icon-btn.music .ico-on{display:none}.icon-btn.music.on .ico-on{display:block}.icon-btn.music.on .ico-off{display:none}.icon-btn.music.on{background:linear-gradient(180deg,#2a9d8f,#1e7a70);box-shadow:inset 0 0 0 3px #8fd6c8,var(--panel-shadow-sm)}.zoom-rail{position:absolute;right:var(--hud-pad);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:8px}.zoom-rail .round-btn{color:var(--ink-soft)}.icon-btn.evening .moon,.icon-btn.evening.on .sun{display:none}.icon-btn.evening.on .moon{display:block}.icon-btn.evening.on{background:linear-gradient(180deg,#4a4e9c,#2f3270);box-shadow:inset 0 0 0 3px #9aa0e0,var(--panel-shadow-sm)}.tile{flex-direction:column;gap:2px;width:var(--tile-w, 88px);height:var(--tile-h, 80px);padding:0 4px;font-size:clamp(11px,.95vw,14px);text-shadow:0 1px 0 rgba(255,255,255,.65)}.tile>.icon{width:var(--tile-icon, 30px);height:var(--tile-icon, 30px);color:var(--teal-dark);filter:drop-shadow(0 2px 1px rgba(60,80,30,.2))}.tile.on{box-shadow:inset 0 0 0 3px var(--coral),inset 0 3px #ffffffbf,var(--panel-shadow-sm)}.hud-topleft{position:absolute;top:var(--hud-pad);left:var(--hud-pad);display:flex;flex-direction:column;align-items:flex-start;gap:8px}.stats{display:flex;flex-wrap:wrap;gap:6px;padding-left:6px}.player-card{display:flex;align-items:center;gap:10px;border:none;cursor:pointer;padding:6px 22px 6px 6px;border-radius:999px;font-family:inherit;text-align:left;background:linear-gradient(180deg,var(--dark-1),var(--dark-2));box-shadow:inset 0 0 0 3px var(--dark-edge),inset 0 2px #ffffff38,var(--panel-shadow-sm);transition:transform .12s}.player-card:hover{transform:translateY(-2px)}.avatar{width:62px;height:62px;border-radius:50%;flex:none;display:grid;place-items:center;background:radial-gradient(circle at 40% 32%,#fffdf4,#e6dcc0);box-shadow:inset 0 0 0 4px var(--dark-edge),0 3px 6px #14280a59;color:var(--teal-dark)}.avatar .icon{width:34px;height:34px}.avatar img{width:100%;height:100%;object-fit:cover;object-position:50% 12%;border-radius:50%;display:block}.hero-photo{width:108px;height:108px;border-radius:50%;object-fit:cover;object-position:50% 10%;display:block;margin:-84px auto 10px;background:#fff;box-shadow:0 0 0 5px var(--cream),0 0 0 9px var(--edge),var(--panel-shadow-sm)}.panel-photo-row{display:flex;align-items:center;gap:12px;margin:6px 0 14px}.panel-photo{width:64px;height:64px;flex:none;border-radius:50%;object-fit:cover;object-position:50% 10%;background:#fff;box-shadow:0 0 0 3px var(--edge)}.panel-photo-row b{display:block;font-family:var(--display);font-weight:600;font-size:18px;line-height:1.1}.panel-photo-row span{color:var(--ink-mute);font-weight:700;font-size:13px}.plain-photo{width:128px;height:128px;border-radius:50%;object-fit:cover;object-position:50% 10%;display:block;margin:0 auto 12px;background:#fff;box-shadow:0 0 0 4px var(--edge)}.player-meta{display:flex;flex-direction:column;gap:4px;padding-top:2px}.player-name{font-family:var(--display);font-size:21px;font-weight:600;color:#fdf8e0;text-shadow:0 2px 0 rgba(30,48,14,.55);line-height:1;letter-spacing:.2px}.xp-row{display:flex;align-items:center;gap:7px}.level-badge{width:30px;height:30px;flex:none;border-radius:50%;display:grid;place-items:center;font-family:var(--display);font-size:15px;font-weight:700;color:var(--brown);background:radial-gradient(circle at 36% 28%,var(--gold-1),var(--gold-2) 58%,var(--gold-3));box-shadow:inset 0 0 0 2.5px #fff2c4,0 2px 4px #3c280066}.xp-bar{position:relative;width:172px;height:22px;border-radius:999px;background:var(--bar-bg);box-shadow:inset 0 0 0 2.5px var(--dark-edge),inset 0 2px 4px #00000073;overflow:hidden}.xp-fill{position:absolute;inset:3px;border-radius:999px;background:linear-gradient(180deg,var(--bar-fill-1),var(--bar-fill-2) 60%,var(--bar-fill-3));box-shadow:inset 0 1.5px #fff9}.xp-text{position:absolute;inset:0;display:grid;place-items:center;font-size:12px;font-weight:800;color:#fdf8e0;text-shadow:0 1px 2px rgba(20,34,8,.9);white-space:nowrap}.zone-nav{position:absolute;top:var(--hud-pad);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px}.zone-strip{display:flex;align-items:center;gap:4px;padding:6px 10px;border-radius:999px;background:linear-gradient(180deg,var(--dark-1),var(--dark-2));box-shadow:inset 0 0 0 3px var(--dark-edge),inset 0 2px #ffffff38,var(--panel-shadow-sm)}.zone-pip{display:flex;align-items:center;gap:7px;border:none;background:transparent;padding:4px;border-radius:999px;cursor:pointer;color:#fdf8e0;font-family:var(--display);font-weight:600;font-size:14px}.zone-pip i{width:10px;height:10px;border-radius:50%;background:#ffffff59;box-shadow:inset 0 1px 1px #0000004d;transition:all .2s}.zone-pip span{display:none;white-space:nowrap}.zone-pip.on{background:linear-gradient(180deg,#fdf8e4,var(--cream-2));color:var(--ink);padding:4px 12px 4px 6px;box-shadow:inset 0 0 0 2px var(--edge)}.zone-pip.on i{background:radial-gradient(circle at 36% 28%,var(--gold-1),var(--gold-3))}.zone-pip.on span{display:inline}.zone-pip:hover:not(.on) i{background:#ffffffbf;transform:scale(1.2)}.hud-topright{position:absolute;top:var(--hud-pad);right:var(--hud-pad);display:flex;align-items:center;gap:8px;transition:right .3s ease}.chip{display:flex;align-items:center;gap:6px;padding:4px 10px 4px 7px;border-radius:999px;background:linear-gradient(180deg,var(--dark-1),var(--dark-2));box-shadow:inset 0 0 0 3px var(--dark-edge),inset 0 2px #fff3,var(--panel-shadow-sm);color:#fdf8e0;font-family:var(--display)}.chip .icon.cur{width:16px;height:16px;color:var(--gold-1)}.chip b{font-size:14px;font-weight:700;text-shadow:0 2px 0 rgba(28,46,12,.6);font-variant-numeric:tabular-nums}.chip span{font-size:11px;opacity:.85;font-family:var(--body);font-weight:700}.floater{position:absolute;transform:translate(-50%,-100%);display:flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;white-space:nowrap;background:linear-gradient(180deg,#fffdf2,var(--cream-2));color:var(--fl, var(--ink));font-family:var(--display);font-weight:600;font-size:14px;box-shadow:inset 0 0 0 2px var(--edge),var(--panel-shadow-sm);animation:float-up 1.4s ease-out forwards;pointer-events:none}.floater .icon{width:16px;height:16px}@keyframes float-up{0%{opacity:0;margin-top:10px}12%{opacity:1;margin-top:0}70%{opacity:1}to{opacity:0;margin-top:-46px}}.spot-bub.hover{transform:translate(-50%,-100%) scale(1.06);animation-play-state:paused}.cam-flash{position:absolute;inset:0;background:#fff;opacity:.85;animation:flash-out .5s ease-out forwards;pointer-events:none}@keyframes flash-out{to{opacity:0}}.toast.win{background:linear-gradient(180deg,var(--gold-1),var(--gold-2) 60%,var(--gold-3));color:var(--brown);box-shadow:inset 0 0 0 3px #fff2c4,var(--panel-shadow-sm)}.toast.win .icon{color:var(--brown)}.ach-list{list-style:none;padding:0;margin:6px 0;display:grid;gap:8px}.ach-list li{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;padding:8px 10px;border-radius:14px;background:#ffffff8c;box-shadow:inset 0 0 0 2px var(--cream-3);opacity:.8}.ach-list li.done{opacity:1;box-shadow:inset 0 0 0 2px var(--gold-2);background:#fff4c8b3}.ach-list li>.icon{width:24px;height:24px;color:var(--teal-dark)}.ach-list li.done>.icon{color:var(--gold-3)}.ach-list b{display:block;font-family:var(--display);font-weight:600;font-size:14px}.ach-list span{font-size:12px;color:var(--ink-mute);font-weight:700}.ach-list small{font-size:12px;font-weight:800;color:var(--ink-mute)}.ach-bar{display:block;height:5px;margin-top:5px;border-radius:3px;background:var(--cream-3);overflow:hidden}.ach-bar>i{display:block;height:100%;background:var(--teal);border-radius:3px}.ach-list li.done .ach-bar>i{background:var(--gold-3)}.theme-wrap{position:relative}.theme-pop{position:absolute;top:54px;right:0;z-index:6;min-width:200px;display:flex;flex-direction:column;gap:4px;padding:8px;border-radius:18px;background:linear-gradient(180deg,#fffdf4,var(--cream-2));box-shadow:inset 0 0 0 3px var(--edge),var(--panel-shadow)}.theme-pop[hidden]{display:none}.theme-opt{display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;text-align:left;border:none;cursor:pointer;padding:6px 10px 6px 6px;border-radius:12px;background:transparent;font-family:var(--display);color:var(--ink)}.theme-opt:hover{background:#fff9}.theme-opt[aria-checked=true]{background:#ffffffbf;box-shadow:inset 0 0 0 2px var(--teal)}.theme-opt i{grid-row:1 / span 2;width:34px;height:34px;border-radius:50%;box-shadow:inset 0 0 0 3px #fffc,0 2px 4px #0003}.theme-opt span{font-weight:600;font-size:14px;line-height:1.1}.theme-opt small{font-family:var(--body);font-weight:700;font-size:11px;color:var(--ink-mute)}.plain-theme{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px}.plain-theme .btn[aria-pressed=true]{box-shadow:inset 0 0 0 3px var(--teal),var(--panel-shadow-sm)}.rail{position:absolute;display:flex;flex-direction:column;gap:10px}.rail-left{left:var(--hud-pad);top:50%;transform:translateY(-50%)}.hud-bottomright{position:absolute;right:var(--hud-pad);bottom:var(--hud-pad);display:flex;flex-direction:column;align-items:flex-end;gap:10px;transition:right .3s ease}.socials{display:flex;gap:8px}.socials .round-btn{color:var(--ink-soft)}.socials .round-btn:hover{color:var(--teal-dark)}.wide-btn{height:52px;padding:0 22px;font-size:18px;border-radius:20px}.dock{position:absolute;left:50%;bottom:calc(var(--hud-pad) + 2px);transform:translate(-50%);display:none;gap:8px}.spot-bubs{position:absolute;inset:0}.spot-bub{position:absolute;transform:translate(-50%,-100%);display:flex;align-items:center;gap:8px;border:none;cursor:pointer;padding:6px 12px 6px 6px;border-radius:999px;max-width:260px;font-family:var(--display);color:var(--ink);text-align:left;background:linear-gradient(180deg,#fffdf2,var(--cream) 60%,var(--cream-2));box-shadow:inset 0 0 0 3px var(--edge),inset 0 2px #fffc,var(--panel-shadow-sm);animation:bob 2.4s ease-in-out infinite;transition:transform .15s}@keyframes bob{0%,to{margin-top:0}50%{margin-top:-6px}}.spot-bub:hover{transform:translate(-50%,-100%) scale(1.05)}.spot-bub .bub-ico{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 36% 28%,var(--gold-1),var(--gold-2) 58%,var(--gold-3));color:var(--brown);box-shadow:inset 0 0 0 2px #fff2c4}.spot-bub .bub-ico .icon{width:18px;height:18px}.spot-bub .bub-text{display:flex;flex-direction:column;line-height:1.1}.spot-bub b{font-size:14px;font-weight:600;white-space:nowrap}.spot-bub small{font-size:11px;color:var(--ink-mute);font-family:var(--body);font-weight:700;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}.spot-bub .bub-pin{position:absolute;left:50%;bottom:-9px;width:14px;height:14px;margin-left:-7px;background:var(--cream-2);transform:rotate(45deg);box-shadow:3px 3px 0 -1px var(--edge);border-radius:2px}.spot-bub.seen .bub-ico{background:radial-gradient(circle at 36% 28%,#d7f2c8,#9ccf7a 60%,#7fb65c);color:#2c4a1f}.spot-bub.on{box-shadow:inset 0 0 0 3px var(--coral),inset 0 2px #fffc,0 0 0 4px #e76f5140,var(--panel-shadow-sm);animation:none}.spot-bub.quiet{padding:4px}.spot-bub.quiet .bub-text{display:none}.spot-bub.quiet .bub-ico{width:30px;height:30px}.spot-bub.quiet.hover,.spot-bub.quiet.on{padding:5px 12px 5px 5px;z-index:2}.spot-bub.quiet.hover .bub-text,.spot-bub.quiet.on .bub-text{display:flex}.hint{position:absolute;left:50%;bottom:calc(var(--hud-pad) + 8px);transform:translate(-50%);padding:8px 16px;border-radius:999px;white-space:nowrap;max-width:calc(100vw - 32px);overflow:hidden;text-overflow:ellipsis;background:var(--hint-bg);color:#fdf8e0;font-weight:700;font-size:13.5px;box-shadow:0 4px 12px #1428084d}#toasts{position:absolute;left:50%;top:calc(var(--hud-pad) + 64px);transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px}.toast{display:flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;max-width:min(92vw,520px);background:linear-gradient(180deg,#fffdf2,var(--cream-2));color:var(--ink);font-weight:700;font-size:14px;box-shadow:inset 0 0 0 3px var(--edge),var(--panel-shadow-sm);animation:toast-in .25s cubic-bezier(.34,1.56,.64,1)}.toast .icon{width:18px;height:18px;color:var(--teal-dark)}.toast.out{opacity:0;transform:translateY(-8px);transition:all .4s}@keyframes toast-in{0%{opacity:0;transform:translateY(-10px) scale(.9)}}.hero{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;opacity:0;transition:opacity .5s ease}.hero.show{opacity:1}.hero.show .hero-card{pointer-events:auto}.hero.gone .hero-card{transform:translateY(14px) scale(.97)}.hero-card{position:relative;max-width:560px;width:calc(100vw - 32px);padding:30px 32px 24px;margin-top:calc(4vh + 60px);border-radius:28px;text-align:center;background:linear-gradient(180deg,#fffdf4f5,#f9f3dff5);box-shadow:inset 0 0 0 4px var(--edge),inset 0 3px #fffc,var(--panel-shadow);transition:transform .5s ease}.hero-close{position:absolute;top:12px;right:12px}.hero .kicker{margin:0 0 6px;font-family:var(--display);font-weight:600;color:var(--teal-dark);font-size:18px}.hero h1{margin:0 0 12px;font-family:var(--display);font-weight:700;font-size:clamp(28px,4.2vw,42px);line-height:1.08;letter-spacing:-.3px}.hero .sub{margin:0 auto 18px;max-width:46ch;font-size:16px;line-height:1.5;color:var(--ink-soft);font-weight:600}.hero-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.hero-hint{margin:16px 0 0;font-size:13px;color:var(--ink-mute);font-weight:700}#panels .panel{pointer-events:auto}.panel{position:absolute;top:var(--hud-pad);right:var(--hud-pad);bottom:var(--hud-pad);width:min(var(--panel-w),calc(100vw - 2 * var(--hud-pad)));display:flex;flex-direction:column;border-radius:26px;overflow:hidden;background:linear-gradient(180deg,#fffdf4,var(--cream) 30%,#f6eed6);box-shadow:inset 0 0 0 4px var(--edge),inset 0 3px #fffc,var(--panel-shadow);transform:translate(calc(100% + 40px));opacity:0;transition:transform .3s cubic-bezier(.2,.9,.3,1.1),opacity .25s;user-select:text}.panel.show{transform:none;opacity:1}.panel[hidden]{display:none}.spot-bub:hover,.spot-bub:focus-visible{animation-play-state:paused}.panel-head{display:flex;align-items:center;gap:12px;padding:18px 18px 12px 22px}.panel-ico{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;flex:none;color:var(--brown);background:radial-gradient(circle at 36% 28%,var(--gold-1),var(--gold-2) 58%,var(--gold-3));box-shadow:inset 0 0 0 2.5px #fff2c4,0 2px 4px #3c28004d}.panel-ico .icon{width:22px;height:22px}.panel-titles{flex:1;min-width:0}.panel-kicker{margin:0;font-size:12px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--ink-mute)}.panel h2{margin:0;font-family:var(--display);font-weight:700;font-size:24px;line-height:1.1}.panel-body{flex:1;min-height:0;overflow-y:auto;padding:4px 22px 18px;line-height:1.55;font-size:15px;overscroll-behavior:contain;scrollbar-width:thin}.panel-body>:first-child{margin-top:0}.panel-foot{display:flex;justify-content:space-between;gap:8px;padding:12px 18px 16px;background:linear-gradient(180deg,#e2d4a800,#e2d4a88c)}.panel-foot .btn .icon{width:16px;height:16px}.panel-body h3,.plain-section h3{font-family:var(--display);font-weight:600;font-size:17px;margin:22px 0 8px;display:flex;align-items:center;gap:8px;color:var(--ink)}.panel-body h3 .icon,.plain-section h3 .icon{width:20px;height:20px;color:var(--accent, var(--teal-dark))}.panel-body h4,.plain-section h4{margin:0;font-family:var(--display);font-weight:600;font-size:16px}.panel-body p,.plain-section p{margin:8px 0}.panel-body a,.plain-section a{color:var(--teal-dark);font-weight:800}.lead{font-size:16px;font-weight:700;color:var(--ink-soft)}.muted{color:var(--ink-mute);font-weight:700;font-size:14px}.flash{animation:flash 1.6s ease}@keyframes flash{0%{background:#ffc93c73;box-shadow:0 0 0 6px #ffc93c73}to{background:transparent;box-shadow:none}}.facts{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin:14px 0;padding:12px 14px;border-radius:16px;background:#ffffff8c;box-shadow:inset 0 0 0 2px var(--cream-3)}.facts div{min-width:0}.facts dt{font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--ink-mute)}.facts dd{margin:2px 0 0;font-weight:700;font-size:14px;overflow-wrap:anywhere}.chips{list-style:none;padding:0;margin:10px 0;display:flex;flex-wrap:wrap;gap:6px}.skill-group{padding:2px 0 6px;border-bottom:1px dashed var(--cream-3)}.skill-group:last-child{border-bottom:0}.skill-group h3{margin-top:16px;margin-bottom:2px}.group-blurb{margin:0 0 4px;font-size:13px}.skill-group .chips{margin-top:6px}.chips li{padding:6px 11px;border-radius:999px;background:#fff;font-weight:800;font-size:13px;box-shadow:inset 0 0 0 2px var(--cream-3)}.chips.sm li{padding:3px 9px;font-size:12px}.chips li.fav{background:var(--accent, var(--teal));color:#fff;box-shadow:inset 0 0 0 2px #fff6}.icon-list,.plain-list,.edu,.social-list{padding:0;margin:8px 0;list-style:none}.plain-list li{position:relative;padding-left:18px;margin:6px 0}.plain-list li:before{content:"";position:absolute;left:2px;top:.6em;width:8px;height:8px;border-radius:50%;background:var(--edge)}.icon-list li,.edu li{display:flex;gap:10px;align-items:flex-start;margin:8px 0}.icon-list .icon,.edu .icon{width:22px;height:22px;flex:none;color:var(--teal-dark);margin-top:2px}.quick{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quick-card{border:none;cursor:pointer;text-align:left;padding:12px 14px;border-radius:16px;font-family:var(--body);color:var(--ink);background:#fff;box-shadow:inset 0 0 0 2px var(--cream-3);display:flex;flex-direction:column;gap:2px;transition:transform .12s}.quick-card:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 2px var(--edge)}.quick-card b{font-family:var(--display);font-weight:600;font-size:15px}.quick-card span{font-size:11px;font-weight:800;color:var(--teal-dark);text-transform:uppercase;letter-spacing:.5px}.quick-card small{color:var(--ink-mute);font-weight:700}.timeline{list-style:none;padding:0 0 0 22px;margin:6px 0;position:relative}.timeline:before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:3px;border-radius:2px;background:var(--cream-3)}.tl-item{position:relative;margin:0 0 18px;padding:10px 12px;border-radius:14px;background:#ffffff80}.tl-item:before{content:"";position:absolute;left:-22px;top:16px;width:13px;height:13px;border-radius:50%;background:var(--dot, var(--teal));box-shadow:0 0 0 3px var(--cream)}.tl-head{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;font-size:16px}.tl-head b{font-family:var(--display);font-weight:600}.tl-period{margin-left:auto;font-size:12px;font-weight:800;color:var(--ink-mute);white-space:nowrap}.tl-title{font-weight:800;color:var(--teal-dark);font-size:14px}.tl-item p{margin:6px 0}.cards{display:flex;flex-direction:column;gap:10px}.card{padding:12px 14px;border-radius:16px;background:#fff9;box-shadow:inset 0 0 0 2px var(--cream-3)}.card header{display:flex;align-items:center;gap:8px}.card header .icon{width:22px;height:22px;color:var(--teal-dark)}.card .stars{margin-left:auto;display:flex;align-items:center;gap:3px;font-size:13px;font-weight:800;color:var(--gold-3)}.card .stars .icon{width:14px;height:14px}.card p{margin:6px 0}.links{display:flex;flex-wrap:wrap;gap:6px 14px}.link{display:inline-flex;align-items:center;gap:4px;font-size:14px}.link .ext{width:13px;height:13px;opacity:.7}.skill-group{margin:8px 0 4px}.mail-row{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 4px}.mail-row .btn{max-width:100%}.mail-row .btn span{overflow:hidden;text-overflow:ellipsis}.social-list li a{display:flex;align-items:center;gap:10px;padding:10px 12px;margin:6px 0;border-radius:14px;background:#fff9;box-shadow:inset 0 0 0 2px var(--cream-3);text-decoration:none;color:var(--ink);font-weight:700}.social-list li a:hover{box-shadow:inset 0 0 0 2px var(--edge)}.social-list .icon{width:22px;height:22px;color:var(--teal-dark)}.social-list span{color:var(--ink-mute);font-size:13px}.social-list .ext{margin-left:auto;width:14px;height:14px;opacity:.6}.budgets{display:flex;flex-wrap:wrap;gap:8px}.contact-form{display:flex;flex-direction:column;gap:10px;margin:8px 0 4px}.contact-form .field{display:flex;flex-direction:column;gap:4px}.contact-form label,.contact-form legend{font-size:12px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--ink-mute);padding:0}.contact-form fieldset{border:0;padding:0;margin:0;min-width:0}.contact-form label .opt{font-weight:700;letter-spacing:0;text-transform:none;opacity:.75}.contact-form input,.contact-form select,.contact-form textarea{font:inherit;font-size:max(16px,1em);font-weight:700;color:var(--ink);padding:10px 12px;border:none;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 2px var(--cream-3);min-width:0;width:100%}.contact-form textarea{resize:vertical;min-height:96px}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:none;box-shadow:inset 0 0 0 2px var(--edge),0 0 0 3px #ffc93c73}.contact-form .field.error input,.contact-form .field.error textarea{box-shadow:inset 0 0 0 2px var(--coral)}.contact-form .field-error{font-size:12px;font-weight:800;color:var(--coral-dark);min-height:0}.contact-form .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.contact-form .form-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.contact-form .two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.contact-form .checks{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.contact-form label.check{position:relative;text-transform:none;letter-spacing:0;font-size:13px;color:var(--ink);cursor:pointer}.contact-form .check input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.contact-form .check span{display:inline-block;padding:6px 11px;border-radius:999px;background:#fff;font-weight:800;box-shadow:inset 0 0 0 2px var(--cream-3);transition:background .15s,color .15s}.contact-form .check input:checked+span{background:var(--teal);color:#fff;box-shadow:inset 0 0 0 2px #fff6}.contact-form .check input:focus-visible+span{box-shadow:inset 0 0 0 2px var(--edge),0 0 0 3px #ffc93c73}.contact-form .captcha{min-height:78px;display:flex;align-items:center;max-width:100%;overflow:hidden}@media(max-width:370px){.contact-form .captcha>div{transform:scale(.86);transform-origin:0 50%}}.contact-form .copy-fallback{width:100%;min-height:120px;margin-top:8px;font:inherit;font-size:13px}.contact-form .captcha.failed{min-height:0}.contact-form .field.error .captcha{outline:2px solid var(--coral);outline-offset:4px;border-radius:6px}.contact-form .form-status{font-size:13px;font-weight:800;color:var(--ink-soft)}.contact-form[data-state=sending] .btn{opacity:.7;pointer-events:none}.form-ok{padding:14px 16px;border-radius:16px;background:#ffffffb3;box-shadow:inset 0 0 0 2px var(--edge)}.form-ok b{font-family:var(--display);font-size:17px;display:block;margin-bottom:4px}.form-ok .links{margin-top:8px}@media(min-width:900px){body.panel-open .hud-topright,body.panel-open .zoom-rail{display:none}body.panel-open .hud-bottomright{right:calc(var(--panel-w) + var(--hud-pad) * 2)}body.panel-open .hint{left:calc((100vw - var(--panel-w) - var(--hud-pad)) / 2)}}body.plain-mode{overflow:auto;background:linear-gradient(180deg,var(--veil-1) 0,var(--veil-2) 40vh,var(--cream-2) 100vh) fixed}body.plain-mode #app{position:static}#plain{max-width:760px;margin:0 auto;padding:32px 20px 60px;line-height:1.6}.plain-head{text-align:center;padding:28px 24px 22px;border-radius:28px;background:#fffdf4eb;box-shadow:inset 0 0 0 4px var(--edge),var(--panel-shadow);margin-bottom:20px}.plain-head .kicker{margin:0;color:var(--teal-dark);font-family:var(--display);font-weight:600}.plain-head h1{margin:4px 0 6px;font-family:var(--display);font-weight:700;font-size:clamp(32px,6vw,48px)}.plain-head .notice{padding:8px 12px;border-radius:12px;background:#ffc93c40;font-weight:700}.plain-nav{display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:center;margin-top:10px}.plain-nav a{font-family:var(--display);font-weight:600;color:var(--ink);text-decoration:none;padding:6px 12px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 2px var(--cream-3)}.plain-section{padding:18px 22px;margin:16px 0;border-radius:24px;background:#fffdf4eb;box-shadow:inset 0 0 0 3px var(--edge),var(--panel-shadow-sm)}.plain-section h2{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:700;margin:0 0 10px}.plain-section h2 .icon{width:26px;height:26px;color:var(--teal-dark)}.plain-foot{text-align:center;color:var(--ink-soft);font-weight:700;padding:20px 0}@media(max-width:1280px){.chip span{display:none}.xp-bar{width:140px}}@media(max-width:900px){.rail-left{display:none}.dock{display:flex;gap:6px}.dock .tile{--tile-w: clamp(46px, calc((100vw - 64px) / 6), 62px);--tile-h: 58px;--tile-icon: 22px;font-size:10.5px;border-radius:14px}.dock .tile span{max-width:calc(var(--tile-w) - 6px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hud-bottomright{bottom:auto;top:calc(var(--hud-pad) + 62px);flex-direction:row;align-items:center}.hud-bottomright .socials{display:none}.wide-btn{height:42px;padding:0 16px;font-size:15px}.stats{display:none}.hint{bottom:calc(var(--hud-pad) + 70px);font-size:12.5px}.panel{inset:auto 0 0;width:100%;height:72vh;border-radius:26px 26px 0 0;transform:translateY(105%)}.panel.show{transform:none}.panel-foot .btn span{font-size:13px}.facts,.quick{grid-template-columns:1fr}}@media(max-width:640px){:root{--hud-pad: 10px}.icon-btn{width:38px;height:38px}.icon-btn .icon{width:18px;height:18px}.hud-topright{gap:6px}.zoom-rail{top:auto;bottom:calc(var(--hud-pad) + 132px);transform:none}.player-card{padding-right:12px}.player-meta{display:none}.avatar{width:48px;height:48px}.avatar .icon{width:26px;height:26px}.zone-nav{top:calc(var(--hud-pad) + 62px)}.zone-nav .round-btn{width:40px;height:40px}.zone-pip span{font-size:13px}.hud-bottomright{top:auto;bottom:calc(var(--hud-pad) + 76px);right:var(--hud-pad)}.hint{bottom:calc(var(--hud-pad) + 128px);font-size:12px;max-width:calc(100vw - 24px)}.spot-bub{padding:4px 10px 4px 4px;max-width:200px}.spot-bub small{display:none}.spot-bub b{font-size:12.5px}.spot-bub .bub-ico{width:28px;height:28px}.spot-bub .bub-ico .icon{width:15px;height:15px}.hero-card{padding:24px 18px 18px}.hero .sub{font-size:15px}#toasts{top:calc(var(--hud-pad) + 118px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.tile .tile-s{display:none}@media(max-width:480px){.dock .tile .tile-l{display:none}.dock .tile .tile-s{display:inline}}@media(max-width:360px){.dock .tile{padding:0 2px;font-size:9px;letter-spacing:-.1px}}@media(min-width:901px)and (max-height:800px){.rail{gap:6px}.rail-left .tile{--tile-w: 66px;--tile-h: 58px;--tile-icon: 24px;font-size:11px}}@media(min-width:901px)and (max-height:640px){.rail{gap:4px}.rail-left .tile{--tile-w: 60px;--tile-h: 50px;--tile-icon: 20px;font-size:10px}}#hud .cam-flash{pointer-events:none}
