:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f8f9fb;--surface:#fff;--surface-2:#f3f4f7;--ink:#0b0d11;--ink-2:#3f4550;--ink-3:#7d8590;--line:#eaecf0;--line-2:#f1f2f5;--grid:#0b0d1109;--brand:#2563eb;--brand-2:#3b82f6;--brand-ink:#1d4ed8;--accent:#2563eb;--accent-2:#3b82f6;--accent-soft:#e9f1fe;--good:#0f9d58;--good-soft:#e4f4ea;--warn:#b8791b;--warn-soft:#f6ecd9;--bad:#d0342c;--bad-soft:#f9e4e2;--radius:14px;--radius-sm:10px;--shadow:0 1px 2px #1018280a;--shadow-lg:0 1px 3px #1018280f, 0 12px 32px #10182812;--display:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--sans:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "SF Mono", "JetBrains Mono", "Cascadia Code", "Consolas", "Menlo", monospace;--serif:var(--display)}:root[data-theme=dark]{--bg:#0a0b0d;--surface:#101216;--surface-2:#15181d;--ink:#eef0f3;--ink-2:#b3bac4;--ink-3:#767e8b;--line:#21252b;--line-2:#1a1e23;--grid:#ffffff07;--brand:#60a5fa;--brand-2:#7cb5fb;--brand-ink:#93c5fd;--accent:#60a5fa;--accent-2:#7cb5fb;--accent-soft:#12233d;--good:#34c77b;--good-soft:#12281c;--warn:#d6a24a;--warn-soft:#2b2312;--bad:#ef5b52;--bad-soft:#2c1615;--shadow:0 1px 2px #0006;--shadow-lg:0 1px 3px #00000080, 0 16px 40px #0000008c}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background-color:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-feature-settings:"cv11", "ss01";font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-family:var(--display);letter-spacing:-.02em;color:var(--ink);font-weight:620;line-height:1.12}.app{grid-template-columns:256px 1fr;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:var(--surface);height:100vh;padding:24px 16px;position:sticky;top:0;overflow-y:auto}.main{width:100%;padding:52px clamp(24px,4vw,64px)}@media (max-width:860px){.app{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--line);height:auto;position:static}}.brand-logo{padding:4px 6px 0;display:block}.brand-logo img{width:132px;height:auto;display:block}:root[data-theme=dark] .brand-logo img{filter:invert()brightness(1.4)hue-rotate(180deg)}.brand-course{font-family:var(--display);letter-spacing:-.01em;color:var(--ink);flex-direction:column;margin:8px 6px 22px;font-size:14px;font-weight:600;display:flex}.brand-course span{font-family:var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);margin-top:2px;font-size:10px;font-weight:500}.brand-mark{background:var(--ink);width:32px;height:32px;color:var(--bg);border-radius:8px;flex:none;place-items:center;display:grid}.nav{flex-direction:column;gap:1px;display:flex}.nav-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3);margin:20px 10px 7px;font-size:10.5px}.nav-item{border-radius:var(--radius-sm);color:var(--ink-2);align-items:center;gap:11px;padding:8px 11px;font-size:14px;font-weight:500;transition:background .13s,color .13s;display:flex}.nav-item:hover{background:var(--surface-2);color:var(--ink)}.nav-item.active{background:var(--surface-2);color:var(--ink);font-weight:600}.nav-item.active svg{color:var(--brand)}.nav-item svg{color:var(--ink-3);flex:none}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card-p{padding:28px 30px}.grid{gap:16px;display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}@media (max-width:720px){.grid-2,.grid-3{grid-template-columns:1fr}}.eyebrow{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-3);font-size:10.5px;font-weight:600}.muted{color:var(--ink-3)}.h-hero{letter-spacing:-.03em;margin:8px 0 10px;font-size:clamp(28px,4vw,40px)}.lead{color:var(--ink-2);max-width:64ch;font-size:17px}.btn{cursor:pointer;font-size:14px;font-weight:600;font-family:var(--sans);border:1px solid #0000;border-radius:9px;align-items:center;gap:8px;padding:10px 17px;transition:transform 70ms,background .13s,border-color .13s,box-shadow .13s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-ink)}.btn-ghost{color:var(--ink);border-color:var(--line);background:0 0}.btn-ghost:hover{background:var(--surface-2);border-color:var(--ink-3)}.btn-gold{background:var(--accent-soft);color:var(--brand-ink);border-color:color-mix(in srgb, var(--brand) 30%, transparent)}.btn-gold:hover{background:color-mix(in srgb, var(--brand) 16%, var(--surface))}.btn-lg{padding:13px 24px;font-size:15px}.pill{font-family:var(--mono);letter-spacing:.01em;border-radius:999px;align-items:center;gap:6px;padding:3px 11px;font-size:11px;font-weight:600;display:inline-flex}.pill-brand{background:var(--accent-soft);color:var(--brand)}.pill-good{background:var(--good-soft);color:var(--good)}.pill-warn{background:var(--warn-soft);color:var(--warn)}.pill-bad{background:var(--bad-soft);color:var(--bad)}.pill-line{background:var(--surface-2);color:var(--ink-2)}.meter{background:var(--line);border-radius:999px;height:5px;overflow:hidden}.meter>span{background:var(--brand);border-radius:999px;height:100%;display:block}.meter.gold>span{background:var(--good)}.score-meter{width:100%;min-width:240px}.score-meter-top{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.score-meter-num{font-family:var(--display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:40px;font-weight:700;line-height:1}.score-meter-num small{color:var(--ink-3);letter-spacing:0;margin-left:3px;font-size:16px;font-weight:600}.score-meter-band{color:var(--ink-2);font-size:14px;font-weight:650}.score-meter-track{background:var(--line-2);border-radius:999px;height:12px;position:relative;overflow:visible}.score-meter-fill{border-radius:999px;transition:width .4s;position:absolute;inset:0 auto 0 0}.score-meter-tick{background:var(--surface);border-left:2px solid var(--ink-3);opacity:.45;width:2px;position:absolute;top:-3px;bottom:-3px}.score-meter-scale{font-family:var(--mono);color:var(--ink-3);justify-content:space-between;margin-top:6px;font-size:10.5px;display:flex;position:relative}.prose h2{letter-spacing:-.02em;margin:30px 0 10px;font-size:23px}.prose h3{margin:24px 0 8px;font-size:18px}.prose p{color:var(--ink-2);margin:0 0 14px}.prose ul,.prose ol{color:var(--ink-2);margin:0 0 16px;padding-left:22px}.prose li{margin-bottom:7px}.callout{border-radius:var(--radius-sm);border:none;border-left:3px solid var(--line);background:var(--surface-2);margin:18px 0;padding:15px 18px;font-size:14.5px}.callout .ttl{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);align-items:center;gap:8px;margin-bottom:5px;font-size:11px;font-weight:700;display:flex}.callout.key{border-left-color:var(--brand)}.callout.key .ttl{color:var(--brand)}.callout.trap{border-left-color:var(--bad);background:var(--bad-soft)}.callout.trap .ttl{color:var(--bad)}.callout.texas{border-left-color:var(--good);background:var(--good-soft)}.callout.texas .ttl{color:var(--good)}.callout.tip{border-left-color:var(--ink-3)}.define{border-left:2px solid var(--brand);margin:14px 0;padding:3px 0 3px 16px}.define b{color:var(--ink)}table.t{border-collapse:collapse;width:100%;margin:16px 0;font-size:14px}table.t th{text-align:left;color:var(--ink-3);font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase;border-bottom:1px solid var(--line);padding:10px 14px 8px;font-size:11px;font-weight:600}table.t td{border-bottom:1px solid var(--line-2);color:var(--ink-2);padding:10px 14px}table.t tr:last-child td{border-bottom:none}.diagram{background:var(--surface-2);border-radius:var(--radius);border:none;margin:20px 0;padding:22px}.diagram .dtitle{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);text-align:center;margin-bottom:12px;font-size:11px;font-weight:700}.chain{flex-wrap:wrap;justify-content:center;align-items:stretch;gap:10px;display:flex}.chain .node{background:var(--surface);border:1px solid var(--line);border-radius:8px;flex:160px;padding:12px}.chain .node b{margin-bottom:3px;display:block}.chain .node small{color:var(--ink-3)}.two-col{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (max-width:640px){.two-col{grid-template-columns:1fr}}.two-col .col{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:14px}.two-col .col h4{font-family:var(--sans);margin:0 0 8px;font-size:14px}.cov{grid-template-columns:auto 1fr;align-items:baseline;gap:5px 14px;display:grid}.cov .code{font-family:var(--mono);color:var(--brand);font-weight:600}.lnav{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:14px;padding-top:22px;display:grid}.lnav a{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);align-items:center;gap:16px;padding:18px 22px;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.lnav a:hover{border-color:var(--brand);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.lnav a.next{text-align:right;flex-direction:row-reverse}.lnav .dir{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-size:11px}.lnav a.next .dir{color:var(--brand)}.lnav .ttl{color:var(--ink);margin-top:3px;font-size:15px;font-weight:600;line-height:1.35}.lnav .kick{color:var(--ink-3);margin-top:2px;font-size:12.5px}.lnav .arr{background:var(--surface-2);width:40px;height:40px;color:var(--ink-3);border-radius:999px;flex:none;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.lnav a.next .arr{background:var(--brand);color:#fff}.lnav a.prev .arr svg{transform:rotate(180deg)}.lnav a.prev:hover .arr{background:var(--accent-soft);color:var(--brand)}.lnav a.next:hover .arr{background:var(--brand-ink)}@media (max-width:720px){.lnav{grid-template-columns:1fr}}.infodot{color:var(--ink-3);cursor:help;vertical-align:middle;justify-content:center;align-items:center;margin-left:10px;display:inline-flex;position:relative}.infodot:hover,.infodot:focus{color:var(--brand);outline:none}.infodot-tip{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);width:300px;box-shadow:var(--shadow-lg);color:var(--ink-2);opacity:0;visibility:hidden;z-index:60;text-transform:none;letter-spacing:normal;font-size:13px;line-height:1.55;font-family:var(--sans);padding:12px 14px;font-weight:400;transition:opacity .15s;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%)}.infodot:hover .infodot-tip,.infodot:focus .infodot-tip{opacity:1;visibility:visible}.tour-overlay{z-index:200;background:#0a0c108c;position:fixed;inset:0}.tour-spot{box-shadow:0 0 0 3px var(--brand), 0 0 0 9999px #0a0c108c;z-index:201;pointer-events:none;background:0 0;border-radius:12px;transition:all .25s;position:fixed}.tour-overlay{background:0 0}.tour-card{z-index:202;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:320px;max-width:calc(100vw - 32px);box-shadow:var(--shadow-lg);padding:20px 22px;position:fixed}@media (max-width:720px){.tour-card{width:auto;bottom:24px;right:16px;top:auto!important;left:16px!important;transform:none!important}}.tip-terms{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px;display:grid}@media (max-width:900px){.tip-terms{grid-template-columns:1fr}}.tip-term{border-bottom:1px solid var(--line-2);padding-bottom:10px}.tip-term b{margin-bottom:2px;font-size:14.5px;display:block}.tip-term span{color:var(--ink-2);font-size:13.5px;line-height:1.55}.tip-bullets{color:var(--ink-2);gap:7px;margin:0;padding-left:18px;font-size:14px;line-height:1.55;display:grid}.plan-row{border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);padding:12px 14px;text-decoration:none;transition:border-color .15s,background .15s}.plan-row:hover{border-color:var(--brand);background:var(--accent-soft)}.match-tray{flex-wrap:wrap;align-items:center;gap:10px;min-height:54px;display:flex}.match-chip{border:1px solid var(--line);background:var(--surface);font-family:var(--sans);color:var(--ink);cursor:grab;border-radius:999px;padding:11px 18px;font-size:14.5px;font-weight:600;transition:border-color .15s,background .15s,transform .15s,box-shadow .15s}.match-chip:hover{border-color:var(--brand);box-shadow:var(--shadow);transform:translateY(-1px)}.match-chip.picked{background:var(--brand);border-color:var(--brand);color:#fff}.match-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}@media (max-width:1100px){.match-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.match-grid{grid-template-columns:1fr}}.match-slot{border:1.5px dashed var(--line);border-radius:var(--radius);background:var(--surface);min-height:108px;padding:16px 18px;transition:border-color .15s,background .15s}.match-slot.ready{cursor:pointer}.match-slot.ready:hover{border-color:var(--brand);background:var(--accent-soft)}.match-slot.matched{border:1px solid var(--good);background:var(--good-soft)}.match-slot.miss{border-color:var(--bad);background:var(--bad-soft);animation:.4s match-shake}.match-slot-term{color:var(--good);align-items:center;gap:6px;margin-bottom:6px;font-size:14px;font-weight:650;display:inline-flex}.match-slot-def{color:var(--ink-2);margin:0;font-size:13.5px;line-height:1.55}.match-cleared{color:var(--good);align-items:center;gap:8px;font-weight:600;display:flex}@keyframes match-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.match-demo{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);grid-template-columns:minmax(0,1fr) 340px;align-items:center;gap:24px;padding:20px 24px;display:grid}@media (max-width:860px){.match-demo{grid-template-columns:1fr}}.match-demo-steps{color:var(--ink-2);flex-direction:column;gap:8px;font-size:14px;display:flex}.match-demo-steps b{color:var(--brand);font-family:var(--mono);margin-right:4px}.match-demo-stage{height:130px;position:relative}.match-demo-chip{z-index:2;cursor:default;pointer-events:none;animation:3.2s ease-in-out infinite match-demo-drag;position:absolute;top:0;left:0}.match-demo-slot{pointer-events:none;width:250px;min-height:84px;animation:3.2s ease-in-out infinite match-demo-land;position:absolute;bottom:0;right:0}@keyframes match-demo-drag{0%,12%{opacity:1;transform:translate(0)rotate(0)}20%{transform:translate(4px,2px)rotate(-3deg)}55%{opacity:1;transform:translate(110px,58px)rotate(2deg)}68%,82%{opacity:0;transform:translate(110px,58px)rotate(0)}83%,to{opacity:0;transform:translate(0)}}@keyframes match-demo-land{0%,55%{border-color:var(--line);background:var(--surface)}62%,85%{border:1px solid var(--good);background:var(--good-soft)}95%,to{border-color:var(--line);background:var(--surface)}}.grade-row{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.grade-btn{border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);cursor:pointer;min-width:168px;font-family:var(--sans);flex-direction:column;align-items:center;gap:3px;padding:14px 20px;transition:border-color .15s,background .15s,transform .15s,box-shadow .15s;display:flex}.grade-btn:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.grade-label{color:var(--ink);font-size:15px;font-weight:650}.grade-sub{color:var(--ink-3);font-size:12px}.grade-btn svg{color:var(--ink-3);transition:color .15s}.grade-miss:hover svg{color:var(--bad)}.grade-knew:hover svg{color:var(--good)}.grade-miss:hover{border-color:var(--bad);background:var(--bad-soft)}.grade-miss:hover .grade-label{color:var(--bad)}.grade-almost:hover{border-color:var(--warn);background:var(--warn-soft)}.grade-almost:hover .grade-label{color:var(--warn)}.grade-knew:hover{border-color:var(--good);background:var(--good-soft)}.grade-knew:hover .grade-label{color:var(--good)}@media (max-width:720px){.grade-row{flex-direction:column}.grade-btn{width:100%}}.option{text-align:left;border:1px solid var(--line);background:var(--surface);cursor:pointer;width:100%;color:var(--ink);font-size:15px;font-family:var(--sans);border-radius:9px;align-items:flex-start;gap:12px;margin-bottom:9px;padding:13px 15px;transition:border-color .12s,background .12s;display:flex}.option:hover{border-color:var(--brand)}.option .key{border:1px solid var(--line);width:24px;height:24px;font-family:var(--mono);color:var(--ink-3);border-radius:6px;flex:none;place-items:center;font-size:12px;font-weight:600;display:grid}.option.correct{border-color:var(--good);background:var(--good-soft)}.option.correct .key{background:var(--good);color:#fff;border-color:var(--good)}.option.wrong{border-color:var(--bad);background:var(--bad-soft)}.option.wrong .key{background:var(--bad);color:#fff;border-color:var(--bad)}.option:disabled{cursor:default}.explain{background:var(--surface-2);border:1px solid var(--line);border-radius:9px;margin-top:6px;padding:14px 16px;font-size:14.5px}.explain .why-wrong{color:var(--ink-3);margin-top:8px;font-size:13.5px}.flip{perspective:1600px}.flip-inner{transform-style:preserve-3d;min-height:260px;transition:transform .5s cubic-bezier(.22,1,.36,1);position:relative}.flip.flipped .flip-inner{transform:rotateY(180deg)}.flip-face{backface-visibility:hidden;text-align:center;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;place-items:center;padding:32px;display:grid;position:absolute;inset:0}.flip-back{transform:rotateY(180deg)}.stat{flex-direction:column;gap:3px;display:flex}.stat b{font-family:var(--display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:27px;line-height:1}.stat span{font-family:var(--mono);letter-spacing:.04em;color:var(--ink-3);font-size:11px}.account-box{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);flex-direction:column;gap:6px;margin-top:18px;padding:10px 11px;display:flex}.account-email{font-family:var(--mono);color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.account-signout{font-family:var(--sans);color:var(--ink-3);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-size:12px;font-weight:600}.account-signout:hover{color:var(--ink)}.hairline{background:var(--line);border:none;height:1px;margin:22px 0}.row{align-items:center;gap:12px;display:flex}.between{justify-content:space-between;align-items:center;gap:12px;display:flex}.wrap{flex-wrap:wrap;gap:10px;display:flex}.stack{flex-direction:column;gap:14px;display:flex}.mono,.pill{font-variant-numeric:tabular-nums}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
