.classroom{width:100%;max-width:980px;padding:var(--sp-6) var(--sp-5) var(--sp-7);align-content:start;gap:var(--sp-4);font-family:var(--font-sans);color:var(--ink);margin:0 auto;display:grid}.classroom h1{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:clamp(1.9rem,4vw,2.6rem);font-weight:700;line-height:1.12}.classroom--gate{text-align:center;align-content:center;justify-items:center;gap:var(--sp-5);max-width:880px;min-height:calc(100vh - 280px);padding-block:var(--sp-7)}.classroom__gatehead{justify-items:center;gap:var(--sp-2);display:grid}.classroom--gate .classroom__lede{max-width:48ch;font-size:1.0625rem}.classroom--gate .cchoice{width:100%}.classroom--gate .ccard{text-align:left;padding:var(--sp-5);gap:var(--sp-3);flex-direction:column;height:100%;display:flex}.classroom--gate .ccard .crow{padding-top:var(--sp-2);margin-top:auto}.classroom--gate .cbtn{width:100%}.classroom__gatefoot{font-size:.9375rem}.classroom__lede{font-family:var(--font-sans);color:var(--ink-soft,#46506a);max-width:62ch;margin:0;font-size:1rem;font-weight:500;line-height:1.6}.ccard{background:var(--surface,#fff);border:1px solid var(--line,#c8d3f4);border-radius:var(--r-lg);padding:var(--sp-5);align-content:start;gap:var(--sp-3);display:grid;box-shadow:0 10px 30px -26px #090b1299}.ccard h2{font-family:var(--font-display);letter-spacing:-.005em;margin:0;font-size:1.25rem;font-weight:700;line-height:1.25}.ccard__eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--brand-600,#163fb8);font-size:.72rem;font-weight:600}.cchoice{gap:var(--sp-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width<=720px){.cchoice{grid-template-columns:1fr}}.crow{gap:var(--sp-2);flex-wrap:wrap;align-items:center;display:flex}.cinput,.crow>input:not([class]),.classroom select.cinput{font-family:var(--font-sans);border:1px solid var(--line,#c8d3f4);border-radius:var(--r-md);background:var(--surface,#fff);min-height:44px;color:inherit;flex:0 220px;min-width:190px;padding:0 14px;font-size:.9375rem}.cinput:focus-visible{border-color:var(--brand-500,#2e48d9);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand-500,#2e48d9) 14%, transparent);outline:none}.cbtn,.crow>button:not([class]){min-height:44px;font-family:var(--font-sans);letter-spacing:.01em;text-transform:none;border:1px solid var(--brand-600,#163fb8);border-radius:var(--r-md);background:var(--brand-600,#163fb8);color:#fff;cursor:pointer;box-shadow:none;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);justify-content:center;align-items:center;padding:0 18px;font-size:.875rem;font-weight:700;text-decoration:none;display:inline-flex}.cbtn:hover{background:var(--brand-700,#0e2e93);border-color:var(--brand-700,#0e2e93)}.cbtn:active{transform:none}.cbtn--ghost{background:var(--surface,#fff);color:var(--ink);border-color:var(--line,#c8d3f4)}.cbtn--ghost:hover{background:var(--surface-sunk,#eef2ff);border-color:var(--brand-500,#2e48d9)}.crow>button:not([class]):disabled{opacity:.5;cursor:not-allowed}.cchips{gap:var(--sp-2);flex-wrap:wrap;display:flex}.cchip{border:1px solid var(--line,#c8d3f4);border-radius:var(--r-md);min-height:40px;font-family:var(--font-sans);letter-spacing:0;text-transform:none;background:var(--surface,#fff);color:inherit;cursor:pointer;align-items:center;padding:0 14px;font-size:.875rem;font-weight:650;display:inline-flex}.cchip:hover{border-color:var(--brand-500,#2e48d9)}.cchip.is-active{background:var(--brand-600,#163fb8);border-color:var(--brand-600,#163fb8);color:#fff}.ctable{border-collapse:collapse;width:100%;font-family:var(--font-sans);font-size:.9rem}.ctable th{text-align:left;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft,#46506a);border-bottom:1px solid var(--line,#c8d3f4);padding:10px 12px;font-size:.7rem;font-weight:600}.ctable td{border-bottom:1px solid color-mix(in srgb, var(--line,#c8d3f4) 60%, transparent);padding:12px;font-weight:500}.ccode{font-family:var(--font-mono);letter-spacing:.22em;background:var(--surface-sunk,#eef2ff);border:1px solid var(--brand-500,#2e48d9);border-radius:var(--r-md);padding:8px 14px;font-size:1.25rem;font-weight:700;display:inline-block}.cnote{font-family:var(--font-sans);color:var(--ink-soft,#46506a);margin:0;font-size:.9rem;font-weight:500;line-height:1.55}.cnote--bad{color:var(--danger,#b91c1c)}.cnote--good{color:var(--ok,#0f7a4d)}@media (width<=720px){.classroom{padding:var(--sp-5) 16px var(--sp-6)}.cinput{flex:100%;min-width:0}}.cflag{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:600}.cflag--low{color:var(--ink-soft,#46506a)}.cflag--medium{color:#b45309}.cflag--high{color:#b91c1c}.classroom__headline p{color:var(--ink-soft,#46506a);margin:4px 0 0}.clessons{gap:var(--sp-2);margin:0;padding:0;list-style:none;display:grid}.clessons li{align-items:center;gap:var(--sp-2);border:1px solid var(--line,#c8d3f4);border-radius:var(--r-md);background:var(--surface,#fff);padding:12px 14px;display:flex}.clessons li a{color:inherit;flex:1;gap:2px;text-decoration:none;display:grid}.clessons li a span{color:var(--ink-soft,#46506a);font-size:.85rem}.cbtn--big{min-height:50px;margin:.5rem 0 .25rem;padding:0 22px;font-size:1rem}.clink{font:inherit;color:var(--brand-600,#163fb8);cursor:pointer;background:0 0;border:0;margin-top:.5rem;padding:0;text-decoration:underline;display:inline-block}.cpath{margin:var(--sp-3) 0 0;gap:var(--sp-2);padding:0;list-style:none;display:grid}.cstep{justify-content:space-between;align-items:center;gap:var(--sp-2);border:1px solid var(--line,#c8d3f4);border-radius:var(--r-md);background:var(--surface,#fff);padding:var(--sp-3);display:flex}.cstep__body{color:inherit;flex:1;gap:2px;text-decoration:none;display:grid}.cstep__body em{color:var(--ink-soft,#46506a);font-size:.9rem;font-style:normal}.cstep__body span{color:var(--ink-soft,#46506a);font-size:.8rem}.cstep--now{border-color:var(--brand-500,#2e48d9);background:var(--surface-sunk,#eef2ff)}.cstep--done{opacity:.85}.cstep--locked{opacity:.5}.cstep--locked .cstep__body{cursor:not-allowed}.cstats{gap:var(--sp-3,12px);margin:var(--sp-3,12px) 0;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.cstat{border:1px solid var(--line,#0f172a1f);background:var(--surface,#fff);border-radius:14px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.cstat strong{font-family:var(--font-display);font-size:1.6rem;line-height:1.1}.cstat span{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;opacity:.7;font-size:.7rem}
