:root{--practice-ink: #12211d;--practice-muted: #52625d;--practice-paper: #f4f3ed;--practice-line: #d8ded9;--practice-teal: #176b63;--practice-teal-dark: #0d4742;--practice-gold: #c88f32;--practice-code: #111816;--practice-code-soft: #18211e;--practice-code-line: #2a3732}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.practice-landing,.practice-list-page,.practice-guide,.practice-foundations,.practice-skills{color:var(--practice-ink)}.practice-hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.7fr);gap:clamp(40px,7vw,96px);align-items:end;padding:52px 0 76px;border-bottom:1px solid var(--practice-line)}.practice-kicker,.practice-page-header>div>p:first-child,.practice-principles>header>p,.curriculum-section>header p,.foundation-units>header>p,.skill-reading-guide>header>p{margin:0 0 18px;color:var(--practice-teal);font:750 .76rem/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.14em}.practice-hero h1{max-width:820px;font-size:clamp(3.3rem,7vw,6.5rem);letter-spacing:-.055em}.practice-hero-copy{max-width:720px;margin:28px 0 0;color:var(--practice-muted);font-size:1.08rem;line-height:2}.practice-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.practice-hero-actions a,.practice-page-header>a{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:48px;padding:0 20px;border:1px solid var(--practice-ink);background:var(--practice-ink);color:#fff;font-weight:760;text-decoration:none;transition:background .18s ease,color .18s ease,transform .18s ease}.practice-hero-actions a:hover,.practice-hero-actions a:focus-visible,.practice-page-header>a:hover,.practice-page-header>a:focus-visible{background:var(--practice-teal);transform:translateY(-2px)}.practice-hero-actions a+a{border-color:var(--practice-line);background:transparent;color:var(--practice-ink)}.practice-hero-panel{padding:28px;border:1px solid var(--practice-ink);background:var(--practice-ink);color:#fff;box-shadow:14px 14px #c9ddd8}.practice-hero-panel header{display:flex;align-items:baseline;justify-content:space-between;padding-bottom:18px;border-bottom:1px solid #3a4843}.practice-hero-panel header span,.practice-hero-panel dt{color:#9eb2ab;font:700 .7rem/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em}.practice-hero-panel header strong{font-size:1.2rem}.pattern-visual{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:10px;align-items:center;margin:30px 0;font:700 .78rem/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;text-align:center}.pattern-visual span,.pattern-visual strong{padding:14px 6px;border:1px solid #40534c;background:#18241f}.pattern-visual strong{border-color:#5fb8ae;color:#88d8ce}.practice-hero-panel dl{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0}.practice-hero-panel dl div{display:grid;gap:6px}.practice-hero-panel dd{margin:0;font:700 1rem/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.practice-dashboard{margin-top:52px}.practice-entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:44px}.practice-entry-grid>a{position:relative;min-height:250px;padding:clamp(26px,4vw,42px);overflow:hidden;border:1px solid var(--practice-line);background:#fff;color:var(--practice-ink);text-decoration:none;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.practice-entry-grid>a:after{position:absolute;right:-44px;bottom:-54px;width:170px;height:170px;border:1px solid #c5d9d4;border-radius:50%;box-shadow:0 0 0 22px #eef5f3,0 0 0 23px #d5e5e1;content:"";transition:transform .24s ease}.practice-entry-grid>a:nth-child(2){border-color:#b6cfc9;background:#eaf2f0}.practice-entry-grid>a:hover,.practice-entry-grid>a:focus-visible{border-color:var(--practice-teal);box-shadow:0 18px 42px #12211d17;transform:translateY(-3px)}.practice-entry-grid>a:hover:after,.practice-entry-grid>a:focus-visible:after{transform:scale(1.08)}.practice-entry-grid>a>span,.practice-entry-grid strong{position:relative;z-index:1;color:var(--practice-teal);font:750 .7rem/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em}.practice-entry-grid h2{position:relative;z-index:1;margin:38px 0 12px;font-size:clamp(1.7rem,3vw,2.7rem)}.practice-entry-grid p{position:relative;z-index:1;max-width:440px;margin:0 0 28px;color:var(--practice-muted)}.practice-entry-grid strong{display:inline-flex;gap:14px;align-items:center;color:var(--practice-ink);letter-spacing:0}.dashboard-metrics{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--practice-line)}.dashboard-metrics article{padding:30px 28px;border-right:1px solid var(--practice-line)}.dashboard-metrics article:last-child{border-right:0}.dashboard-metrics span,.continue-card>div>span,.curriculum-card header span{color:var(--practice-teal);font:750 .7rem/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em}.dashboard-metrics strong{display:block;margin-top:10px;font-size:2.6rem;line-height:1}.dashboard-metrics strong small{color:var(--practice-muted);font-size:1rem}.dashboard-metrics p{margin:10px 0 0;color:var(--practice-muted);font-size:.82rem}.continue-card{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;margin-top:28px;padding:clamp(24px,4vw,44px);border:1px solid #93bdb5;background:#e5f0ed;color:var(--practice-ink);text-decoration:none;transition:border-color .18s ease,transform .18s ease}.continue-card:hover,.continue-card:focus-visible{border-color:var(--practice-teal);transform:translateY(-2px)}.continue-card h2{margin:12px 0 0;font-size:clamp(1.6rem,3vw,2.4rem)}.continue-card p{margin:10px 0 0;color:var(--practice-muted)}.continue-card>strong{font-size:2.3rem}.curriculum-section{margin-top:80px}.curriculum-section>header,.practice-principles>header{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:24px}.curriculum-section h2,.practice-principles h2{margin:0;font-size:clamp(2rem,4vw,3.5rem)}.curriculum-section>header a{color:var(--practice-ink);font-weight:730}.curriculum-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--practice-line);border-left:1px solid var(--practice-line)}.curriculum-card{min-height:220px;padding:22px;border-right:1px solid var(--practice-line);border-bottom:1px solid var(--practice-line);background:#fff}.curriculum-card[data-available=false]{background:#f8f8f5;color:#69746f}.curriculum-card header{display:flex;justify-content:space-between}.curriculum-card header small{color:var(--practice-muted);font:650 .68rem/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.curriculum-card h3{margin:44px 0 10px;font-size:1.12rem}.curriculum-card p{margin:0;color:var(--practice-muted);font-size:.82rem;line-height:1.7}.curriculum-progress{height:3px;margin-top:22px;background:#e4e8e5}.curriculum-progress i{display:block;height:100%;background:var(--practice-teal)}.practice-principles{margin-top:96px}.practice-principles ol{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0;padding:0;border-block:1px solid var(--practice-line);list-style:none}.practice-principles li{display:grid;grid-template-columns:auto 1fr;gap:20px;padding:30px 26px;border-right:1px solid var(--practice-line)}.practice-principles li:last-child{border-right:0}.practice-principles li>span{color:var(--practice-teal);font:700 .72rem/1 ui-monospace,SFMono-Regular,Menlo,monospace}.practice-principles h3{margin:0;font-size:1.05rem}.practice-principles li p{margin:9px 0 0;color:var(--practice-muted);font-size:.88rem}.practice-breadcrumbs{display:flex;gap:10px;align-items:center;margin-bottom:42px;color:var(--practice-muted);font-size:.84rem}.practice-breadcrumbs a{color:var(--practice-muted)}.practice-page-header{display:flex;align-items:end;justify-content:space-between;gap:48px;padding-bottom:42px;border-bottom:1px solid var(--practice-line)}.practice-page-header h1{font-size:clamp(3rem,6vw,5.5rem);letter-spacing:-.05em}.practice-page-header>div>p:last-child{max-width:680px;margin:20px 0 0;color:var(--practice-muted)}.problem-filters{display:flex;gap:8px;margin:30px 0 18px}.problem-filters button{min-height:40px;padding:0 14px;border:1px solid var(--practice-line);background:#fff;color:var(--practice-muted);font:inherit;font-size:.82rem;font-weight:700;cursor:pointer;transition:border-color .18s ease,color .18s ease,background .18s ease}.problem-filters button:hover,.problem-filters button:focus-visible,.problem-filters button[aria-pressed=true]{border-color:var(--practice-ink);background:var(--practice-ink);color:#fff}.problem-filters button span{margin-left:8px;opacity:.68;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.problem-table{border-top:1px solid var(--practice-ink)}.problem-table-head,.problem-row{display:grid;grid-template-columns:minmax(280px,1.5fr) 1fr .62fr .7fr 30px;gap:20px;align-items:center}.problem-table-head{min-height:46px;padding:0 18px;border-bottom:1px solid var(--practice-line);color:var(--practice-muted);font:700 .68rem/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;text-transform:uppercase}.problem-row{min-height:86px;padding:14px 18px;border-bottom:1px solid var(--practice-line);color:var(--practice-ink);text-decoration:none;transition:background .18s ease}.problem-row:hover,.problem-row:focus-visible{background:#edf4f2}.problem-row[hidden]{display:none}.problem-title-cell{display:grid;grid-template-columns:34px 1fr;gap:16px;align-items:center}.problem-title-cell>small{color:var(--practice-teal);font:700 .74rem/1 ui-monospace,SFMono-Regular,Menlo,monospace}.problem-title-cell>span{display:grid;gap:5px}.problem-title-cell strong{font-size:.97rem}.problem-title-cell span small{color:var(--practice-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.problem-patterns{display:flex;flex-wrap:wrap;gap:6px}.problem-patterns small{padding:4px 7px;background:#edf0ed;color:var(--practice-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.difficulty-badge{display:inline-flex;align-items:center;width:max-content;padding:5px 8px;border:1px solid currentColor;font:720 .68rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.06em;text-transform:uppercase}.difficulty-easy{color:#1b7368}.difficulty-medium{color:#9b650e}.difficulty-hard{color:#a53c3c}.problem-status{color:var(--practice-muted);font-size:.78rem}.problem-status-ac{color:var(--practice-teal);font-weight:750}.problem-status-attempted{color:#9b650e}.problem-row-arrow{font-size:1.2rem;text-align:right}.upcoming-curriculum{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;margin-top:28px;padding:28px;border:1px solid var(--practice-line);background:#f3f5f2}.upcoming-curriculum>span{color:var(--practice-teal);font:720 .7rem/1 ui-monospace,SFMono-Regular,Menlo,monospace}.upcoming-curriculum h2{margin:0;font-size:1.15rem}.upcoming-curriculum p{margin:8px 0 0;color:var(--practice-muted);font-size:.86rem}.upcoming-curriculum a{color:var(--practice-ink);font-weight:720}.practice-problem-page{overflow:hidden;border:1px solid #27332f;border-radius:14px;background:var(--practice-code);box-shadow:0 28px 80px #0a110e2e}.problem-workspace-header{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:0 18px;border-bottom:1px solid var(--practice-code-line);color:#a8b5b0}.problem-workspace-header nav,.problem-workspace-header>div{display:flex;align-items:center;gap:12px}.problem-workspace-header a{color:#dfe8e4;font-size:.78rem;text-decoration:none}.problem-workspace-header nav a:first-child{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--practice-code-line)}.problem-workspace-header span,.problem-workspace-header strong{font:700 .7rem/1 ui-monospace,SFMono-Regular,Menlo,monospace}.problem-workspace-header .difficulty-badge{color:#8ed2c9}.practice-workspace-grid{display:grid;grid-template-columns:minmax(370px,.76fr) minmax(640px,1.24fr);min-height:calc(100vh - 150px)}.practice-problem-pane{overflow-y:auto;max-height:calc(100vh - 150px);padding:clamp(28px,4vw,52px);background:var(--practice-paper);color:var(--practice-ink)}.practice-problem-pane>header{padding-bottom:30px;border-bottom:1px solid #cfd6d1}.practice-problem-pane>header>p:first-child,.practice-section-heading>p{margin:0 0 12px;color:var(--practice-teal);font:740 .7rem/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em}.practice-problem-pane h1{font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-.04em}.practice-problem-pane>header>p:nth-of-type(2){margin:18px 0 0;color:var(--practice-muted);font-size:.94rem}.problem-meta-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.problem-meta-row span{padding:5px 8px;border:1px solid #ccd4cf;color:var(--practice-muted);font:650 .67rem/1 ui-monospace,SFMono-Regular,Menlo,monospace}.problem-copy{padding:28px 0 10px}.problem-copy h2{margin:38px 0 14px;font-size:1.15rem}.problem-copy p,.problem-copy li{color:#33443e;font-size:.94rem;line-height:1.9}.problem-copy pre,.solution-content pre{overflow-x:auto;padding:16px;border:1px solid #ced5d0;background:#e7e9e4;color:#1f302a;font:500 .78rem/1.7 ui-monospace,SFMono-Regular,Menlo,monospace}.problem-copy a{color:var(--practice-teal-dark)}.practice-disclosures{margin-top:38px;padding-top:30px;border-top:1px solid #cfd6d1}.practice-section-heading h2{margin:0 0 16px;font-size:1.2rem}.hint-list{border-top:1px solid #cfd6d1}.hint-list details{border-bottom:1px solid #cfd6d1}.hint-list summary{display:flex;align-items:center;gap:16px;min-height:54px;cursor:pointer;font-weight:720;list-style:none}.hint-list summary::-webkit-details-marker{display:none}.hint-list summary span{color:var(--practice-teal);font:700 .68rem/1 ui-monospace,SFMono-Regular,Menlo,monospace}.hint-list summary:after{margin-left:auto;content:"+"}.hint-list details[open] summary:after{content:"−"}.hint-list details>p{margin:0;padding:0 0 20px 36px;color:var(--practice-muted);font-size:.88rem}.solution-gate{margin-top:38px}.solution-locked{display:grid;grid-template-columns:auto 1fr;gap:16px;padding:18px;border:1px solid #cfd6d1;background:#ecece7}.solution-locked>span{color:var(--practice-teal);font-size:1.5rem}.solution-locked strong{font-size:.92rem}.solution-locked p{margin:5px 0 0;color:var(--practice-muted);font-size:.82rem}.solution-locked button{grid-column:2;justify-self:start;padding:0;border:0;background:transparent;color:var(--practice-muted);font:inherit;font-size:.76rem;text-decoration:underline;cursor:pointer}.solution-content>p{color:var(--practice-muted);font-size:.9rem}.practice-coding-pane{display:grid;grid-template-rows:auto minmax(330px,1fr) minmax(230px,.58fr) auto;min-width:0;max-height:calc(100vh - 150px);background:var(--practice-code);color:#e3ece8}@media(min-width:1181px){.main-workspace .practice-problem-page{display:grid;grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;border-radius:8px;box-shadow:0 16px 42px #0a110e24}.main-workspace .practice-workspace-grid{height:100%;min-height:0}.main-workspace .practice-problem-pane,.main-workspace .practice-coding-pane{height:100%;max-height:none}.main-workspace .practice-coding-pane{grid-template-rows:auto minmax(300px,1fr) minmax(200px,.52fr) auto}}.practice-code-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:48px;padding:0 14px;border-bottom:1px solid var(--practice-code-line);background:#131c19}.language-switcher{display:flex}.language-switcher button,.reset-code{min-height:32px;padding:0 10px;border:0;background:transparent;color:#82918c;font:700 .72rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;cursor:pointer}.language-switcher button[aria-pressed=true]{background:#26342f;color:#e7f0ec}.language-switcher button:disabled,.reset-code:disabled{cursor:not-allowed;opacity:.5}.editor-meta{display:flex;gap:12px;align-items:center}.autosave-status{display:flex;gap:6px;align-items:center;color:#7f918a;font-size:.68rem}.autosave-status span{width:6px;height:6px;border-radius:50%;background:#62b9ad}.reset-code:hover,.reset-code:focus-visible{color:#fff}.practice-editor{position:relative;min-height:0;border-bottom:1px solid var(--practice-code-line)}.practice-editor-loading,.practice-editor-mount{position:absolute;inset:0}.practice-editor-loading{padding:24px;background:var(--practice-code)}.practice-editor-loading span{display:block;width:min(70%,460px);height:12px;margin-bottom:14px;background:#202c28;animation:editor-pulse 1.4s ease-in-out infinite}.practice-editor-loading span:nth-child(2){width:46%}.practice-editor-loading span:nth-child(3){width:58%}.practice-editor-loading p{color:#687873;font:650 .7rem/1 ui-monospace,SFMono-Regular,Menlo,monospace}.practice-editor-mount{z-index:1}@keyframes editor-pulse{50%{opacity:.45}}.practice-results{display:grid;grid-template-rows:auto 1fr;min-height:0;background:#151e1b}.practice-results-header{display:flex;align-items:center;justify-content:space-between;min-height:42px;padding:0 14px;border-bottom:1px solid var(--practice-code-line)}.practice-results-header [role=tablist]{display:flex;align-self:stretch}.practice-results-header button{min-width:90px;border:0;border-bottom:2px solid transparent;background:transparent;color:#7f8e89;font:700 .7rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;cursor:pointer}.practice-results-header button[aria-selected=true]{border-color:#6fc8bd;color:#dfe9e5}.practice-results-header button span{display:inline-grid;place-items:center;min-width:17px;height:17px;margin-left:6px;border-radius:9px;background:#2b3a35;font-size:.62rem}.practice-results-header>p{margin:0;color:#6f7f79;font-size:.66rem}.practice-results-body,.practice-console{overflow:auto;min-height:0;padding:14px}.practice-empty-result{display:grid;place-items:center;min-height:130px;color:#697a74;text-align:center}.practice-empty-result span{padding:8px 10px;border:1px solid #35433e;font:700 .72rem/1 ui-monospace,SFMono-Regular,Menlo,monospace}.practice-empty-result p{margin:10px 0 0;font-size:.76rem}.case-result-list{display:grid;gap:8px}.case-result{padding:11px 12px;border:1px solid #2b3934;background:#18221f}.case-result[data-verdict=AC]{border-left:3px solid #55b7a8}.case-result[data-verdict=WA],.case-result[data-verdict=RE],.case-result[data-verdict=CE]{border-left:3px solid #db766b}.case-result[data-verdict=TLE]{border-left:3px solid #dda84e}.case-result>header{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center}.case-result header strong{color:#dce7e3;font-size:.75rem}.case-result time{color:#75857f;font:650 .64rem/1 ui-monospace,SFMono-Regular,Menlo,monospace}.verdict-badge{display:inline-flex;gap:5px;align-items:center;color:#8ad3c8;font:800 .66rem/1 ui-monospace,SFMono-Regular,Menlo,monospace}[data-verdict=WA] .verdict-badge,[data-verdict=RE] .verdict-badge,[data-verdict=CE] .verdict-badge{color:#ed948b}[data-verdict=TLE] .verdict-badge{color:#e4b75f}.case-result>p{margin:8px 0 0;color:#9caaa5;font-size:.72rem}.case-diff{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}.case-diff>div{min-width:0}.case-diff span{color:#71817b;font:700 .6rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:uppercase}.case-diff pre,.practice-console pre{overflow:auto;max-height:140px;margin:5px 0 0;padding:8px;background:#101714;color:#cbd8d3;font:500 .66rem/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap}.judge-message{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:12px;border:1px solid #70403c;background:#291c1a;color:#f0aca5}.judge-message p{margin:0;font-size:.75rem}.practice-console>p{margin:0;color:#75857f;font-size:.74rem}.practice-console>div{display:grid;grid-template-columns:46px 1fr;gap:8px;border-bottom:1px solid #283530}.practice-console>div>span{padding-top:10px;color:#7f8e89;font:650 .6rem/1 ui-monospace,SFMono-Regular,Menlo,monospace}.practice-runbar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:64px;padding:0 14px;border-top:1px solid var(--practice-code-line);background:#0e1513}.practice-timer{display:flex;gap:9px;align-items:center;color:#dce7e3}.practice-timer time{font:720 .8rem/1 ui-monospace,SFMono-Regular,Menlo,monospace}.practice-timer small{color:#687873;font:650 .6rem/1 ui-monospace,SFMono-Regular,Menlo,monospace}.practice-run-actions{display:flex;gap:8px}.practice-run-actions button{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 13px;border:1px solid #3c4d47;background:#19231f;color:#dfe8e4;font:720 .73rem/1 ui-sans-serif,system-ui,sans-serif;cursor:pointer;transition:border-color .18s ease,background .18s ease}.practice-run-actions button:hover,.practice-run-actions button:focus-visible{border-color:#73c6bb}.practice-run-actions .submit-button{border-color:#4a9e93;background:#2c8177;color:#fff}.practice-run-actions button:disabled{cursor:wait;opacity:.5}.practice-run-actions kbd{color:#8ba099;font:600 .58rem/1 ui-monospace,SFMono-Regular,Menlo,monospace}.submit-button kbd{color:#c4e5e0}.workspace-announcer{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.guide-layout{display:grid;grid-template-columns:210px minmax(0,720px);gap:clamp(46px,8vw,100px);align-items:start;margin-top:54px}.guide-layout>aside{position:sticky;top:24px;display:grid;gap:10px;padding-top:14px;border-top:1px solid var(--practice-ink)}.guide-layout>aside strong{margin-bottom:8px;font-size:.78rem}.guide-layout>aside a{color:var(--practice-muted);font-size:.82rem;text-decoration:none}.guide-layout article section{scroll-margin-top:30px;padding:0 0 56px;border-bottom:1px solid var(--practice-line)}.guide-layout article section+section{padding-top:56px}.guide-section-number{margin:0 0 14px;color:var(--practice-teal);font:750 .72rem/1 ui-monospace,SFMono-Regular,Menlo,monospace}.guide-layout h2{margin:0;font-size:clamp(1.6rem,3vw,2.4rem)}.guide-layout article p,.guide-layout article li,.guide-layout article dd{color:var(--practice-muted);line-height:2}.guide-layout blockquote{margin:28px 0 0;padding:18px 22px;border-left:3px solid var(--practice-teal);background:#edf4f2;color:#30453e}.guide-steps,.verdict-guide{display:grid;gap:0;margin:30px 0 0;padding:0}.guide-steps{list-style:none;counter-reset:guide-step}.guide-steps li{display:grid;grid-template-columns:190px 1fr;gap:24px;padding:18px 0;border-top:1px solid var(--practice-line)}.guide-steps strong{color:var(--practice-ink)}.verdict-guide>div{display:grid;grid-template-columns:70px 1fr;border-top:1px solid var(--practice-line)}.verdict-guide dt,.verdict-guide dd{padding:14px 0}.verdict-guide dt{color:var(--practice-teal);font:800 .78rem/1.8 ui-monospace,SFMono-Regular,Menlo,monospace}.verdict-guide dd{margin:0}.guide-layout code{padding:2px 5px;background:#e8ece9;color:var(--practice-ink);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.foundation-page-header h1,.skill-page-header h1{max-width:850px}.foundation-units{margin-top:72px}.foundation-units>header{display:flex;gap:32px;align-items:end;justify-content:space-between;margin-bottom:24px}.foundation-units h2,.skill-reading-guide h2{margin:0;font-size:clamp(2rem,4vw,3.5rem)}.foundation-units ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;border-top:1px solid var(--practice-line);border-left:1px solid var(--practice-line);list-style:none}.foundation-units li{display:grid;grid-template-columns:auto 1fr;gap:16px;min-height:150px;padding:24px 20px;border-right:1px solid var(--practice-line);border-bottom:1px solid var(--practice-line);background:#fff}.foundation-units li>span{color:var(--practice-teal);font:750 .7rem/1 ui-monospace,SFMono-Regular,Menlo,monospace}.foundation-units h3{margin:0;font-size:1rem}.foundation-units li p{margin:10px 0 0;color:var(--practice-muted);font-size:.82rem;line-height:1.7}.foundation-roadmap{margin-top:38px}.foundation-overview{display:grid;grid-template-columns:180px minmax(180px,1fr) minmax(300px,auto);gap:30px;align-items:center;padding:24px 28px;border:1px solid var(--practice-ink);background:var(--practice-ink);color:#fff}.foundation-overview>div:first-child{display:grid;gap:8px}.foundation-overview>div:first-child span,.foundation-overview>a>span:first-child{color:#99b2ab;font:700 .65rem/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.1em}.foundation-overview>div:first-child strong{font-size:2.2rem;line-height:1}.foundation-overview>div:first-child small{color:#8fa39c;font-size:.9rem}.foundation-overview-meter{height:5px;background:#32413c}.foundation-overview-meter i{display:block;height:100%;background:#72c6ba;transition:width .22s ease}.foundation-overview>a{display:grid;grid-template-columns:1fr auto;gap:6px 20px;min-width:300px;padding:14px 16px;border:1px solid #41524c;color:#fff;text-decoration:none;transition:border-color .18s ease,background .18s ease}.foundation-overview>a:hover,.foundation-overview>a:focus-visible{border-color:#72c6ba;background:#1a2b26}.foundation-overview>a>span:first-child,.foundation-overview>a>strong{grid-column:1}.foundation-overview>a>span:last-child{grid-column:2;grid-row:1 / span 2;align-self:center;font-size:1.4rem}.foundation-overview>p{margin:0;color:#b8c6c1}.foundation-lesson-list{margin:0;padding:0;border-left:1px solid var(--practice-line);list-style:none}.foundation-lesson-list>li>a{display:grid;grid-template-columns:50px minmax(260px,1fr) minmax(220px,.7fr) 100px 20px;gap:20px;align-items:center;min-height:112px;padding:18px 22px;border-right:1px solid var(--practice-line);border-bottom:1px solid var(--practice-line);background:#fff;color:var(--practice-ink);text-decoration:none;transition:background .18s ease,border-color .18s ease}.foundation-lesson-list>li>a:hover,.foundation-lesson-list>li>a:focus-visible{border-color:#a9c9c2;background:#edf4f2}.foundation-lesson-list>li>a[data-status=ac]{box-shadow:inset 3px 0 0 var(--practice-teal)}.foundation-lesson-number{color:var(--practice-teal);font:760 .78rem/1 ui-monospace,SFMono-Regular,Menlo,monospace}.foundation-lesson-copy{display:grid;gap:5px}.foundation-lesson-copy small{color:var(--practice-teal);font:700 .62rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em}.foundation-lesson-copy strong{font-size:1rem}.foundation-lesson-copy>span{color:var(--practice-muted);font-size:.82rem}.foundation-lesson-concepts{display:flex;flex-wrap:wrap;gap:6px}.foundation-lesson-concepts small{padding:5px 7px;background:#edf0ed;color:var(--practice-muted);font:600 .64rem/1 ui-monospace,SFMono-Regular,Menlo,monospace}.foundation-lesson-status{display:grid;gap:4px;color:var(--practice-muted);font-size:.72rem}.foundation-lesson-status>span{color:var(--practice-teal);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.foundation-bridge{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;margin-top:38px;padding:30px;border:1px solid #9ec8c0;background:#e5f0ed}.foundation-bridge>span{color:var(--practice-teal);font:750 .68rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.1em}.foundation-bridge h2{margin:0;font-size:1.3rem}.foundation-bridge p{margin:8px 0 0;color:var(--practice-muted);font-size:.86rem}.foundation-bridge a{color:var(--practice-ink);font-weight:740}.foundation-workspace-badge{padding:5px 8px;border:1px solid #47615a;color:#8ed2c9}.foundation-task,.foundation-syntax{padding:34px 0;border-bottom:1px solid #cfd6d1}.foundation-task>p:first-child,.foundation-syntax>p:first-child{margin:0 0 12px;color:var(--practice-teal);font:740 .68rem/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.1em}.foundation-task h2,.foundation-syntax h2{margin:0;font-size:1.25rem}.foundation-task>p:last-of-type,.foundation-syntax li{color:#33443e;font-size:.92rem;line-height:1.85}.foundation-task dl{display:grid;gap:0;margin:24px 0 0;border-top:1px solid #cfd6d1}.foundation-task dl>div{display:grid;grid-template-columns:60px 1fr;gap:18px;padding:13px 0;border-bottom:1px solid #cfd6d1}.foundation-task dt{color:var(--practice-teal);font-weight:750}.foundation-task dd{margin:0;color:var(--practice-muted)}.foundation-syntax pre{overflow-x:auto;margin:20px 0;padding:18px;border:1px solid #24332e;background:#18211e;color:#dce8e3;font:500 .78rem/1.7 ui-monospace,SFMono-Regular,Menlo,monospace}.foundation-syntax ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.foundation-syntax li{position:relative;padding-left:22px}.foundation-syntax li:before{position:absolute;top:.72em;left:0;width:8px;height:8px;border:2px solid var(--practice-teal);content:""}.foundation-lesson-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:42px;border-top:1px solid #cfd6d1}.foundation-lesson-nav>a{display:grid;gap:8px;min-height:90px;padding:18px 0;color:var(--practice-ink);text-decoration:none}.foundation-lesson-nav>a:last-child{text-align:right}.foundation-lesson-nav span{color:var(--practice-teal);font:700 .62rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.1em}.skill-tree-legend{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin:28px 0 16px;color:var(--practice-muted);font-size:.76rem}.skill-tree-legend>span{display:inline-flex;gap:7px;align-items:center}.skill-tree-legend i{width:9px;height:9px;border:1px solid #82948e;background:#fff}.skill-tree-legend i[data-kind=available]{border-color:var(--practice-teal);background:#5cb9ad}.skill-tree-legend i[data-kind=complete]{border-color:var(--practice-gold);background:var(--practice-gold)}.skill-tree-legend p{margin:0 0 0 auto}.skill-tree-shell{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(380px,.72fr);min-height:720px;border:1px solid #28362f;background:var(--practice-code);box-shadow:0 24px 68px #0a110e24}.skill-tree-scroll{min-width:0;overflow-x:auto;overscroll-behavior-inline:contain}.skill-tree-map{display:grid;grid-template-columns:repeat(6,minmax(168px,1fr));min-width:1050px;min-height:100%;padding:22px;background:linear-gradient(rgba(71,96,87,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(71,96,87,.12) 1px,transparent 1px),#111816;background-size:28px 28px}.skill-tree-stage{position:relative;min-width:0;padding:0 12px;border-left:1px solid #2c3b36}.skill-tree-stage:first-child{border-left:0}.skill-tree-stage>header{display:grid;gap:6px;min-height:58px;padding:0 4px 14px;border-bottom:1px solid #2c3b36}.skill-tree-stage>header span{color:#69bcb0;font:750 .65rem/1 ui-monospace,SFMono-Regular,Menlo,monospace}.skill-tree-stage>header strong{color:#9eada8;font-size:.72rem;font-weight:650}.skill-tree-stage>div{position:relative;display:grid;gap:18px;align-content:center;min-height:570px}.skill-tree-stage>div:before{position:absolute;top:50%;left:-13px;width:calc(100% + 26px);border-top:1px solid #40534c;content:""}.skill-tree-stage:first-child>div:before{left:50%;width:50%}.skill-node{position:relative;z-index:1;display:grid;gap:5px;min-height:96px;padding:14px;border:1px solid #3b4b45;background:#18211e;color:#c8d3cf;text-align:left;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}.skill-node:hover,.skill-node:focus-visible{border-color:#6fbeb3;background:#1d2b27;transform:translateY(-2px)}.skill-node[data-selected=true]{border-color:#74c9bd;background:#22413a;box-shadow:0 0 0 2px #74c9bd24}.skill-node[data-available=false]{color:#86938e}.skill-node[data-unlocked=false]{border-style:dashed}.skill-node[data-complete=true]{border-color:var(--practice-gold)}.skill-node-code{color:#6fbeb3;font:700 .6rem/1 ui-monospace,SFMono-Regular,Menlo,monospace}.skill-node>strong{color:#f1f6f4;font:760 .95rem/1.15 ui-monospace,SFMono-Regular,Menlo,monospace}.skill-node>span:not(.skill-node-code){overflow:hidden;color:#9aaba5;font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.skill-node>small{justify-self:start;margin-top:4px;padding:4px 6px;background:#26342f;color:#8fb5ad;font:650 .58rem/1 ui-monospace,SFMono-Regular,Menlo,monospace}.skill-detail{min-width:0;padding:clamp(28px,4vw,44px);border-left:1px solid #28362f;background:var(--practice-paper);color:var(--practice-ink)}.skill-detail-topline{display:flex;gap:20px;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid var(--practice-line);color:var(--practice-teal);font:720 .65rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em}.skill-detail-topline small{color:var(--practice-muted);letter-spacing:0}.skill-detail h2{margin:34px 0 14px;font-size:clamp(1.8rem,3vw,2.6rem);overflow-wrap:normal;word-break:normal}.skill-detail>p{margin:0;color:var(--practice-muted);font-size:.92rem;line-height:1.85}.skill-detail-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:22px}.skill-detail-tags span{padding:6px 8px;border:1px solid #cbd3cf;color:var(--practice-muted);font:650 .62rem/1 ui-monospace,SFMono-Regular,Menlo,monospace}.skill-detail-problems{margin:30px 0 0;padding:0;border-top:1px solid var(--practice-line);list-style:none}.skill-detail-problems a{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:12px;align-items:center;min-height:48px;border-bottom:1px solid var(--practice-line);color:var(--practice-ink);text-decoration:none;transition:color .18s ease,padding .18s ease}.skill-detail-problems a:hover,.skill-detail-problems a:focus-visible{padding-inline:6px;color:var(--practice-teal)}.skill-detail-problems a>span,.skill-detail-problems a>small{color:var(--practice-muted);font:650 .62rem/1 ui-monospace,SFMono-Regular,Menlo,monospace}.skill-detail-problems a>strong{font-size:.82rem}.skill-detail-empty{margin-top:30px;padding:20px;border:1px dashed #bfc9c4;background:#eceeea}.skill-detail-empty strong{font-size:.9rem}.skill-detail-empty p{margin:8px 0 0;color:var(--practice-muted);font-size:.8rem}.skill-detail-action{display:flex;gap:18px;align-items:center;justify-content:space-between;min-height:48px;margin-top:26px;padding:0 14px;background:var(--practice-ink);color:#fff;font-size:.8rem;font-weight:740;text-decoration:none;transition:background .18s ease}.skill-detail-action:hover,.skill-detail-action:focus-visible{background:var(--practice-teal)}.skill-reading-guide{margin-top:82px}.skill-reading-guide>header{margin-bottom:24px}.skill-reading-guide ol{display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding:0;border-block:1px solid var(--practice-line);list-style:none}.skill-reading-guide li{display:grid;grid-template-columns:auto 1fr;gap:18px;padding:28px 24px;border-right:1px solid var(--practice-line)}.skill-reading-guide li:last-child{border-right:0}.skill-reading-guide li>span{color:var(--practice-teal);font:750 .68rem/1 ui-monospace,SFMono-Regular,Menlo,monospace}.skill-reading-guide h3{margin:0;font-size:1rem}.skill-reading-guide li p{margin:9px 0 0;color:var(--practice-muted);font-size:.84rem}@media(max-width:1180px){.practice-workspace-grid{grid-template-columns:1fr}.practice-problem-pane,.practice-coding-pane{max-height:none}.practice-coding-pane{min-height:820px}.curriculum-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.foundation-overview{grid-template-columns:150px 1fr}.foundation-overview>a,.foundation-overview>p{grid-column:1 / -1}.skill-tree-shell{grid-template-columns:1fr}.skill-detail{border-top:1px solid #28362f;border-left:0}}@media(max-width:820px){.practice-hero{grid-template-columns:1fr;align-items:start}.practice-hero-panel{max-width:520px}.dashboard-metrics,.practice-principles ol,.skill-reading-guide ol{grid-template-columns:1fr}.dashboard-metrics article,.practice-principles li{border-right:0;border-bottom:1px solid var(--practice-line)}.dashboard-metrics article:last-child,.practice-principles li:last-child{border-bottom:0}.practice-entry-grid{grid-template-columns:1fr}.curriculum-grid,.foundation-units ol{grid-template-columns:repeat(2,minmax(0,1fr))}.foundation-lesson-list>li>a{grid-template-columns:42px minmax(0,1fr) 90px 20px}.foundation-lesson-concepts{display:none}.foundation-bridge{grid-template-columns:1fr}.skill-reading-guide li{border-right:0;border-bottom:1px solid var(--practice-line)}.skill-reading-guide li:last-child{border-bottom:0}.problem-table-head{display:none}.problem-row{grid-template-columns:1fr auto}.problem-row>:not(.problem-title-cell,.problem-row-arrow){display:none}.upcoming-curriculum,.guide-layout{grid-template-columns:1fr}.guide-layout>aside{position:static}}@media(max-width:640px){.practice-hero{padding-top:18px}.practice-hero h1{font-size:clamp(2.7rem,14vw,4.3rem)}.practice-hero-actions,.practice-page-header{align-items:stretch;flex-direction:column}.practice-hero-actions a{width:100%}.practice-hero-panel{box-shadow:8px 8px #c9ddd8}.curriculum-grid{grid-template-columns:1fr}.curriculum-section>header,.practice-principles>header,.foundation-units>header{align-items:start;flex-direction:column}.practice-page-header h1{font-size:3rem}.problem-filters{overflow-x:auto}.problem-filters button{flex:0 0 auto}.problem-workspace-header{align-items:flex-start;flex-direction:column;padding:12px}.practice-problem-page{border-radius:8px}.practice-problem-pane{padding:26px 20px}.practice-coding-pane{min-height:760px;grid-template-rows:auto minmax(300px,1fr) minmax(240px,.72fr) auto}.practice-code-toolbar{align-items:flex-start;flex-direction:column;padding-block:9px}.case-diff{grid-template-columns:1fr}.practice-results-header>p,.practice-timer small,.practice-run-actions kbd,.autosave-status{display:none}.practice-runbar{align-items:stretch;flex-direction:column;padding-block:10px}.practice-run-actions button{flex:1;justify-content:center}.guide-steps li{grid-template-columns:1fr;gap:3px}.foundation-units ol{grid-template-columns:1fr}.foundation-overview{grid-template-columns:1fr;gap:20px;padding:22px 20px}.foundation-overview>a{grid-column:auto;min-width:0}.foundation-lesson-list>li>a{grid-template-columns:34px minmax(0,1fr) 18px;gap:12px;min-height:94px;padding:16px 14px}.foundation-lesson-copy>span,.foundation-lesson-status{display:none}.foundation-lesson-nav{gap:16px}.skill-tree-legend p{width:100%;margin-left:0}.skill-tree-map{min-width:980px;padding:16px}.skill-detail{padding:28px 20px}}@media(prefers-reduced-motion:reduce){.practice-editor-loading span{animation:none}.practice-hero-actions a,.practice-page-header>a,.continue-card,.problem-row,.practice-entry-grid>a,.foundation-overview-meter i,.foundation-lesson-list>li>a,.skill-node,.skill-detail-action{transition:none}}
