@font-face{font-family:Sora Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/sora-latin-ext-wght-normal-CawQDOvP.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Sora Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/sora-latin-wght-normal-DdqRvwsR.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-ui: "Sora Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono Variable", ui-monospace, "SF Mono", Menlo, monospace;--bg-void: #05070d;--bg-deep: #090d18;--glass: rgb(16 22 40 / .62);--glass-strong: rgb(20 28 52 / .82);--line: rgb(120 150 255 / .16);--line-strong: rgb(120 190 255 / .38);--text: #e8eeff;--text-dim: #8d9bc2;--text-faint: #7886b0;--cyan: #4df0ff;--violet: #8b7bff;--magenta: #ff5fd2;--lime: #8dffb0;--amber: #ffc857;--red: #ff6b7d;--teal: #7fe0c8;--accent: var(--cyan);--accent-2: var(--violet);--glow: 0 0 24px rgb(77 240 255 / .22);--accent-soft: color-mix(in srgb, var(--accent) 9%, transparent);--accent-ring: color-mix(in srgb, var(--accent) 16%, transparent);--on-accent: #04101a;--grad: linear-gradient(135deg, var(--cyan), var(--violet));--grad-btn: var(--grad);--rail-bg: rgb(5 7 13 / .55);--bar-bg: rgb(14 20 38 / .94);--inset: rgb(5 7 13 / .5);--shadow: 0 10px 40px rgb(0 0 0 / .35);--shadow-sm: 0 1px 2px rgb(0 0 0 / .18);--shadow-lg: 0 20px 60px rgb(0 0 0 / .35);--scrim: rgb(0 0 0 / .45);--pool-a: rgb(139 123 255 / .18);--pool-b: rgb(77 240 255 / .12);--state-available: var(--lime);--state-stale: var(--amber);--state-partial: var(--amber);--state-unavailable: var(--red);--state-unconfigured: var(--text-dim);--state-demo: var(--magenta);--state-manual: var(--violet);--state-forecast: var(--amber);--qr-bg: #ffffff;--radius: 14px;--radius-sm: 8px;--gap: 12px;--rail: 84px;--ease: cubic-bezier(.2, .8, .2, 1)}:root[data-theme=light]{--bg-void: #eef2fb;--bg-deep: #e4eaf8;--glass: rgb(255 255 255 / .7);--glass-strong: rgb(255 255 255 / .9);--line: rgb(40 70 160 / .14);--line-strong: rgb(30 90 200 / .4);--text: #0b1430;--text-dim: #4a5a86;--text-faint: #56648c;--cyan: #0a8fb0;--violet: #5b4bd6;--lime: #12915a;--amber: #a86d00;--red: #c4233d;--teal: #0f8a72;--glow: 0 0 24px rgb(10 143 176 / .12);--on-accent: #ffffff;--rail-bg: rgb(255 255 255 / .72);--bar-bg: rgb(255 255 255 / .95);--inset: rgb(255 255 255 / .65);--shadow: 0 10px 30px rgb(30 50 110 / .12);--shadow-sm: 0 1px 2px rgb(30 50 110 / .12);--shadow-lg: 0 20px 60px rgb(30 50 110 / .18);--scrim: rgb(20 30 70 / .3);--pool-a: rgb(91 75 214 / .14);--pool-b: rgb(10 143 176 / .12)}:root[data-palette=spectrum]{--grad: linear-gradient(120deg, var(--cyan), var(--violet) 35%, var(--magenta) 68%, var(--amber));--grad-btn: linear-gradient(120deg, var(--cyan), var(--violet) 55%, var(--magenta));--pool-a: color-mix(in srgb, var(--magenta) 20%, transparent);--pool-b: color-mix(in srgb, var(--amber) 14%, transparent)}:root[data-style=orbital]{--bg-void: #070707;--bg-deep: #0c0c0c;--glass: #0c0c0c;--glass-strong: #1d1d1d;--line: rgb(255 255 255 / .14);--line-strong: rgb(255 255 255 / .3);--text: #eeeeee;--text-dim: #898989;--text-faint: #898989;--cyan: #ccdae1;--violet: #b8b8b8;--magenta: #e1ad63;--lime: #81ba9b;--amber: #e1ad63;--red: #ea8881;--teal: #81ba9b;--glow: none;--on-accent: #070707;--rail-bg: rgb(7 7 7 / .9);--bar-bg: rgb(12 12 12 / .98);--inset: rgb(7 7 7 / .6);--shadow: none;--shadow-lg: none;--pool-a: transparent;--pool-b: transparent;--radius: 4px;--radius-sm: 3px}:root[data-style=orbital][data-theme=light]{--bg-void: #f8f8f8;--bg-deep: #ebebeb;--glass: #ffffff;--glass-strong: #ffffff;--line: rgb(0 0 0 / .14);--line-strong: rgb(0 0 0 / .3);--text: #161616;--text-dim: #636363;--text-faint: #636363;--cyan: #14485e;--violet: #636363;--magenta: #9d6800;--lime: #2a6c4d;--amber: #9d6800;--red: #b94642;--teal: #2a6c4d;--on-accent: #fcfcfc;--rail-bg: rgb(255 255 255 / .95);--bar-bg: rgb(255 255 255 / .98);--inset: #ffffff;--scrim: rgb(0 0 0 / .3)}:root[data-style=cyber]{--bg-void: #030606;--bg-deep: #060e0e;--glass: rgb(6 14 14 / .7);--glass-strong: #0b1e1e;--line: rgb(20 235 227 / .19);--line-strong: rgb(20 235 227 / .45);--text: #dfeaea;--text-dim: #7b9192;--text-faint: #7b9192;--cyan: #14ebe3;--violet: #b8c9ca;--magenta: #f6c835;--lime: #45e58f;--amber: #f6c835;--red: #ff6474;--teal: #45e58f;--glow: 0 0 18px rgb(20 235 227 / .2);--on-accent: #030606;--rail-bg: rgb(3 6 6 / .7);--bar-bg: rgb(6 14 14 / .94);--radius: 2px;--radius-sm: 2px}:root[data-style=cyber][data-theme=light]{--bg-void: #ecf3f4;--bg-deep: #d4e5e5;--glass: rgb(249 253 253 / .8);--glass-strong: rgb(249 253 253 / .95);--line: rgb(0 102 103 / .23);--line-strong: rgb(0 102 103 / .45);--text: #0f1d1e;--text-dim: #455a5b;--text-faint: #455a5b;--cyan: #006667;--violet: #455a5b;--magenta: #a07100;--lime: #006b39;--amber: #996700;--red: #c11435;--teal: #006b39;--glow: 0 0 18px rgb(0 102 103 / .08);--on-accent: #f9fdfd;--rail-bg: rgb(249 253 253 / .8);--bar-bg: rgb(249 253 253 / .95)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100dvh;font:16px/1.45 var(--font-ui);color:var(--text);background:radial-gradient(120% 60% at 10% 0%,var(--pool-a),transparent 60%),radial-gradient(90% 50% at 100% 10%,var(--pool-b),transparent 60%),var(--bg-void);background-attachment:fixed}body.t-locked{overflow:hidden}button,input,select{font:inherit;color:inherit}a{color:var(--accent)}.t-app{max-width:980px;margin:0 auto;padding:env(safe-area-inset-top) max(16px,env(safe-area-inset-right)) calc(88px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.t-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:18px 0 10px}.t-brand{font-weight:700;font-size:22px;letter-spacing:-.01em;display:flex;align-items:center;gap:8px}.t-logo{color:var(--accent)}.t-demo{font-size:12px;font-weight:600;padding:2px 8px;border-radius:999px;color:var(--on-accent);background:var(--state-demo)}.t-house{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.t-main{display:block}.t-stack{display:grid;gap:var(--gap)}.t-card{background:var(--glass);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-sm);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.t-wait{min-height:120px;opacity:.6}.t-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.t-title{font-weight:700;font-size:18px}.t-title-sm{font-weight:600}.t-dim{color:var(--text-dim)}.t-small{font-size:13px}.t-mono{font-family:var(--font-mono);letter-spacing:.04em}.t-h2{font-size:15px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin:14px 2px 4px}.t-note{margin:0;padding:10px 14px;border-radius:var(--radius-sm);background:var(--accent-soft);border:1px solid var(--accent-ring)}.t-empty{color:var(--text-dim);margin:6px 2px}.t-error{color:var(--red);margin:6px 0 0}.t-divider{height:1px;background:var(--line);margin:14px 0}.t-usage{display:flex;align-items:center;gap:18px}.t-usage>div{flex:none;white-space:nowrap}.t-usage p{margin:0}.t-usage__big{font-size:32px;font-weight:700;line-height:1;color:var(--accent)}.t-summary{display:grid;grid-template-columns:repeat(3,1fr);text-align:center}.t-grid{display:grid;gap:var(--gap)}.t-field{display:grid;gap:6px;font-size:14px;color:var(--text-dim);margin:0 0 12px;border:0;padding:0;min-width:0}.t-field legend{padding:0;margin-bottom:6px}.t-field input,.t-field select{width:100%;min-height:44px;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--inset);color:var(--text);font-size:16px}.t-field input:focus-visible,.t-field select:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.t-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);column-gap:16px}.t-chips{display:flex;flex-wrap:wrap;gap:8px}.t-chips legend{width:100%}.t-chip{min-height:40px;padding:8px 14px;border-radius:999px;border:1px solid var(--line-strong);background:transparent;cursor:pointer}.t-chip.on{background:var(--accent-soft);border-color:var(--accent);color:var(--text);font-weight:600}.t-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:4px}.t-btn{min-height:44px;padding:10px 18px;border-radius:999px;border:0;background:var(--grad-btn);color:var(--on-accent);font-weight:600;cursor:pointer}.t-btn:disabled{opacity:.45;cursor:default}.t-btn--ghost{background:transparent;color:var(--text);border:1px solid var(--line-strong)}.t-link{background:none;border:0;padding:4px 0;color:var(--accent);text-decoration:underline;cursor:pointer;min-height:32px}.t-icon{width:44px;height:44px;border-radius:999px;border:1px solid var(--line);background:transparent;cursor:pointer}.t-device p{margin:4px 0 8px}.t-devrow{padding:4px 0}.t-check{display:flex;gap:10px;align-items:flex-start;margin:14px 0 6px;font-weight:600}.t-check input{width:22px;height:22px;flex:none;margin-top:2px;accent-color:var(--accent)}.t-seg{display:flex;gap:6px;padding:4px;border-radius:999px;background:var(--inset);border:1px solid var(--line);overflow-x:auto}.t-seg button{flex:1;min-height:40px;border-radius:999px;border:0;background:transparent;cursor:pointer;padding:6px 14px;white-space:nowrap}.t-seg button.on{background:var(--glass-strong);font-weight:700;box-shadow:var(--shadow-sm)}.t-cols{display:grid;gap:var(--gap)}.t-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.t-test{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;min-height:64px;padding:12px 14px;border-radius:var(--radius);border:1px solid var(--line);background:var(--glass);cursor:pointer}.t-test__main{display:grid;gap:2px;min-width:0}.t-test__main .t-dim{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.t-test__result{display:grid;justify-items:end;gap:2px;flex:none}.t-grade{font-weight:700}.t-grade--none{font-weight:400;color:var(--text-faint);font-size:14px}.t-stars{color:var(--text-faint);letter-spacing:1px;white-space:nowrap}.t-stars .on{color:var(--amber)}.t-area{display:grid;gap:6px;margin-bottom:8px}.t-tag{display:inline-block;font-size:12px;font-weight:700;padding:2px 8px;border-radius:999px;margin-right:6px}.t-tag--practise{color:var(--on-accent);background:var(--amber)}.t-tag--strong{color:var(--on-accent);background:var(--lime)}.t-scrim{position:fixed;inset:0;background:var(--scrim);display:flex;align-items:flex-end;justify-content:center;z-index:20}.t-sheet{width:100%;max-width:720px;max-height:92dvh;overflow:auto;background:var(--bg-deep);border:1px solid var(--line);border-radius:20px 20px 0 0;box-shadow:var(--shadow-lg);padding-bottom:env(safe-area-inset-bottom);outline:none}.t-sheet__head{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:var(--bg-deep);border-bottom:1px solid var(--line)}.t-sheet__head h2{margin:0;font-size:18px}.t-sheet__body{padding:16px}.t-terms p{margin:0 0 10px}.t-steps{padding-left:20px;margin:0 0 12px}.t-pair{display:grid;gap:16px;align-items:center;justify-items:center;text-align:center}.t-qr{width:220px;height:220px;border-radius:var(--radius-sm);background:var(--qr-bg)}.t-qr--wait{opacity:.4}.t-code{font-family:var(--font-mono);font-size:36px;font-weight:700;letter-spacing:.12em}.t-result{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:var(--radius);background:var(--glass);border:1px solid var(--line);margin-bottom:8px}.t-result .t-stars{font-size:22px}.t-tasks{list-style:none;padding:0;margin:12px 0;display:grid;gap:10px}.t-task{padding:12px 14px;border-radius:var(--radius);border:1px solid var(--line);background:var(--glass)}.t-pre{white-space:pre-wrap;margin:8px 0}.t-details summary{cursor:pointer;color:var(--accent);min-height:32px;display:flex;align-items:center}.t-mark{display:inline-block;font-size:13px;font-weight:700;padding:3px 10px;border-radius:999px;border:1px solid var(--line-strong);color:var(--text-dim)}.t-mark--ok{color:var(--on-accent);background:var(--lime);border-color:transparent}.t-mark--half{color:var(--on-accent);background:var(--amber);border-color:transparent}.t-mark--no{color:var(--on-accent);background:var(--red);border-color:transparent}.t-tabs{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:center;gap:8px;padding:8px max(16px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom));background:var(--bar-bg);border-top:1px solid var(--line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);z-index:10}.t-tabs button{flex:1;max-width:220px;min-height:52px;display:grid;justify-items:center;gap:2px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-dim);font-size:13px;font-weight:600;cursor:pointer}.t-tabs button span{font-size:20px;line-height:1}.t-tabs button.on{color:var(--accent);background:var(--accent-soft)}@media(min-width:700px){.t-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.t-cols{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start}.t-scrim{align-items:center;padding:24px}.t-sheet{border-radius:20px;max-height:86dvh}.t-pair{grid-template-columns:auto 1fr;text-align:left;justify-items:start}}@media(min-width:1100px){.t-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
