@font-face{font-family:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/6865e74822869db5-s.1t_e7nl3ovll-.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/0494568ab28b6008-s.421v1u00lnp2a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/66b33cc02d8f8b9d-s.p.3slq8sz4zhb1g.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/a5a3076f5a3c2968-s.09mqwf_zjnrdf.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/23f1a98b08006014-s.0s5mkn35-hrc5.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/54fc36028e2bb174-s.p.20jfceqj9zyw9.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_ad674475-module__5_rPsq__className{font-family:Fraunces,Fraunces Fallback}.fraunces_ad674475-module__5_rPsq__variable{--font-display:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/400bf8aa837fcb7e-s.19g-lkcx7iw64.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/f7aa21714c1c53f8-s.p.0-95eo-012xnf.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree Fallback;src:local(Arial);ascent-override:94.32%;descent-override:24.82%;line-gap-override:0.0%;size-adjust:100.72%}.figtree_24670961-module__6lzLDG__className{font-family:Figtree,Figtree Fallback;font-style:normal}.figtree_24670961-module__6lzLDG__variable{--font-body:"Figtree", "Figtree Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.3hlisc-pwq13z.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.36fqqi66-3tjb.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3_z45zcoc-xoz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.1bkzbscqrt8rl.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/26f284dcc38c84c0-s.3hlisc-pwq13z.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fa39153a3fc630ba-s.36fqqi66-3tjb.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3_z45zcoc-xoz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/051742360c26797e-s.p.1bkzbscqrt8rl.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_94e8cdd6-module__5DYTaG__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_94e8cdd6-module__5DYTaG__variable{--font-jbm:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--f-display:var(--font-display), Georgia, "Times New Roman", serif;--f-body:var(--font-body), "Segoe UI", system-ui, -apple-system, sans-serif;--mono:var(--font-jbm), "Cascadia Code", Consolas, "SF Mono", Menlo, monospace;--bg:#08122b;--bg-2:#0b1838;--surface:#0f1e45;--surface-2:#15295a;--surface-3:#1c3570;--line:#94b0ff21;--line-2:#94b0ff42;--ink:#eef2fc;--ink-2:#a8b6db;--ink-3:#7182b3;--on-gold:#1a1404;--gold:#ffc857;--gold-hi:#ffd987;--gold-soft:#ffc85724;--sky:#7fa8ff;--sky-soft:#7fa8ff26;--mint:#4ed6a4;--mint-soft:#4ed6a424;--coral:#ff7a6b;--coral-soft:#ff7a6b26;--accent:var(--gold);--good:var(--mint);--warn:var(--gold);--crit:var(--coral);--st-int:var(--sky);--st-craft:var(--coral);--st-str:var(--mint);--st-wealth:var(--gold);--heat-0:#14254f;--heat-1:#1f3c7c;--heat-2:#2f59ab;--heat-3:#4b7fdb;--heat-4:#7fa8ff;--heat-5:#cfe0ff;--band-newbie:#9aa6c612;--band-pupil:#4ed6a414;--band-spec:#4fd1e014;--band-expert:#7fa8ff1a;--rk-gray:#9aa6c6;--rk-green:#4ed6a4;--rk-cyan:#4fd1e0;--rk-blue:#7fa8ff;--r-lg:20px;--r:14px;--r-sm:10px;--ease:cubic-bezier(.2, .7, .2, 1);--shadow:0 1px 0 #ffffff0a inset, 0 18px 40px -24px #000000b3}*{box-sizing:border-box}html,body{margin:0;padding:0}body{min-height:100dvh;color:var(--ink);font-family:var(--f-body);-webkit-font-smoothing:antialiased;background:radial-gradient(900px 480px at 92% -10%, #ffc8571a, transparent 60%), radial-gradient(900px 600px at -10% 10%, #7fa8ff1a, transparent 60%), linear-gradient(180deg, var(--bg-2), var(--bg) 520px);background-color:var(--bg);background-attachment:fixed;font-size:15px;line-height:1.5}body:before{content:"";z-index:-1;pointer-events:none;opacity:.55;background-image:radial-gradient(1.2px 1.2px at 8% 14%,#ffffffb3,#0000 70%),radial-gradient(1px 1px at 23% 61%,#ffffff73,#0000 70%),radial-gradient(1.4px 1.4px at 41% 27%,#ffe6aa99,#0000 70%),radial-gradient(1px 1px at 57% 83%,#fff6,#0000 70%),radial-gradient(1.2px 1.2px at 71% 42%,#ffffff8c,#0000 70%),radial-gradient(1px 1px at 88% 71%,#fff6,#0000 70%),radial-gradient(1.3px 1.3px at 94% 9%,#ffe6aa8c,#0000 70%),radial-gradient(1px 1px at 33% 92%,#ffffff59,#0000 70%);background-size:420px 420px;position:fixed;inset:0}::selection{background:var(--gold);color:var(--on-gold)}.mono,.num{font-family:var(--mono);font-variant-numeric:tabular-nums}.display{font-family:var(--f-display);font-variation-settings:"SOFT" 100, "WONK" 1}button{font:inherit;color:inherit;cursor:pointer}input,select,textarea{font:inherit;color:var(--ink)}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.hdr{z-index:30;-webkit-backdrop-filter:blur(14px)saturate(140%);border-bottom:1px solid var(--line);background:#08122bb8;padding:12px 16px 10px;position:sticky;top:0}.hdr-row{flex-wrap:wrap;align-items:center;gap:12px;max-width:1000px;margin:0 auto;display:flex}.brand{align-items:center;gap:9px;margin:0;display:inline-flex}.brand .spark{width:20px;height:20px;color:var(--gold);filter:drop-shadow(0 0 8px #ffc8578c)}.brand h1{font-family:var(--f-display);letter-spacing:.005em;font-variation-settings:"SOFT" 100, "WONK" 1, "opsz" 72;margin:0;font-size:21px;font-weight:600}.hdr .spacer{flex:1}.pill{background:var(--surface);border:1px solid var(--line);color:var(--ink-2);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 11px;font-size:12px;display:inline-flex}.pill b{color:var(--ink);font-weight:600}a.pill.link{text-decoration:none;transition:border-color .15s,color .15s}a.pill.link:hover{color:var(--ink);border-color:var(--line-2)}.saved{color:var(--ink-3);align-items:center;gap:6px;font-size:11.5px;display:inline-flex}.saved:before{content:"";background:var(--mint);width:7px;height:7px;box-shadow:0 0 8px var(--mint);border-radius:50%}.saved.busy:before{background:var(--gold);box-shadow:0 0 8px var(--gold);animation:1s ease-in-out infinite blink}.saved.err{color:var(--coral)}.saved.err:before{background:var(--coral);box-shadow:0 0 8px var(--coral)}.tabs{border:1px solid var(--line);background:#0f1e45b3;border-radius:999px;gap:4px;width:fit-content;max-width:1000px;margin:10px auto 0;padding:4px;display:flex}.tab{color:var(--ink-2);white-space:nowrap;transition:background .2s var(--ease), color .2s var(--ease);background:0 0;border:none;border-radius:999px;align-items:center;gap:7px;padding:7px 15px;font-size:13.5px;font-weight:500;display:inline-flex}.tab svg{width:16px;height:16px}.tab:hover{color:var(--ink)}.tab[aria-selected=true]{background:var(--gold);color:var(--on-gold);font-weight:600}.bottomnav{display:none}@media (max-width:760px){.hdr .tabs{display:none}.bottomnav{z-index:30;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(16px)saturate(140%);border:1px solid var(--line-2);background:#0c193ae0;border-radius:22px;padding:6px;display:flex;position:fixed;box-shadow:0 20px 40px -12px #000000b3}.bottomnav .tab{border-radius:16px;flex-direction:column;flex:1;gap:3px;padding:7px 2px 6px;font-size:10.5px}.bottomnav .tab svg{width:20px;height:20px}}main{max-width:1000px;margin:0 auto;padding:22px 16px 90px}@media (max-width:760px){main{padding:16px 12px calc(110px + env(safe-area-inset-bottom))}}.grid2{grid-template-columns:1fr 1fr;gap:14px;display:grid}.grid2>.card{margin-bottom:0}.grid2{margin-bottom:14px}@media (max-width:760px){.grid2{grid-template-columns:1fr}}.panel>*{animation:rise .5s var(--ease) both}.panel>:nth-child(2){animation-delay:40ms}.panel>:nth-child(3){animation-delay:80ms}.panel>:nth-child(4){animation-delay:.12s}.panel>:nth-child(5){animation-delay:.16s}.panel>:nth-child(n+6){animation-delay:.2s}.card{background:linear-gradient(180deg, #ffffff06, transparent 120px), var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);margin-bottom:14px;padding:16px 18px 18px;position:relative}.card h2{font-family:var(--f-display);font-variation-settings:"SOFT" 100, "opsz" 36;letter-spacing:.005em;color:var(--ink);flex-wrap:wrap;align-items:baseline;gap:8px;margin:0 0 12px;font-size:17.5px;font-weight:600;display:flex}.card h2 .r{font-family:var(--f-body);color:var(--ink-3);letter-spacing:0;margin-left:auto;font-size:12px;font-weight:400}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:600}.hint{color:var(--ink-2);font-size:13px}.tiny{color:var(--ink-3);font-size:12px}.sep{border:none;border-top:1px solid var(--line);margin:14px 0}.banner{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);color:var(--ink);align-items:flex-start;gap:12px;margin-bottom:14px;padding:12px 14px;font-size:14px;display:flex}.banner>.b-ico{background:var(--gold-soft);width:26px;height:26px;color:var(--gold);border-radius:50%;flex:none;place-items:center;font-size:13px;display:grid}.banner.crit>.b-ico{background:var(--coral-soft);color:var(--coral)}.banner.info>.b-ico{background:var(--sky-soft);color:var(--sky)}.banner b{font-weight:600}.banner .b-body{flex:1}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.row+.row{margin-top:10px}.lbl{color:var(--ink-2);min-width:96px;font-size:14px}input[type=number],input[type=text],input[type=password],input[type=date],input[type=time],select,textarea{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);max-width:100%;padding:7px 11px;font-size:14px;transition:border-color .15s,background .15s}input:hover,select:hover,textarea:hover{border-color:var(--line-2)}input:focus,select:focus,textarea:focus{border-color:var(--gold);background:#182f66;outline:none}input[type=number]{width:80px;font-family:var(--mono)}input[type=date],input[type=time]{font-family:var(--mono);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}input::placeholder,textarea::placeholder{color:var(--ink-3)}textarea{resize:vertical;width:100%;min-height:46px;line-height:1.45}select{padding-right:8px}.btn{border:1px solid var(--line-2);background:var(--surface-2);color:var(--ink);transition:background .15s, border-color .15s, transform .12s var(--ease);border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:7px 15px;font-size:13.5px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{background:var(--surface-3)}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--gold);border-color:var(--gold);color:var(--on-gold);font-weight:600}.btn.primary:hover{background:var(--gold-hi)}.btn.ghost{background:0 0}.btn.small{padding:4px 11px;font-size:12.5px}.btn.icon{width:34px;height:34px;padding:0;font-size:20px;line-height:1}.btn svg{width:15px;height:15px}.seg{flex-wrap:wrap;gap:6px;display:flex}.seg button{border:1px solid var(--line-2);color:var(--ink-2);transition:all .15s var(--ease);background:0 0;border-radius:999px;align-items:center;gap:7px;padding:6px 14px;font-size:13.5px;font-weight:500;display:inline-flex}.seg button:before{content:"";opacity:.8;background:currentColor;border-radius:50%;width:8px;height:8px}.seg button.k-green{color:var(--mint)}.seg button.k-yellow{color:var(--gold)}.seg button.k-red{color:var(--coral)}.seg button:hover{background:var(--surface-2)}.seg button.on-green{background:var(--mint-soft);border-color:var(--mint);font-weight:600}.seg button.on-yellow{background:var(--gold-soft);border-color:var(--gold);font-weight:600}.seg button.on-red{background:var(--coral-soft);border-color:var(--coral);font-weight:600}.chk{border:1px solid var(--line-2);-webkit-user-select:none;user-select:none;transition:all .15s var(--ease);background:0 0;border-radius:999px;align-items:center;gap:9px;padding:6px 14px 6px 8px;font-size:14px;display:inline-flex}.chk .box{border:1.5px solid var(--ink-3);color:#0000;width:20px;height:20px;transition:all .2s var(--ease);border-radius:50%;place-items:center;font-size:12px;display:grid}.chk:hover{background:var(--surface-2)}.chk.done{border-color:var(--mint);background:var(--mint-soft);color:var(--ink);font-weight:600}.chk.done .box{background:var(--mint);border-color:var(--mint);color:#062a1d;animation:pop .35s var(--ease)}.step{border:1px solid var(--line-2);border-radius:999px;align-items:center;display:inline-flex;overflow:hidden}.step button{width:32px;height:30px;color:var(--ink-2);background:0 0;border:none;font-size:16px}.step button:hover{background:var(--surface-2);color:var(--ink)}.step .v{text-align:center;min-width:30px;font-family:var(--mono);font-size:14px}.xptag{color:var(--gold);font-size:12px;font-weight:500}.bar{background:#94b0ff1a;border-radius:999px;height:10px;position:relative;overflow:hidden}.bar .fill{transition:width .7s var(--ease);border-radius:999px;position:absolute;top:0;bottom:0;left:0}.bar .band{background:#ffffff12;position:absolute;top:0;bottom:0}.bar.thin{height:6px}.meter{margin-bottom:13px}.meter .mrow{justify-content:space-between;margin-bottom:5px;font-size:14px;display:flex}.meter .mrow .v{font-family:var(--mono);color:var(--ink-2);font-size:13px}.meter.hit .mrow .v{color:var(--mint);font-weight:700}.meter.bonus{opacity:.8}.score{flex-wrap:wrap;align-items:center;gap:20px;margin-bottom:16px;display:flex}.ring{flex:none;width:116px;height:116px;position:relative}.ring svg{width:100%;height:100%;transform:rotate(-90deg)}.ring .track{stroke:#94b0ff1f}.ring .prog{stroke:var(--gold);stroke-linecap:round;transition:stroke-dashoffset .9s var(--ease);filter:drop-shadow(0 0 6px #ffc85773)}.ring .val{text-align:center;place-items:center;display:grid;position:absolute;inset:0}.ring .val b{font-family:var(--f-display);font-variation-settings:"SOFT" 100, "opsz" 144;font-size:34px;font-weight:600;line-height:1}.score .s-cap{flex:1;min-width:180px}.score .s-cap .big{font-family:var(--f-display);font-variation-settings:"SOFT" 100;margin:2px 0;font-size:22px;font-weight:600}.mission{border:1px solid var(--line-2);box-shadow:var(--shadow);background:radial-gradient(520px 260px at 0 0,#ffc85721,#0000 65%),radial-gradient(600px 300px at 100% 100%,#7fa8ff1f,#0000 60%),linear-gradient(160deg,#13285e,#0e1c43 70%);border-radius:24px;margin-bottom:14px;padding:20px 20px 18px;position:relative;overflow:hidden}.mission .m-top{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.mission .m-top .stars{color:var(--gold);margin-left:auto;font-size:13px;font-weight:600}.mission .m-main{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.mission .m-text{flex:1;min-width:200px}.mission h2{font-family:var(--f-display);font-variation-settings:"SOFT" 100, "WONK" 1, "opsz" 96;margin:0 0 4px;font-size:27px;font-weight:600;line-height:1.15}.mission .m-min{color:var(--ink);margin-bottom:10px;font-size:15.5px}.slots{flex-wrap:wrap;gap:8px;display:flex}.slot{border:1px solid var(--line);color:var(--ink-2);background:#08122b73;border-radius:999px;padding:4px 10px;font-size:12.5px}.slot b{color:var(--ink);font-weight:600;font-family:var(--mono);font-size:12px}.tapstar{text-align:center;width:132px;height:132px;color:var(--gold);transition:transform .15s var(--ease), background .3s, border-color .3s;background:radial-gradient(circle at 50% 40%,#ffc85729,#08122b59 70%);border:1.5px dashed #ffc8578c;border-radius:50%;flex:none;place-items:center;display:grid;position:relative}.tapstar:hover{border-color:var(--gold);transform:scale(1.03)}.tapstar:active{transform:scale(.96)}.tapstar .ts-in{justify-items:center;gap:4px;display:grid}.tapstar svg{width:42px;height:42px;transition:transform .4s var(--ease)}.tapstar .ts-lbl{letter-spacing:.04em;max-width:92px;font-size:12px;font-weight:600;line-height:1.2}.tapstar:not(.on){animation:3.2s ease-in-out infinite breathe}.tapstar.on{border:1.5px solid var(--gold);background:radial-gradient(circle at 50% 38%, #ffe3a3, var(--gold) 55%, #e8a92c);color:var(--on-gold);box-shadow:0 0 0 6px #ffc8571f,0 0 40px #ffc85773}.tapstar.on svg{animation:pop .5s var(--ease)}.tapstar.locked{cursor:default}.burst{pointer-events:none;position:absolute;inset:0}.burst i{background:var(--gold-hi);opacity:0;width:7px;height:7px;animation:burst .75s var(--ease) forwards;border-radius:50%;margin:-3.5px;position:absolute;top:50%;left:50%}.burst i:nth-child(2n){background:#fff;width:5px;height:5px}.constel{margin-top:16px}.constel svg{width:100%;max-width:440px;height:auto;margin:0 auto;display:block;overflow:visible}.constel .c-line{stroke:#94b0ff33;stroke-width:1.2px}.constel .c-line.lit{stroke:#ffc8578c}.constel .c-star{fill:#94b0ff2e}.constel .c-star.past{fill:none;stroke:var(--ink-3);stroke-width:1.2px}.constel .c-star.lit{fill:var(--gold);filter:drop-shadow(0 0 5px #ffc857cc)}.constel .c-today{fill:none;stroke:var(--gold);stroke-width:1.4px;transform-box:fill-box;transform-origin:50%;animation:2s ease-out infinite ping}.constel .c-wk{font-family:var(--f-body);fill:var(--ink-3);letter-spacing:.1em;font-size:10px}.constel .c-legend{justify-content:space-between;gap:8px;margin-top:6px;display:flex}.daytype{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.daytype .tiny{margin-top:8px}.disclose{text-align:left;border:1px dashed var(--line-2);border-radius:var(--r-lg);width:100%;color:var(--ink-2);background:0 0;align-items:center;gap:12px;margin-bottom:14px;padding:13px 16px;transition:background .15s,border-color .15s;display:flex}.disclose:hover{border-color:var(--sky);background:#15295a80}.disclose .d-ico{background:var(--sky-soft);width:28px;height:28px;color:var(--sky);transition:transform .25s var(--ease);border-radius:50%;place-items:center;font-size:16px;display:grid}.disclose[aria-expanded=true] .d-ico{transform:rotate(45deg)}.disclose b{color:var(--ink);font-weight:600;display:block}.welcome{box-shadow:var(--shadow);background:radial-gradient(520px 260px at 0 0,#ffc85717,#0000 65%),linear-gradient(160deg,#1a2f69,#0f1e45);border:1px solid #ffc85766;border-radius:24px;margin-bottom:14px;padding:22px 20px}.welcome h2{font-family:var(--f-display);font-variation-settings:"SOFT" 100, "WONK" 1, "opsz" 144;margin:0 0 6px;font-size:30px;font-weight:600;line-height:1.1}.welcome h2 em{color:var(--gold);font-style:italic}.welcome p{color:var(--ink-2);max-width:620px;margin:0 0 14px;font-size:15px}.welcome .q{gap:6px;margin-bottom:12px;display:grid}.welcome .q label{font-size:14px;font-weight:500}.welcome .q .row{gap:8px}.xpstrip{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.xpstrip .big{font-family:var(--f-display);color:var(--gold);font-variation-settings:"SOFT" 100, "opsz" 144;font-size:30px;font-weight:600}.player{border:1px solid var(--line-2);box-shadow:var(--shadow);background:radial-gradient(600px 260px at 0 0,#ffc8571a,#0000 60%),linear-gradient(160deg,#13285e,#0e1c43 75%);border-radius:24px;margin-bottom:14px;padding:20px}.player .p-top{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:16px;display:flex}.medal{--p:0;background:conic-gradient(var(--gold) calc(var(--p) * 1%), #94b0ff24 0);border-radius:50%;flex:none;place-items:center;width:84px;height:84px;display:grid}.medal .m-in{background:var(--surface);text-align:center;border-radius:50%;place-items:center;width:72px;height:72px;line-height:1;display:grid}.medal .m-in b{font-family:var(--f-display);font-variation-settings:"SOFT" 100, "opsz" 144;font-size:30px;font-weight:600}.medal .m-in span{letter-spacing:.16em;color:var(--ink-3);margin-top:2px;font-size:9px;display:block}.player .p-who{flex:1;min-width:180px}.player .p-name input{width:100%;max-width:320px;font-family:var(--f-display);color:var(--ink);font-variation-settings:"SOFT" 100, "WONK" 1, "opsz" 96;background:0 0;border:none;border-bottom:1px dashed #0000;border-radius:0;padding:0;font-size:25px;font-weight:600}.player .p-name input:hover,.player .p-name input:focus{border-bottom-color:var(--line-2);background:0 0}.player .p-lvl{color:var(--gold);letter-spacing:.08em;font-size:13px;font-weight:600}.pbar{margin-bottom:11px}.pbar .prow{justify-content:space-between;margin-bottom:5px;font-size:13px;display:flex}.pbar .prow .pv{color:var(--ink-2);font-family:var(--mono);font-size:12px}.statgrid{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:6px 24px;margin-top:16px;padding-top:14px;display:grid}@media (max-width:560px){.statgrid{grid-template-columns:1fr}}.quest{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:9px 0;font-size:14px;display:flex}.quest:last-child{border-bottom:none}.quest .q-name{flex:1;min-width:150px}.quest .q-prog{font-family:var(--mono);color:var(--ink-2);text-align:right;min-width:60px;font-size:12.5px}.quest .q-bar{width:100px}.quest.done .q-name{color:var(--mint);font-weight:600}.quest.done .q-prog{color:var(--mint)}.qxp{color:var(--gold);text-align:right;min-width:44px;font-size:12px;font-weight:600}.mq{border-radius:var(--r);border:1px solid var(--line);background:#08122b59;margin-bottom:10px;padding:14px}.skill-branch{margin-bottom:14px}.skill-branch .b-name{margin-bottom:8px}.skills{flex-wrap:wrap;gap:7px;display:flex}.skill{border:1px solid var(--line-2);transition:all .15s var(--ease);background:0 0;border-radius:999px;align-items:center;gap:8px;padding:5px 12px;font-size:13px;display:inline-flex}.skill:hover{background:var(--surface-2)}.skill .st{letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:600}.skill.s-locked{color:var(--ink-3);border-style:dashed}.skill.s-learning{border-color:var(--gold)}.skill.s-learning .st{color:var(--gold)}.skill.s-practiced{border-color:var(--sky);background:var(--sky-soft)}.skill.s-practiced .st{color:var(--sky)}.skill.s-mastered{border-color:var(--mint);background:var(--mint-soft)}.skill.s-mastered .st{color:var(--mint)}.achv{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;display:grid}.ach{border:1px solid var(--line);border-radius:var(--r);color:var(--ink-3);align-items:center;gap:10px;padding:10px 12px;font-size:12.5px;display:flex}.ach .a-ico{filter:grayscale();opacity:.6;background:#94b0ff14;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-size:15px;display:grid}.ach .a-name{font-size:13.5px;font-weight:600}.ach.unlocked{background:var(--surface-2);color:var(--ink-2);border-color:#ffc85780}.ach.unlocked .a-ico{filter:none;opacity:1;background:#ffc85733}.ach.unlocked .a-name{color:var(--gold)}.countdown{text-align:center;padding:6px 0 14px}.countdown .big{font-family:var(--f-display);color:var(--coral);font-variation-settings:"SOFT" 100, "WONK" 1, "opsz" 144;font-size:44px;font-weight:600;line-height:1.05}.countdown .cap{color:var(--ink-2);font-size:12.5px}.daystrip{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.daycell{border:1px solid var(--line);text-align:center;color:var(--ink-2);transition:transform .12s var(--ease), border-color .15s, background .15s;background:#08122b4d;border-radius:14px;justify-items:center;gap:3px;padding:10px 2px 8px;font-size:11.5px;display:grid;position:relative}.daycell:hover{border-color:var(--line-2);background:var(--surface-2)}.daycell:active{transform:scale(.95)}.daycell:before{content:"";background:0 0;border-radius:0 0 3px 3px;height:3px;position:absolute;top:-1px;left:12px;right:12px}.daycell.t-green:before{background:var(--mint)}.daycell.t-yellow:before{background:var(--gold)}.daycell.t-red:before{background:var(--coral)}.daycell .d-num{font-family:var(--f-display);color:var(--ink);font-size:19px;font-weight:600;line-height:1.1}.daycell .d-star{color:#94b0ff40;width:14px;height:14px}.daycell .d-star.lit{color:var(--gold);filter:drop-shadow(0 0 4px #ffc857b3)}.daycell .d-min{font-family:var(--mono);color:var(--ink-3);min-height:15px;font-size:11px}.daycell .d-type{letter-spacing:.08em;min-height:13px;font-size:9.5px;font-weight:700}.daycell.t-green .d-type{color:var(--mint)}.daycell.t-yellow .d-type{color:var(--gold)}.daycell.t-red .d-type{color:var(--coral)}.daycell.today{border-color:var(--gold);background:var(--surface-2)}.chartwrap{overflow-x:auto}.hm{gap:4px;display:flex}.hm-col{flex-direction:column;gap:4px;display:flex}.hm-cell{background:var(--heat-0);border-radius:4px;width:14px;height:14px;display:inline-block}.hm-lbls{color:var(--ink-3);flex-direction:column;gap:4px;margin-right:6px;font-size:9.5px;display:flex}.hm-lbls div{height:14px;line-height:14px}.hm-months{color:var(--ink-3);gap:4px;margin-bottom:4px;margin-left:24px;font-size:9.5px;display:flex}.hm-month{white-space:nowrap;width:14px;overflow:visible}svg text{font-family:var(--f-body)}.axis-t{fill:var(--ink-3);font-size:10px}.band-t{fill:var(--ink-2);font-size:10px}.grid-l{stroke:var(--line);stroke-width:1px}.rline{stroke:var(--gold);stroke-width:2.2px;fill:none;stroke-linejoin:round}.rdot{fill:var(--gold);stroke:var(--surface);stroke-width:2px}.rlast-t{font-family:var(--f-display);fill:var(--ink);font-size:14px;font-weight:600}.tipbox{z-index:50;pointer-events:none;background:var(--ink);color:var(--bg);border-radius:8px;max-width:240px;padding:5px 9px;font-size:12px;font-weight:500;position:fixed}.twrap{border:1px solid var(--line);border-radius:var(--r);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13.5px}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:8px 12px}tr:last-child td{border-bottom:none}th{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);background:#08122b59;font-size:11px;font-weight:600}td.t-time{font-family:var(--mono);white-space:nowrap;color:var(--gold);font-size:12.5px}.tiles{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-bottom:14px;display:grid}.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:14px 16px}.tile .t-lbl{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:600}.tile .t-val{font-family:var(--f-display);font-variation-settings:"SOFT" 100, "opsz" 144;font-size:32px;font-weight:600;line-height:1.25}.tile .t-sub{color:var(--ink-3);font-size:12px}.northstar{background:radial-gradient(500px 220px at 0% 0%, #7fa8ff1f, transparent 60%), var(--surface);border:1px solid var(--line);font-family:var(--f-display);font-variation-settings:"SOFT" 100, "opsz" 48;color:var(--ink);border-radius:24px;margin-bottom:14px;padding:22px;font-size:19px;font-style:italic;line-height:1.5}.northstar .eyebrow{color:var(--gold);margin-bottom:8px;font-style:normal;display:block}.phase-row{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:10px 0;font-size:14px;display:flex}.phase-row:last-child{border-bottom:none}.phase-row .p-tag{letter-spacing:.1em;min-width:150px;color:var(--ink-3);font-size:11px;font-weight:600}.phase-row.current .p-tag{color:var(--gold)}.tier{border-bottom:1px solid var(--line);padding:10px 0;font-size:14px}.tier:last-child{border-bottom:none}.tier .eyebrow{margin-bottom:2px;display:block}.tier:first-child .eyebrow{color:var(--gold)}.loop{color:var(--ink-2);border-radius:var(--r);background:#08122b59;margin-top:10px;padding:12px 14px;font-size:13.5px;line-height:1.9}.loop b{color:var(--gold);font-weight:600}.rank-chip{font-family:var(--f-display);border:1.5px solid;border-radius:999px;padding:0 12px;font-weight:600;display:inline-block}main a{color:var(--sky);border-bottom:1px solid #7fa8ff4d;text-decoration:none}main a:hover{border-bottom-color:var(--sky)}main a.btn{border-bottom:1px solid var(--line-2);color:var(--ink)}ul{margin:6px 0;padding-left:20px}li{margin:5px 0}li::marker{color:var(--gold)}.deleg{color:var(--ink-3);background:0 0;border:none;border-radius:999px;padding:2px 8px;font-size:13px}.deleg:hover{color:var(--coral);background:var(--coral-soft)}.evt{border-bottom:1px solid var(--line);align-items:baseline;gap:10px;padding:6px 0;font-size:13.5px;display:flex}.evt:last-child{border-bottom:none}.evt .e-amt{font-family:var(--mono);color:var(--gold);min-width:46px;font-weight:700}.evt .e-stat{letter-spacing:.08em;color:var(--ink-3);min-width:54px;font-size:11px;font-weight:600}.setting{grid-template-columns:170px 1fr;align-items:center;gap:6px 14px;padding:8px 0;display:grid}.setting .s-lbl{color:var(--ink-2);font-size:14px}.setting>input[type=text]{width:100%}@media (max-width:560px){.setting{grid-template-columns:1fr}}.login-wrap{justify-content:center;align-items:center;min-height:100dvh;padding:20px;display:flex}.login-box{border:1px solid var(--line-2);background:radial-gradient(400px 200px at 50% 0%, #ffc85729, transparent 70%), var(--surface);width:100%;max-width:360px;box-shadow:var(--shadow);text-align:center;animation:rise .6s var(--ease) both;border-radius:26px;padding:34px 30px 28px}.login-box .spark{width:34px;height:34px;color:var(--gold);filter:drop-shadow(0 0 12px #ffc857b3);animation:3.2s ease-in-out infinite breathe}.login-box h1{font-family:var(--f-display);font-variation-settings:"SOFT" 100, "WONK" 1, "opsz" 144;margin:8px 0 2px;font-size:30px;font-weight:600}.login-box .sub{color:var(--ink-3);margin-bottom:22px;font-size:13px}.login-box input{width:100%;margin-bottom:10px;padding:11px 14px}.login-box button{width:100%;margin-top:4px;padding:11px;font-size:15px}.login-err{color:var(--coral);margin-top:10px;font-size:13px}.shell{min-height:100dvh;color:var(--ink-3);letter-spacing:.12em;justify-content:center;align-items:center;gap:10px;font-size:13px;display:flex}.shell svg{width:18px;height:18px;color:var(--gold);animation:1.6s ease-in-out infinite breathe}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes pop{0%{transform:scale(.6)}60%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes breathe{0%,to{opacity:1;transform:scale(1)}50%{opacity:.86;transform:scale(1.035)}}@keyframes blink{50%{opacity:.35}}@keyframes ping{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(2.4)}}@keyframes burst{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(var(--dx), var(--dy)) scale(.4)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media (max-width:560px){.hide-sm{display:none}.lbl{min-width:100%}.quest .q-bar{width:64px}.mission{padding:18px 16px 16px}.mission .m-main{text-align:center;flex-direction:column;align-items:stretch}.mission .m-main .tapstar{margin:0 auto}.mission .slots{justify-content:center}.welcome h2{font-size:26px}.daystrip{gap:4px}.daycell .d-num{font-size:16px}}
