@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff)format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff)format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff)format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");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}:root{--font-sans:"IBM Plex Sans", -apple-system, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", "SF Mono", Menlo, monospace;--ease-out:cubic-bezier(.22, 1, .36, 1)}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0e16;--bg-header:#0b0e16db;--bg-raised:#10141f;--bg-inset:#04060b8c;--halo:#0d111be0;--text:#e8e8e4;--text-dim:#a2a4a8;--text-faint:#82858d;--accent:#c9a75c;--accent-strong:#e3c47e;--ember:#cf7154;--line:#a0a5b429;--line-strong:#b2b7c285;--line-faint:#a0a5b414;--shadow:0 12px 36px #00000073;--moon-lit:#d6dce8;--moon-dark:#262c3b;--c-sun:#e0b45f;--c-moon:#cfd6e3;--c-mercury:#d3a469;--c-venus:#8cbd9e;--c-mars:#d1705a;--c-jupiter:#a48fc9;--c-saturn:#93a0b0;--c-uranus:#7fc4c9;--c-neptune:#74a3d4;--c-pluto:#b48897;--c-ceres:#a8b06c;--c-pallas:#9aa8cf;--c-juno:#c98fa8;--c-vesta:#cc8558;--c-chiron:#86a89b;--c-node:#b9b4a2;--a-conjunction:#c9a75c;--a-sextile:#8cbd9e;--a-square:#cf6f59;--a-trine:#7fa8c9;--a-opposition:#b0788f;--e-fire:#d1705a;--e-earth:#9aa86e;--e-air:#94b4cf;--e-water:#7f9fc4}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f6f2;--bg-header:#f7f6f2e0;--bg-raised:#fffefb;--bg-inset:#efede6;--halo:#fffefbeb;--text:#22242a;--text-dim:#5b5e66;--text-faint:#6e717a;--accent:#7f6226;--accent-strong:#6f5622;--ember:#b1442e;--line:#3c3a3029;--line-strong:#3c3a309e;--line-faint:#3c3a3012;--shadow:0 10px 28px #504c3c29;--moon-lit:#e9e7df;--moon-dark:#494e5c;--c-sun:#a4791b;--c-moon:#5e6b80;--c-mercury:#96682a;--c-venus:#3d7d55;--c-mars:#b1442e;--c-jupiter:#6d51a1;--c-saturn:#57626f;--c-uranus:#1f7f88;--c-neptune:#2f6cab;--c-pluto:#8d5265;--c-ceres:#6e7a2e;--c-pallas:#4f639c;--c-juno:#a05576;--c-vesta:#a05a2a;--c-chiron:#3f7a66;--c-node:#766f5c;--a-conjunction:#8f6f2e;--a-sextile:#3d7d55;--a-square:#b1442e;--a-trine:#2f6cab;--a-opposition:#8d5265;--e-fire:#b1442e;--e-earth:#6b7a35;--e-air:#3f6f96;--e-water:#3d6191}*{box-sizing:border-box}html,body{min-height:100%;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5;transition:background-color .35s,color .35s;overflow-x:hidden}#root{z-index:1;flex-direction:column;height:100dvh;display:flex;position:relative;overflow:hidden}html[data-theme=dark] body:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(90% 65% at 50% 0,#1e284247,#0000 62%);position:fixed;inset:0}canvas.starfield{z-index:0;pointer-events:none;position:fixed;inset:0}::selection{background:#96825059}h1,h2,h3{font-family:var(--font-sans);letter-spacing:-.01em;margin:0;font-weight:600}.overline{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--text-faint);font-size:10.5px;font-weight:500}.mono{font-family:var(--font-mono);font-size:13px}.dim{color:var(--text-dim)}a{color:var(--accent);text-decoration:none}.topbar{z-index:40;background:var(--bg-header);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);flex-shrink:0;align-items:center;gap:24px;padding:12px 26px;display:flex;position:sticky;top:0}.wordmark{color:var(--text);align-items:baseline;gap:12px;display:flex}.wordmark .title{letter-spacing:.18em;color:var(--text);font-size:15px;font-weight:600}.wordmark .title:first-letter{color:var(--accent)}.wordmark .tagline{color:var(--text-faint);white-space:nowrap;font-size:12px}@media (width<=1180px){.wordmark .tagline{display:none}}nav.modes{order:2;gap:2px;margin-left:auto;display:flex}.theme-toggle{order:3}nav.modes a{color:var(--text-dim);white-space:nowrap;border:1px solid #0000;border-radius:7px;padding:7px 13px;font-size:13px;font-weight:500;transition:color .2s,background .2s}nav.modes a:hover{color:var(--text)}nav.modes a.active{color:var(--text);background:var(--bg-inset);border-color:var(--line)}.page{flex:1;width:min(1340px,100% - 48px);min-height:0;margin:0 auto;padding:24px 0 28px;overflow-y:auto}.footer{border-top:1px solid var(--line);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px 22px;padding:8px 26px 9px;display:flex}.footer .line{color:var(--text-faint);flex:240px;font-size:12.5px}.footer-actions{flex-shrink:0;align-items:center;gap:16px;display:flex}.footer-link{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:0;font-size:12.5px}.footer-link:hover{color:var(--text);background:0 0;border:none;text-decoration:underline}.footer-bmc{opacity:.92;align-items:center;line-height:0;transition:opacity .18s;display:inline-flex}.footer-bmc:hover{opacity:1}.footer-bmc img{border-radius:7px;width:auto;height:28px;display:block}.modal-backdrop{z-index:160;background:color-mix(in srgb, var(--bg) 55%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);justify-content:center;align-items:flex-start;padding:11vh 16px 16px;display:flex;position:fixed;inset:0}.modal{width:min(460px,100%);box-shadow:var(--shadow), 0 0 0 1px var(--line);animation:panel-in .16s var(--ease-out) backwards;padding:0;overflow:hidden}.modal-head{justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px 10px;display:flex}.modal-head h2{margin-top:3px;font-size:18px}.modal-form{flex-direction:column;gap:12px;padding:6px 18px 18px;display:flex}.modal-form input{width:100%}.modal-form textarea{width:100%;font-family:var(--font-sans);color:var(--text);background:var(--bg-inset);border:1px solid var(--line-strong);resize:vertical;border-radius:7px;min-height:96px;padding:9px 11px;font-size:13.5px;transition:border-color .18s}.modal-form textarea:focus{border-color:var(--accent);outline:none}.modal-form textarea::placeholder{color:var(--text-faint)}.modal-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.card{background:var(--bg-raised);border:1px solid var(--line);border-radius:10px;padding:16px 18px}.card>.overline{margin-bottom:10px;display:block}.hairline{border:0;border-top:1px solid var(--line);margin:13px 0}button,.btn{font-family:var(--font-sans);color:var(--text);background:var(--bg-raised);border:1px solid var(--line-strong);cursor:pointer;border-radius:7px;align-items:center;gap:7px;padding:7px 14px;font-size:13px;font-weight:500;transition:border-color .18s,background .18s;display:inline-flex}button:hover,.btn:hover{border-color:var(--accent);background:var(--bg-inset)}button.primary,.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--bg)}button.primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}button.ghost,.btn.ghost{color:var(--text-dim);background:0 0;border-color:#0000}button.ghost:hover{color:var(--text);border-color:var(--line);background:0 0}button.small{padding:4px 10px;font-size:12px}button:disabled{opacity:.4;pointer-events:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:1.5px solid var(--accent);outline-offset:2px}input,select{font-family:var(--font-mono);color:var(--text);background:var(--bg-inset);border:1px solid var(--line-strong);border-radius:7px;padding:8px 11px;font-size:13px;transition:border-color .18s}input:focus,select:focus{border-color:var(--accent);outline:none}input::placeholder{color:var(--text-faint)}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2370737c' fill='none' stroke-width='1.4'/%3E%3C/svg%3E");background-position:right 11px center;background-repeat:no-repeat;padding-right:30px}label.field{flex-direction:column;gap:5px;display:flex}label.field>span{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--text-faint);font-size:10px}.chip{font-family:var(--font-sans);border:1px solid var(--line-strong);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:999px;padding:4px 11px;font-size:12px;font-weight:500}.chip.on{color:var(--accent-strong);border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.chip:disabled{opacity:.4;cursor:default}input[type=range]{appearance:none;cursor:pointer;background:0 0;border:none;width:100%;height:26px;padding:0}input[type=range]::-webkit-slider-runnable-track{background:var(--line-strong);border-radius:1px;height:2px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--bg-raised);border:1.6px solid var(--accent);border-radius:50%;width:15px;height:15px;margin-top:-6.5px;box-shadow:0 1px 6px #00000040}input[type=range]::-moz-range-track{background:var(--line-strong);height:2px}input[type=range]::-moz-range-thumb{background:var(--bg-raised);border:1.6px solid var(--accent);border-radius:50%;width:13px;height:13px}table.data{border-collapse:collapse;width:100%;font-family:var(--font-mono);font-size:12.5px}table.data th{text-transform:uppercase;letter-spacing:.12em;color:var(--text-faint);text-align:left;border-bottom:1px solid var(--line);padding:6px 10px;font-size:10px;font-weight:500}table.data td{border-bottom:1px solid var(--line-faint);color:var(--text);white-space:nowrap;padding:6px 10px}table.data tr:last-child td{border-bottom:none}table.data tr.hoverable:hover td{background:var(--bg-inset)}table.aspect-tri{border-collapse:collapse;width:auto}table.aspect-tri td{text-align:center;vertical-align:middle;white-space:nowrap;border:none;width:27px;height:26px;padding:0}table.aspect-tri tr:nth-child(2n) .aspect-cell{background:color-mix(in srgb, var(--text) 4%, transparent)}table.aspect-tri .aspect-cell:hover{background:var(--bg-inset)}.aspect-angle-label{letter-spacing:.02em;color:var(--accent);font-size:9.5px;font-weight:600}.toasts{z-index:100;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast{color:var(--text);background:var(--bg-raised);border:1px solid var(--line-strong);box-shadow:var(--shadow);animation:toast-in .35s var(--ease-out);border-radius:8px;padding:9px 18px;font-size:13px;font-weight:500}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}}.atlas-grid{grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:16px;display:grid}.chart-card{cursor:pointer;flex-direction:column;align-items:center;gap:7px;padding:20px 16px 15px;transition:border-color .2s,box-shadow .2s;display:flex;position:relative}.chart-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow)}.chart-card .name{text-align:center;font-size:16px;font-weight:600}.chart-card .meta{font-family:var(--font-mono);color:var(--text-dim);text-align:center;font-size:10.5px}.chart-card .actions{opacity:0;gap:2px;transition:opacity .15s;display:flex;position:absolute;top:7px;right:7px}.chart-card:hover .actions,.chart-card:focus-within .actions{opacity:1}.chart-layout{grid-template-columns:minmax(430px,760px) minmax(320px,1fr);align-items:start;gap:22px;display:grid}.chart-page.solo .chart-layout{grid-template-areas:"head head""note note""wheel dash"}.chart-page.solo .chart-layout>.chart-header{grid-area:head;margin-bottom:0}.chart-page.solo .chart-layout>.loc-note{grid-area:note}.chart-page.solo .chart-layout>.wheel-frame{grid-area:wheel}.chart-page.solo .chart-layout>.tabs-card,.chart-page.solo .chart-layout>.panel-stack{grid-area:dash}.panel-stack{flex-direction:column;gap:14px;display:flex}.chart-header{flex-wrap:wrap;align-items:baseline;gap:18px;margin-bottom:16px;display:flex}.chart-header h1{font-size:26px}.chart-header .spacer{flex:1}.wheel-frame{width:100%;position:relative}.wheel-frame svg.wheel{width:100%;height:auto;display:block}.wheel-media{width:100%;position:relative}.wheel-stage{transform-origin:50%;position:relative}.wheel-zoom{z-index:16;background:color-mix(in srgb, var(--bg-raised) 86%, transparent);border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:.45;border-radius:9px;align-items:center;gap:1px;padding:3px;transition:opacity .18s;display:none;position:absolute;bottom:10px;right:10px}.wheel-frame:hover .wheel-zoom,.wheel-media.zoomed .wheel-zoom{opacity:1}.zoom-btn{width:26px;height:26px;color:var(--text-dim);background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;display:inline-flex}.zoom-btn:hover{background:var(--bg-inset);color:var(--text)}.zoom-btn:disabled{opacity:.35}.zoom-val{text-align:center;min-width:40px;color:var(--text-dim);font-size:11px}.wheel-media.zoomed{cursor:grab}.wheel-media.zoomed:active{cursor:grabbing}@media (width>=1021px) and (height>=640px){.chart-page{flex-direction:column;height:100%;min-height:0;display:flex}.chart-page .chart-header{flex-shrink:0;margin-bottom:10px}.chart-page .chart-header h1{font-size:21px}.chart-page .chart-layout{flex:1;grid-template-columns:min(100dvh - 288px,700px) minmax(320px,1fr);align-items:stretch;min-height:0}.chart-page.solo .chart-layout{grid-template:"wheel head""wheel note""wheel dash"1fr/min(100dvh - 196px,760px) minmax(320px,1fr);row-gap:12px}.chart-page .wheel-frame{flex-direction:column;min-height:0;display:flex}.chart-page .wheel-media{flex:1;min-height:0;position:relative;overflow:hidden}.chart-page .wheel-stage{position:absolute;inset:0}.chart-page .wheel-media svg.wheel{width:100%;height:100%}.chart-page .wheel-zoom{display:flex}.chart-page .wheel-footer{flex-shrink:0}.chart-page .chart-layout>.tabs-card{flex-direction:column;min-height:0;display:flex}.chart-page .tabs-card .tabs-strip{flex-shrink:0}.chart-page .tabs-card .tab-panel{flex:1;min-height:0;overflow-y:auto}.chart-page .chart-layout>.panel-stack{min-height:0;padding-right:4px;overflow-y:auto}}.balance-row{font-family:var(--font-mono);grid-template-columns:64px 1fr 22px;align-items:center;gap:10px;margin:6px 0;font-size:11px;display:grid}.balance-row .track{background:var(--bg-inset);border-radius:3px;height:5px;overflow:hidden}.balance-row .fill{transform-origin:0;height:100%;animation:grow-bar .9s var(--ease-out) backwards;border-radius:3px}@keyframes grow-bar{0%{transform:scaleX(0)}}.voyage-layout{grid-template-columns:minmax(430px,740px) minmax(300px,1fr);grid-template-areas:"head head""hero panels";align-items:start;gap:16px 22px;display:grid}.voyage-layout>.chart-header{grid-area:head;margin-bottom:0}.voyage-layout>.card{grid-area:hero}.voyage-layout>.panel-stack{grid-area:panels}@media (width>=1021px) and (height>=640px){.voyage-page{flex-direction:column;height:100%;min-height:0;display:flex}.voyage-page .chart-header h1{font-size:21px}.voyage-page .voyage-layout{flex:1;grid-template:"hero head""hero panels"1fr/clamp(430px,100dvh - 268px,780px) minmax(300px,1fr);align-items:stretch;row-gap:12px;min-height:0}.voyage-page .voyage-layout>.chart-header{align-content:start}.voyage-page .voyage-layout>.card{flex-direction:column;min-height:0;display:flex}.voyage-page .voyage-layout>.card>svg.wheel{flex:1;width:100%;height:100%;min-height:0}.voyage-page .voyage-layout>.card>.weather-scroll{flex:1;min-height:0;overflow-y:auto}.voyage-page .voyage-layout>.panel-stack{min-height:0;padding-right:4px;overflow-y:auto}}.weather-scroll{padding:4px 6px 0}.weather-row{border-bottom:1px solid var(--line);grid-template-columns:168px minmax(0,1fr);align-items:center;gap:0 10px;display:grid}.weather-row:last-of-type{border-bottom:none}.weather-head{border-bottom:1px solid var(--line-strong)}.weather-head .weather-track{height:18px}.weather-tick{font-family:var(--font-mono);color:var(--text-faint);font-size:10px;position:absolute;top:1px;transform:translate(-50%)}.weather-name{white-space:nowrap;align-items:center;gap:5px;padding:6px 0;font-size:12.5px;display:flex;overflow:hidden}.weather-point{color:var(--text-dim);text-overflow:ellipsis;overflow:hidden}.weather-track{height:28px;position:relative}.weather-band{opacity:.18;cursor:pointer;border:none;border-radius:4px;height:12px;padding:0;transition:opacity .12s;position:absolute;top:8px}.weather-band:hover,.weather-band:focus-visible{opacity:.34}.weather-core{opacity:.55;pointer-events:none;border-radius:4px;height:12px;position:absolute;top:8px}.weather-pass{cursor:pointer;border:none;width:9px;height:9px;padding:0;transition:transform .12s;position:absolute;top:9.5px;transform:translate(-50%)rotate(45deg)}.weather-pass:hover{transform:translate(-50%)rotate(45deg)scale(1.5)}.weather-pass.rx{outline:2px solid var(--bg-raised);box-shadow:0 0 0 3.5px}.weather-now{border-left:1px dashed var(--accent);opacity:.65;pointer-events:none;width:1px;position:absolute;top:2px;bottom:2px}.weather-now-tag{font-family:var(--font-mono);color:var(--accent-strong);background:var(--bg-raised);border-radius:3px;padding:0 3px;font-size:9.5px;position:absolute;top:1px;transform:translate(-50%)}.weather-pass.burst{animation:weather-burst .8s var(--ease-out)}@keyframes weather-burst{0%{box-shadow:0 0}to{box-shadow:0 0 0 16px #0000}}.weather-band.lit{animation:weather-lit .8s var(--ease-out)}@keyframes weather-lit{0%{opacity:.18}35%{opacity:.6}to{opacity:.18}}@media (prefers-reduced-motion:reduce){.weather-pass.burst,.weather-band.lit{animation:none}}.weather-foot{padding:8px 0 6px;font-size:10.5px}@media (width<=720px){.weather-row{grid-template-columns:1fr;gap:0;padding:4px 0 2px}.weather-head{grid-template-columns:1fr}.weather-name{padding:2px 0 0}.weather-track{height:24px}}.chapters-layout{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:14px;display:grid}@media (width<=1020px){.chapters-layout{grid-template-columns:1fr}}.zr-range{width:100%;height:auto;display:block}.zr-wash{fill:var(--accent);opacity:.06}.zr-terrain-fill{fill:var(--accent);opacity:0;animation:.9s 1.1s forwards zr-terrain-in}@keyframes zr-terrain-in{to{opacity:.09}}.zr-ridge-line{fill:none;stroke:var(--line-strong);stroke-width:1.6px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1px;animation:zr-ridge-draw 1.8s var(--ease-out) forwards}@keyframes zr-ridge-draw{to{stroke-dashoffset:0}}.zr-lb-arc{fill:none;stroke:var(--ember);stroke-width:1.3px;stroke-dasharray:4 4;opacity:.85}.zr-flag{stroke:var(--accent);stroke-width:1.6px;fill:none;stroke-linecap:round;stroke-linejoin:round}.zr-chapter-glyph{stroke:var(--text-faint);stroke-width:1.6px;fill:none;stroke-linecap:round;stroke-linejoin:round}.zr-chapter-glyph.on{stroke:var(--accent-strong)}.zr-axis line{stroke:var(--line-strong);stroke-width:1px}.zr-axis text{fill:var(--text-dim);font-family:var(--font-mono);font-size:10px}.zr-axis text.faint{fill:var(--text-faint);font-size:8.5px}.zr-climber-line{stroke:var(--accent);stroke-width:1px;stroke-dasharray:2 3;opacity:.7}.zr-climber-dot{fill:var(--accent-strong)}.zr-climber-pulse{fill:none;stroke:var(--accent);animation:2.6s ease-out infinite zr-climber-pulse}@keyframes zr-climber-pulse{0%{r:4;opacity:.9}70%,to{r:14;opacity:0}}.zr-climber-label{fill:var(--text);font-family:var(--font-mono);font-size:10.5px}.zr-hit{fill:#0000;cursor:pointer;outline:none}.zr-hit:focus-visible{fill:var(--accent);fill-opacity:.08}.zr-readout{min-height:18px;padding:6px 6px 2px;font-size:11.5px}.zr-sublist{display:grid}.zr-subrow{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;border-left:2px solid #0000;border-radius:0;align-items:center;gap:6px;padding:6px 8px;font-size:13px;display:flex}.zr-subrow:hover,.zr-subrow.open{background:var(--bg-inset)}.zr-subrow.now{border-left-color:var(--accent)}.zr-subrow .when,.zr-l3row .when{color:var(--text-dim);min-width:132px;font-size:11.5px}.zr-mark{font-size:10px;font-family:var(--font-mono)}.zr-mark.peak{color:var(--accent)}.zr-mark.lb{color:var(--ember)}.zr-mark.nowdot{color:var(--accent-strong)}.zr-l3list{border-left:1px solid var(--line);margin-left:8px;padding:2px 0 6px 18px;display:grid}.zr-l3row{align-items:center;gap:6px;padding:2.5px 8px;font-size:12px;display:flex}.zr-l3row .when{min-width:176px}.zr-l3row.now{color:var(--accent-strong)}@media (prefers-reduced-motion:reduce){.zr-ridge-line{stroke-dashoffset:0;animation:none}.zr-terrain-fill{opacity:.09;animation:none}.zr-climber-pulse{opacity:0;animation:none}}@media (width>=1021px) and (height>=640px){.chapters-page{flex-direction:column;height:100%;min-height:0;display:flex}.chapters-page .chart-header{flex-shrink:0;margin-bottom:10px}.chapters-page .chart-header h1{font-size:21px}.chapters-page .chapters-layout{flex:1;grid-template-columns:minmax(0,1fr) clamp(320px,28vw,400px);align-items:stretch;min-height:0}.chapters-page .chapters-layout>.card{flex-direction:column;min-height:0;display:flex}.chapters-page .chapters-layout>.card>svg.zr-range{flex:1;height:100%;min-height:0}.chapters-page .chapters-layout>.panel-stack{min-height:0;padding-right:4px;overflow-y:auto}}.timeline{padding:16px 0 4px;position:relative}.timeline .pips{height:16px;position:relative}.timeline .zr-strip{height:14px;margin-bottom:3px;position:relative}.zr-seg{opacity:.32;cursor:pointer;border:none;border-radius:2px;min-width:2px;height:10px;padding:0;transition:opacity .15s;position:absolute;top:2px}.zr-seg.peak{opacity:.62}.zr-seg.crest{opacity:1;animation:3s ease-in-out infinite zr-crest}@keyframes zr-crest{0%,to{filter:brightness()}50%{filter:brightness(1.4)}}.zr-seg.lb{box-shadow:-2.5px 0 0 var(--ember)}.zr-seg:hover{opacity:1}.eph-sparkle{transform-box:fill-box;transform-origin:50%;animation:2.6s ease-out infinite eph-sparkle}@keyframes eph-sparkle{0%{opacity:.9;transform:scale(.35)}70%{opacity:0;transform:scale(1.5)}to{opacity:0;transform:scale(1.5)}}.zr-l1-tick{background:var(--line-strong);pointer-events:none;width:1.5px;height:16px;position:absolute;top:-1px;transform:translate(-50%)}.timeline .pip{cursor:pointer;border:1px solid var(--line-strong);border-radius:50%;width:8px;height:8px;padding:0;transition:transform .12s;position:absolute;top:2px;transform:translate(-50%)}.timeline .pip:hover{transform:translate(-50%)scale(1.7)}.timeline .pip.hit{border-width:1.5px;width:7px;height:7px;top:2.5px}.timeline .pip.profection{border-color:var(--bg-raised);border-width:1.5px;border-radius:2px;transform:translate(-50%)rotate(45deg)}.timeline .pip.profection:hover{transform:translate(-50%)rotate(45deg)scale(1.6)}.timeline .pip.return{background:var(--accent-strong);border-color:var(--accent);box-shadow:0 0 0 2.5px var(--halo)}.timeline .pip.reign{border-color:var(--bg-raised);border-width:1.5px;border-radius:1.5px;width:5px;height:11px;top:.5px}.timeline .pip.reign:hover{transform:translate(-50%)scale(1.5)}.star-twinkle{animation:3.4s ease-in-out infinite star-twinkle}.star-mark{outline:none}.star-mark:focus-visible .star-twinkle{opacity:1;stroke-width:2.6px;animation:none}@keyframes star-twinkle{0%,to{opacity:.5}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.star-twinkle{animation:none}}.hours-strip{border:1px solid var(--line);border-radius:4px;height:18px;margin-top:10px;display:flex;position:relative;overflow:hidden}.hours-seg{opacity:.75;height:100%;display:block}.hours-seg.night{opacity:.28}.hours-seg.now{opacity:1;box-shadow:inset 0 0 0 1.5px var(--bg)}.hours-seg:hover{opacity:1}.hours-cursor{background:var(--text);pointer-events:none;width:1.5px;position:absolute;top:-2px;bottom:-2px}.event-list{flex-direction:column;gap:2px;max-height:420px;display:flex;overflow-y:auto}.event-row{font-family:var(--font-mono);cursor:pointer;text-align:left;color:var(--text);background:0 0;border:none;border-radius:6px;grid-template-columns:86px 1fr;gap:12px;padding:6px 10px;font-size:12px;font-weight:400;display:grid}.event-row:hover{background:var(--bg-inset);border-color:#0000}.event-row .when{color:var(--text-faint)}.event-row.past{opacity:.45}.event-row.profection{background:var(--bg-inset);font-weight:500}body.cosmos-fullbleed .page{width:100%;max-width:none;padding:20px 0 0;overflow:hidden}.cosmos-page{flex-direction:column;height:100%;min-height:0;display:flex}.cosmos-page .chart-header{flex-shrink:0;margin-bottom:12px;padding:0 26px}.cosmos-frame{background:radial-gradient(at 50% 40%,#0a0f1e,#04060c 75%);position:relative;overflow:hidden}.cosmos-page .cosmos-frame{flex:1;min-height:0}.cosmos-frame.full-bleed{border-top:1px solid var(--line);width:100%}.cosmos-frame canvas{width:100%;height:100%;display:block}.cosmos-info{z-index:6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#d6d9e0eb;max-width:min(520px,100vw - 24px);animation:panel-in .16s var(--ease-out) backwards;background:#0a0e18db;border:1px solid #aaafbe4d;border-radius:10px;padding:12px 14px;line-height:1.5;position:absolute;bottom:44px;left:12px}.cosmos-hud{flex-wrap:wrap;gap:6px;display:flex;position:absolute;top:12px;left:12px}.cosmos-hud .chip{color:#cfd2d8;background:#0a0e18b3;border-color:#aaafbe59}.cosmos-hud .chip.on{color:#e3c47e;border-color:#c9a75c}.cosmos-caption{color:#d2d5dcb8;text-shadow:0 2px 8px #000c;white-space:nowrap;font-size:12.5px;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.cosmos-crown{-webkit-backdrop-filter:blur(6px);background:#0a0e18b8;border:1px solid #aaafbe47;border-radius:12px;align-items:center;gap:6px;padding:6px 10px;display:flex;position:absolute;bottom:38px;left:50%;transform:translate(-50%)}.cosmos-crown .chip,.cosmos-crown button.small{color:#cfd2d8;background:#0a0e188c;border-color:#aaafbe59}.cosmos-crown .chip.on{color:#e3c47e;border-color:#c9a75c}.cosmos-crown .time-crown{margin:0}@media (width<=720px){.cosmos-crown{display:none}}.tour-ring{border:2px solid var(--accent);pointer-events:none;z-index:88;transition:all .28s var(--ease-out);box-shadow:0 0 0 4px var(--halo), 0 0 0 200vmax #090b1373;border-radius:12px;position:fixed}.tour-card{z-index:89;animation:panel-in .18s var(--ease-out) backwards;background:var(--bg-raised);border:1px solid var(--accent);padding:12px 16px;position:fixed;box-shadow:0 10px 34px #0000004d}@media (prefers-reduced-motion:reduce){.tour-ring{transition:none}}.empty-state{text-align:center;padding:80px 20px}.empty-state .big{color:var(--text-dim);font-size:19px;font-weight:500}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.scroll-x{overflow-x:auto}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:var(--line-strong);border:2px solid var(--bg);border-radius:5px}::-webkit-scrollbar-track{background:0 0}@media (width<=1020px){.chart-layout,.voyage-layout{grid-template-columns:1fr}.voyage-layout{grid-template-areas:"head""hero""panels"}.chart-page.solo .chart-layout{grid-template-areas:"head""note""wheel""dash"}.topbar{flex-wrap:wrap;gap:10px;padding:10px 14px}.theme-toggle{order:2;margin-left:auto}nav.modes{order:3;width:100%;margin-left:0;overflow-x:auto}.page{width:calc(100% - 28px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.side-dot{color:var(--text-faint);vertical-align:1.5px;font-size:9px}.tooltip{z-index:200;background:var(--bg-raised);border:1px solid var(--line-strong);max-width:340px;box-shadow:var(--shadow);font-family:var(--font-mono);color:var(--text);pointer-events:none;opacity:0;border-radius:6px;padding:5px 10px;font-size:11px;transition:opacity .12s;position:fixed}.tooltip[data-show="1"]{opacity:1}.select{min-width:170px;position:relative}.select-btn{width:100%;font-family:var(--font-mono);background:var(--bg-inset);text-align:left;justify-content:space-between;font-size:13px;font-weight:400}.select-btn svg{color:var(--text-faint);flex-shrink:0}.select-pop{z-index:60;background:var(--bg-raised);max-height:280px;box-shadow:var(--shadow);flex-direction:column;gap:1px;padding:5px;display:flex;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.select-filter{margin-bottom:4px;padding:6px 9px;font-size:12px;position:sticky;top:0}.select-opt{font-family:var(--font-mono);text-align:left;color:var(--text);background:0 0;border:none;border-radius:5px;justify-content:flex-start;padding:6px 9px;font-size:12.5px;font-weight:400}.select-opt:hover,.select-opt.active{background:var(--bg-inset);border:none}.select-opt.on{color:var(--accent-strong)}.select-empty{padding:6px 9px;font-size:12px}.popover-root{display:inline-flex;position:relative}.popover-panel{z-index:70;background:var(--bg-raised);min-width:240px;box-shadow:var(--shadow);animation:panel-in .16s var(--ease-out) backwards;position:absolute;top:calc(100% + 8px);left:0}.popover-panel.align-right{left:auto;right:0}@keyframes panel-in{0%{opacity:0;transform:translateY(-5px)scale(.985)}}.icon-btn{width:32px;height:32px;color:var(--text-dim);background:0 0;border-color:#0000;justify-content:center;padding:0;position:relative}.icon-btn:hover,.icon-btn.on{color:var(--text);border-color:var(--line);background:var(--bg-inset)}.icon-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;top:4px;right:4px}.wheel-toolbar{z-index:15;gap:4px;display:flex;position:absolute;top:10px;right:10px}.popover-panel.hatch{width:344px;max-width:min(86vw,380px)}.hatch-body{flex-direction:column;gap:12px;display:flex}.hatch-label{margin-bottom:5px}.asteroid-input{flex:1;min-width:150px;padding:4px 8px;font-size:11.5px}.size-row{align-items:center;gap:8px;margin-top:6px;display:flex}.size-label{color:var(--text-dim);flex:1;font-size:12.5px}.size-step{justify-content:center;width:26px;height:24px;padding:0;font-size:15px;line-height:1}.size-step:disabled{opacity:.4;cursor:default}.size-val{text-align:center;width:42px;color:var(--text);font-size:12px}.menu-list{flex-direction:column;gap:1px;min-width:200px;display:flex}.menu-item{color:var(--text);text-align:left;background:0 0;border:none;border-radius:6px;justify-content:flex-start;gap:9px;padding:7px 10px;font-weight:400}.menu-item:hover{background:var(--bg-inset);border:none}.view-switch{border:1px solid var(--line-strong);border-radius:8px;display:inline-flex;overflow:hidden}.view-switch>*{color:var(--text-dim);background:0 0;border:none;border-radius:0;padding:6px 13px;font-size:12.5px;font-weight:500}.view-switch>*+*{border-left:1px solid var(--line)}.view-switch>.on{background:var(--bg-inset);color:var(--text)}.view-switch>a:hover{color:var(--text)}.tabs-card{padding:0;overflow:hidden}.tabs-strip{border-bottom:1px solid var(--line);gap:2px;padding:6px 8px 0;display:flex;overflow-x:auto}.tab-btn{color:var(--text-dim);white-space:nowrap;background:0 0;border:none;border-radius:7px 7px 0 0;padding:8px 12px;font-size:12.5px;font-weight:500;position:relative}.tab-btn:hover{color:var(--text);background:0 0;border:none}.tab-btn.on{color:var(--text)}.tab-btn.on:after{content:"";background:var(--accent);border-radius:1px;height:2px;position:absolute;bottom:-1px;left:10px;right:10px}.tab-badge{font-family:var(--font-mono);color:var(--text-faint);margin-left:6px;font-size:9.5px}.tab-panel{padding:14px 16px;animation:.14s ease-out backwards tab-in}@keyframes tab-in{0%{opacity:0}}.tab-panel .card{background:0 0;border:none;border-radius:0;padding:0}.tab-panel .panel-stack{gap:0}.tab-panel .panel-stack>.card+.card{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.wheel-footer{border-top:1px solid var(--line);margin-top:8px;padding:10px 8px 4px}.palette-backdrop{z-index:150;background:color-mix(in srgb, var(--bg) 55%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);justify-content:center;align-items:flex-start;padding-top:14vh;display:flex;position:fixed;inset:0}.palette{width:min(560px,100vw - 32px);max-height:62vh;box-shadow:var(--shadow), 0 0 0 1px var(--line);animation:panel-in .15s var(--ease-out) backwards;flex-direction:column;padding:0;display:flex;overflow:hidden}.palette-input{border:none;border-bottom:1px solid var(--line);background:0 0;border-radius:0;padding:14px 16px;font-size:14px}.palette-input:focus{border-color:var(--line)}.palette-list{flex:1;padding:8px;overflow-y:auto}.palette-group{padding:8px 8px 4px}.palette-item{width:100%;color:var(--text);text-align:left;background:0 0;border:none;border-radius:7px;align-items:center;gap:10px;padding:7px 10px;font-size:13.5px;font-weight:400;display:flex}.palette-item.active{background:var(--bg-inset);border:none}.palette-glyph{width:16px;color:var(--text-dim);justify-content:center;display:inline-flex}.palette-hint{font-family:var(--font-mono);color:var(--text-faint);margin-left:auto;font-size:10px}.palette-empty{text-align:center;padding:18px;font-size:13px}.palette-foot{border-top:1px solid var(--line);padding:8px 16px;font-size:10px}.pattern-unlock{z-index:20;background:var(--bg-raised);border:1px solid var(--accent);box-shadow:var(--shadow), 0 0 22px color-mix(in srgb, var(--accent) 28%, transparent);animation:unlock-in .5s var(--ease-out) backwards, unlock-out .45s ease 2.15s forwards;pointer-events:none;border-radius:10px;align-items:center;gap:12px;max-width:min(480px,90%);padding:12px 18px;display:flex;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}.pattern-unlock.dissolved{border-color:var(--line-strong);box-shadow:var(--shadow);opacity:.92}.pattern-unlock-icon{width:40px;height:40px;color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent);border-radius:9px;flex-shrink:0;place-items:center;display:grid}.pattern-unlock.dissolved .pattern-unlock-icon{color:var(--text-faint);background:var(--bg-inset)}.pattern-unlock-title{font-size:15px;font-weight:600;line-height:1.25}.pattern-unlock-bodies{color:var(--text-dim);align-items:center;gap:3px;margin-top:2px;display:flex}@keyframes unlock-in{0%{opacity:0;transform:translate(-50%)translateY(16px)scale(.96)}}@keyframes unlock-out{to{opacity:0;transform:translate(-50%)translateY(8px)}}.time-crown{justify-content:center;align-items:center;gap:6px;display:flex;position:relative}.crown-chevron{width:34px;height:32px;font-family:var(--font-sans);color:var(--text-dim);-webkit-user-select:none;user-select:none;touch-action:none;background:0 0;border-color:#0000;border-radius:8px;justify-content:center;align-items:center;padding:0;font-size:19px;line-height:1;display:inline-flex}.crown-chevron:hover{color:var(--text);border-color:var(--line);background:var(--bg-inset)}.crown-coach{z-index:30;background:var(--bg-raised);border:1px solid var(--accent);width:max-content;max-width:min(430px,90vw);box-shadow:var(--shadow), 0 0 20px color-mix(in srgb, var(--accent) 22%, transparent);color:var(--text-dim);animation:coach-in .34s var(--ease-out) backwards;border-radius:10px;align-items:center;gap:10px;padding:9px 10px 9px 14px;font-size:12.5px;line-height:1.4;display:flex;position:absolute;bottom:calc(100% + 9px);left:50%;transform:translate(-50%)}.crown-coach b{color:var(--accent-strong);font-weight:600}.crown-coach:after{content:"";border:6px solid #0000;border-top-color:var(--accent);position:absolute;top:100%;left:50%;transform:translate(-50%)}.crown-coach-x{color:var(--text);border-radius:7px;flex-shrink:0;padding:4px 10px;font-size:11px}@keyframes coach-in{0%{opacity:0;transform:translate(-50%,6px)}}.crown-readout{font-family:var(--font-mono);border-radius:8px;align-items:baseline;padding:2px 6px;font-size:15px;display:flex}.crown-sep{color:var(--text-faint);white-space:pre}.crown-seg{font-family:var(--font-mono);color:var(--text);cursor:ns-resize;-webkit-user-select:none;user-select:none;touch-action:none;background:0 0;border:none;border-radius:5px;padding:3px 2px 5px;font-size:15px;font-weight:400;position:relative}.crown-seg:hover{background:var(--bg-inset);border:none}.crown-seg:after{content:"";background:0 0;border-radius:1px;height:2px;transition:background .15s;position:absolute;bottom:1px;left:3px;right:3px}.crown-readout:hover .crown-seg:not(.armed):after{background:var(--line)}.crown-seg.armed{color:var(--accent-strong)}.crown-seg.armed:after{background:var(--accent)}.crown-edit{border:none;border-bottom:2px solid var(--accent);background:var(--bg-inset);font-family:var(--font-mono);color:var(--accent-strong);text-align:center;border-radius:5px 5px 0 0;padding:3px 4px 5px;font-size:15px}.crown-edit:focus{outline:none}.crown-help{border-color:var(--line);width:22px;height:22px;color:var(--text-faint);font-size:12px;font-family:var(--font-mono);background:0 0;border-radius:50%;justify-content:center;margin-left:6px;padding:0}.crown-help:hover{color:var(--text);border-color:var(--line-strong);background:var(--bg-inset)}.crown-live{border-color:var(--line-strong);color:var(--text-dim);border-radius:999px;gap:6px;margin-left:8px;padding:5px 12px;font-size:12px}.crown-live .live-lamp{background:var(--text-faint);border-radius:50%;width:7px;height:7px}.crown-live.on{color:var(--accent-strong);border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent)}.crown-live.on .live-lamp{background:var(--ember);animation:2.4s ease-in-out infinite lamp-pulse}@keyframes lamp-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--ember) 45%, transparent)}50%{box-shadow:0 0 0 4px #0000}}.report{max-width:860px;margin:0 auto}.report-grid{grid-template-columns:1.1fr 1fr;align-items:start;gap:14px;margin-top:14px;display:grid}@media (width<=760px){.report-grid{grid-template-columns:1fr}}@media print{@page{margin:12mm}.topbar,.footer,.no-print,canvas.starfield,.toasts{display:none!important}html[data-theme=light] body:after,html[data-theme=dark] body:after{display:none}body{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff}#root{height:auto;overflow:visible}.page{width:100%;padding:0;overflow:visible}.card{break-inside:avoid;border-color:#d8d5cb}.report-wheel,.report-grid{break-inside:avoid}}
