:root{color-scheme:dark;--teal:#14b8a6;--teal-d:#0f766e;--on-teal:#042f2e;--accent:#5eead4;--bg:#0b1414;--ink:#e8f2f2;--mut:#9fb4b4;--card:#122020;--line:rgba(148,196,196,.18);--good:#4ade80;--bad:#f87171;--warn:#fbbf24;--shadow:0 1px 2px rgba(0,0,0,.4), 0 8px 24px rgba(0,0,0,.25);--tint:rgba(20,184,166,.14);--ring:#5eead4;--r:16px;--r-sm:12px}:root[data-theme=light]{color-scheme:light;--accent:#0f766e;--bg:#f4f8f8;--ink:#0f1f1f;--mut:#506464;--card:#fff;--line:rgba(15,60,60,.14);--good:#15803d;--bad:#b91c1c;--warn:#92400e;--shadow:0 1px 2px rgba(15,60,60,.08), 0 8px 24px rgba(15,60,60,.08);--tint:rgba(20,184,166,.12);--ring:#0f766e}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--ink);line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2,h3{letter-spacing:-.015em;line-height:1.2}a{color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.wrap{max-width:920px;margin:0 auto;padding:16px 20px 24px}.bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 0 20px}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.05rem}.brand img{width:32px;height:32px;border-radius:8px}.streak,.stats{color:var(--mut)}.stats{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.hero h1{font-size:clamp(1.8rem,5.5vw,2.8rem);line-height:1.1;margin:.3em 0}.eyebrow{color:var(--accent);font-weight:700;text-transform:uppercase;font-size:.78rem;letter-spacing:.08em;margin:0}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;margin:20px 0}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px;box-shadow:var(--shadow)}.course{display:flex;flex-direction:column;gap:10px}.course h3,.course p{margin:0}.course p{color:var(--mut)}a.course{transition:transform .15s,border-color .15s}a.course:hover{transform:translateY(-2px);border-color:var(--teal)}.code{font-size:.75rem;color:var(--accent);font-weight:700;letter-spacing:.04em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--teal);color:var(--on-teal);border:1px solid transparent;border-radius:999px;padding:11px 20px;font:inherit;font-weight:700;font-size:.98rem;line-height:1.2;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,transform .08s,box-shadow .15s}.btn:hover{background:#2dd4bf;text-decoration:none;box-shadow:0 4px 14px #14b8a659}.btn:active{transform:translateY(1px);background:#0f9f8f;box-shadow:none}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line);border-color:color-mix(in srgb,var(--teal) 55%,transparent)}.btn.ghost:hover:not(:disabled){background:var(--tint);border-color:var(--teal);box-shadow:none}.btn.ghost:active:not(:disabled){background:color-mix(in srgb,var(--teal) 24%,transparent)}.btn.quiet{background:transparent;color:var(--ink);border-color:transparent}.btn.quiet:hover:not(:disabled){background:var(--tint);color:var(--accent);box-shadow:none}.btn.quiet:active:not(:disabled){background:color-mix(in srgb,var(--teal) 24%,transparent)}.btn.sm{padding:7px 14px;font-size:.88rem;font-weight:600}.card .btn{align-self:flex-start}.course .btn{align-self:stretch}.meta{display:flex;justify-content:space-between;color:var(--mut);font-size:.85rem}.progress{height:8px;background:var(--tint);border-radius:4px;margin:12px 0}.progress div{height:100%;background:var(--teal);border-radius:4px;transition:width .3s}.q{font-size:1.25rem;line-height:1.4}.opts{display:grid;gap:10px}.opt{display:flex;gap:12px;align-items:center;text-align:left;width:100%;padding:13px 14px;border-radius:var(--r-sm);border:2px solid var(--line);background:transparent;color:var(--ink);font:inherit;cursor:pointer;transition:border-color .15s,background .15s}.opt:not(:disabled):hover{border-color:var(--teal);background:var(--tint)}.opt:disabled{cursor:default}.ltr{flex:none;width:30px;height:30px;border-radius:50%;background:var(--tint);display:grid;place-items:center;font-weight:700;font-size:.85rem}.opt.right{border-color:var(--good);background:color-mix(in srgb,var(--good) 14%,transparent)}.opt.bad{border-color:var(--bad);background:color-mix(in srgb,var(--bad) 14%,transparent)}.opt.dim{opacity:.6}.expl{margin-top:16px;padding:16px;border-radius:var(--r-sm);background:var(--tint);line-height:1.55;display:flex;flex-direction:column;gap:12px;align-items:flex-start}.center{text-align:center}.big{font-size:3rem;font-weight:800;margin:.2em;color:var(--accent)}.row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:16px}.review{text-align:left;line-height:1.5;padding-left:18px}.good{color:var(--good)}li.bad,span.bad{color:var(--bad)}footer{text-align:center;color:var(--mut);font-size:.85rem;padding:24px 0}.site-nav{display:flex;align-items:center;gap:12px 16px;flex-wrap:wrap;padding:10px 0;margin-bottom:8px;position:sticky;top:0;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:5;border-bottom:1px solid var(--line)}.site-nav nav{display:flex;gap:2px;flex-wrap:wrap;flex:1}a.brand{color:var(--ink);text-decoration:none}.land{padding:40px 0 24px}.row.left{justify-content:flex-start}.block{padding:32px 0;scroll-margin-top:80px}.block h2{font-size:1.7rem}.mut{color:var(--mut)}a.course{color:inherit;text-decoration:none}.faq{margin-bottom:10px}.faq summary{cursor:pointer;font-weight:600}.faq p{color:var(--mut)}.auth{max-width:400px;margin:32px auto}.auth form{display:grid;gap:10px;margin:16px 0}.auth input{padding:12px 14px;border-radius:var(--r-sm);border:1px solid var(--line);border-color:color-mix(in srgb,var(--mut) 60%,transparent);background:transparent;color:inherit;font:inherit}.auth input:focus-visible{outline-offset:0;border-color:var(--ring)}.auth .btn{width:100%}.msg{color:var(--warn)}.trial{font-size:.85rem;color:var(--mut)}.nav-cta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin:12px 0}.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);padding:16px;box-shadow:var(--shadow)}.stat b{display:block;font-size:1.6rem;color:var(--accent)}.stat span{color:var(--mut);font-size:.85rem}.hist-wrap{overflow-x:auto}.hist{width:100%;border-collapse:collapse}.hist td,.hist th{text-align:left;padding:8px;border-bottom:1px solid var(--line);font-size:.95rem;white-space:nowrap}.profile h2{margin:28px 0 10px}.profile .card{margin-bottom:12px}.admin{border:2px solid var(--teal)}.appearance{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.appearance p{margin:.2em 0 0}.seg{display:inline-flex;padding:4px;border-radius:999px;background:var(--tint);border:1px solid var(--line)}.seg button{border:0;background:transparent;color:var(--ink);font:inherit;font-weight:600;padding:8px 20px;border-radius:999px;cursor:pointer;transition:background .15s}.seg button:hover:not(.on){background:color-mix(in srgb,var(--teal) 20%,transparent)}.seg button.on{background:var(--teal);color:var(--on-teal)}@media (max-width:520px){.wrap{padding:12px 14px 20px}.card{padding:16px}.site-nav nav{order:3;flex-basis:100%}.nav-cta{margin-left:auto}.btn.sm{padding:7px 12px}.row .btn{flex:1 1 auto}.big{font-size:2.4rem}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
