@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700&display=swap";:root{--color-canvas: #f5f4f0;--color-surface: #ffffff;--color-surface-subtle: #f1f0eb;--color-surface-raised: #faf9f6;--color-surface-inverse: #202321;--color-text: #282a28;--color-text-muted: #71736e;--color-text-inverse: #ffffff;--color-text-on-accent: #ffffff;--color-text-on-inverse: #e6e9e6;--color-border: #deddd6;--color-border-strong: #cbc9c1;--color-accent: #425d53;--color-accent-hover: #344a42;--color-accent-soft: #e3ebe7;--color-danger: #a85b56;--color-danger-soft: #f3e9e7;--color-success: #3f6658;--color-success-soft: #e5eee9;--color-warning: #8a642d;--color-warning-soft: #f6eee0;--color-warning-subtle: var(--color-warning-soft);--color-info: #426178;--color-info-soft: #e6edf2;--color-code-surface: #171c19;--color-code-surface-raised: #202722;--color-code-border: #344039;--color-code-text: #e4ebe7;--color-focus: rgba(66, 93, 83, .32);--color-overlay: rgba(31, 34, 31, .25);--font-family-sans: "Manrope", system-ui, sans-serif;--font-family-mono: "DM Mono", monospace;--font-size-xs: .6875rem;--font-size-sm: .8125rem;--font-size-md: .9375rem;--font-size-lg: 1.0625rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.625rem;--font-size-3xl: 2.125rem;--font-size-4xl: 3.125rem;--font-size-base: var(--font-size-md);--font-size-display: clamp(2.25rem, 4vw, 3.5rem);--font-size-page-title: clamp(2rem, 3vw, 2.75rem);--font-size-section-title: clamp(1.35rem, 2vw, 1.75rem);--font-size-subsection-title: 1.125rem;--font-size-body: clamp(.9375rem, .25vw + .9rem, 1.0625rem);--font-size-meta: var(--font-size-sm);--font-weight-regular: 400;--font-weight-normal: var(--font-weight-regular);--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.15;--line-height-heading: 1.3;--line-height-body: 1.68;--line-height-code: 1.7;--letter-spacing-heading: -.035em;--letter-spacing-label: .12em;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 1.75rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--radius-xs: .375rem;--radius-sm: .5rem;--radius-md: .625rem;--radius-lg: .8125rem;--radius-xl: 1rem;--radius-full: 999px;--shadow-xs: 0 1px 2px rgba(32, 35, 33, .04);--shadow-sm: 0 6px 18px rgba(38, 40, 37, .06);--shadow-md: 0 12px 28px rgba(38, 40, 37, .08);--shadow-lg: 0 20px 44px rgba(35, 38, 35, .11);--shadow-panel: 10px 0 28px rgba(33, 35, 32, .1);--shadow-control: 0 2px 7px rgba(32, 43, 39, .12);--icon-xs: .8125rem;--icon-sm: .9375rem;--icon-md: 1.0625rem;--icon-lg: 1.25rem;--icon-xl: 1.375rem;--icon-size-md: var(--icon-md);--control-height-sm: 2.125rem;--control-height-md: 2.375rem;--control-height-lg: 2.625rem;--duration-fast: .14s;--duration-normal: .22s;--duration-slow: .32s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-emphasized: cubic-bezier(.2, .75, .25, 1);--layout-topbar-height: 4.625rem;--layout-sidebar-width: 17.375rem;--layout-compiler-width: 25rem;--layout-compiler-width-tablet: 21.875rem;--layout-topbar-height-mobile: 4.125rem;--canvas: var(--color-canvas);--surface: var(--color-surface);--surface-muted: var(--color-surface-subtle);--surface-dark: var(--color-surface-inverse);--ink: var(--color-text);--muted: var(--color-text-muted);--line: var(--color-border);--accent: var(--color-accent);--accent-soft: var(--color-accent-soft);--danger: var(--color-danger);--topbar-height: var(--layout-topbar-height);--sidebar-width: var(--layout-sidebar-width);--compiler-width: var(--layout-compiler-width)}:is(:root,.app-shell,.dashboard-shell,.course-overview-shell,.home-shell,.application-shell,.exam-experience)[data-theme=dark]{--color-canvas: #171a18;--color-surface: #222522;--color-surface-subtle: #272a27;--color-surface-raised: #1f221f;--color-surface-inverse: #111311;--color-text: #e4e7e3;--color-text-muted: #a2a7a1;--color-text-inverse: #18201c;--color-text-on-accent: #18201c;--color-text-on-inverse: #e6e9e6;--color-border: #393d39;--color-border-strong: #4b504b;--color-accent: #8eafa1;--color-accent-hover: #a5c2b6;--color-accent-soft: #293a33;--color-danger: #d1908a;--color-danger-soft: #3a2927;--color-success: #95bfaa;--color-success-soft: #263a31;--color-warning: #ddb46e;--color-warning-soft: #3c3222;--color-warning-subtle: var(--color-warning-soft);--color-info: #91b8d0;--color-info-soft: #263640;--color-code-surface: #111512;--color-code-surface-raised: #1a211d;--color-code-border: #37443d;--color-code-text: #e2e9e5;--color-focus: rgba(142, 175, 161, .42);--color-overlay: rgba(5, 7, 5, .55);--shadow-xs: 0 2px 14px rgba(0, 0, 0, .18);--shadow-sm: 0 8px 25px rgba(0, 0, 0, .2);--shadow-md: 0 14px 34px rgba(0, 0, 0, .24);--shadow-lg: 0 16px 35px rgba(0, 0, 0, .28);--shadow-panel: 15px 0 40px rgba(0, 0, 0, .32);--shadow-control: 0 5px 14px rgba(0, 0, 0, .3)}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-height-md);padding-inline:var(--space-3);color:var(--color-text);background:transparent;border:1px solid transparent;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);cursor:pointer;transition:color var(--duration-fast) var(--ease-standard),background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.button:hover:not(:disabled){transform:none}.button:active:not(:disabled){transform:scale(.98);transition-duration:70ms}.button:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.button:disabled{cursor:not-allowed;opacity:.5}.button--primary{color:var(--color-text-on-accent);background:var(--color-accent);box-shadow:var(--shadow-control)}.button--primary:hover:not(:disabled){background:var(--color-accent-hover)}.button--danger{color:var(--color-text-on-accent);background:var(--color-danger)}.button--danger:hover:not(:disabled){background:color-mix(in srgb,var(--color-danger) 86%,black)}.button--secondary{background:var(--color-surface);border-color:var(--color-border)}.button--ghost{color:var(--color-accent);background:transparent;border-color:var(--color-border)}.button--text{min-height:auto;padding:0;border:0}.button--icon{width:var(--control-height-md);padding:0;color:var(--color-text-muted);background:transparent;border-color:var(--color-border)}.button--icon:hover:not(:disabled){color:var(--color-text);background:var(--color-surface-subtle);transform:none}.card{border:1px solid var(--color-border);border-radius:var(--radius-lg)}.card--surface{background:var(--color-surface)}.card--muted{background:var(--color-surface-subtle)}.card--accent{background:var(--color-accent-soft);border-color:color-mix(in srgb,var(--color-accent) 26%,var(--color-border))}.card--inverse{color:var(--color-text-on-inverse);background:var(--color-surface-inverse);border-color:color-mix(in srgb,var(--color-surface-inverse) 82%,white)}.card--elevated{background:var(--color-surface);box-shadow:var(--shadow-sm)}.card--interactive{transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.card--interactive:hover{border-color:var(--color-border-strong);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.input-control{min-height:var(--control-height-md);padding-inline:var(--space-3);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font:inherit;transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.input-control:hover{border-color:var(--color-border-strong)}.input-control:focus-visible{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-focus);outline:0}.input-control::placeholder{color:var(--color-text-muted);opacity:.8}.input-control:disabled{color:var(--color-text-muted);background:var(--color-surface-subtle);cursor:not-allowed}.text-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-label);text-transform:uppercase}.text-body{font-size:var(--font-size-md);line-height:var(--line-height-body)}.dialog-backdrop{position:fixed;z-index:300;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:var(--space-4);background:var(--color-overlay)}.dialog-surface{width:min(30rem,100%);padding:var(--space-6);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.dialog-surface>h2{margin:0;font-size:var(--font-size-xl);line-height:var(--line-height-heading)}.dialog-surface>p{margin:var(--space-3) 0 0;color:var(--color-text-muted);line-height:var(--line-height-body)}.confirm-dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-6)}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media(max-width:38rem){.dialog-surface{padding:var(--space-5)}.confirm-dialog-actions{flex-direction:column-reverse}.confirm-dialog-actions .button{width:100%}}@media(prefers-reduced-motion:reduce){.dialog-backdrop,.dialog-surface{animation:none!important;transition:none!important}}:root{font-family:var(--font-family-sans);color:var(--color-text);background:var(--color-canvas);font-synthesis:none}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}body{overflow:auto}button{font:inherit}button:focus-visible,[role=separator]:focus-visible,a:focus-visible{outline:3px solid var(--color-focus);outline-offset:var(--space-1)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.exam-experience{min-height:100%;color:var(--color-text);background:var(--color-canvas)}.exam-page{min-height:100vh;min-height:100dvh;background:var(--color-canvas);overflow-y:auto}.exam-environment-page{height:100vh;height:100dvh;overflow-y:auto;overscroll-behavior-y:contain}.exam-page-header,.exam-toolbar{min-height:var(--layout-topbar-height);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) clamp(var(--space-4),4vw,var(--space-12));background:color-mix(in srgb,var(--color-surface) 94%,transparent);border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.exam-brand,.exam-toolbar>div,.exam-runtime-metrics,.exam-runtime-metrics span{display:flex;align-items:center}.exam-brand{gap:var(--space-2);color:var(--color-accent);font-weight:var(--font-weight-bold)}.exam-brand svg,.exam-toolbar svg{width:var(--icon-md);height:var(--icon-md)}.exam-environment-main,.exam-result-main{width:min(100% - 2rem,70rem);margin:0 auto;padding:clamp(var(--space-8),6vw,var(--space-16)) 0}.exam-environment-main{display:grid;grid-template-columns:minmax(0,.8fr) minmax(25rem,1fr);gap:clamp(var(--space-8),6vw,var(--space-16));align-items:center}.exam-intro>span,.exam-card-heading>span,.exam-question-card>span,.exam-result-hero>span{color:var(--color-accent);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-label);text-transform:uppercase}.exam-intro h1{max-width:12ch;margin:var(--space-3) 0 var(--space-4);font-size:clamp(var(--font-size-3xl),5vw,var(--font-size-4xl));letter-spacing:var(--letter-spacing-heading);line-height:var(--line-height-tight)}.exam-intro>p,.exam-card-heading p{color:var(--color-text-muted);line-height:var(--line-height-body)}.exam-intro dl{display:flex;flex-wrap:wrap;gap:var(--space-6);margin:var(--space-8) 0 0}.exam-intro dl div{display:flex;flex-direction:column;gap:var(--space-1)}.exam-intro dt{color:var(--color-text-muted);font-size:var(--font-size-xs)}.exam-intro dd{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.exam-card{padding:clamp(var(--space-6),4vw,var(--space-10));background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.exam-card-heading h2{margin:var(--space-2) 0;font-size:var(--font-size-2xl);letter-spacing:var(--letter-spacing-heading)}.exam-card-heading p{margin:0}.exam-check-list{display:grid;gap:var(--space-3);margin:var(--space-8) 0;padding:0;list-style:none}.exam-check-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--color-surface-subtle);border-radius:var(--radius-md)}.exam-check-item svg{flex:0 0 auto;width:var(--icon-lg);height:var(--icon-lg)}.exam-check-item.is-pass svg{color:var(--color-accent)}.exam-check-item.is-fail svg,.exam-check-error{color:var(--color-danger)}.exam-check-item span{display:flex;flex-direction:column;gap:2px}.exam-check-item small{color:var(--color-text-muted);line-height:var(--line-height-heading)}.exam-check-error{font-size:var(--font-size-sm)}.environment-check>.button,.exam-ready-card>.button{width:100%}.exam-ready-card{text-align:center}.exam-ready-card>svg{width:3rem;height:3rem;color:var(--color-accent)}.exam-ready-card h2{margin:var(--space-4) 0 var(--space-2)}.exam-ready-card p{margin:0 0 var(--space-6);color:var(--color-text-muted);line-height:var(--line-height-body)}.exam-running-page{display:grid;grid-template-rows:auto 1fr;height:100vh;height:100dvh;overflow:hidden}.exam-toolbar{position:relative;z-index:5}.exam-toolbar>div:first-child{gap:var(--space-3)}.exam-toolbar>div:first-child>span{display:flex;flex-direction:column}.exam-toolbar small{color:var(--color-text-muted)}.exam-runtime-metrics{gap:var(--space-3)}.exam-runtime-metrics span{gap:var(--space-2);min-height:var(--control-height-md);padding:0 var(--space-3);background:var(--color-surface-subtle);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.exam-runtime-metrics .is-urgent{color:var(--color-danger);background:var(--color-danger-soft)}.exam-workspace{display:grid;grid-template-columns:15rem minmax(0,48rem);justify-content:center;gap:clamp(var(--space-6),5vw,var(--space-16));min-height:0;padding:clamp(var(--space-6),5vw,var(--space-12));overflow-y:auto}.exam-question-map{align-self:start;position:sticky;top:0;padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.exam-question-map>div{display:flex;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-5)}.exam-question-map>div span{color:var(--color-text-muted);font-size:var(--font-size-xs)}.exam-question-map ol{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-2);margin:0;padding:0;list-style:none}.exam-question-map button{width:100%;aspect-ratio:1;color:var(--color-text-muted);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer}.exam-question-map button.is-answered{color:var(--color-accent);background:var(--color-accent-soft);border-color:var(--color-accent)}.exam-question-map button.is-current{color:var(--color-text-on-accent);background:var(--color-accent);box-shadow:0 0 0 3px var(--color-focus)}.exam-question-card{align-self:start;padding:clamp(var(--space-6),5vw,var(--space-10));background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.exam-question-card h1{margin:var(--space-3) 0 var(--space-8);font-size:clamp(var(--font-size-xl),3vw,var(--font-size-2xl));letter-spacing:-.02em;line-height:var(--line-height-heading)}.exam-question-card fieldset{display:grid;gap:var(--space-3);margin:0;padding:0;border:0}.exam-question-card label{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:var(--space-3);min-height:4rem;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:border var(--duration-fast),background var(--duration-fast),transform var(--duration-fast)}.exam-question-card label:hover{transform:translateY(-1px);border-color:var(--color-border-strong)}.exam-question-card label.is-selected{background:var(--color-accent-soft);border-color:var(--color-accent)}.exam-question-card input{position:absolute;opacity:0;pointer-events:none}.exam-question-card label span{display:grid;place-items:center;width:2rem;height:2rem;border-radius:var(--radius-sm);background:var(--color-surface-subtle)}.exam-question-card label.is-selected span{color:var(--color-text-on-accent);background:var(--color-accent)}.exam-question-card label:has(input:focus-visible){outline:3px solid var(--color-focus);outline-offset:2px}.exam-question-card footer{display:flex;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-8);padding-top:var(--space-5);border-top:1px solid var(--color-border)}.exam-dialog-backdrop{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:var(--space-4);background:var(--color-overlay);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.exam-warning-dialog{width:min(100%,28rem);padding:var(--space-8);text-align:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.exam-warning-dialog>svg{width:2.5rem;height:2.5rem;color:var(--color-danger)}.exam-warning-dialog h2{margin:var(--space-4) 0 var(--space-2)}.exam-warning-dialog p{color:var(--color-text-muted);line-height:var(--line-height-body)}.exam-warning-dialog>span{display:block;margin-bottom:var(--space-5);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.exam-simulator{position:fixed;z-index:50;right:var(--space-4);bottom:var(--space-4);width:min(22rem,calc(100% - 2rem));padding:var(--space-4);background:var(--color-surface-inverse);color:var(--color-text-on-inverse);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.exam-simulator>strong{display:block;margin-bottom:var(--space-3);font-size:var(--font-size-sm)}.exam-simulator>div{display:flex;flex-wrap:wrap;gap:var(--space-2)}.exam-simulator button{padding:var(--space-2) var(--space-3);color:inherit;background:transparent;border:1px solid color-mix(in srgb,currentColor 30%,transparent);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-xs)}.exam-simulator .exam-simulator-reset{width:100%;margin-top:var(--space-3);color:var(--color-danger)}.exam-result-main{display:grid;gap:var(--space-6)}.exam-result-hero{padding:var(--space-10);text-align:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl)}.exam-result-hero>svg{width:3rem;height:3rem;color:var(--color-accent)}.exam-result-hero h1{margin:var(--space-3) 0 0;font-size:var(--font-size-4xl)}.exam-result-hero p{color:var(--color-text-muted)}.exam-result-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.exam-result-metrics article{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.exam-result-metrics span{color:var(--color-text-muted);font-size:var(--font-size-sm)}.exam-result-metrics strong{font-size:var(--font-size-2xl)}.exam-timeline ol{display:grid;gap:var(--space-2);margin:var(--space-6) 0 0;padding:0;list-style:none}.exam-timeline li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-3);padding:var(--space-3);border-bottom:1px solid var(--color-border)}.exam-timeline li div{display:flex;flex-direction:column}.exam-timeline li small,.exam-timeline li em{color:var(--color-text-muted);font-size:var(--font-size-xs)}.exam-event-severity{width:.6rem;height:.6rem;border-radius:50%;background:var(--color-accent)}.exam-event-severity.is-high,.exam-event-severity.is-critical{background:var(--color-danger)}.exam-empty-timeline{padding:var(--space-10) 0 var(--space-4);text-align:center;color:var(--color-text-muted)}.exam-empty-timeline svg{width:2rem;height:2rem;color:var(--color-accent)}.exam-empty-timeline strong{display:block;margin-top:var(--space-2);color:var(--color-text)}.exam-result-actions{display:flex;justify-content:flex-end;gap:var(--space-3)}.certificates-heading--with-action .button{margin-top:var(--space-4)}.exam-vision-main{display:block;width:min(100% - 2rem,76rem)}.exam-vision-main>.exam-intro{margin-bottom:var(--space-8)}.exam-vision-main>.exam-intro h1{max-width:none;font-size:clamp(var(--font-size-2xl),4vw,var(--font-size-3xl))}.exam-vision-main>.exam-intro dl{margin-top:var(--space-5)}.vision-verification{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(18rem,.75fr);gap:var(--space-6);align-items:start}.vision-preview-column,.environment-health{padding:clamp(var(--space-5),3vw,var(--space-8));background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.camera-preview{position:relative;min-height:20rem;margin-top:var(--space-6);overflow:hidden;color:#fff;background:#151917;border-radius:var(--radius-lg)}.camera-preview video{display:block;width:100%;min-height:20rem;max-height:30rem;object-fit:cover;transform:scaleX(-1)}.camera-preview-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;padding:var(--space-8);text-align:center;background:radial-gradient(circle at center,#29322e,#151917 70%)}.camera-preview-empty>svg{width:2.5rem;height:2.5rem;margin-bottom:var(--space-3);color:#a7b8b0}.camera-preview-empty p{margin:var(--space-2) 0 var(--space-5);color:#aeb8b3;font-size:var(--font-size-sm)}.camera-preview-badge{position:absolute;left:var(--space-3);bottom:var(--space-3);display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:#111613c2;border-radius:var(--radius-full);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:var(--font-size-xs)}.camera-preview-badge span{width:.45rem;height:.45rem;background:var(--color-danger);border-radius:50%}.camera-preview.is-connected .camera-preview-badge span{background:#78c49e;box-shadow:0 0 0 4px #78c49e24}.camera-preview>small{position:absolute;right:var(--space-3);bottom:var(--space-3);padding:var(--space-2);background:#111613c2;border-radius:var(--radius-sm)}.camera-preview-privacy{position:absolute;right:var(--space-3);top:var(--space-3);max-width:22rem;margin:0;padding:var(--space-2) var(--space-3);color:#dce6e1;background:#111613c2;border-radius:var(--radius-md);font-size:var(--font-size-xs);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.vision-fullscreen-button{width:100%;margin-top:var(--space-3)}.environment-checklist .exam-card-heading h2{font-size:var(--font-size-xl)}.environment-checklist ul{display:grid;gap:var(--space-1);margin:var(--space-5) 0 0;padding:0;list-style:none}.environment-checklist li{display:flex;align-items:center;gap:var(--space-3);min-height:3.6rem;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border)}.environment-checklist li:last-child{border-bottom:0}.environment-checklist li>svg{flex:0 0 auto;width:var(--icon-lg);height:var(--icon-lg)}.environment-checklist li>span{display:flex;min-width:0;flex-direction:column}.environment-checklist li small{color:var(--color-text-muted)}.environment-checklist .is-ready svg{color:var(--color-accent)}.environment-checklist .is-blocked svg{color:var(--color-danger)}.environment-checklist .is-pending svg{color:var(--color-text-muted)}.verification-countdown{margin-top:var(--space-4);padding:var(--space-4);background:var(--color-accent-soft);border-radius:var(--radius-lg)}.verification-countdown.is-paused{background:var(--color-danger-soft)}.verification-time{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.verification-time>span{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.verification-time svg{width:var(--icon-md);height:var(--icon-md)}.verification-time strong{font-family:var(--font-family-mono);font-size:var(--font-size-xl)}.verification-progress{height:.45rem;margin-top:var(--space-3);overflow:hidden;background:color-mix(in srgb,var(--color-border-strong) 60%,transparent);border-radius:var(--radius-full)}.verification-progress>span{display:block;height:100%;background:var(--color-accent);border-radius:inherit;transition:width var(--duration-normal) linear}.verification-countdown.is-paused .verification-progress>span{background:var(--color-danger)}.verification-countdown p{margin:var(--space-2) 0 0;color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:var(--line-height-heading)}.verification-guidance{margin-top:var(--space-3)}.verification-guidance>strong{font-size:var(--font-size-sm)}.environment-health-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.environment-health-header .exam-card-heading h2{font-size:var(--font-size-xl)}.environment-health-header .exam-card-heading p{font-size:var(--font-size-sm);line-height:var(--line-height-heading)}.readiness-score{display:flex;flex:0 0 auto;flex-direction:column;align-items:flex-end;padding:var(--space-3);color:var(--color-danger);background:var(--color-danger-soft);border-radius:var(--radius-lg)}.readiness-score.is-ready{color:var(--color-accent);background:var(--color-accent-soft)}.readiness-score strong{font-size:var(--font-size-2xl);line-height:1}.readiness-score span{margin-top:var(--space-1);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.environment-health-grid{display:grid;gap:var(--space-2);margin-top:var(--space-5)}.environment-health-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md)}.environment-health-icon{display:grid;place-items:center;width:2.4rem;height:2.4rem;color:var(--color-text-muted);background:var(--color-surface-subtle);border-radius:var(--radius-sm)}.environment-health-icon svg,.environment-health-item>svg{width:var(--icon-md);height:var(--icon-md)}.environment-health-item>div:nth-child(2){min-width:0}.environment-health-item>div:nth-child(2)>strong{text-transform:capitalize}.environment-health-item>div:nth-child(2)>span{float:right;color:var(--color-text-muted);font-size:var(--font-size-xs);text-transform:capitalize}.environment-health-item p{clear:both;margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:var(--line-height-heading)}.environment-health-item.is-success>svg{color:var(--color-accent)}.environment-health-item.is-warning>svg{color:#9a6c27}.environment-health-item.is-error>svg{color:var(--color-danger)}.environment-health-item.is-pending>svg,.environment-health-item.is-info>svg{color:var(--color-text-muted)}.quality-indicators{display:grid;gap:var(--space-3);margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--color-border)}.quality-indicators>div>span{display:flex;justify-content:space-between;margin-bottom:var(--space-1);font-size:var(--font-size-xs)}.quality-indicators em{color:var(--color-text-muted);font-style:normal}.quality-indicators [role=meter]{height:.4rem;overflow:hidden;background:var(--color-surface-subtle);border-radius:var(--radius-full)}.quality-indicators [role=meter] span{display:block;height:100%;background:var(--color-accent);border-radius:inherit;transition:width var(--duration-normal) linear}.verification-summary{width:min(100%,48rem);margin:0 auto}.verification-summary-hero{text-align:center}.verification-summary-hero>svg{width:3rem;height:3rem;color:var(--color-accent)}.verification-summary-hero>span{display:block;margin-top:var(--space-3);color:var(--color-accent);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-label);text-transform:uppercase}.verification-summary-hero h2{margin:var(--space-2) 0;font-size:var(--font-size-2xl)}.verification-summary-hero p{margin:0;color:var(--color-text-muted)}.verification-summary-meta{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin:var(--space-6) 0}.verification-summary-meta>span{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);background:var(--color-surface-subtle);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.verification-summary-meta svg{width:var(--icon-md)}.verification-summary-meta strong{margin-left:auto}.verification-summary>ul{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);padding:0;list-style:none}.verification-summary>ul li{display:flex;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md)}.verification-summary>ul svg{flex:0 0 auto;width:var(--icon-md);color:var(--color-accent)}.verification-summary>ul span{display:flex;flex-direction:column}.verification-summary>ul strong{text-transform:capitalize}.verification-summary>ul small{color:var(--color-text-muted);line-height:var(--line-height-heading)}.verification-recommendations{margin:var(--space-5) 0;padding:var(--space-4);background:var(--color-accent-soft);border-radius:var(--radius-md)}.verification-recommendations ul{margin-bottom:0;padding-left:var(--space-5)}.verification-summary>.button{width:100%;margin-top:var(--space-5)}.setup-report-actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-5)}.setup-view-report{display:flex;margin:var(--space-4) auto 0}.exam-simulator-state{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2);margin:0 0 var(--space-3)}.exam-simulator-state div{display:flex;flex-direction:column}.exam-simulator-state dt{color:#9da9a3;font-size:.625rem}.exam-simulator-state dd{margin:0;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.exam-simulator-detectors{display:grid!important;grid-template-columns:1fr 1fr;margin-bottom:var(--space-3);color:#aeb8b3;font-size:.625rem;text-transform:capitalize}.exam-simulator button[aria-pressed=true]{color:#8ed0ad;border-color:#8ed0ad;background:#8ed0ad1a}.certificates-heading-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-4)}.certificates-heading-actions .button{margin-top:0}.exam-experience[data-reduced-motion=true] *,.exam-experience[data-reduced-motion=true] *:before,.exam-experience[data-reduced-motion=true] *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.exam-camera-preview{position:fixed;z-index:18;right:var(--space-5);bottom:var(--space-5);width:clamp(11rem,16vw,15rem);overflow:hidden;color:#fff;background:#151917;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.monitoring-camera-feed{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover;transform:scaleX(-1);background:#151917}.exam-camera-status{position:absolute;top:var(--space-2);left:var(--space-2);display:flex;align-items:center;gap:var(--space-2);padding:.35rem .55rem;background:#111613cc;border-radius:var(--radius-full);font-size:var(--font-size-xs);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.exam-camera-status span{width:.45rem;height:.45rem;background:var(--color-danger);border-radius:50%}.exam-camera-preview.is-connected .exam-camera-status span{background:#78c49e}.exam-camera-preview>p{margin:0;padding:var(--space-2) var(--space-3);color:#c8d3ce;font-size:.68rem;line-height:1.4}.exam-camera-preview>.button{margin:var(--space-2)}.integrity-monitor-panel{position:fixed;z-index:45;top:calc(var(--layout-topbar-height) + var(--space-3));right:var(--space-3);display:flex;width:min(23rem,calc(100% - 2rem));max-height:calc(100vh - var(--layout-topbar-height) - 1.5rem);flex-direction:column;overflow-y:auto;color:var(--color-text-on-inverse);background:color-mix(in srgb,var(--color-surface-inverse) 96%,transparent);border:1px solid color-mix(in srgb,var(--color-text-on-inverse) 16%,transparent);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.integrity-monitor-panel>header{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4);background:inherit;border-bottom:1px solid color-mix(in srgb,var(--color-text-on-inverse) 14%,transparent)}.integrity-monitor-panel>header>div{display:flex;align-items:center;gap:var(--space-3)}.integrity-monitor-panel>header svg{width:var(--icon-lg)}.integrity-monitor-panel>header span{display:flex;flex-direction:column}.integrity-monitor-panel>header small{color:color-mix(in srgb,var(--color-text-on-inverse) 65%,transparent)}.monitor-live-indicator{display:block!important;padding:var(--space-1) var(--space-2);color:#9de2bb;background:#56b47c24;border-radius:var(--radius-full);font-size:var(--font-size-xs);text-transform:uppercase}.monitor-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2);padding:var(--space-3)}.monitor-metrics article{display:flex;gap:var(--space-2);padding:var(--space-2);background:#ffffff0d;border-radius:var(--radius-md)}.monitor-metrics svg{flex:0 0 auto;width:var(--icon-sm)}.monitor-metrics span{display:flex;min-width:0;flex-direction:column;font-size:.625rem}.monitor-metrics strong{margin-top:var(--space-1);font-size:var(--font-size-sm)}.monitor-section{padding:var(--space-3) var(--space-4);border-top:1px solid color-mix(in srgb,var(--color-text-on-inverse) 12%,transparent)}.monitor-section h3{display:flex;justify-content:space-between;margin:0 0 var(--space-3);font-size:var(--font-size-sm)}.monitor-section h3 span{color:color-mix(in srgb,var(--color-text-on-inverse) 60%,transparent)}.monitor-detector-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.monitor-detector-grid span{display:flex;flex-direction:column;padding:var(--space-2);background:#ffffff0d;border-radius:var(--radius-sm);color:color-mix(in srgb,var(--color-text-on-inverse) 66%,transparent);font-size:.625rem}.monitor-detector-grid strong{color:var(--color-text-on-inverse);text-transform:capitalize}.active-violation-list,.monitoring-timeline ol{display:grid;gap:var(--space-2);margin:0;padding:0;list-style:none}.active-violation-list li,.monitoring-timeline li{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);background:#ffffff0d;border-radius:var(--radius-sm)}.active-violation-list svg,.monitoring-timeline svg{flex:0 0 auto;width:var(--icon-sm);color:#e4a49e}.active-violation-list span,.monitoring-timeline li div{display:flex;flex-direction:column}.active-violation-list small,.monitoring-timeline small{color:color-mix(in srgb,var(--color-text-on-inverse) 62%,transparent)}.monitoring-timeline ol{max-height:12rem;overflow-y:auto}.monitoring-timeline li svg{color:#9de2bb}.monitor-empty{display:flex;align-items:center;gap:var(--space-2);color:color-mix(in srgb,var(--color-text-on-inverse) 62%,transparent);font-size:var(--font-size-xs)}.monitor-empty svg{width:var(--icon-sm);color:#9de2bb}.exam-running-page>.exam-simulator{right:auto;left:var(--space-4)}@media(max-width:800px){.exam-environment-main,.exam-workspace,.vision-verification{grid-template-columns:1fr}.exam-question-map{position:static}.exam-question-map ol{grid-template-columns:repeat(10,minmax(2.25rem,1fr));overflow-x:auto}}@media(max-width:560px){.exam-page-header,.exam-toolbar{padding-inline:var(--space-4)}.exam-brand span,.exam-runtime-metrics span:first-child{display:none}.exam-toolbar>div:first-child>span strong{max-width:11rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exam-workspace{padding:var(--space-4);gap:var(--space-4)}.exam-question-card{padding:var(--space-5)}.exam-result-metrics{grid-template-columns:1fr}.exam-result-actions{flex-direction:column-reverse}.exam-result-actions .button{width:100%}.camera-preview,.camera-preview video{min-height:15rem}.exam-camera-preview{position:relative;right:auto;bottom:auto;width:min(100%,18rem);margin:var(--space-4) auto}.environment-health-header{flex-direction:column}.readiness-score{width:100%;align-items:flex-start}.verification-summary-meta,.verification-summary>ul{grid-template-columns:1fr}}.app-shell{height:100vh;height:100dvh;background:var(--canvas);overflow:hidden}.course-load-state{display:grid;place-items:center;padding:var(--space-8);overflow-y:auto}.course-load-state>.lesson-document{width:min(100%,820px)}.course-load-state>.empty-state{width:min(100%,520px)}.topbar{position:sticky;top:0;z-index:30;height:var(--topbar-height);display:flex;align-items:center;justify-content:space-between;gap:28px;padding:0 20px;background:#fffffff0;border-bottom:1px solid var(--line);box-shadow:var(--shadow-xs);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.topbar-context,.lesson-navigation,.progress-copy,.compiler-header,.compiler-toolbar,.block-header,.exercise-top,.ai-heading{display:flex;align-items:center}.topbar-context{min-width:0;gap:14px}.course-mark{display:grid;flex:0 0 auto;place-items:center;width:38px;height:38px;border-radius:var(--radius-md);color:#fff;background:#313b37;font-weight:700}.overview-brand.lesson-topbar-brand{display:inline-flex;flex:0 0 auto}.lesson-back-button,.lesson-sidebar-trigger{flex:0 0 auto}.eyebrow,.section-kicker{color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.12em;line-height:1.4;text-transform:uppercase}.context-divider{width:1px;height:32px;margin:0 2px;background:var(--line)}.lesson-navigation{gap:9px}.progress-block{width:150px;margin-right:8px}.progress-copy{justify-content:space-between;margin-bottom:7px;color:var(--muted);font-size:10px}.progress-copy strong{color:var(--ink);font-size:11px}.progress-track{height:var(--space-1);overflow:hidden;border-radius:var(--radius-full);background:var(--color-surface-subtle)}.progress-track span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.nav-button,.run-button,.inline-action,.ghost-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:var(--radius-md);cursor:pointer;font-size:12px;font-weight:700;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}.nav-button{height:38px;padding:0 13px}.nav-button:hover,.run-button:hover,.inline-action:hover{transform:translateY(-1px)}.nav-button-secondary{color:var(--ink);background:transparent;border:1px solid var(--line)}.nav-button-primary{color:var(--color-text-on-accent);background:var(--color-accent);box-shadow:var(--shadow-control)}.icon-button{display:inline-grid;place-items:center;width:36px;height:36px;flex:0 0 auto;padding:0;color:#595d59;background:transparent;border:1px solid var(--line);border-radius:var(--radius-md);cursor:pointer;transition:background .18s ease,color .18s ease}.icon-button:hover{color:var(--ink);background:var(--surface-muted)}.menu-trigger,.drawer-close{display:none}.workspace{position:relative;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);height:calc(100vh - var(--topbar-height));height:calc(100dvh - var(--topbar-height));min-height:0;overflow:hidden;transition:grid-template-columns var(--duration-slow) var(--ease-emphasized)}.workspace.has-compiler{grid-template-columns:var(--sidebar-width) minmax(var(--lesson-pane-min),1fr) var(--compiler-width)}.course-sidebar{position:relative;z-index:20;display:flex;flex-direction:column;min-height:0;background:#faf9f6;border-right:1px solid var(--line)}.sidebar-header{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-6) var(--space-5) var(--space-4);overflow:visible}.sidebar-title{min-width:0}.sidebar-header h2{margin:var(--space-1) 0 0;font-size:var(--font-size-xl);letter-spacing:-.025em}.sidebar-header-actions{display:flex;flex:0 0 auto;align-items:center;gap:var(--space-2)}.sidebar-collapse-button{margin-left:0}.sidebar-summary{display:flex;justify-content:space-between;margin:0 var(--space-5) var(--space-4);padding:var(--space-3) 0 var(--space-4);color:var(--muted);border-bottom:1px solid var(--line);font-size:var(--font-size-xs)}.module-navigation{flex:1;min-height:0;padding:0 var(--space-3) var(--space-6);overflow-y:auto;scroll-behavior:smooth;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}.module-group{margin-bottom:var(--space-5);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.module-group:last-child{border-bottom:0}.module-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;min-height:2.75rem;padding:var(--space-2) var(--space-2);color:var(--ink);background:transparent;border:0;border-radius:var(--radius-md);text-align:left;cursor:pointer;border:1px solid transparent}.module-trigger:hover{background:var(--color-surface-subtle)}.module-trigger>span{display:flex;min-width:0;flex:1;flex-direction:column;gap:var(--space-1);text-align:left}.module-trigger strong{overflow-wrap:anywhere;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:-.01em;line-height:var(--line-height-heading)}.module-trigger small{color:var(--muted);font-size:var(--font-size-xs)}.module-trigger .module-chevron{color:var(--color-text-muted);transition:transform var(--duration-normal) var(--ease-emphasized)}.module-group.is-expanded .module-trigger .module-chevron{transform:rotate(180deg)}.lesson-list-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}.module-group.is-expanded .lesson-list-wrap{grid-template-rows:1fr}.lesson-list{min-height:0;margin-left:var(--space-1);overflow:hidden;padding:var(--space-4) 0 0 var(--space-2);border-left:1px solid color-mix(in srgb,var(--color-border) 52%,transparent);opacity:0;transform:translateY(-6px);transition:opacity var(--duration-normal),transform var(--duration-normal) var(--ease-emphasized)}.module-group.is-expanded .lesson-list{opacity:1;transform:translateY(0)}.course-section-group{padding-bottom:var(--space-6);border-bottom:1px solid color-mix(in srgb,var(--color-border) 72%,transparent)}.course-section-group+.course-section-group{margin-top:var(--space-6);padding-top:0}.course-section-group:last-child{border-bottom:0}.course-section-trigger{display:flex;width:100%;min-height:2.5rem;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-1);color:var(--color-text);border-radius:var(--radius-sm);text-align:left}.course-section-trigger:hover{background:var(--color-surface-subtle)}.course-section-trigger>span{display:flex;min-width:0;flex:1;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.course-section-trigger strong{overflow-wrap:anywhere;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1.35}.course-section-trigger small{flex:0 0 auto;color:var(--color-text-muted);font-size:var(--font-size-xs)}.course-section-chevron{flex:0 0 auto;color:var(--color-text-muted);transition:transform var(--duration-normal) var(--ease-emphasized)}.course-section-group.is-expanded .course-section-chevron{transform:rotate(180deg)}.course-section-lessons{display:grid;grid-template-rows:0fr;overflow:hidden;opacity:0;transform:translateY(-4px);transition:grid-template-rows var(--duration-normal) var(--ease-emphasized),opacity var(--duration-normal),transform var(--duration-normal) var(--ease-emphasized)}.course-section-group.is-expanded .course-section-lessons{grid-template-rows:1fr;opacity:1;transform:translateY(0)}.course-section-lessons>div{min-height:0;padding-top:var(--space-2);overflow:hidden}.lesson-link{position:relative;display:flex;align-items:flex-start;justify-content:flex-start;gap:7px;width:100%;min-height:2.25rem;margin:2px 0;padding:6px var(--space-1);color:#565954;background:transparent;border:0;border-radius:var(--radius-sm);text-align:left;cursor:pointer;transition:color .18s ease,background .18s ease}.lesson-link:before{display:none}.lesson-link:hover:not(:disabled){color:var(--ink);background:color-mix(in srgb,var(--color-surface) 68%,transparent)}.lesson-link.is-active{color:var(--color-accent);background:color-mix(in srgb,var(--accent-soft) 42%,transparent);font-weight:var(--font-weight-medium);box-shadow:none}.lesson-link.is-locked{opacity:.48;cursor:not-allowed}.lesson-status{display:grid;place-items:center;width:.875rem;height:.875rem;flex:0 0 auto;margin-top:2px;color:var(--color-text-muted);background:transparent;border:0;border-radius:0}.lesson-status svg{width:.8125rem;height:.8125rem}.is-complete .lesson-status,.is-visited .lesson-status{color:var(--color-accent);background:transparent}.is-not-started .lesson-status{color:var(--color-text-muted);background:transparent}.is-active .lesson-status,.lesson-link.is-complete.is-active .lesson-status{color:var(--accent);background:transparent}.is-locked .lesson-status{color:var(--color-text-muted);background:transparent}.lesson-label{display:block;min-width:0;flex:1;overflow-wrap:anywhere;font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);line-height:1.45;text-align:left}.lesson-label small{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.05em;text-transform:uppercase}.sidebar-footer{display:flex;align-items:center;gap:var(--space-3);margin:0 var(--space-4) var(--space-4);padding:var(--space-3);background:var(--color-surface-subtle);border-radius:var(--radius-md)}.sidebar-footer-icon{display:grid;place-items:center;width:26px;height:26px;color:var(--accent);background:var(--color-surface);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.sidebar-footer>span:last-child{display:flex;flex-direction:column;gap:2px}.sidebar-footer strong{font-size:10px}.sidebar-footer small{color:var(--muted);font-size:9px}.drawer-scrim{display:none}.lesson-region{display:grid;grid-column:2;grid-row:1;grid-template-rows:minmax(0,1fr) auto;min-width:0;min-height:0;overflow:hidden;container:lesson-region / inline-size}.lesson-panel{min-width:0;min-height:0;overflow-y:auto;scroll-behavior:smooth;background:var(--canvas);scrollbar-width:thin;scrollbar-color:#bbbdb7 transparent}.lesson-document{max-width:880px;margin:0 auto;padding:clamp(var(--space-8),5vw,var(--space-12)) clamp(var(--space-6),5vw,var(--space-12)) var(--space-10)}.lesson-hero{padding-bottom:clamp(var(--space-6),4vw,var(--space-8));border-bottom:1px solid var(--line)}.lesson-breadcrumb{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:10px;font-weight:600}.lesson-breadcrumb svg:first-child{color:var(--accent)}.lesson-hero h1{max-width:680px;margin:var(--space-5) 0 var(--space-3);font-size:clamp(2rem,4vw,3rem);line-height:1.12;letter-spacing:-.04em}.lesson-hero>p{max-width:65ch;margin:0;color:var(--color-text-muted);font-size:clamp(var(--font-size-md),1.25vw,var(--font-size-lg));line-height:1.7}.lesson-details{display:flex;flex-wrap:wrap;gap:7px;margin-top:23px}.lesson-details span{padding:var(--space-1) var(--space-2);color:var(--color-text-muted);background:var(--color-surface-subtle);border-radius:var(--radius-xs);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase}.lesson-body{display:flex;flex-direction:column;gap:var(--space-5);padding-top:clamp(var(--space-7),4vw,var(--space-10))}.content-section{margin:0;scroll-margin-top:var(--space-8)}.content-section h2,.content-section h3,.content-section h4,.content-section h5,.content-section h6{margin:0;line-height:1.3;letter-spacing:-.03em}.content-section h2{font-size:clamp(23px,3vw,31px)}.content-section h3{font-size:clamp(1.1rem,2vw,1.3rem);letter-spacing:-.02em}.lesson-heading-block{padding-top:var(--space-7)}.lesson-heading-block:first-child{padding-top:0}.lesson-heading-block+.lesson-text-block{margin-top:calc(var(--space-3) * -1)}.lesson-text-block+.lesson-text-block{margin-top:calc(var(--space-2) * -1)}.lesson-text-block+.code-card,.lesson-text-block+.lesson-image,.lesson-text-block+.note-card,.lesson-text-block+.callout-card{margin-top:calc(var(--space-2) * -1)}.code-card+.lesson-text-block,.lesson-image+.lesson-text-block{margin-top:var(--space-1)}.lesson-divider{margin-block:var(--space-5)}.interactive-card,.exercise-card,.ai-card,.solution-block,.table-card{margin-block:var(--space-2)}.reading-copy{max-width:68ch}.reading-copy p,.interactive-card p,.exercise-card p,.ai-card p{color:var(--color-text-muted);font-size:var(--font-size-md);line-height:1.72}.reading-copy p{margin:0 0 var(--space-3)}.reading-copy p:last-child{margin-bottom:0}.lesson-end-sentinel{display:block;width:100%;height:1px;margin-top:var(--space-8)}.lesson-completion-footer{display:grid;grid-template-columns:minmax(0,1fr) minmax(10rem,auto) minmax(0,1fr);grid-template-areas:"previous status next";align-items:center;gap:var(--space-4);padding:var(--space-2) clamp(var(--space-4),3vw,var(--space-6));background:color-mix(in srgb,var(--color-surface) 94%,transparent);border-top:1px solid var(--color-border);box-shadow:0 -8px 24px color-mix(in srgb,var(--color-text) 7%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.lesson-completion-footer>.lesson-footer-button:first-child{grid-area:previous}.lesson-completion-footer>.lesson-footer-status{grid-area:status}.lesson-completion-footer>.lesson-footer-button:last-child{grid-area:next}.lesson-footer-status{display:grid;align-items:center;justify-content:center;gap:2px;min-width:0;color:var(--color-text-muted);font-size:var(--font-size-sm);text-align:center}.lesson-footer-status-main{display:inline-flex;min-width:0;align-items:center;justify-content:center;gap:var(--space-2);color:var(--color-text);font-weight:var(--font-weight-semibold)}.lesson-footer-status-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-footer-status svg{flex:0 0 auto;color:var(--color-accent)}.lesson-footer-status.is-error svg{color:var(--color-danger)}.lesson-footer-status-detail{display:-webkit-box;max-width:34rem;overflow:hidden;font-size:var(--font-size-xs);line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.lesson-footer-status-detail[role=alert]{color:var(--color-danger)}.lesson-footer-button{min-height:var(--control-height-md);padding-inline:var(--space-4)}.lesson-footer-button:first-child{justify-self:start}.lesson-footer-button:last-child{justify-self:end}@container lesson-region (max-width: 38rem){.lesson-completion-footer{grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-2);padding-inline:var(--space-3)}.lesson-footer-button{width:var(--control-height-md);padding:0}.lesson-footer-button-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.lesson-footer-status{font-size:var(--font-size-xs)}.lesson-footer-status-detail{max-width:100%}}@container lesson-region (max-width: 25rem){.lesson-completion-footer{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"status status status" "previous . next";row-gap:var(--space-1)}}.code-card{overflow:hidden;color:var(--color-text-on-inverse);background:var(--surface-dark);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.block-header{justify-content:space-between;height:45px;padding:0 16px;color:#bfc4bf;border-bottom:1px solid #363a37;font-size:10px;font-weight:600}.block-header span:first-child{display:flex;align-items:center;gap:8px}.code-language{color:#828983;font-size:8px;letter-spacing:.1em}.code-card pre{margin:0;padding:var(--space-6) var(--space-5);overflow-x:auto;font-family:var(--font-family-mono);font-size:var(--font-size-sm);line-height:var(--line-height-code);scrollbar-width:thin;scrollbar-color:var(--color-text-muted) var(--color-surface-inverse)}.code-muted{color:#636963;-webkit-user-select:none;user-select:none}.code-keyword{color:#b3cbbb}.code-name{color:#d7c9a8}.code-string{color:#c2b4a4}.code-comment{color:#78837c;font-style:italic}.code-number{color:#d6b887}.code-builtin{color:#9fc4bf}.code-line-highlighted{display:inline-block;width:100%;margin-inline:calc(var(--space-2) * -1);padding-inline:var(--space-2);background:color-mix(in srgb,var(--color-accent) 18%,transparent)}.visual-placeholder{position:relative;height:260px;overflow:hidden;background:#e7e6e0;border:1px solid #d7d5ce;border-radius:13px}.visual-grid{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.5;background-image:linear-gradient(#d4d3cd 1px,transparent 1px),linear-gradient(90deg,#d4d3cd 1px,transparent 1px);background-size:30px 30px;-webkit-mask-image:radial-gradient(circle,#000 0,transparent 70%);mask-image:radial-gradient(circle,#000 0,transparent 70%)}.visual-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;color:#696c67}.visual-label>span{display:grid;place-items:center;width:46px;height:46px;margin-bottom:3px;color:var(--accent);background:#ffffffbd;border:1px solid rgba(255,255,255,.9);border-radius:12px}.visual-label strong{font-size:13px}.visual-label small{font-size:10px}.lesson-image{overflow:hidden;margin-inline:0}.lesson-image img{display:block;width:100%;height:auto}.lesson-image figcaption{padding:var(--space-3) var(--space-4);color:var(--color-text-muted);font-size:var(--font-size-sm)}.interactive-card,.exercise-card,.ai-card{border-radius:var(--radius-lg)}.interactive-card,.exercise-card,.ai-card,.visual-placeholder,.code-card{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.interactive-card:hover,.exercise-card:hover,.ai-card:hover,.visual-placeholder:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.interactive-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--line);box-shadow:var(--shadow-sm)}.interactive-icon,.ai-icon{display:grid;place-items:center;width:40px;height:40px;flex:0 0 auto;color:var(--accent);background:var(--accent-soft);border-radius:10px}.interactive-copy{flex:1}.interactive-card p{margin:0;font-size:12px;line-height:1.6}.quiz-options{display:grid;gap:var(--space-2);margin-top:var(--space-4)}.quiz-option{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);cursor:pointer}.quiz-option input{margin-top:var(--space-1);accent-color:var(--color-accent)}.quiz-option:has(input:checked),.quiz-option.is-correct{border-color:var(--color-accent);background:var(--color-accent-soft)}.quiz-explanation{margin-top:var(--space-2)!important;color:var(--color-text-muted)}.inline-action{min-height:36px;padding:0 13px;color:#fff;background:#37443f;white-space:nowrap}.exercise-card{position:relative;padding:24px;background:#ebeae5;border:1px solid #dbd9d2}.exercise-top{justify-content:space-between;margin-bottom:13px}.difficulty-pill{padding:5px 8px;color:#676a65;background:#ffffffa6;border-radius:6px;font-size:9px;font-weight:700;text-transform:uppercase}.exercise-card p{max-width:570px;margin:0 0 17px;font-size:13px}.exercise-meta{display:flex;gap:16px;margin-bottom:21px;color:#6e716c;font-size:10px}.exercise-meta span{display:flex;align-items:center;gap:5px}.exercise-meta svg{color:var(--accent)}.exercise-hints{margin-bottom:var(--space-5);color:var(--color-text-muted);font-size:var(--font-size-sm)}.exercise-hints summary{color:var(--color-text);font-weight:var(--font-weight-semibold);cursor:pointer}.exercise-hints li{margin-top:var(--space-2)}.rich-text{line-height:var(--line-height-body)}.rich-text-plain{white-space:pre-line}.rich-text p{margin:0 0 var(--space-4)}.rich-text p:last-child{margin-bottom:0}.rich-text ul{margin:var(--space-3) 0;padding-left:var(--space-6)}.rich-text li+li{margin-top:var(--space-2)}.rich-text li{padding-left:var(--space-1);color:var(--color-text-muted);line-height:1.65}.rich-text code,.reading-copy code{padding:.12em .35em;color:var(--color-text);background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-xs);font-family:var(--font-family-mono);font-size:.9em}.exercise-instructions{color:var(--color-text-muted)}.ai-card{padding:22px;background:linear-gradient(135deg,#e8eeea,#f3f2ed);border:1px solid #d2ddd7}.ai-heading{gap:13px}.ai-heading h3{margin:3px 0 0}.ai-card p{margin:16px 0;font-size:12px}.ai-prompts{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.ai-prompts span{padding:var(--space-1) var(--space-2);color:var(--color-text-muted);background:var(--color-surface);border-radius:var(--radius-sm);font-size:var(--font-size-xs)}.ai-disclaimer{display:block;margin-bottom:var(--space-3);color:var(--color-text-muted);line-height:var(--line-height-body)}.ghost-action{min-height:34px;padding:0 12px;color:var(--accent);background:#ffffff94;border:1px solid #cbd8d1}.note-card,.unknown-block{display:flex;align-items:flex-start;gap:13px;padding:18px;border-radius:11px}.note-card{color:#4f5c56;background:#edf1ee;border:1px solid #d7dfda}.note-icon{display:grid;place-items:center;width:32px;height:32px;flex:0 0 auto;background:#fff;border-radius:8px}.note-card strong,.unknown-block strong{font-size:12px}.note-card p,.unknown-block p{margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.65}.warning-card,.callout-card{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4)}.lesson-action-cta p{margin:0;color:var(--color-text);font-size:var(--font-size-md);line-height:1.72}.lesson-action-cta strong{font-weight:var(--font-weight-semibold)}.warning-card{color:var(--color-danger);background:var(--color-danger-soft);border-color:color-mix(in srgb,var(--color-danger) 30%,var(--color-border))}.warning-icon,.callout-icon{display:grid;place-items:center;width:var(--control-height-sm);height:var(--control-height-sm);flex:0 0 auto;background:var(--color-surface);border-radius:var(--radius-sm)}.warning-card p,.callout-card p{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-body)}.callout-action{display:inline-flex;align-items:center;gap:var(--space-1);margin-top:var(--space-3);color:var(--color-accent);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);text-decoration:none}.video-card{overflow:hidden;margin-inline:0}.video-card video{display:block;width:100%;background:var(--color-surface-inverse)}.video-card figcaption{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4)}.video-card figcaption span,.video-transcript{color:var(--color-text-muted);font-size:var(--font-size-sm)}.video-transcript{padding:0 var(--space-4) var(--space-4)}.video-transcript summary{color:var(--color-text);cursor:pointer}.table-card{max-width:100%;overflow-x:auto}.table-scroll{overflow-x:auto}.table-card table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.table-card caption{padding:var(--space-4);color:var(--color-text);font-weight:var(--font-weight-semibold);text-align:left}.table-card th,.table-card td{padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border)}.table-card th{color:var(--color-text);background:var(--color-surface-subtle)}.table-card td{color:var(--color-text-muted)}.lesson-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:9px;font-weight:700;text-transform:uppercase}.lesson-divider:before,.lesson-divider:after{content:"";height:1px;flex:1;background:var(--line)}.lesson-divider:not(:has(span)):after{display:none}.unknown-block{color:#785f5c;background:#f3ecea;border:1px solid #e3d5d2}.lesson-compiler-block{height:780px;overflow:hidden;background:var(--color-surface-raised);border:1px solid var(--line);border-radius:var(--radius-xl)}.desktop-compiler{position:relative;z-index:18;grid-column:3;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;border-left:1px solid var(--color-border);background:var(--color-surface-raised);container:compiler / inline-size}.compiler-dock{display:flex;flex-direction:column}.compiler-dock-header{display:flex;min-height:3.5rem;flex:0 0 auto;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3) var(--space-2) var(--space-4);color:var(--color-text);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.compiler-dock-identity{display:flex;min-width:0;align-items:center;gap:var(--space-3)}.compiler-dock-identity>span:last-child{display:flex;min-width:0;flex-direction:column}.compiler-dock-identity strong{font-size:var(--font-size-sm)}.compiler-dock-identity small{color:var(--color-text-muted);font-size:var(--font-size-xs);text-transform:capitalize}.compiler-dock-symbol{display:grid;width:2rem;height:2rem;flex:0 0 auto;place-items:center;color:var(--color-accent);background:var(--color-accent-soft);border-radius:var(--radius-md)}.compiler-dock-minimize{display:grid;width:2.25rem;height:2.25rem;place-items:center;color:var(--color-text-muted);background:transparent;border:0;border-radius:var(--radius-md);cursor:pointer}.compiler-dock-minimize:hover{color:var(--color-text);background:var(--color-surface-subtle)}.compiler-dock-minimize:focus-visible,.compiler-dock-launcher:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.compiler-dock-body{min-height:0;flex:1}.compiler-dock.is-minimized{position:absolute;z-index:30;top:var(--space-4);right:var(--space-4);bottom:auto;grid-column:auto;width:7.5rem;height:3.25rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:visible;box-shadow:var(--shadow-md);transition:transform var(--duration-fast) var(--ease-emphasized),box-shadow var(--duration-fast) ease}.compiler-dock.is-minimized:hover{transform:translateY(-2px);box-shadow:0 12px 28px #192e2529}.compiler-dock-launcher{display:flex;width:100%;height:100%;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2);color:var(--color-text);background:var(--color-surface-raised);border:0;border-radius:inherit;cursor:pointer}.compiler-dock-launcher>svg:last-child{display:none}.compiler-dock-word{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.02em}.compiler-dock.is-minimized .compiler-dock-body{display:none}.compiler-enter{animation:compiler-enter var(--duration-slow) var(--ease-emphasized) both}@keyframes compiler-enter{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}.compiler-panel{width:100%;height:100%;min-height:0;padding:var(--space-4);overflow:hidden}.code-card-actions{display:flex;justify-content:flex-end;padding:0 var(--space-4) var(--space-4)}.code-run-button{color:#c7ddd3;border-color:#52635b}.code-run-button:hover:not(:disabled){color:#fff;background:#303832}.compiler-ide{display:flex;width:100%;height:100%;min-height:0;flex-direction:column;overflow:hidden;background:#1d211f;border:1px solid #343a36;border-radius:var(--radius-xl);box-shadow:var(--shadow-md);container-name:compiler-workspace;container-type:inline-size}.compiler-workspace{display:flex;min-height:0;flex:1 1 auto;flex-direction:column;overflow:hidden}.compiler-workspace-switcher{display:none}.compiler-main-row{display:grid;min-height:0;flex:1 1 auto;grid-template-columns:minmax(0,1fr) minmax(16rem,20rem);overflow:hidden}.compiler-main-view{min-width:0;min-height:0;overflow:hidden}.compiler-editor-view{border-right:1px solid #343a36}.compiler-editor-view>.editor-window{width:100%;height:100%}.compiler-tutor-view>.ai-tutor-panel{width:100%;height:100%}.ai-tutor-panel{display:flex;min-width:0;min-height:0;flex-direction:column;overflow:hidden;color:#d7ddd8;background:#202421}.ai-tutor-header{display:flex;flex:0 0 auto;align-items:center;gap:var(--space-3);min-height:4.25rem;padding:var(--space-3) var(--space-4);border-bottom:1px solid #343a36}.ai-tutor-header>div{display:grid;gap:.1rem}.ai-tutor-header strong{color:#edf2ee;font-size:var(--font-size-sm)}.ai-tutor-header small{color:#8e9791;font-size:var(--font-size-xs)}.ai-tutor-icon{display:inline-grid;width:2rem;height:2rem;flex:0 0 auto;place-items:center;color:#a9c3b7;background:#303832;border-radius:var(--radius-sm)}.ai-tutor-icon svg{width:1rem;height:1rem}.ai-tutor-disclosure{flex:0 0 auto;padding:var(--space-3);color:#aeb7b1;border-bottom:1px solid #343a36;font-size:var(--font-size-xs);line-height:1.5}.ai-tutor-disclosure summary{color:#dce7e1;font-weight:var(--font-weight-semibold);cursor:pointer}.ai-tutor-disclosure summary:focus-visible{outline:2px solid #9bbcac;outline-offset:3px;border-radius:2px}.ai-tutor-disclosure p{margin:var(--space-2) 0 0}.ai-tutor-actions{display:grid;flex:0 0 auto;gap:var(--space-2);padding:var(--space-3);border-bottom:1px solid #343a36}.ai-tutor-actions button{display:inline-flex;min-height:2.5rem;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);color:#dce7e1;background:#29302c;border:1px solid #414b45;border-radius:var(--radius-md);font:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background-color var(--duration-fast) ease,border-color var(--duration-fast) ease,transform var(--duration-fast) ease}.ai-tutor-actions button svg{width:.95rem;height:.95rem}.ai-tutor-actions button:hover:not(:disabled){background:#344139;border-color:#607468}.ai-tutor-actions button:active:not(:disabled){transform:translateY(1px)}.ai-tutor-actions button:focus-visible{outline:2px solid #9bbcac;outline-offset:2px}.ai-tutor-actions button:disabled{opacity:.45;cursor:not-allowed}.ai-tutor-response{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;padding:var(--space-4);scrollbar-gutter:stable}.ai-tutor-state{display:grid;min-height:100%;place-content:center;justify-items:center;gap:var(--space-3);color:#98a29b;text-align:center;font-size:var(--font-size-xs);line-height:1.55}.ai-tutor-state svg{width:1.25rem;height:1.25rem;color:#8fb2a1}.ai-tutor-error{padding:var(--space-3);color:#e5b4af;background:#3a2827;border-left:3px solid #b76560;border-radius:var(--radius-sm);font-size:var(--font-size-xs);line-height:1.5}.ai-tutor-progress{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);color:#a9c3b7;font-size:var(--font-size-xs)}.ai-tutor-progress svg{width:1rem;height:1rem}.ai-tutor-structured-response{display:grid;gap:var(--space-4);color:#ccd4cf;font-size:var(--font-size-xs);line-height:1.6;overflow-wrap:anywhere}.ai-tutor-structured-response p,.ai-tutor-structured-response h4,.ai-tutor-structured-response ul,.ai-tutor-structured-response dl,.ai-tutor-structured-response dd{margin:0}.ai-tutor-structured-response h4{color:#f0f3f1;font-size:var(--font-size-sm);line-height:1.35}.ai-tutor-summary{color:#edf2ee;font-weight:var(--font-weight-semibold)}.ai-tutor-evidence{color:#9ca7a0}.ai-tutor-response-section,.ai-tutor-next-step{display:grid;gap:var(--space-2)}.ai-tutor-response-list{display:grid;gap:var(--space-3);padding:0;list-style:none}.ai-tutor-response-list li{display:grid;gap:var(--space-1)}.ai-tutor-line-range{width:fit-content;color:#a9c3b7;font-family:var(--font-family-mono);font-size:.72rem}.ai-tutor-concepts{display:grid;gap:var(--space-3)}.ai-tutor-concepts>div{display:grid;gap:var(--space-1)}.ai-tutor-concepts dt{color:#edf2ee;font-weight:var(--font-weight-semibold)}.ai-tutor-stale{padding-left:var(--space-3);color:#d9c493;border-left:3px solid #9a8148}.ai-tutor-next-step{padding:var(--space-3);background:#29302c;border-radius:var(--radius-sm)}.is-spinning{animation:ai-tutor-spin .8s linear infinite}@keyframes ai-tutor-spin{to{transform:rotate(360deg)}}@container compiler-workspace (max-width: 44rem){.compiler-workspace-switcher{display:grid;min-height:2.75rem;flex:0 0 auto;grid-template-columns:repeat(2,minmax(0,1fr));padding:var(--space-1);background:#242925;border-bottom:1px solid #373d39}.compiler-workspace-switcher button{position:relative;display:inline-flex;min-width:0;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);color:#929b95;background:transparent;border:0;border-radius:var(--radius-sm);cursor:pointer;font:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);transition:color var(--duration-fast) ease,background-color var(--duration-fast) ease}.compiler-workspace-switcher button:hover{color:#e5e9e6;background:#2d332f}.compiler-workspace-switcher button.is-active{color:#eef2ef;background:#303832}.compiler-workspace-switcher button.is-active:after{content:"";position:absolute;right:var(--space-3);bottom:0;left:var(--space-3);height:2px;background:#78a28e;border-radius:var(--radius-full)}.compiler-workspace-switcher button:focus-visible{outline:2px solid #9bbcac;outline-offset:-2px}.compiler-main-row{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.compiler-main-view{grid-area:1 / 1}.compiler-main-view[hidden]{display:none}.compiler-editor-view{border-right:0}.compiler-tutor-view>.ai-tutor-panel{overflow-y:auto;overscroll-behavior:contain}.compiler-tutor-view .ai-tutor-response{min-height:8rem;flex:1 0 8rem;overflow:visible}.ai-tutor-header{min-height:3.5rem;padding-block:var(--space-2)}.ai-tutor-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@container compiler-workspace (max-width: 28rem){.ai-tutor-actions{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.ai-tutor-actions button,.compiler-workspace-switcher button{transition:none}.is-spinning{animation:none}}.ide-header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--space-4);min-height:4.75rem;flex:0 0 auto;padding:var(--space-3) var(--space-4);color:#e5e9e6;background:#242925;border-bottom:1px solid #373d39}.ide-file-context{display:flex;min-width:0;align-items:center;gap:var(--space-3)}.ide-file-icon{display:inline-grid;width:2.25rem;height:2.25rem;flex:0 0 auto;place-items:center;color:#a9c3b7;background:#303832;border-radius:var(--radius-sm)}.ide-file-context>span:last-child{display:grid;min-width:0;gap:.15rem}.ide-file-context strong{overflow:hidden;font-family:var(--font-family-mono);font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap}.ide-file-context small{color:#929b95;font-size:var(--font-size-xs);text-transform:capitalize}.ide-execution-state{display:inline-flex;align-items:center;gap:var(--space-2);color:#78a28e;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);transition:color var(--duration-normal),background var(--duration-normal)}.ide-execution-state.is-running{color:#72a5d1}.ide-execution-state.is-error{color:#d17f78}.ide-execution-state.is-mismatch{color:#d59a5c}.ide-header-actions{display:flex;align-items:center;gap:var(--space-2)}.ide-header .icon-button{color:#b6bdb8;border-color:#454c47}.ide-header .icon-button:hover{color:#fff;background:#303632}.ide-header .compiler-run-button{color:#f7faf8;background:#4e7565;border-color:#608777}.ide-header .compiler-run-button:hover:not(:disabled){color:#fff;background:#5a826f}.ide-header .compiler-run-button:active:not(:disabled){background:#3f6555;transform:translateY(1px)}.ide-header .icon-button:disabled{opacity:.48;cursor:not-allowed;transform:none}.compiler-header{justify-content:space-between;height:58px;padding:0 4px 13px}.compiler-header h2{display:flex;align-items:center;gap:8px;margin:4px 0 0;font-size:15px}.status-label{display:flex;align-items:center;gap:5px;color:var(--accent);font-size:9px;font-weight:700}.compiler-toolbar{gap:7px;margin-bottom:9px}.language-select{display:grid;grid-template-columns:1fr auto;align-items:center;gap:7px;height:39px;flex:1;padding:0 10px;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:9px;text-align:left;cursor:pointer}.language-select span{display:none}.language-select select{width:100%;color:var(--ink);background:transparent;border:0;outline:0;font-size:10px;font-weight:var(--font-weight-semibold);cursor:pointer}.run-button{height:38px;padding:0 14px;color:#fff;background:var(--accent);box-shadow:0 5px 12px #2d443c24}.editor-window{flex:1 1 auto;min-height:0;overflow:hidden;background:#1d211f;border:0;border-bottom:1px solid #343a36;border-radius:0}.editor-tabs{display:flex;align-items:center;gap:var(--space-2);height:var(--control-height-md);padding:0 var(--space-4);color:var(--color-text-inverse);background:var(--color-surface-inverse);border-bottom:1px solid var(--color-border);font-family:var(--font-family-mono);font-size:var(--font-size-xs)}.unsaved-dot{width:5px;height:5px;background:#979f99;border-radius:50%}.editor-code{display:grid;grid-template-columns:30px 1fr;grid-auto-rows:26px;padding:var(--space-4) 0;font-family:var(--font-family-mono);font-size:var(--font-size-xs)}.editor-input{width:100%;height:100%;resize:none;padding:var(--space-6);color:#d7ddd8;background:#1d211f;border:0;outline:0;font-family:var(--font-family-mono);font-size:var(--font-size-sm);line-height:var(--line-height-code);-moz-tab-size:2;tab-size:2}.editor-input:focus{box-shadow:inset 0 0 0 2px var(--color-focus)}.monaco-editor-shell{width:100%;height:100%}.monaco-loading-state{display:grid;height:100%;align-content:start;gap:var(--space-2);padding:var(--space-6);color:#8e9791;background:#1d211f;font-family:var(--font-family-mono);font-size:var(--font-size-xs)}.monaco-loading-state .skeleton-line{margin:0;background:#303632}.monaco-loading-state>span:last-child{margin-top:var(--space-3)}.line-number{color:#595f5a;text-align:center;-webkit-user-select:none;user-select:none}.editor-comment{color:#747c76}.cursor-mark{width:1px;height:16px;background:#cbd0cc;animation:blink 1.1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.console-window{height:228px;min-height:150px;flex:0 0 auto;background:#fafaf8;border:1px solid #d6d5cf;border-top:0;border-radius:0 0 12px 12px}.console-tabs{display:flex;height:38px;padding:0 11px;border-bottom:1px solid #e0dfda}.console-tabs button{position:relative;padding:0 9px;color:#8a8c88;background:transparent;border:0;font-size:9px;font-weight:700;cursor:pointer}.console-tabs button.active{color:var(--ink)}.console-tabs button.active:after{content:"";position:absolute;right:8px;bottom:-1px;left:8px;height:2px;background:var(--accent)}.expected-output{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-2);margin:var(--space-3);padding:var(--space-2) var(--space-3);color:var(--color-text-muted);background:var(--color-surface-subtle);border-radius:var(--radius-sm);font-size:var(--font-size-xs)}.expected-output span{font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.06em}.expected-output code{overflow:hidden;color:var(--color-text);font-family:var(--font-family-mono);text-overflow:ellipsis;white-space:pre-wrap}.terminal-console{display:flex;min-height:240px;flex-direction:column;overflow:hidden;color:#cfd6d1;background:#171a18;border:1px solid #303632;border-radius:0 0 var(--radius-lg) var(--radius-lg);box-shadow:inset 0 1px #ffffff05}.terminal-header{display:grid;min-height:2.5rem;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-3);padding:0 var(--space-3);background:#202421;border-bottom:1px solid #303632;font-family:var(--font-family-mono);font-size:var(--font-size-xs)}.terminal-dots{display:flex;gap:.32rem}.terminal-dots i{width:.5rem;height:.5rem;background:#59615b;border-radius:var(--radius-full)}.terminal-dots i:first-child{background:#9e625d}.terminal-dots i:nth-child(2){background:#a78b56}.terminal-dots i:last-child{background:#60836f}.terminal-status{display:inline-flex;align-items:center;gap:var(--space-1);color:#929b95;font-weight:var(--font-weight-semibold)}.terminal-status i{width:.4rem;height:.4rem;background:currentColor;border-radius:var(--radius-full)}.terminal-status.is-running{color:#c7a766}.terminal-status.is-success{color:#75a98b}.terminal-status.is-error{color:#cf7c74}.terminal-body{display:grid;min-height:0;flex:1;grid-template-rows:auto minmax(0,1fr)}.terminal-expected{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-3);padding:var(--space-2) var(--space-3);background:#1c201d;border-bottom:1px solid #303632}.terminal-expected>span,.terminal-program>header>span{color:#7f8982;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.07em;text-transform:uppercase}.terminal-expected pre{max-height:4rem;margin:0;overflow:auto;color:#aec3b5;font-family:var(--font-family-mono);font-size:var(--font-size-xs);line-height:1.6;white-space:pre-wrap}.terminal-program{display:flex;min-height:0;flex-direction:column}.terminal-program>header{display:flex;min-height:2.25rem;align-items:center;justify-content:space-between;padding:0 var(--space-3)}.terminal-tabs{display:flex;align-self:stretch;gap:var(--space-1)}.terminal-tabs button{position:relative;padding:0 var(--space-2);color:#747d77;background:transparent;border:0;font-size:var(--font-size-xs);cursor:pointer}.terminal-tabs button.active{color:#cfd6d1}.terminal-tabs button.active:after{content:"";position:absolute;right:var(--space-2);bottom:0;left:var(--space-2);height:2px;background:#75a98b}.terminal-tabs em{padding:.1rem .35rem;color:#e0aaa5;background:#cf7c7429;border-radius:var(--radius-full);font-size:.6rem;font-style:normal}.terminal-program>pre{min-height:0;flex:1;margin:0;overflow:auto;padding:var(--space-2) var(--space-3) var(--space-3);color:#d7ddd9;font-family:var(--font-family-mono);font-size:var(--font-size-sm);line-height:1.65;white-space:pre-wrap}.terminal-program>pre span{color:#708078;-webkit-user-select:none;user-select:none}.terminal-program>pre.terminal-error-text{color:#e1a09a}.terminal-runtime{display:grid;grid-template-columns:repeat(3,1fr);background:#202421;border-top:1px solid #303632}.runtime-metric{display:grid;gap:.1rem;padding:var(--space-2) var(--space-3);border-right:1px solid #303632}.runtime-metric:last-child{border-right:0}.runtime-metric small{color:#737d76;font-size:.58rem;font-weight:var(--font-weight-bold);letter-spacing:.06em;text-transform:uppercase}.runtime-metric strong{color:#c8cfca;font-family:var(--font-family-mono);font-size:var(--font-size-xs)}.runtime-metric.is-success strong{color:#75a98b}.runtime-metric.is-error strong{color:#cf7c74}.result-workspace{display:flex;min-height:260px;flex-direction:column;overflow:hidden;padding:0;background:var(--color-surface-subtle);border-color:var(--color-border)}.result-workspace-scroll{display:grid;min-height:0;flex:1;align-content:start;gap:var(--space-3);overflow-y:auto;padding:var(--space-3)}.result-card,.result-status-card{overflow:hidden;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs)}.result-card>span{display:block;padding:var(--space-2) var(--space-3);color:var(--color-text-muted);background:var(--color-surface-raised);border-bottom:1px solid var(--color-border);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.06em;text-transform:uppercase}.result-card pre{min-height:2.75rem;margin:0;overflow:auto;padding:var(--space-3);color:var(--color-text);font-family:var(--font-family-mono);font-size:var(--font-size-sm);line-height:1.65;white-space:pre-wrap}.result-card.is-matched{border-color:color-mix(in srgb,var(--color-accent) 50%,var(--color-border))}.result-card.is-mismatched,.result-card.is-error{border-color:color-mix(in srgb,var(--color-danger) 55%,var(--color-border))}.result-card.is-mismatched pre,.result-card.is-error pre{color:var(--color-danger)}.result-status-card{display:grid;gap:var(--space-3);padding:var(--space-3)}.result-status-copy{display:flex;align-items:flex-start;gap:var(--space-3)}.result-status-copy>svg{flex:0 0 auto;margin-top:var(--space-1);color:var(--color-text-muted)}.result-status-card.is-success .result-status-copy>svg,.result-status-card.is-matched .result-status-copy>svg{color:var(--color-accent)}.result-status-card.is-error .result-status-copy>svg,.result-status-card.is-mismatched .result-status-copy>svg{color:var(--color-danger)}.result-status-copy>div{display:grid;gap:var(--space-1)}.result-status-copy span,.result-runtime small{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.05em}.result-status-copy strong{font-size:var(--font-size-sm)}.result-status-copy small{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.55}.result-runtime{display:grid;grid-template-columns:repeat(2,1fr);overflow:hidden;background:var(--color-surface-subtle);border-radius:var(--radius-sm)}.result-runtime>span{display:grid;gap:var(--space-1);padding:var(--space-2) var(--space-3);border-right:1px solid var(--color-border)}.result-runtime>span:last-child{border-right:0}.result-runtime strong{font-family:var(--font-family-mono);font-size:var(--font-size-xs)}.result-actions{display:flex;justify-content:flex-end;padding:var(--space-3);background:var(--color-surface);border-top:1px solid var(--color-border)}.result-spinner{animation:result-spin .8s linear infinite}@keyframes result-spin{to{transform:rotate(360deg)}}.ide-results.console-window{display:flex;min-height:180px;max-height:48%;flex-shrink:0;flex-direction:column;overflow:hidden;color:#dbe1dd;background:#171a18;border:0;border-radius:0;transition:border-color var(--duration-normal),box-shadow var(--duration-normal)}.ide-result-tabs{display:flex;min-height:2.75rem;align-items:stretch;gap:var(--space-1);padding:0 var(--space-3);overflow-x:auto;background:#242925;border-bottom:1px solid #373d39}.ide-result-tabs button{position:relative;display:inline-flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);color:#8d9790;background:transparent;border:0;cursor:pointer;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);white-space:nowrap;transition:color var(--duration-fast),background var(--duration-fast)}.ide-result-tabs button:hover{color:#dbe1dd;background:#ffffff06}.ide-result-tabs button.is-active{color:#eef2ef}.ide-result-tabs button.is-active:after{content:"";position:absolute;right:var(--space-3);bottom:0;left:var(--space-3);height:2px;background:#78a28e;border-radius:var(--radius-full);transition:background var(--duration-normal)}.ide-results.is-running .ide-result-tabs button.is-active:after{background:#72a5d1}.ide-results.is-error .ide-result-tabs button.is-active:after{background:#d17f78}.ide-results.is-mismatch .ide-result-tabs button.is-active:after{background:#d59a5c}.ide-result-tabs button>span{display:inline-grid;min-width:1.1rem;height:1.1rem;place-items:center;padding:0 .3rem;color:#f2c2bd;background:#d17f7829;border-radius:var(--radius-full);font-size:.6rem}.ide-result-terminal{min-height:0;flex:1;overflow:auto;outline:0;background:#171a18;transition:background var(--duration-normal),opacity var(--duration-fast)}.ide-result-terminal:focus-visible{box-shadow:inset 0 0 0 2px #72a5d173}.ide-result-terminal pre{min-height:100%;margin:0;padding:var(--space-5);color:#dbe1dd;font-family:var(--font-family-mono);font-size:var(--font-size-sm);line-height:1.75;white-space:pre-wrap}.ide-result-terminal.is-error pre{color:#e1a19b}.ide-verification-message{display:flex;align-items:center;gap:var(--space-2);margin:0;padding:var(--space-2) var(--space-4);border-top:1px solid #373d39;font-size:var(--font-size-xs);line-height:1.5;animation:compiler-state-enter var(--duration-normal) var(--ease-emphasized)}.ide-verification-message.is-success{color:#a9cdbb;background:#4e756524}.ide-verification-message.is-mismatch{color:#e2b480;background:#b5793f24}.ide-result-footer{display:flex;min-height:3.5rem;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3) var(--space-2) var(--space-4);background:#242925;border-top:1px solid #373d39}.ide-runtime-status{display:flex;min-width:0;flex-wrap:wrap;align-items:center;gap:var(--space-4);color:#89928c;font-size:.65rem}.ide-runtime-status>span{display:inline-flex;align-items:center;gap:var(--space-1);white-space:nowrap}.ide-runtime-status strong{color:#cdd3cf;font-family:var(--font-family-mono);font-weight:var(--font-weight-medium)}.ide-status-dot{color:#78a28e;font-weight:var(--font-weight-semibold)}.ide-status-dot i{width:.45rem;height:.45rem;background:currentColor;border-radius:var(--radius-full)}.ide-status-dot.is-running{color:#72a5d1}.ide-status-dot.is-error{color:#d17f78}.ide-status-dot.is-mismatch{color:#d59a5c}.ide-check-button{flex:0 0 auto;color:#dce3de;background:#303632;border-color:#454c47}.ide-check-button:hover:not(:disabled){background:#39423c}.ide-check-button:disabled{opacity:.45;cursor:not-allowed}@keyframes compiler-state-enter{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@container compiler (max-width: 27rem){.ide-header{grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2) var(--space-3);padding:var(--space-3)}.ide-file-context{grid-column:1 / -1;grid-row:1}.ide-execution-state{grid-column:1;grid-row:2}.ide-header-actions{grid-column:2;grid-row:2}.ide-result-tabs{padding-inline:var(--space-2);scrollbar-width:thin}.ide-result-tabs button{padding-inline:var(--space-2)}.ide-result-footer{align-items:stretch;flex-direction:column;padding:var(--space-3)}.ide-runtime-status{justify-content:space-between;gap:var(--space-2)}.ide-check-button{width:100%}}@container compiler (max-width: 22rem){.ide-header-actions{display:grid;width:max-content;grid-template-columns:repeat(2,var(--control-height-md))}.ide-file-icon{width:2rem;height:2rem}.ide-result-terminal pre{padding:var(--space-3);font-size:var(--font-size-xs)}.ide-runtime-status{display:grid;grid-template-columns:repeat(3,auto)}}@media(min-width:1181px){.course-sidebar{transition:width var(--duration-slow) var(--ease-emphasized),background var(--duration-normal)}.course-sidebar.is-collapsed{align-items:center}.course-sidebar.is-collapsed .sidebar-header{width:100%;justify-content:center;padding-inline:var(--space-3)}.course-sidebar.is-collapsed .sidebar-title,.course-sidebar.is-collapsed .sidebar-summary,.course-sidebar.is-collapsed .module-navigation,.course-sidebar.is-collapsed .sidebar-footer{display:none}.course-sidebar.is-collapsed .sidebar-header-actions{width:100%;justify-content:center}}.count-pill{margin-left:3px;padding:1px 5px;background:#e5e4df;border-radius:8px;font-size:8px}.console-empty{display:flex;align-items:center;flex-direction:column;padding:26px 12px 15px;color:#9a9c97}.console-empty>span{margin-bottom:var(--space-2);color:var(--color-text-muted);font-family:var(--font-family-mono);font-size:var(--font-size-xl)}.console-empty strong{color:#777a75;font-size:10px}.console-empty small{margin-top:4px;font-size:9px}.error-placeholder{margin:0 12px;padding:9px 10px;color:#925a55;background:#f3e9e7;border-left:2px solid #bd7770;border-radius:5px}.error-placeholder span,.error-placeholder small{display:block}.error-placeholder span{font-size:9px;font-weight:700}.error-placeholder small{margin-top:2px;color:#9d7773;font-size:8px}.activity-feedback{width:100%;margin:var(--space-3) 0 0;padding:var(--space-3);color:var(--color-danger);background:var(--color-danger-soft);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.activity-feedback.is-success{color:var(--color-accent);background:var(--color-accent-soft)}.activity-history{display:block;margin-top:var(--space-2);color:var(--color-text-muted)}.module-complete-icon{margin-left:auto;color:var(--color-accent)}.course-mark-button{border:0;cursor:pointer}.dashboard-shell{height:100vh;overflow:hidden;color:var(--color-text);background:var(--color-canvas)}.dashboard-sidebar{position:fixed;z-index:45;inset:0 auto 0 0;display:flex;width:15rem;flex-direction:column;padding:var(--space-5) var(--space-4);background:var(--color-surface);border-right:1px solid var(--color-border)}.dashboard-brand{display:flex;align-items:center;gap:var(--space-3);height:3rem;margin-bottom:var(--space-8);padding:0 var(--space-2);font-size:var(--font-size-xl)}.dashboard-brand>span{display:inline-grid;width:2.25rem;height:2.25rem;place-items:center;color:var(--color-text-on-accent);background:var(--color-accent);border-radius:var(--radius-md)}.dashboard-sidebar nav{display:grid;gap:var(--space-1)}.dashboard-nav-label{margin:0 var(--space-3) var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-label);text-transform:uppercase}.dashboard-nav-item{display:grid;grid-template-columns:1.25rem 1fr auto;align-items:center;gap:var(--space-3);min-height:2.75rem;padding:0 var(--space-3);color:var(--color-text-muted);background:transparent;border:0;border-radius:var(--radius-md);text-align:left;cursor:pointer;transition:color var(--duration-fast),background var(--duration-fast),transform var(--duration-fast)}.dashboard-nav-item:hover{color:var(--color-text);background:var(--color-surface-subtle);transform:translate(2px)}.dashboard-nav-item.is-active{color:var(--color-accent);background:var(--color-accent-soft);font-weight:var(--font-weight-bold)}.dashboard-nav-item small{padding:.15rem .4rem;color:var(--color-text-muted);background:var(--color-surface-subtle);border-radius:var(--radius-full);font-size:var(--font-size-xs)}.dashboard-sidebar-note{display:grid;gap:var(--space-2);margin-top:auto;padding:var(--space-4);background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.dashboard-sidebar-note>span,.dashboard-sidebar-note small{color:var(--color-text-muted);font-size:var(--font-size-xs)}.dashboard-sidebar-note>div{height:.3rem;overflow:hidden;background:var(--color-border);border-radius:var(--radius-full)}.dashboard-sidebar-note>div span{display:block;width:60%;height:100%;background:var(--color-accent)}.dashboard-mobile-close,.dashboard-menu-button,.dashboard-drawer-scrim{display:none}.dashboard-topbar{position:fixed;z-index:40;top:0;right:0;left:15rem;display:flex;height:4.75rem;align-items:center;justify-content:space-between;gap:var(--space-6);padding:0 clamp(var(--space-5),4vw,var(--space-10));background:color-mix(in srgb,var(--color-surface-raised) 92%,transparent);border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.dashboard-search{display:flex;width:min(34rem,42vw);height:var(--control-height-lg);align-items:center;gap:var(--space-3);padding:0 var(--space-3);color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}.dashboard-search:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-focus)}.dashboard-search input{min-width:0;flex:1;color:var(--color-text);background:transparent;border:0;outline:0}.dashboard-search kbd{padding:.15rem .4rem;color:var(--color-text-muted);background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-xs);font-size:var(--font-size-xs)}.dashboard-topbar-actions{display:flex;align-items:center;gap:var(--space-2)}.dashboard-profile-button{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);color:var(--color-text);background:transparent;border:0;border-radius:var(--radius-md);cursor:pointer}.dashboard-profile-button:hover{background:var(--color-surface-subtle)}.dashboard-profile-button>span:first-child{display:inline-grid;width:2.25rem;height:2.25rem;place-items:center;background:var(--color-accent-soft);border-radius:var(--radius-full)}.profile-avatar-image{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}.dashboard-profile-button>span:last-child{display:grid;text-align:left}.dashboard-profile-button strong{max-width:8rem;overflow:hidden;font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap}.dashboard-profile-button small{max-width:8rem;overflow:hidden;color:var(--color-text-muted);font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap}.dashboard-popover-wrap{position:relative}.notification-dot{position:absolute;top:2px;right:2px;width:.45rem;height:.45rem;background:var(--color-danger);border:2px solid var(--color-surface);border-radius:var(--radius-full);pointer-events:none}.dashboard-popover{position:absolute;z-index:60;top:calc(100% + var(--space-3));right:0;width:16rem;padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.dashboard-popover p{margin:var(--space-2) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-body)}.profile-popover{display:grid;gap:var(--space-2)}.profile-popover small{color:var(--color-text-muted)}.profile-popover button{margin-top:var(--space-2);padding:var(--space-2);color:var(--color-danger);background:var(--color-danger-soft);border:0;border-radius:var(--radius-sm);cursor:pointer}.dashboard-main{height:100vh;margin-left:15rem;padding-top:4.75rem;overflow-y:auto;scroll-behavior:smooth;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}.dashboard-content{width:min(100%,94rem);margin:0 auto;padding:clamp(var(--space-6),4vw,var(--space-12))}.dashboard-welcome{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-8);margin-bottom:var(--space-8)}.welcome-pill{display:inline-flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);color:var(--color-accent);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.dashboard-welcome h1{margin:0;font-size:clamp(var(--font-size-3xl),4vw,var(--font-size-4xl));letter-spacing:var(--letter-spacing-heading)}.dashboard-welcome p{max-width:42rem;margin:var(--space-3) 0 0;color:var(--color-text-muted);font-size:var(--font-size-lg)}.welcome-stat{display:flex;min-width:19rem;gap:var(--space-6);padding-left:var(--space-5);border-left:1px solid var(--color-border)}.welcome-stat>div{min-width:8rem}.welcome-stat strong{display:block;font-size:var(--font-size-3xl)}.welcome-stat span{color:var(--color-text-muted);font-size:var(--font-size-sm)}.continue-learning-card{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-6);overflow:hidden;padding:clamp(var(--space-5),3vw,var(--space-8));color:var(--color-text-on-inverse);background:var(--color-surface-inverse);border:1px solid color-mix(in srgb,var(--color-surface-inverse) 82%,white);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.continue-learning-card:after{content:"";position:absolute;top:-7rem;right:10%;width:18rem;height:18rem;background:color-mix(in srgb,var(--color-accent) 28%,transparent);border-radius:50%;filter:blur(1px)}.continue-course-mark{z-index:1;display:grid;width:4rem;height:4rem;place-items:center;color:var(--color-text-on-accent);background:var(--color-accent);border-radius:var(--radius-xl)}.continue-course-copy{z-index:1}.continue-course-copy h2{margin:var(--space-1) 0 var(--space-2);font-size:var(--font-size-2xl)}.continue-course-copy p{margin:0 0 var(--space-4);color:var(--color-text-on-inverse)}.continue-meta{display:flex;justify-content:space-between;gap:var(--space-4);color:var(--color-text-on-inverse);font-size:var(--font-size-xs)}.continue-meta span{display:flex;align-items:center;gap:var(--space-1)}.continue-progress{height:.3rem;margin-top:var(--space-2);overflow:hidden;background:#ffffff24;border-radius:var(--radius-full)}.continue-progress span{display:block;height:100%;background:var(--color-accent);border-radius:inherit}.continue-button{z-index:1;color:var(--color-surface-inverse);background:var(--color-text-on-inverse)}.dashboard-section{margin-top:clamp(var(--space-10),6vw,var(--space-16));scroll-margin-top:6rem}.dashboard-section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-6);margin-bottom:var(--space-6)}.dashboard-section-header h2{margin:var(--space-1) 0;font-size:var(--font-size-2xl);letter-spacing:var(--letter-spacing-heading)}.dashboard-section-header p{margin:0;color:var(--color-text-muted)}.category-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-3)}.category-card{display:grid;min-width:0;min-height:11rem;grid-template-columns:1fr auto;align-content:space-between;gap:var(--space-3);padding:var(--space-5);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);text-align:left;cursor:pointer;transition:transform var(--duration-fast),border-color var(--duration-fast),box-shadow var(--duration-fast)}.category-card:hover{transform:translateY(-3px);border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}.category-card.is-active{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-focus)}.category-icon{display:grid;width:2.75rem;height:2.75rem;grid-column:1 / -1;place-items:center;color:var(--color-accent);background:var(--color-accent-soft);border-radius:var(--radius-md)}.category-card>span:nth-child(2){display:grid;gap:var(--space-1)}.category-card strong{font-size:var(--font-size-md)}.category-card small{color:var(--color-text-muted);line-height:1.45}.category-card em{margin-top:var(--space-2);color:var(--color-accent);font-size:var(--font-size-xs);font-style:normal;font-weight:var(--font-weight-bold)}.course-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5)}.dashboard-course-card{display:grid;min-width:0;overflow:hidden;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);transition:transform var(--duration-normal) var(--ease-emphasized),box-shadow var(--duration-normal),border-color var(--duration-normal)}.dashboard-course-card:hover{transform:translateY(-4px);border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}.course-thumbnail{position:relative;display:flex;height:9rem;align-items:center;justify-content:center;color:var(--color-accent);background:var(--color-accent-soft)}.course-thumbnail:before,.course-thumbnail:after{content:"";position:absolute;border:1px solid currentColor;border-radius:50%;opacity:.14}.course-thumbnail:before{width:7rem;height:7rem}.course-thumbnail:after{width:10rem;height:10rem}.course-thumbnail>svg{z-index:1}.course-thumbnail>span{position:absolute;z-index:1;top:var(--space-3);left:var(--space-3);padding:.25rem .55rem;color:var(--color-text);background:color-mix(in srgb,var(--color-surface) 88%,transparent);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.tone-language,.tone-interview{color:#685d4c;background:#eee9de}.tone-math,.tone-data{color:#4f5d70;background:#e6eaf0}.tone-ai,.tone-javascript{color:#685e78;background:#ece8f1}.dashboard-course-content{display:flex;min-height:17rem;flex-direction:column;justify-content:space-between;gap:var(--space-5);padding:var(--space-5)}.course-difficulty{color:var(--color-accent);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.08em}.dashboard-course-content h3{margin:var(--space-2) 0;font-size:var(--font-size-xl)}.dashboard-course-content p{display:-webkit-box;overflow:hidden;margin:0;color:var(--color-text-muted);line-height:1.6;-webkit-box-orient:vertical;-webkit-line-clamp:2}.course-meta{display:flex;justify-content:space-between;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-xs)}.course-meta span{display:flex;align-items:center;gap:var(--space-1)}.course-progress-track{height:.25rem;margin:var(--space-3) 0 var(--space-4);overflow:hidden;background:var(--color-surface-subtle);border-radius:var(--radius-full)}.course-progress-track span{display:block;height:100%;background:var(--color-accent);border-radius:inherit}.course-card-action{width:100%}.dashboard-no-results{display:grid;min-height:20rem;place-items:center;align-content:center;gap:var(--space-3);margin-top:var(--space-10);padding:var(--space-8);background:var(--color-surface);border:1px dashed var(--color-border-strong);border-radius:var(--radius-xl);text-align:center}.dashboard-no-results p{margin:0;color:var(--color-text-muted)}.dashboard-skeleton{width:min(100%,94rem);margin:0 auto;padding:clamp(var(--space-6),4vw,var(--space-12))}.dashboard-skeleton-hero{height:14rem;margin:var(--space-8) 0}.dashboard-skeleton-row{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4)}.dashboard-skeleton-row .skeleton-card{height:15rem;margin:0}.dashboard-toast{position:fixed;z-index:80;right:var(--space-6);bottom:var(--space-6);max-width:24rem;padding:var(--space-4) var(--space-5);color:var(--color-text-on-inverse);background:var(--color-surface-inverse);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}@media(max-width:1180px){.category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.course-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-continue-button{display:none}}@media(max-width:900px){.dashboard-sidebar{width:16rem;transform:translate(-105%);transition:transform var(--duration-slow) var(--ease-emphasized);box-shadow:var(--shadow-panel)}.dashboard-sidebar.is-open{transform:translate(0)}.dashboard-mobile-close{display:inline-grid;width:var(--control-height-md);height:var(--control-height-md);margin-left:auto;place-items:center;color:var(--color-text-muted);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md)}.dashboard-drawer-scrim{position:fixed;z-index:44;top:0;right:0;bottom:0;left:0;display:block;visibility:hidden;opacity:0;background:var(--color-overlay);border:0;transition:opacity var(--duration-normal),visibility var(--duration-normal)}.dashboard-drawer-scrim.is-visible{visibility:visible;opacity:1}.dashboard-topbar{left:0}.dashboard-menu-button{display:inline-flex;flex:0 0 auto}.dashboard-main{margin-left:0}.dashboard-search{width:min(30rem,48vw)}.dashboard-profile-button>span:last-child{display:none}}@media(max-width:680px){.dashboard-topbar{gap:var(--space-2);padding:0 var(--space-3)}.dashboard-search{width:auto;flex:1}.dashboard-search kbd,.dashboard-topbar-actions>.icon-button:nth-of-type(2){display:none}.dashboard-topbar-actions{gap:var(--space-1)}.dashboard-content{padding:var(--space-6) var(--space-4) var(--space-12)}.dashboard-welcome{align-items:flex-start;flex-direction:column}.welcome-stat{padding:0;border:0}.welcome-stat{width:100%;min-width:0;flex-wrap:wrap}.continue-learning-card{grid-template-columns:auto 1fr}.continue-button{grid-column:1 / -1;width:100%}.category-grid,.course-card-grid{grid-template-columns:minmax(0,1fr)}.category-card{min-height:9rem}.dashboard-section-header{align-items:flex-start;flex-direction:column}.dashboard-section-header .button{width:100%}.course-thumbnail{height:8rem}.dashboard-course-content{min-height:auto}.dashboard-skeleton-row{grid-template-columns:1fr}.dashboard-profile-button{padding:0}.dashboard-toast{right:var(--space-3);bottom:var(--space-3);left:var(--space-3)}}.ai-local-response{margin-top:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.ai-local-response p{white-space:pre-line}.ai-local-response small{color:var(--color-text-muted)}.compiler-footer{display:flex;min-height:1.75rem;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:0 var(--space-3);color:#768079;background:#1d211f;border-top:1px solid #303632;font-size:.6rem}.mobile-compiler{display:none}.resize-handle{z-index:24;display:flex;align-items:center;justify-content:center;padding:0;touch-action:none}.resize-handle span{display:block;border-radius:999px;background:transparent;transition:background .18s ease,transform .18s ease}.resize-handle:hover span,.resize-handle:focus-visible span{background:var(--accent)}.resize-handle-vertical{position:absolute;top:0;bottom:0;width:9px;cursor:col-resize}.resize-handle-vertical span{width:2px;height:42px}.sidebar-resize-handle{left:calc(var(--sidebar-width) - 5px)}.compiler-resize-handle{right:calc(var(--compiler-width) - 5px)}.resize-handle-horizontal{position:relative;height:9px;flex:0 0 9px;cursor:row-resize;background:#ecebe6}.resize-handle-horizontal span{width:42px;height:2px}.is-resizing,.is-resizing *{-webkit-user-select:none!important;user-select:none!important}.empty-state{display:flex;align-items:center;flex-direction:column;justify-content:center;min-height:230px;padding:32px;color:var(--muted);background:var(--surface-muted);border:1px dashed #d2d1ca;border-radius:13px;text-align:center}.empty-state>span{display:grid;place-items:center;width:46px;height:46px;margin-bottom:13px;color:var(--accent);background:var(--surface);border-radius:12px}.empty-state strong{color:var(--ink);font-size:14px}.empty-state p{max-width:360px;margin:7px 0 0;font-size:12px;line-height:1.65}.skeleton-document{padding-top:clamp(48px,6vw,78px)}.skeleton-line,.skeleton-card{display:block;overflow:hidden;background:#e2e1db;border-radius:7px}.skeleton-line{width:100%;height:13px;margin-bottom:12px}.skeleton-line:after,.skeleton-card:after{content:"";display:block;width:45%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.56),transparent);animation:skeleton-shimmer 1.35s ease-in-out infinite}.skeleton-short{width:24%;height:10px}.skeleton-title{width:76%;height:48px;margin:26px 0 18px}.skeleton-medium{width:65%}.skeleton-section{margin-top:68px}.skeleton-heading{width:52%;height:28px;margin-bottom:28px}.skeleton-card{height:220px;margin-top:42px}.sidebar-skeleton{flex:1;padding:22px 20px}.sidebar-skeleton .skeleton-line{height:42px;margin-bottom:10px}@keyframes skeleton-shimmer{0%{transform:translate(-120%)}to{transform:translate(240%)}}.app-shell[data-theme=dark]{color-scheme:dark;background:var(--color-canvas)}.app-shell[data-theme=dark] .topbar,.app-shell[data-theme=dark] .course-sidebar{background:color-mix(in srgb,var(--color-surface-raised) 97%,transparent)}.app-shell[data-theme=dark] .course-mark{color:var(--color-text-inverse);background:var(--color-text)}.app-shell[data-theme=dark] .module-trigger,.app-shell[data-theme=dark] .lesson-link,.app-shell[data-theme=dark] .nav-button-secondary{color:var(--ink)}.app-shell[data-theme=dark] .module-trigger:hover,.app-shell[data-theme=dark] .lesson-link:hover:not(:disabled),.app-shell[data-theme=dark] .icon-button:hover{background:var(--color-surface-subtle)}.app-shell[data-theme=dark] .sidebar-footer,.app-shell[data-theme=dark] .lesson-details span,.app-shell[data-theme=dark] .exercise-card,.app-shell[data-theme=dark] .visual-placeholder{background:var(--color-surface-subtle)}.app-shell[data-theme=dark] .sidebar-footer-icon,.app-shell[data-theme=dark] .interactive-card{background:var(--color-surface)}.app-shell[data-theme=dark] .reading-copy p,.app-shell[data-theme=dark] .lesson-hero>p,.app-shell[data-theme=dark] .interactive-card p,.app-shell[data-theme=dark] .exercise-card p,.app-shell[data-theme=dark] .ai-card p{color:var(--color-text-muted)}.app-shell[data-theme=dark] .desktop-compiler,.app-shell[data-theme=dark] .mobile-compiler,.app-shell[data-theme=dark] .resize-handle-horizontal{background:var(--color-surface-raised)}.app-shell[data-theme=dark] .language-select,.app-shell[data-theme=dark] .console-window{color:var(--ink);background:var(--color-surface)}.app-shell[data-theme=dark] .console-window.terminal-console{color:#cfd6d1;background:#171a18;border-color:#303632}.app-shell[data-theme=dark] .console-tabs{border-color:var(--line)}.app-shell[data-theme=dark] .ai-card{background:var(--color-accent-soft)}.app-shell[data-theme=dark] .empty-state{border-color:var(--color-border-strong)}.app-shell[data-theme=dark] .skeleton-line,.app-shell[data-theme=dark] .skeleton-card{background:var(--color-surface-subtle)}.app-shell[data-theme=dark] .lesson-completion-footer{border-color:var(--color-border)}.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr);color:var(--color-text);background:var(--color-canvas)}.auth-brand-panel{display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-16);padding:clamp(var(--space-8),6vw,var(--space-20));color:var(--color-text-on-inverse);background:var(--color-surface-inverse)}.auth-brand{display:flex;align-items:center;gap:var(--space-3);font-size:var(--font-size-lg)}.auth-brand>span,.auth-confirmation>span{display:inline-grid;width:var(--control-height-lg);height:var(--control-height-lg);place-items:center;border-radius:var(--radius-md);color:var(--color-text-on-accent);background:var(--color-accent)}.auth-brand-panel h1{max-width:650px;margin:var(--space-4) 0;font-size:clamp(var(--font-size-3xl),4vw,var(--font-size-4xl));line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-heading)}.auth-brand-panel p{max-width:560px;color:var(--color-text-on-inverse);font-size:var(--font-size-lg);line-height:var(--line-height-body)}.auth-form-panel{display:grid;min-width:0;place-items:center;overflow-y:auto;padding:var(--space-8)}.auth-form-wrap{width:min(100%,440px)}.auth-form-wrap h2{margin:var(--space-2) 0;font-size:clamp(var(--font-size-2xl),3vw,var(--font-size-3xl));letter-spacing:var(--letter-spacing-heading)}.auth-description{margin:0;color:var(--color-text-muted);line-height:var(--line-height-body)}.auth-form{display:grid;gap:var(--space-4);margin-top:var(--space-6)}.form-field{display:grid;gap:var(--space-2);color:var(--color-text);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.form-field .input-control{width:100%}.form-field small{color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-regular)}.auth-submit{width:100%}.auth-button-spinner{animation:auth-button-spin .75s linear infinite}@keyframes auth-button-spin{to{transform:rotate(360deg)}}.auth-text-button:disabled,.auth-switch button:disabled{opacity:.5;cursor:not-allowed}.auth-text-button{width:max-content;padding:0;border:0;color:var(--color-accent);background:transparent;font:inherit;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);cursor:pointer}.auth-text-button:hover{color:var(--color-accent-hover)}.auth-text-button:focus-visible,.auth-switch button:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px;border-radius:var(--radius-xs)}.auth-switch{margin-top:var(--space-6);color:var(--color-text-muted);text-align:center}.auth-switch button{padding:0;border:0;color:var(--color-accent);background:transparent;font:inherit;font-weight:var(--font-weight-semibold);cursor:pointer}.form-error{margin:0;padding:var(--space-3);border-radius:var(--radius-sm);color:var(--color-danger);background:var(--color-danger-soft)}.auth-back-button{display:inline-flex;align-items:center;justify-self:center;gap:var(--space-2)}.auth-confirmation{display:grid;justify-items:start;gap:var(--space-5);margin-top:var(--space-8);padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-xs)}.auth-confirmation p{margin:0;line-height:var(--line-height-body)}.avatar-picker{display:grid;gap:var(--space-3);margin:0;padding:0;border:0}.avatar-picker legend{margin-bottom:var(--space-3);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.avatar-picker>div{display:flex;gap:var(--space-3)}.avatar-picker label{display:grid;width:3.25rem;height:3.25rem;place-items:center;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);font-size:var(--font-size-xl);cursor:pointer;transition:border-color var(--duration-fast),transform var(--duration-fast),box-shadow var(--duration-fast)}.avatar-picker label:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.avatar-picker label.is-selected{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-focus)}.avatar-picker input{position:absolute;opacity:0;pointer-events:none}.topbar-user{display:flex;align-items:center;gap:var(--space-2);padding-left:var(--space-2);border-left:1px solid var(--color-border)}.user-avatar{display:inline-grid;width:var(--control-height-sm);height:var(--control-height-sm);place-items:center;border-radius:var(--radius-full);background:var(--color-accent-soft)}.user-name{max-width:8rem;overflow:hidden;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-overflow:ellipsis;white-space:nowrap}@media(max-width:1180px){:root{--compiler-width: var(--layout-compiler-width-tablet)}.workspace{grid-template-columns:minmax(0,1fr)}.workspace.has-compiler{grid-template-columns:minmax(var(--lesson-pane-min),1fr) var(--compiler-width)}.desktop-compiler{grid-column:2}.lesson-region{grid-column:1}.course-sidebar{position:fixed;top:var(--topbar-height);bottom:0;left:0;width:min(86vw,20rem);box-shadow:15px 0 40px #2123201f;transform:translate(-105%);transition:transform .3s cubic-bezier(.22,.8,.3,1)}.course-sidebar.is-open{transform:translate(0)}.menu-trigger,.drawer-close{display:inline-grid}.sidebar-collapse-button{display:none}.drawer-scrim{position:fixed;z-index:19;inset:var(--topbar-height) 0 0;display:block;visibility:hidden;opacity:0;background:#1f221f40;border:0;transition:opacity .25s ease,visibility .25s ease}.drawer-scrim.is-visible{visibility:visible;opacity:1}.sidebar-resize-handle{display:none}.compiler-resize-handle{right:calc(var(--compiler-width) - 5px)}}@media(max-width:840px){:root{--topbar-height: var(--layout-topbar-height-mobile)}.topbar{padding:0 13px}.course-mark{display:none}.progress-block{width:100px}.nav-button{width:36px;padding:0}.nav-button span{display:none}.workspace{grid-template-columns:minmax(0,1fr);overflow-y:auto}.workspace.has-compiler{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(15rem,1fr) minmax(24rem,55dvh);overflow:hidden}.workspace.has-compiler .lesson-panel{min-height:0;overflow-y:auto}.workspace:not(.has-compiler) .lesson-panel{overflow-y:auto}.desktop-compiler.compiler-dock{position:relative;z-index:18;inset:auto;grid-row:2;grid-column:1;display:flex;width:100%;height:100%;max-width:none;border:0;border-top:1px solid var(--color-border);border-radius:0;box-shadow:none}.desktop-compiler.compiler-dock.is-minimized{position:fixed;top:calc(var(--topbar-height) + var(--space-3));right:var(--space-3);bottom:auto;left:auto;width:7.5rem;height:3.25rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.lesson-region{grid-column:1;grid-row:1}.compiler-resize-handle{display:none}.compiler-panel{padding:14px}.lesson-document{padding-bottom:var(--space-8)}.user-name{display:none}}@media(max-width:560px){.progress-copy span{display:none}.topbar-context{gap:6px}.lesson-topbar-brand{gap:var(--space-1)}.lesson-topbar-brand>span{width:1.75rem;height:1.75rem}.lesson-topbar-brand{font-size:var(--font-size-sm)}.progress-block{width:56px;margin-right:0}.progress-copy{justify-content:flex-end;margin-bottom:5px}.lesson-navigation{gap:5px}.nav-button-secondary{display:none}.lesson-document{padding:32px 20px 38px}.lesson-hero{padding-bottom:31px}.lesson-body{padding-top:32px}.content-section{margin-bottom:34px}.reading-copy p,.rich-text{font-size:1rem;line-height:1.8}.interactive-card{align-items:flex-start;flex-wrap:wrap}.interactive-copy{min-width:calc(100% - 60px)}.interactive-card .inline-action{width:100%}.exercise-meta{flex-direction:column;gap:7px}.visual-placeholder{height:210px}.mobile-compiler{height:800px;margin-right:12px;margin-left:12px}.console-window{height:210px}.topbar-user{display:none}.ide-header{grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2) var(--space-3)}.ide-file-context{grid-column:1;grid-row:1}.ide-execution-state{grid-column:1;grid-row:2}.ide-header-actions{grid-column:2;grid-row:1 / 3}.ide-result-footer{align-items:stretch;flex-direction:column;padding:var(--space-3)}.ide-check-button{width:100%}}@media(max-width:760px){.auth-page{grid-template-columns:minmax(0,1fr)}.auth-brand-panel{display:none}.auth-form-panel{padding:var(--space-6)}}.developer-calibration{margin-top:var(--space-5);padding:var(--space-5)}.developer-calibration>header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.developer-calibration>header span{color:var(--color-text-muted);font-size:var(--font-size-xs)}.developer-calibration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);margin-top:var(--space-4)}.developer-calibration h3{margin:0 0 var(--space-3);font-size:var(--font-size-sm)}.developer-calibration dl{display:grid;gap:var(--space-2);margin:0}.developer-calibration dl div{display:flex;justify-content:space-between;gap:var(--space-3);font-family:var(--font-family-mono);font-size:var(--font-size-xs)}.developer-calibration dt{color:var(--color-text-muted)}.developer-calibration dd{margin:0;max-width:60%;overflow-wrap:anywhere;text-align:right}.calibration-graphs{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2);margin-top:var(--space-3);color:var(--color-accent)}.calibration-graphs svg{width:100%;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-subtle)}.calibration-controls{display:grid;gap:var(--space-2);margin-top:var(--space-3)}.calibration-controls label{display:grid;grid-template-columns:4rem 1fr 3rem;align-items:center;gap:var(--space-2);font-size:var(--font-size-xs)}.acoustic-feedback{padding:var(--space-5)}.acoustic-feedback header h3{margin:var(--space-1) 0}.acoustic-feedback header p,.acoustic-feedback>p{color:var(--color-text-muted)}.acoustic-feedback>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-2);margin-top:var(--space-4)}.acoustic-feedback>div span{display:grid;gap:var(--space-1);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md)}.acoustic-feedback>div span.is-detected{border-color:var(--color-warning);background:var(--color-warning-subtle)}.acoustic-feedback small{color:var(--color-text-muted)}@media(max-width:900px){.acoustic-feedback>div{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.developer-calibration-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}.course-overview-shell{min-height:100vh;height:100vh;overflow-y:auto;color:var(--color-text);background:var(--color-canvas);scroll-behavior:smooth}.course-overview-topbar{position:sticky;z-index:40;top:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:var(--layout-topbar-height);padding:0 clamp(var(--space-4),4vw,var(--space-10));background:color-mix(in srgb,var(--color-surface) 92%,transparent);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-xs);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.course-overview-topbar>.icon-button{justify-self:end}.overview-back{display:inline-flex;width:max-content;align-items:center;gap:var(--space-2);padding:var(--space-2);color:var(--color-text-muted);background:transparent;border:0;border-radius:var(--radius-sm);cursor:pointer;font-weight:var(--font-weight-semibold)}.overview-back:hover{color:var(--color-text);background:var(--color-surface-subtle)}.overview-brand{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:var(--font-weight-bold)}.overview-brand>span{display:inline-grid;width:2rem;height:2rem;place-items:center;color:var(--color-text-on-accent);background:var(--color-accent);border-radius:var(--radius-sm);font-size:var(--font-size-xs)}.course-overview-main{width:min(100%,86rem);margin:0 auto;padding:clamp(var(--space-8),5vw,var(--space-16)) clamp(var(--space-4),4vw,var(--space-10)) var(--space-20)}.overview-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(20rem,.8fr);align-items:end;gap:clamp(var(--space-8),6vw,var(--space-16));padding:clamp(var(--space-8),6vw,var(--space-16));overflow:hidden;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.overview-kicker,.overview-level{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-label);text-transform:uppercase}.overview-kicker{margin-right:var(--space-3);color:var(--color-accent)}.overview-level{padding:var(--space-2) var(--space-3);color:var(--color-text-muted);background:var(--color-surface-subtle);border-radius:var(--radius-full)}.overview-hero h1{max-width:16ch;margin:var(--space-5) 0 var(--space-4);font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.04;letter-spacing:-.055em}.overview-hero-copy>p{max-width:62ch;margin:0;color:var(--color-text-muted);font-size:clamp(var(--font-size-md),1.4vw,var(--font-size-lg));line-height:var(--line-height-body)}.overview-primary-action{margin-top:var(--space-8)}.overview-hero--artwork{position:relative;grid-template-columns:minmax(20rem,1fr) minmax(28rem,.92fr);min-height:clamp(30rem,60dvh,35rem);align-items:center;padding:clamp(var(--space-5),2vw,var(--space-8));isolation:isolate;background-color:#f9ddd9;background-image:var(--course-hero-artwork);background-position:center;background-size:cover;border-color:color-mix(in srgb,#7f5bd5 18%,transparent);box-shadow:0 1.25rem 3rem color-mix(in srgb,#6141a8 14%,transparent)}.overview-hero-artwork-space{min-height:1px}.overview-hero-copy--artwork{position:relative;z-index:1;padding:clamp(var(--space-5),2.5vw,var(--space-6));color:#17223b;background:color-mix(in srgb,#fff4f0 84%,transparent);border:1px solid color-mix(in srgb,white 72%,#7452b8);border-radius:var(--radius-xl)}.overview-artwork-eyebrow{display:block;color:#7848b5;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-label);text-transform:uppercase}.overview-hero--artwork h1{max-width:11ch;margin:var(--space-3) 0 var(--space-4);color:#17223b;font-size:clamp(2.75rem,4.25vw,4rem);line-height:.98;letter-spacing:-.055em;white-space:pre-line}.overview-hero--artwork .overview-hero-copy>p{max-width:38rem;color:#4e5365;font-size:clamp(var(--font-size-base),1.3vw,var(--font-size-lg))}.overview-hero-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin-top:var(--space-6)}.overview-hero-highlight{display:flex;min-width:0;align-items:center;gap:var(--space-3);padding:var(--space-3);color:#503d73;background:color-mix(in srgb,white 74%,#eee3ff);border:1px solid color-mix(in srgb,#8866c5 18%,transparent);border-radius:var(--radius-lg)}.overview-hero-highlight>svg{flex:0 0 auto;color:#8b4eb7}.overview-hero-highlight>span{display:grid;min-width:0;gap:.15rem}.overview-hero-highlight strong{overflow-wrap:anywhere;color:#27223a;font-size:var(--font-size-sm);line-height:1.2}.overview-hero-highlight small{color:#686274;font-size:var(--font-size-xs);line-height:1.25}.overview-artwork-action{min-height:3rem;margin-top:var(--space-6);padding-inline:var(--space-6);color:#fff;background:#c03b82;border-color:transparent;box-shadow:0 .65rem 1.4rem color-mix(in srgb,#a42d70 24%,transparent)}.overview-artwork-action:hover{background:#a92f72;transform:translateY(-1px)}.overview-artwork-action:active{transform:scale(.98)}.overview-artwork-action:focus-visible{outline:3px solid #5c3793;outline-offset:3px}.overview-artwork-progress{display:grid;gap:var(--space-2);margin-top:var(--space-5)}.overview-artwork-progress>span{color:#585166;font-size:var(--font-size-xs)}.overview-artwork-progress>div{height:.4rem;overflow:hidden;background:#ffffffb3;border-radius:var(--radius-full)}.overview-artwork-progress>div>span{display:block;height:100%;background:#b44083;border-radius:inherit}.overview-progress-card{padding:var(--space-6);background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.overview-progress-heading{display:flex;align-items:baseline;justify-content:space-between}.overview-progress-heading span{color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.overview-progress-heading strong{font-size:var(--font-size-3xl);letter-spacing:var(--letter-spacing-heading)}.overview-progress-track{height:.5rem;margin:var(--space-4) 0 var(--space-6);overflow:hidden;background:var(--color-border);border-radius:var(--radius-full)}.overview-progress-track>span{display:block;height:100%;background:var(--color-accent);border-radius:inherit;transition:width var(--duration-slow) var(--ease-emphasized)}.overview-progress-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}.overview-progress-metrics div{display:grid;gap:var(--space-1)}.overview-progress-metrics strong{font-size:var(--font-size-xl)}.overview-progress-metrics span{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.45}.overview-stat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-3);margin-top:var(--space-6)}.overview-stat-card{display:grid;min-width:0;gap:var(--space-2);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:transform var(--duration-fast),box-shadow var(--duration-fast)}.overview-stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.overview-stat-card svg{color:var(--color-accent)}.overview-stat-card span{color:var(--color-text-muted);font-size:var(--font-size-xs)}.overview-stat-card strong{overflow-wrap:anywhere;font-size:var(--font-size-md)}.overview-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5);margin-top:var(--space-12)}.overview-detail-card{padding:var(--space-8);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl)}.overview-detail-card h2,.overview-development h2{display:flex;align-items:center;gap:var(--space-3);margin:0 0 var(--space-5);font-size:var(--font-size-xl)}.overview-detail-card h2 svg{color:var(--color-accent)}.overview-detail-card ul,.overview-module ul{display:grid;gap:var(--space-3);margin:0;padding:0;list-style:none}.overview-detail-card li{display:flex;align-items:flex-start;gap:var(--space-3);color:var(--color-text-muted);line-height:1.6}.overview-detail-card li svg{flex:0 0 auto;margin-top:.3rem;color:var(--color-accent)}.overview-modules{margin-top:var(--space-16)}.overview-section-heading{display:flex;align-items:end;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6)}.overview-section-heading h2{margin:var(--space-2) 0 0;font-size:clamp(var(--font-size-2xl),3vw,var(--font-size-3xl));letter-spacing:var(--letter-spacing-heading)}.overview-section-heading>span{color:var(--color-text-muted);font-size:var(--font-size-sm)}.overview-module-list{display:grid;gap:var(--space-3)}.overview-module{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}.overview-module>summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:var(--space-4);min-height:5.5rem;padding:var(--space-4) var(--space-5);border-radius:inherit;cursor:pointer;list-style:none}.overview-module>summary::-webkit-details-marker{display:none}.overview-module>summary:hover{background:var(--color-surface-subtle)}.overview-module-number{color:var(--color-accent);font-family:var(--font-family-mono);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.overview-module-copy{display:grid;min-width:0;gap:var(--space-1)}.overview-module-copy strong{overflow-wrap:anywhere}.overview-module-copy small,.overview-module-progress{color:var(--color-text-muted);font-size:var(--font-size-xs)}.overview-module-chevron{color:var(--color-text-muted);transition:transform var(--duration-normal) var(--ease-emphasized)}.overview-module[open] .overview-module-chevron{transform:rotate(180deg)}.overview-curriculum-section{padding:0 var(--space-5) var(--space-6) 4.75rem}.overview-curriculum-section+.overview-curriculum-section{padding-top:var(--space-5);border-top:1px solid var(--color-border)}.overview-curriculum-section>summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0;cursor:pointer;list-style:none}.overview-curriculum-section>summary::-webkit-details-marker{display:none}.overview-curriculum-section>summary>span{display:grid;gap:var(--space-1)}.overview-curriculum-section>summary strong{font-size:var(--font-size-base)}.overview-curriculum-section>summary small{color:var(--color-text-muted);font-size:var(--font-size-xs)}.overview-section-chevron{color:var(--color-text-muted);transition:transform var(--duration-normal) var(--ease-emphasized)}.overview-curriculum-section[open] .overview-section-chevron{transform:rotate(180deg)}.overview-module .overview-curriculum-section ul{padding:0}.overview-module ul{padding:0 var(--space-5) var(--space-5) 4.75rem}.overview-module li{display:flex;align-items:flex-start;gap:var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.55}.overview-module li>span{display:inline-grid;width:1.5rem;height:1.5rem;flex:0 0 auto;place-items:center;color:var(--color-text-muted);background:var(--color-surface-subtle);border-radius:var(--radius-xs);font-size:var(--font-size-xs)}.overview-module li>span.is-completed{color:var(--color-text-on-accent);background:var(--color-accent)}.overview-development{display:grid;grid-template-columns:minmax(15rem,.6fr) minmax(0,1.4fr);gap:var(--space-8);margin-top:var(--space-16);padding:var(--space-8);background:var(--color-surface);border:1px dashed var(--color-border-strong);border-radius:var(--radius-xl)}.overview-development h2{margin:var(--space-2) 0}.overview-development p{margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.overview-development-actions{display:flex;flex-wrap:wrap;align-content:center;gap:var(--space-3)}.overview-development-status{grid-column:1 / -1}.overview-development-status.is-success{color:var(--color-accent)}.overview-development-status.is-error{color:var(--color-danger)}.overview-danger-button{color:var(--color-danger);border-color:color-mix(in srgb,var(--color-danger) 40%,var(--color-border))}.overview-bottom-cta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);margin-top:var(--space-16);padding:var(--space-8);color:var(--color-text-on-inverse);background:var(--color-surface-inverse);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.overview-bottom-cta h2{max-width:30ch;margin:var(--space-2) 0 0;font-size:clamp(var(--font-size-xl),2.5vw,var(--font-size-2xl))}@media(max-width:1100px){.overview-hero{grid-template-columns:minmax(0,1fr);align-items:stretch}.overview-hero--artwork{grid-template-columns:minmax(14rem,.7fr) minmax(24rem,1fr);min-height:29rem;padding:var(--space-6)}.overview-hero--artwork h1{font-size:clamp(2.5rem,5vw,3.5rem)}.overview-hero-highlights{grid-template-columns:1fr}.overview-hero-highlight{padding-block:var(--space-2)}.overview-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.course-overview-topbar{grid-template-columns:1fr auto}.overview-brand{display:none}.overview-hero{padding:var(--space-6)}.overview-hero--artwork{display:flex;flex-direction:column;min-height:42rem;justify-content:flex-end;padding:var(--space-4);background-position:29% center}.overview-hero-artwork-space{min-height:16rem}.overview-hero-copy--artwork{width:100%;padding:var(--space-5)}.overview-hero--artwork h1{font-size:clamp(2.35rem,12vw,3.5rem)}.overview-hero-highlights{grid-template-columns:1fr;margin-top:var(--space-5)}.overview-artwork-action{width:100%;justify-content:center}.overview-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-details-grid,.overview-development{grid-template-columns:1fr}.overview-bottom-cta{align-items:stretch;flex-direction:column}.overview-bottom-cta .button{width:100%}}@media(prefers-reduced-transparency:reduce){.overview-hero-copy--artwork{background:#fff4f0}}.projects-page,.project-details,.project-workspace-page{width:min(100%,88rem);margin:0 auto;padding:var(--space-8)}.projects-page>header h1,.project-details h1,.project-workspace-page h1{margin:0;color:var(--color-text);font-size:clamp(2rem,4vw,3.25rem)}.projects-page>header p,.project-details header p,.project-workspace-page>header p{max-width:48rem;color:var(--color-text-muted);line-height:1.75}.project-levels{display:flex;gap:var(--space-3);margin:var(--space-8) 0 var(--space-5)}.project-levels button{display:flex;gap:var(--space-2);align-items:center;padding:var(--space-3) var(--space-5);color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full)}.project-levels button.is-active{color:var(--color-text-on-accent);background:var(--color-accent);border-color:transparent}.project-levels small{font-size:var(--font-size-xs)}.project-filters{display:flex;gap:var(--space-4);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.project-filters label{display:grid;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-sm)}.project-filters select{min-width:13rem;padding:var(--space-3);color:var(--color-text);background:var(--color-canvas);border:1px solid var(--color-border);border-radius:var(--radius-md)}.project-catalog{margin-top:var(--space-8)}.project-catalog>div:first-child{display:flex;justify-content:space-between;align-items:end;margin-bottom:var(--space-5)}.project-catalog h2{margin:0}.project-catalog p{margin:0;color:var(--color-text-muted)}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5)}.project-card{display:grid;grid-template-columns:auto 1fr;gap:var(--space-4);min-height:17rem;padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease}.project-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.project-card-icon{display:grid;place-items:center;width:3.5rem;height:3.5rem;color:var(--color-accent);background:var(--color-accent-soft);border-radius:var(--radius-lg)}.project-card span{color:var(--color-accent);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.08em}.project-card h3{margin:var(--space-2) 0;font-size:var(--font-size-xl)}.project-card p{color:var(--color-text-muted);line-height:1.6}.project-card ul,.project-details aside div{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:0;list-style:none}.project-card li,.project-details aside span{padding:.35rem .65rem;background:var(--color-canvas);border-radius:var(--radius-full);font-size:var(--font-size-xs)}.project-card>div:last-child{display:flex;flex-direction:column}.project-card footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:var(--space-4)}.project-card footer small{display:flex;gap:var(--space-2);align-items:center;color:var(--color-text-muted)}.project-details>header{display:flex;justify-content:space-between;gap:var(--space-8);align-items:end;margin:var(--space-5) 0 var(--space-8)}.project-detail-meta{display:flex;gap:var(--space-4);color:var(--color-text-muted)}.project-details-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(18rem,1fr);gap:var(--space-6)}.project-details-grid>*{padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl)}.project-details-grid section{line-height:1.75}.project-details-grid dt{color:var(--color-text-muted);font-size:var(--font-size-sm)}.project-details-grid dd{margin:var(--space-2) 0 var(--space-4)}.project-workspace-page>header{margin-bottom:var(--space-6)}.project-workspace-grid{display:grid;grid-template-columns:minmax(18rem,.8fr) minmax(35rem,1.8fr);gap:var(--space-5);align-items:start}.project-brief,.project-editor-card,.project-test-results,.project-complete{padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.project-brief li{margin-bottom:var(--space-3);line-height:1.6}.project-editor-card>header,.project-editor-card>footer,.project-test-results>header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}.project-editor-card>header{margin-bottom:var(--space-4)}.project-editor-card>header div{display:grid;gap:var(--space-1)}.project-editor-card .editor-window{height:32rem;overflow:hidden;border-radius:var(--radius-lg)}.project-editor-card>footer{justify-content:flex-end;margin-top:var(--space-4)}.project-test-results{margin-top:var(--space-5)}.project-test-results ul{display:grid;gap:var(--space-3);padding:0;list-style:none}.project-test-results li{display:flex;gap:var(--space-3);padding:var(--space-3);background:var(--color-canvas);border-radius:var(--radius-md)}.project-test-results li.is-passed>svg{color:var(--color-accent)}.project-test-results li.is-failed>svg{color:var(--color-danger)}.project-test-results li span{display:grid;gap:var(--space-1)}.project-test-results small{color:var(--color-text-muted)}.project-complete{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-4);align-items:center;margin-top:var(--space-5);border-color:var(--color-accent)}.project-complete>svg{color:var(--color-accent)}.project-complete h2,.project-complete p{margin:var(--space-1) 0}@media(max-width:980px){.project-grid,.project-details-grid,.project-workspace-grid{grid-template-columns:1fr}.project-editor-card .editor-window{height:28rem}}@media(max-width:640px){.projects-page,.project-details,.project-workspace-page{padding:var(--space-5)}.project-levels,.project-filters,.project-details>header{align-items:stretch;flex-direction:column}.project-card,.project-complete{grid-template-columns:1fr}}@media(max-width:480px){.overview-progress-metrics,.overview-stat-grid{grid-template-columns:1fr}.overview-module summary{grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-3)}.overview-module-progress{display:none}.overview-module ul{padding-left:var(--space-5)}.overview-development-actions .button{width:100%}}.home-shell{height:100vh;height:100dvh;color:var(--color-text);background:var(--color-canvas);overflow-y:auto;scroll-behavior:smooth}.home-topbar{position:sticky;z-index:20;top:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:var(--layout-topbar-height);padding:0 clamp(var(--space-5),4vw,var(--space-12));background:color-mix(in srgb,var(--color-canvas) 88%,transparent);border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.home-brand{display:inline-flex;align-items:center;width:max-content;gap:var(--space-3);color:var(--color-text);text-decoration:none}.home-brand>span{display:grid;width:2.25rem;height:2.25rem;place-items:center;color:var(--color-text-on-accent);background:var(--color-accent);border-radius:var(--radius-sm);font-weight:var(--font-weight-bold)}.home-brand strong{font-size:var(--font-size-lg);letter-spacing:-.03em}.home-page-label{color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.home-topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3)}.home-icon-button{display:grid;width:2.5rem;height:2.5rem;padding:0;place-items:center;color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;transition:color var(--duration-fast),background var(--duration-fast),transform var(--duration-fast)}.home-icon-button svg{width:var(--icon-md);height:var(--icon-md)}.home-icon-button:hover{color:var(--color-text);background:var(--color-surface-subtle);transform:translateY(-1px)}.home-profile{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-1) var(--space-3) var(--space-1) var(--space-1)}.home-profile>span{display:grid;width:2.25rem;height:2.25rem;place-items:center;color:var(--color-text-on-inverse);background:var(--color-surface-inverse);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.home-profile div{display:grid}.home-profile strong{font-size:var(--font-size-sm)}.home-profile small{color:var(--color-text-muted);font-size:var(--font-size-xs)}.home-main{width:min(100% - clamp(2rem,8vw,8rem),86rem);margin:0 auto;padding:clamp(var(--space-10),6vw,var(--space-16)) 0 var(--space-20)}.home-intro{max-width:48rem;margin-bottom:clamp(var(--space-12),7vw,var(--space-20))}.home-section-heading>span{color:var(--color-accent);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-label);text-transform:uppercase}.home-intro h1{margin:var(--space-3) 0 var(--space-3);font-size:clamp(var(--font-size-3xl),5vw,var(--font-size-4xl));letter-spacing:var(--letter-spacing-heading)}.home-intro p,.home-section-heading p{margin:0;color:var(--color-text-muted);line-height:1.7}.home-section{margin-bottom:clamp(var(--space-16),9vw,7rem);scroll-margin-top:7rem}.home-section-heading{margin-bottom:var(--space-6)}.home-section-heading h2{margin:var(--space-2) 0;font-size:clamp(var(--font-size-2xl),3vw,var(--font-size-3xl));letter-spacing:var(--letter-spacing-heading)}.home-continue-card{display:grid;grid-template-columns:auto minmax(12rem,1.2fr) minmax(13rem,.75fr) auto;align-items:center;gap:clamp(var(--space-5),3vw,var(--space-10));padding:clamp(var(--space-5),3vw,var(--space-8));background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.home-continue-mark{display:grid;width:4.25rem;height:4.25rem;place-items:center;color:var(--color-accent);background:var(--color-accent-soft);border-radius:var(--radius-lg)}.home-continue-mark svg{width:1.5rem}.home-continue-copy{min-width:0}.home-continue-copy>span{color:var(--color-text-muted);font-size:var(--font-size-xs)}.home-continue-copy h3{margin:var(--space-1) 0;font-size:var(--font-size-xl)}.home-continue-copy p{margin:0;color:var(--color-text-muted)}.home-continue-progress>div:first-child{display:flex;justify-content:space-between;margin-bottom:var(--space-2);font-size:var(--font-size-xs)}.home-continue-progress span{color:var(--color-text-muted)}.home-progress-track{height:.45rem;overflow:hidden;background:var(--color-surface-subtle);border-radius:var(--radius-full)}.home-progress-track>span{display:block;height:100%;background:var(--color-accent);border-radius:inherit;transition:width var(--duration-slow) var(--ease-emphasized)}.home-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-8)}.home-browse-header{display:grid;grid-template-columns:minmax(20rem,.8fr) minmax(32rem,1.2fr);align-items:end;gap:clamp(var(--space-8),5vw,var(--space-16));margin-bottom:var(--space-8)}.home-browse-header .home-section-heading{margin-bottom:0}.home-browse-controls{display:grid;grid-template-columns:minmax(26.25rem,31.25rem) auto;align-items:center;justify-content:end;gap:var(--space-4)}.home-course-search{display:flex;width:100%;min-height:3rem;align-items:center;gap:var(--space-3);padding:0 var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);box-shadow:inset 0 1px color-mix(in srgb,var(--color-surface-raised) 75%,transparent);transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}.home-course-search:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-focus)}.home-course-search>svg{width:var(--icon-md);flex:0 0 auto;color:var(--color-text-muted)}.home-course-search input{width:100%;min-width:0;padding:0;color:var(--color-text);background:transparent;border:0;outline:0}.home-course-search input::placeholder{color:var(--color-text-muted)}.home-mode-switch{display:inline-flex;gap:var(--space-1);padding:var(--space-1);background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-full)}.home-mode-switch button,.home-filter-list button{color:var(--color-text-muted);background:transparent;border:0;cursor:pointer;transition:color var(--duration-fast),background var(--duration-fast),border-color var(--duration-fast),transform var(--duration-fast)}.home-mode-switch button{min-height:2.75rem;padding:0 var(--space-5);border-radius:var(--radius-full);font-size:var(--font-size-sm)}.home-mode-switch button.is-active{color:var(--color-text-on-accent);background:var(--color-accent);box-shadow:var(--shadow-xs)}.home-filter-list{display:flex;flex-wrap:nowrap;gap:var(--space-3);margin-bottom:var(--space-6);padding:0 0 var(--space-2);overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none}.home-filter-list::-webkit-scrollbar{display:none}.home-filter-list button{flex:0 0 auto;min-height:2.65rem;padding:0 var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--font-size-sm)}.home-filter-list button:hover{color:var(--color-text);border-color:var(--color-border-strong);transform:translateY(-1px)}.home-filter-list button.is-active{color:var(--color-text-on-accent);background:var(--color-accent);border-color:var(--color-accent)}.home-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5)}.home-course-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:var(--space-4);animation:home-course-page-in var(--duration-normal) var(--ease-emphasized)}@keyframes home-course-page-in{0%{opacity:0;transform:translateY(var(--space-2))}to{opacity:1;transform:translateY(0)}}.home-course-card{display:grid;min-width:0;overflow:hidden;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xs);transition:transform var(--duration-normal) var(--ease-emphasized),border-color var(--duration-normal),box-shadow var(--duration-normal)}.home-course-card:hover{transform:translateY(-4px);border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}.home-course-visual{display:flex;min-height:8.75rem;align-items:flex-start;justify-content:space-between;padding:var(--space-5);color:var(--color-accent);background:radial-gradient(circle at 80% 20%,color-mix(in srgb,var(--color-accent) 17%,transparent),transparent 38%),var(--color-surface-subtle)}.home-course-visual>span{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);letter-spacing:-.05em}.home-course-visual small{padding:var(--space-1) var(--space-3);color:var(--color-text);background:var(--color-surface);border-radius:var(--radius-full);box-shadow:var(--shadow-xs)}.home-course-body{display:flex;min-height:14.5rem;flex-direction:column;padding:var(--space-5)}.home-course-card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.home-course-level{display:inline-flex;width:max-content;padding:var(--space-1) var(--space-3);color:var(--color-accent);background:var(--color-accent-soft);border:1px solid color-mix(in srgb,var(--color-accent) 22%,var(--color-border));border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.home-course-meta{display:flex;flex-wrap:wrap;gap:var(--space-4);color:var(--color-text-muted);font-size:var(--font-size-xs)}.home-course-meta span{display:inline-flex;align-items:center;gap:var(--space-1)}.home-course-copy h3{margin:var(--space-4) 0 var(--space-2);font-size:var(--font-size-lg)}.home-course-copy p{margin:0 0 var(--space-5);color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.65}.home-course-actions{display:flex;align-items:center;gap:var(--space-3);margin-top:auto}.home-course-footer,.home-course-endcap{display:flex;flex:1;flex-direction:column}.home-course-card.is-list{height:100%;min-height:11.5rem;grid-template-columns:5.75rem minmax(0,1fr);align-items:start;gap:var(--space-5);padding:var(--space-5);overflow:visible;border-radius:calc(var(--radius-xl) + var(--space-1));box-shadow:0 1px 1px color-mix(in srgb,var(--color-text) 4%,transparent),var(--shadow-xs)}.home-course-card.is-list:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--color-accent) 28%,var(--color-border));box-shadow:var(--shadow-md)}.home-course-card.is-list .home-course-visual{width:5.75rem;height:5.75rem;min-height:0;align-items:center;justify-content:center;padding:0;border:1px solid color-mix(in srgb,var(--color-accent) 10%,var(--color-border));border-radius:var(--radius-lg)}.home-course-card.is-list .home-course-visual small{display:none}.home-course-card.is-list[data-tone="1"] .home-course-visual{color:#7ea7ff;background:color-mix(in srgb,#376ec8 16%,var(--color-surface-subtle))}.home-course-card.is-list[data-tone="2"] .home-course-visual{color:#b890ef;background:color-mix(in srgb,#7951a8 16%,var(--color-surface-subtle))}.home-course-card.is-list[data-tone="3"] .home-course-visual{color:#e19555;background:color-mix(in srgb,#a35c27 16%,var(--color-surface-subtle))}.home-course-card.is-list[data-tone="4"] .home-course-visual{color:#ee7479;background:color-mix(in srgb,#a5383e 16%,var(--color-surface-subtle))}.home-course-card.is-list .home-course-body{display:flex;min-height:9.5rem;flex-direction:column;padding:0}.home-course-card.is-list .home-course-copy h3{margin:var(--space-2) 0 var(--space-1);font-size:var(--font-size-xl);line-height:1.25}.home-course-card.is-list .home-course-copy p{max-width:48ch;margin:0;line-height:1.5}.home-course-card.is-list .home-course-footer{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-4)}.home-course-card.is-list .home-course-endcap{max-width:9rem;align-items:stretch;justify-content:flex-end;gap:var(--space-2)}.home-course-bookmark{width:2.25rem;height:2.25rem;min-height:2.25rem;flex:0 0 auto;color:var(--color-text-muted);background:transparent;border-color:transparent}.home-course-list-progress{display:grid;gap:var(--space-2)}.home-course-list-progress>div:first-child{display:flex;justify-content:space-between;gap:var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-xs)}.home-course-list-progress strong{color:var(--color-text)}.home-course-card.is-list .home-course-actions{justify-content:flex-end;margin-top:0}.home-course-card.is-list .button{min-width:7.5rem;min-height:2.35rem;justify-content:center;color:var(--color-accent);background:transparent;border:1px solid color-mix(in srgb,var(--color-accent) 72%,var(--color-border));box-shadow:none}.home-course-card.is-list .button:not(:disabled):hover{color:var(--color-text-on-accent);background:var(--color-accent);transform:translateY(-1px)}.home-course-card.is-list .button:disabled{color:var(--color-text-muted);background:var(--color-surface-subtle);border-color:var(--color-border);cursor:not-allowed}.home-course-empty{display:grid;min-height:18rem;grid-column:1 / -1;place-content:center;justify-items:center;padding:var(--space-10);color:var(--color-text-muted);background:var(--color-surface);border:1px dashed var(--color-border-strong);border-radius:var(--radius-xl);text-align:center}.home-course-empty>svg{width:var(--icon-xl);height:var(--icon-xl);margin-bottom:var(--space-3);color:var(--color-accent)}.home-course-empty h3{margin:0 0 var(--space-2);color:var(--color-text);font-size:var(--font-size-xl)}.home-course-empty p{margin:0}.home-course-pagination{display:grid;width:max-content;max-width:100%;grid-template-columns:auto auto auto;align-items:center;gap:var(--space-3);margin:var(--space-8) auto 0;padding:var(--space-1);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}.home-course-pagination>div{display:flex;align-items:center;gap:var(--space-1)}.home-course-pagination button{display:inline-flex;min-width:2.35rem;min-height:2.35rem;align-items:center;justify-content:center;gap:var(--space-1);padding:0 var(--space-3);color:var(--color-text-muted);background:transparent;border:0;border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);transition:color var(--duration-fast),background var(--duration-fast),transform var(--duration-fast)}.home-course-pagination button svg{width:var(--icon-sm);height:var(--icon-sm)}.home-course-pagination button:not(:disabled):hover{color:var(--color-text);background:var(--color-surface-subtle);transform:translateY(-1px)}.home-course-pagination button.is-active{color:var(--color-text-on-accent);background:var(--color-accent);font-weight:var(--font-weight-bold)}.home-course-pagination button:disabled{opacity:.4;cursor:not-allowed}.home-course-pagination>div>span{display:grid;min-width:1.75rem;place-items:center;color:var(--color-text-muted)}.home-text-button{display:inline-flex;width:max-content;align-items:center;gap:var(--space-2);margin-top:auto;padding:0;color:var(--color-accent);background:none;border:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer}.home-text-button:not(:disabled):hover{gap:var(--space-3);color:var(--color-accent-hover)}.home-text-button:disabled{color:var(--color-text-muted);cursor:default}.home-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4)}.home-stat-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);transition:transform var(--duration-fast),box-shadow var(--duration-fast)}.home-stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.home-stat-card>svg{flex:0 0 auto;color:var(--color-accent)}.home-stat-card div{display:grid;gap:var(--space-1)}.home-stat-card strong{font-size:var(--font-size-xl)}.home-stat-card span{color:var(--color-text-muted);font-size:var(--font-size-xs)}@media(max-width:1280px){.home-browse-header{grid-template-columns:1fr;gap:var(--space-5)}.home-browse-controls{width:min(100%,46rem);justify-content:start}}@media(max-width:1000px){.home-continue-card{grid-template-columns:auto minmax(0,1fr) auto}.home-continue-progress{grid-column:2 / -1}.home-course-grid,.home-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.home-topbar{grid-template-columns:1fr auto;padding:0 var(--space-4)}.home-page-label,.home-profile div{display:none}.home-main{width:min(100% - 2rem,38rem);padding-top:var(--space-10)}.home-heading-row{align-items:stretch;flex-direction:column;gap:0}.home-browse-controls{grid-template-columns:1fr}.home-mode-switch{width:max-content}.home-continue-card{grid-template-columns:auto minmax(0,1fr)}.home-continue-progress{grid-column:1 / -1}.home-continue-card>.button{grid-column:1 / -1;width:100%}.home-course-grid{grid-template-columns:1fr}.home-course-card.is-list{grid-template-columns:4.5rem minmax(0,1fr)}.home-course-card.is-list .home-course-visual{width:4.5rem;height:4.5rem;min-height:0;padding:0;border-radius:var(--radius-lg)}.home-course-card.is-list .home-course-visual>span{font-size:var(--font-size-xl)}.home-course-card.is-list .home-course-body{padding:0}.home-course-card.is-list .button{width:100%}}@media(max-width:760px){.home-course-list{grid-template-columns:1fr}}@media(max-width:560px){.home-course-pagination{width:100%;grid-template-columns:auto minmax(0,1fr) auto}.home-course-pagination>div{justify-content:center}.home-course-pagination>button{padding:0 var(--space-2);font-size:0}.home-course-pagination>button svg{width:var(--icon-md);height:var(--icon-md)}}@media(max-width:520px){.home-course-card.is-list{grid-template-columns:3.75rem minmax(0,1fr);gap:var(--space-4);padding:var(--space-4)}.home-course-card.is-list .home-course-visual{width:3.75rem;height:3.75rem}.home-course-card.is-list .home-course-footer{align-items:stretch;flex-direction:column}.home-course-card.is-list .home-course-endcap{width:100%;max-width:none}}@media(max-width:440px){.home-brand strong{display:none}.home-stat-grid{grid-template-columns:1fr}.home-continue-mark{width:3.25rem;height:3.25rem}}@media(prefers-reduced-motion:reduce){.home-shell{scroll-behavior:auto}.home-shell *,.home-shell *:before,.home-shell *:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.application-shell{--application-sidebar-width: 16.5rem;display:grid;width:100%;height:100vh;height:100dvh;grid-template:"sidebar topbar" var(--layout-topbar-height) "sidebar page" minmax(0,1fr) / var(--application-sidebar-width) minmax(0,1fr);color:var(--color-text);background:var(--color-canvas);overflow:hidden;transition:grid-template-columns var(--duration-normal) var(--ease-emphasized)}.application-shell.is-sidebar-collapsed{--application-sidebar-width: 4.75rem}.application-sidebar{z-index:35;display:flex;min-width:0;grid-area:sidebar;flex-direction:column;background:var(--color-surface);border-right:1px solid var(--color-border);overflow:hidden;transition:width var(--duration-normal) var(--ease-emphasized),transform var(--duration-normal) var(--ease-emphasized)}.application-sidebar-header{display:flex;min-height:var(--layout-topbar-height);align-items:center;justify-content:space-between;padding:0 var(--space-5);border-bottom:1px solid var(--color-border)}.application-brand{display:flex;min-width:0;align-items:center;gap:var(--space-3);padding:0;color:var(--color-text);background:none;border:0;cursor:pointer}.application-brand>span{display:grid;width:2.25rem;height:2.25rem;flex:0 0 auto;place-items:center;color:var(--color-text-on-accent);background:var(--color-accent);border-radius:var(--radius-sm);font-weight:var(--font-weight-bold)}.application-brand strong{white-space:nowrap;font-size:var(--font-size-lg);letter-spacing:-.03em}.application-navigation{display:grid;gap:var(--space-2);padding:var(--space-6) var(--space-3);overflow-y:auto}.application-navigation button,.application-sidebar-toggle{display:flex;width:100%;min-height:2.75rem;align-items:center;gap:var(--space-3);padding:0 var(--space-3);color:var(--color-text-muted);background:transparent;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;text-align:left;transition:color var(--duration-fast),background var(--duration-fast),transform var(--duration-fast)}.application-navigation button svg,.application-sidebar-toggle svg{width:var(--icon-lg);height:var(--icon-lg);flex:0 0 auto}.application-navigation button:hover{color:var(--color-text);background:var(--color-surface-subtle);transform:translate(2px)}.application-navigation button.is-active{color:var(--color-accent);background:var(--color-accent-soft);font-weight:var(--font-weight-semibold)}.application-sidebar-toggle{width:calc(100% - var(--space-6));margin:auto var(--space-3) var(--space-4);border-color:var(--color-border)}.application-sidebar-toggle:hover{color:var(--color-text);background:var(--color-surface-subtle)}.application-sidebar.is-collapsed .application-sidebar-header{padding-inline:var(--space-5)}.application-sidebar.is-collapsed .application-brand strong,.application-sidebar.is-collapsed .application-navigation span,.application-sidebar.is-collapsed .application-sidebar-toggle span{display:none}.application-sidebar.is-collapsed .application-navigation button,.application-sidebar.is-collapsed .application-sidebar-toggle{justify-content:center;padding:0}.application-topbar{position:relative;z-index:30;display:flex;grid-area:topbar;align-items:center;justify-content:space-between;gap:var(--space-5);padding:0 clamp(var(--space-4),3vw,var(--space-8));background:color-mix(in srgb,var(--color-canvas) 90%,transparent);border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.application-page-title{font-size:var(--font-size-md)}.application-topbar-actions{display:flex;align-items:center;gap:var(--space-2)}.coin-balance-badge{display:inline-flex;min-height:2.5rem;align-items:center;gap:var(--space-1);padding:0 var(--space-3);color:var(--color-text);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--font-size-sm)}.coin-balance-badge svg{width:var(--icon-sm);color:var(--color-accent)}.coin-balance-badge>span{color:var(--color-text-muted);font-size:var(--font-size-xs)}.coin-balance-badge.is-error{color:var(--color-text-muted)}.application-icon-button{display:grid;width:2.5rem;height:2.5rem;padding:0;place-items:center;color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;transition:color var(--duration-fast),background var(--duration-fast),transform var(--duration-fast)}.application-icon-button svg{width:var(--icon-md);height:var(--icon-md)}.application-icon-button:hover{color:var(--color-text);background:var(--color-surface-subtle);transform:translateY(-1px)}.application-menu-button,.application-drawer-close{display:none}.application-profile-button{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-1) var(--space-3) var(--space-1) var(--space-1);color:var(--color-text);background:transparent;border:1px solid transparent;border-radius:var(--radius-full);cursor:pointer}.application-profile-button:hover{background:var(--color-surface-subtle);border-color:var(--color-border)}.application-profile-button>span{display:grid;width:2.25rem;height:2.25rem;place-items:center;color:var(--color-text-on-inverse);background:var(--color-surface-inverse);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.application-profile-button div{display:grid;text-align:left}.application-profile-button strong{font-size:var(--font-size-sm)}.application-profile-button small{color:var(--color-text-muted);font-size:var(--font-size-xs)}.application-menu-anchor{position:relative}.application-popover{position:absolute;z-index:50;top:calc(100% + var(--space-3));right:0;width:min(18rem,calc(100vw - 2rem));padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:application-popover-in var(--duration-fast) var(--ease-emphasized)}.application-popover p{margin:var(--space-2) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.application-user-menu>div{display:flex;align-items:center;gap:var(--space-3);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.application-user-menu>div>span{display:grid;min-width:0}.application-user-menu small{overflow:hidden;color:var(--color-text-muted);font-size:var(--font-size-xs);text-overflow:ellipsis}.application-user-menu button{display:flex;width:100%;align-items:center;gap:var(--space-3);margin-top:var(--space-3);padding:var(--space-3);color:var(--color-text-muted);background:transparent;border:0;border-radius:var(--radius-sm);cursor:pointer}.application-user-menu button:hover{color:var(--color-text);background:var(--color-surface-subtle)}.application-user-menu svg{width:var(--icon-md);height:var(--icon-md)}.application-page{grid-area:page;min-width:0;min-height:0;overflow-y:auto;scroll-behavior:smooth}.application-page .home-main{min-height:100%}.application-drawer-backdrop{display:none}.placeholder-page{display:grid;min-height:100%;place-content:center;justify-items:center;padding:var(--space-8);text-align:center}.placeholder-page>span{color:var(--color-accent);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-label);text-transform:uppercase}.placeholder-page h1{margin:var(--space-3) 0;font-size:clamp(var(--font-size-3xl),5vw,var(--font-size-4xl));letter-spacing:var(--letter-spacing-heading)}.placeholder-page p{max-width:34rem;margin:0;color:var(--color-text-muted);line-height:1.7}@keyframes application-popover-in{0%{opacity:0;transform:translateY(-5px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:720px){.application-shell{grid-template:"topbar" var(--layout-topbar-height-mobile) "page" minmax(0,1fr) / minmax(0,1fr)}.application-sidebar{position:fixed;top:0;bottom:0;left:0;width:min(18rem,86vw);transform:translate(-105%);box-shadow:var(--shadow-panel)}.application-sidebar.is-mobile-open{transform:translate(0)}.application-sidebar .application-brand strong,.application-sidebar .application-navigation span,.application-sidebar .application-sidebar-toggle span{display:initial}.application-sidebar .application-navigation button,.application-sidebar .application-sidebar-toggle{justify-content:flex-start;padding:0 var(--space-3)}.application-sidebar-toggle{display:none}.application-menu-button,.application-drawer-close{display:grid}.application-topbar{padding-inline:var(--space-4)}.application-page-title{margin-right:auto}.application-profile-button div{display:none}.application-profile-button{padding:0}.application-drawer-backdrop{position:fixed;z-index:34;top:0;right:0;bottom:0;left:0;display:block;visibility:hidden;padding:0;background:var(--color-overlay);border:0;opacity:0;pointer-events:none;transition:opacity var(--duration-normal),visibility var(--duration-normal)}.application-drawer-backdrop.is-visible{visibility:visible;opacity:1;pointer-events:auto}}.practice-page,.practice-detail{width:min(100% - clamp(2rem,6vw,6rem),86rem);min-height:100%;margin:0 auto;padding:clamp(var(--space-8),5vw,var(--space-12)) 0 var(--space-16)}.practice-page-heading{max-width:48rem;margin-bottom:var(--space-8)}.practice-question-list>header span,.practice-detail-header>div>span{color:var(--color-accent);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-label);text-transform:uppercase}.practice-page-heading h1,.practice-detail-header h1{margin:var(--space-2) 0 var(--space-3);font-size:clamp(var(--font-size-3xl),5vw,var(--font-size-4xl));letter-spacing:var(--letter-spacing-heading)}.practice-page-heading p,.practice-detail-header p{margin:0;color:var(--color-text-muted);line-height:1.7}.practice-filters{display:grid;grid-template-columns:minmax(14rem,1.5fr) repeat(2,minmax(10rem,1fr));gap:var(--space-3);margin-bottom:var(--space-6);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xs)}.practice-filter,.practice-search{display:grid;min-width:0;gap:var(--space-2)}.practice-filter>span,.practice-search>span{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.practice-filter select,.practice-search>div{width:100%;min-height:var(--control-height-lg);color:var(--color-text);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md)}.practice-filter select{padding:0 var(--space-3);cursor:pointer}.practice-search>div{display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3)}.practice-search svg{width:var(--icon-md);color:var(--color-text-muted)}.practice-search input{width:100%;min-width:0;color:var(--color-text);background:transparent;border:0;outline:0}.practice-filter select:focus-visible,.practice-search>div:focus-within{outline:3px solid var(--color-focus);outline-offset:1px}.practice-catalog{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-5);align-items:start}.practice-question-list,.practice-preview,.practice-statistics{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xs)}.practice-question-list{min-width:0;overflow:hidden}.practice-question-list>header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);padding:var(--space-5);border-bottom:1px solid var(--color-border)}.practice-question-list h2{margin:var(--space-1) 0 0;font-size:var(--font-size-xl)}.practice-question-list>header small{color:var(--color-text-muted)}.practice-question-list>div{display:grid}.practice-question-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-5);color:var(--color-text);background:transparent;border:0;border-bottom:1px solid var(--color-border);cursor:pointer;text-align:left;transition:background var(--duration-fast),box-shadow var(--duration-fast)}.practice-question-card:last-child{border-bottom:0}.practice-question-card:hover{background:var(--color-surface-subtle)}.practice-question-card:focus-visible{position:relative;z-index:1;outline:3px solid var(--color-focus);outline-offset:-3px}.practice-question-card.is-active{background:var(--color-accent-soft);box-shadow:inset 3px 0 var(--color-accent)}.practice-question-card>strong{min-width:0;font-size:var(--font-size-md)}.practice-pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-3);margin-top:var(--space-6)}.practice-pagination>div{display:flex;align-items:center;gap:var(--space-1)}.practice-pagination button{display:inline-flex;min-width:var(--control-height-md);min-height:var(--control-height-md);align-items:center;justify-content:center;gap:var(--space-1);padding:0 var(--space-3);color:var(--color-text-muted);background:transparent;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);transition:color var(--duration-fast),background var(--duration-fast),border-color var(--duration-fast),transform var(--duration-fast)}.practice-pagination>div button{padding:0}.practice-pagination button:not(:disabled):hover{color:var(--color-text);background:var(--color-surface-subtle);border-color:var(--color-border)}.practice-pagination button:not(:disabled):active{transform:scale(.97)}.practice-pagination button:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.practice-pagination button.is-active{color:var(--color-text-on-accent);background:var(--color-accent);border-color:var(--color-accent)}.practice-pagination button:disabled{opacity:.45;cursor:not-allowed}.practice-pagination svg{width:var(--icon-sm);height:var(--icon-sm)}.practice-difficulty{padding:var(--space-1) var(--space-2);color:var(--color-text-muted);background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:capitalize}.practice-difficulty.is-easy,.practice-difficulty.is-very_easy{color:var(--color-accent);background:var(--color-accent-soft)}.practice-difficulty.is-hard{color:var(--color-danger);background:var(--color-danger-soft)}.practice-question-topic{grid-column:2;color:var(--color-text-muted);font-size:var(--font-size-xs)}.practice-question-meta{display:flex;grid-column:3;grid-row:1 / span 2;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-xs)}.practice-question-meta>span{display:inline-flex;align-items:center;gap:var(--space-1)}.practice-question-meta svg{width:var(--icon-xs);height:var(--icon-xs)}.practice-question-meta .is-solved{color:var(--color-accent)}.practice-no-results{padding:var(--space-8);color:var(--color-text-muted);text-align:center}.practice-preview{position:sticky;top:var(--space-5);display:flex;min-height:24rem;flex-direction:column;padding:var(--space-6)}.practice-preview.is-empty{min-height:12rem;place-content:center;color:var(--color-text-muted)}.practice-preview-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.practice-preview-solved{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-accent);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.practice-preview-solved svg{width:var(--icon-sm)}.practice-preview-topic{margin-top:var(--space-8);color:var(--color-text-muted);font-size:var(--font-size-xs)}.practice-preview h2{margin:var(--space-2) 0 var(--space-3);font-size:var(--font-size-2xl);letter-spacing:var(--letter-spacing-heading)}.practice-preview p{margin:0;color:var(--color-text-muted);line-height:1.7}.practice-preview-meta{display:flex;gap:var(--space-4);margin:var(--space-6) 0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.practice-preview-meta span{display:inline-flex;align-items:center;gap:var(--space-2)}.practice-preview-meta svg{width:var(--icon-sm)}.practice-preview .button{width:100%;margin-top:auto}.practice-statistics{margin-top:var(--space-6);padding:var(--space-6)}.practice-statistics h2{margin:0 0 var(--space-5);font-size:var(--font-size-xl)}.practice-statistics>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4)}.practice-statistics article{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--color-surface-subtle);border-radius:var(--radius-lg)}.practice-statistics article>svg{color:var(--color-accent)}.practice-statistics article span{display:grid;gap:var(--space-1)}.practice-statistics strong{font-size:var(--font-size-lg)}.practice-statistics small{color:var(--color-text-muted)}.practice-back-button{display:inline-flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-8);padding:0;color:var(--color-text-muted);background:none;border:0;cursor:pointer}.practice-back-button:hover{color:var(--color-text)}.practice-back-button svg{width:var(--icon-md)}.practice-detail{width:min(100% - clamp(2rem,4vw,4rem),94rem);padding-top:clamp(var(--space-6),3vw,var(--space-10))}.practice-detail-header{display:grid;gap:var(--space-3)}.practice-detail-header>div{max-width:none}.practice-detail-actions{margin-bottom:0}.practice-detail-heading{max-width:62rem}.practice-detail-header h1{margin-block:var(--space-2);font-size:clamp(var(--font-size-2xl),3vw,var(--font-size-3xl))}.practice-detail-header p{max-width:46rem}.practice-detail-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:var(--space-4)}.practice-detail-meta>span{display:inline-flex;min-height:var(--control-height-sm);align-items:center;gap:var(--space-2);padding:0 var(--space-3);color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.practice-detail-meta>span>svg{width:var(--icon-sm);height:var(--icon-sm)}.practice-detail-meta .practice-difficulty{text-transform:capitalize}.practice-detail-meta .practice-difficulty>svg{width:.45rem;fill:currentColor}.practice-detail-meta .is-solved{color:var(--color-accent);background:var(--color-accent-soft)}.practice-detail-grid{display:grid;grid-template-columns:minmax(20rem,.82fr) minmax(34rem,1.18fr);gap:var(--space-5);margin-top:var(--space-6);align-items:start}.practice-problem{min-width:0;padding:0 var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl)}.practice-problem .lesson-body{gap:0;padding-top:0}.premium-gate{display:grid;justify-items:center;gap:var(--space-4);width:min(100%,680px);margin:clamp(var(--space-8),8vh,96px) auto;padding:clamp(var(--space-7),5vw,var(--space-10));text-align:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl)}.premium-gate>svg{width:2rem;height:2rem;color:var(--color-accent)}.premium-gate h2,.premium-gate p{margin:0}.premium-gate p{color:var(--color-text-muted)}.premium-gate-plans{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2)}.premium-gate-plans span{padding:var(--space-2) var(--space-3);background:var(--color-surface-subtle);border-radius:var(--radius-sm);font-weight:var(--font-weight-semibold)}.course-premium-gate{min-height:100vh;padding:var(--space-4);background:var(--canvas)}.practice-problem .content-section{margin:0;padding-block:0}.practice-problem .content-section+.content-section{margin-block-start:0}.practice-problem .lesson-heading-block{padding-block:var(--space-6) var(--space-2);border-top:1px solid var(--color-border)}.practice-problem .lesson-heading-block:first-child{border-top:0}.practice-problem .lesson-heading-block h2,.practice-problem .lesson-heading-block h3{font-size:var(--font-size-lg);letter-spacing:-.02em}.practice-problem .reading-copy{padding-block:0 var(--space-6);color:var(--color-text-muted);font-size:var(--font-size-md);line-height:var(--line-height-body)}.practice-problem .note-card{margin-block:0 var(--space-6);padding:var(--space-4);background:var(--color-accent-soft);border-color:color-mix(in srgb,var(--color-accent) 18%,var(--color-border));box-shadow:none}.practice-problem .code-card{margin:0;padding:0;border-color:var(--color-code-border);box-shadow:none}.practice-problem .code-card+.note-card{margin-top:var(--space-4)}.practice-workspace{position:sticky;top:var(--space-4);min-width:0;overflow:hidden;background:var(--color-code-surface);border:1px solid var(--color-code-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.practice-workspace>.compiler-panel{height:min(48rem,calc(100dvh - 7rem));min-height:40rem;padding:0}.practice-workspace .compiler-ide{border:0;border-radius:0;box-shadow:none}.practice-completion{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4);border-top:1px solid var(--color-border)}.practice-completion>span{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-sm)}.practice-completion>span svg{width:var(--icon-md);flex:0 0 auto}.practice-completion.is-ready>span{color:var(--color-accent)}.practice-test-panel.console-window{display:flex;min-height:14rem;max-height:48%;flex:0 0 auto;flex-direction:column;overflow:hidden;color:#dbe1dd;background:#171a18;border:0;border-radius:0}.practice-test-tabs{display:flex;min-height:3rem;flex:0 0 auto;align-items:stretch;gap:var(--space-1);padding:0 var(--space-3);background:#242925;border-bottom:1px solid #373d39}.practice-test-tabs button{position:relative;display:inline-flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);color:#929b95;background:transparent;border:0;cursor:pointer;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.practice-test-tabs button:hover{color:#e7ece8}.practice-test-tabs button.is-active{color:#eef2ef}.practice-test-tabs button.is-active:after{position:absolute;right:var(--space-3);bottom:0;left:var(--space-3);height:2px;background:#78a28e;border-radius:var(--radius-full);content:""}.practice-test-content,.practice-result-content{min-height:0;flex:1;overflow:auto;outline:0}.practice-test-content:focus-visible,.practice-result-content:focus-visible{box-shadow:inset 0 0 0 2px #78a28e73}.practice-case-tabs{display:flex;gap:var(--space-2);padding:var(--space-4) var(--space-4) 0;overflow-x:auto;scrollbar-width:thin}.practice-case-tabs button{min-height:var(--control-height-sm);padding:0 var(--space-3);color:#9ba39e;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-xs);white-space:nowrap}.practice-case-tabs button:hover{color:#e8ede9;background:#252a27}.practice-case-tabs button.is-active{color:#f0f4f1;background:#303632;border-color:#3e4641}.practice-case-tabs button:focus-visible,.practice-test-tabs button:focus-visible{outline:2px solid #78a28e;outline-offset:-2px}.practice-case-values{display:grid;gap:var(--space-3);padding:var(--space-4)}.practice-case-values label{display:grid;gap:var(--space-2);color:#a3aca6;font-size:var(--font-size-xs)}.practice-case-values output{display:block;min-height:var(--control-height-lg);padding:var(--space-3);overflow-x:auto;color:#e4e9e6;background:#252a27;border:1px solid #303632;border-radius:var(--radius-sm);font-family:var(--font-family-mono);font-size:var(--font-size-sm)}.practice-test-empty{margin:0;padding:var(--space-6);color:#929b95}.practice-result-content{display:grid;align-content:start;gap:var(--space-3);padding:var(--space-4)}.practice-result-summary{display:flex;align-items:center;gap:var(--space-3);color:#9aa39d}.practice-result-summary>svg{width:var(--icon-lg);flex:0 0 auto}.practice-result-summary>span{display:grid;gap:var(--space-1)}.practice-result-summary strong{color:#e4e9e6;font-size:var(--font-size-sm)}.practice-result-summary small{color:#89928c;font-size:var(--font-size-xs)}.practice-result-summary.is-success,.practice-result-summary.is-matched{color:#78a28e}.practice-result-summary.is-error{color:#d17f78}.practice-result-summary.is-mismatch{color:#d59a5c}.practice-result-values{display:grid;gap:var(--space-3)}.practice-result-values>section{overflow:hidden;background:#202421;border:1px solid #303632;border-radius:var(--radius-sm)}.practice-result-values>section>span{display:block;padding:var(--space-2) var(--space-3);color:#89928c;border-bottom:1px solid #303632;font-size:.65rem;font-weight:var(--font-weight-bold);letter-spacing:.06em;text-transform:uppercase}.practice-result-values pre{margin:0;overflow:auto;padding:var(--space-3);color:#e0e6e2;font-family:var(--font-family-mono);font-size:var(--font-size-sm);line-height:1.6;white-space:pre-wrap}.practice-result-values .is-error pre{color:#e1a19b}.practice-test-footer{display:flex;min-height:3.5rem;flex:0 0 auto;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3) var(--space-2) var(--space-4);background:#242925;border-top:1px solid #373d39}.practice-test-footer>div{display:flex;min-width:0;flex-wrap:wrap;align-items:center;gap:var(--space-4);color:#89928c;font-size:.65rem}.practice-test-footer>div>span{display:inline-flex;align-items:center;gap:var(--space-1);white-space:nowrap}.practice-test-footer strong{color:#cdd3cf;font-family:var(--font-family-mono)}@media(max-width:1120px){.practice-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-detail-grid{grid-template-columns:1fr}.practice-workspace{position:static}.practice-workspace>.compiler-panel{height:46rem}}@media(max-width:860px){.practice-catalog{grid-template-columns:1fr}.practice-preview{position:static;min-height:20rem}.practice-statistics>div{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-question-meta{grid-column:2;grid-row:auto;justify-content:flex-start}}@media(max-width:600px){.practice-page,.practice-detail{width:min(100% - 2rem,38rem);padding-top:var(--space-6)}.practice-filters{grid-template-columns:1fr;padding:var(--space-4)}.practice-pagination{justify-content:space-between;gap:var(--space-1)}.practice-pagination>button{padding:0 var(--space-2)}.practice-pagination>button span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.practice-question-card{grid-template-columns:auto minmax(0,1fr)}.practice-question-meta{grid-column:1 / -1}.practice-statistics>div{grid-template-columns:1fr}.practice-detail{width:min(100% - 1.25rem,38rem)}.practice-detail-meta{gap:var(--space-2)}.practice-detail-meta>span{padding-inline:var(--space-2)}.practice-problem{padding-inline:var(--space-4)}.practice-workspace>.compiler-panel{height:46rem;min-height:40rem;padding:0}.practice-test-footer{align-items:stretch;flex-direction:column;padding:var(--space-3)}.practice-test-footer .ide-check-button{width:100%}.practice-completion{align-items:stretch;flex-direction:column}.practice-completion .button{width:100%}}.challenges-page{width:min(100% - clamp(2rem,6vw,6rem),86rem);min-height:100%;margin:0 auto;padding:clamp(var(--space-8),5vw,var(--space-12)) 0 var(--space-16)}.challenge-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-8);padding:clamp(var(--space-6),4vw,var(--space-10));color:var(--color-text-on-inverse);background:radial-gradient(circle at 90% 10%,color-mix(in srgb,var(--color-accent) 38%,transparent),transparent 34%),var(--color-surface-inverse);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);transition:background var(--duration-normal),transform var(--duration-normal)}.challenge-hero.is-completed{background:linear-gradient(135deg,var(--color-surface-inverse),color-mix(in srgb,var(--color-accent) 68%,#18201c))}.challenge-hero>div:first-child>span,.challenge-section-heading>div>span,.challenge-history>header span,.challenge-summary-card>div:nth-child(2)>span{color:var(--color-accent);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-label);text-transform:uppercase}.challenge-hero h1{max-width:18ch;margin:var(--space-3) 0;color:var(--color-text-on-inverse);font-size:clamp(var(--font-size-3xl),5vw,var(--font-size-4xl));letter-spacing:var(--letter-spacing-heading)}.challenge-hero p{max-width:55ch;margin:0;color:color-mix(in srgb,var(--color-text-on-inverse) 72%,transparent);line-height:1.7}.challenge-hero time{display:block;margin-top:var(--space-4);color:color-mix(in srgb,var(--color-text-on-inverse) 62%,transparent);font-size:var(--font-size-sm)}.challenge-hero-metrics{display:grid;min-width:16rem;gap:var(--space-3)}.challenge-hero-metrics article{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:color-mix(in srgb,var(--color-surface) 8%,transparent);border:1px solid color-mix(in srgb,var(--color-text-on-inverse) 12%,transparent);border-radius:var(--radius-lg)}.challenge-hero-metrics article>svg{color:var(--color-accent)}.challenge-hero-metrics article span{display:grid;gap:var(--space-1)}.challenge-hero-metrics article small{color:color-mix(in srgb,var(--color-text-on-inverse) 62%,transparent);font-size:var(--font-size-xs)}.challenge-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5);margin:var(--space-6) 0}.challenge-summary-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-4);padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xs)}.challenge-summary-icon{display:grid;width:3rem;height:3rem;place-items:center;color:var(--color-accent);background:var(--color-accent-soft);border-radius:var(--radius-md)}.challenge-summary-icon svg{width:var(--icon-lg)}.challenge-summary-card h2{margin:var(--space-1) 0 var(--space-2);font-size:var(--font-size-xl)}.challenge-summary-card p{margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.6}.challenge-summary-card ul{display:flex;grid-column:1 / -1;flex-wrap:wrap;gap:var(--space-3);margin:var(--space-2) 0 0;padding:0;list-style:none}.challenge-summary-card li{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);color:var(--color-text-muted);background:var(--color-surface-subtle);border-radius:var(--radius-full);font-size:var(--font-size-sm)}.challenge-summary-card li svg{width:var(--icon-sm);color:var(--color-accent)}.today-challenge,.challenge-workspace,.challenge-history{margin-top:var(--space-6);overflow:hidden;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xs)}.challenge-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-6);padding:var(--space-6);border-bottom:1px solid var(--color-border)}.challenge-section-heading h2{margin:var(--space-2) 0;font-size:clamp(var(--font-size-2xl),3vw,var(--font-size-3xl));letter-spacing:var(--letter-spacing-heading)}.challenge-section-heading p{max-width:62ch;margin:0;color:var(--color-text-muted);line-height:1.65}.challenge-metadata{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2)}.challenge-metadata>span:not(.practice-difficulty){display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);color:var(--color-text-muted);background:var(--color-surface-subtle);border-radius:var(--radius-full);font-size:var(--font-size-xs)}.challenge-metadata svg{width:var(--icon-xs)}.challenge-problem{max-width:55rem;padding:0 var(--space-8)}.challenge-problem .lesson-body{padding-top:var(--space-8)}.challenge-problem .content-section{margin-bottom:var(--space-8)}.challenge-compiler{height:min(46rem,calc(100dvh - 8rem));min-height:38rem;padding:var(--space-3)}.challenge-compiler>.compiler-panel{padding:0}.challenge-claim{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);padding:var(--space-5) var(--space-6);background:var(--color-surface-raised);border-top:1px solid var(--color-border);transition:background var(--duration-normal)}.challenge-claim.is-ready{background:var(--color-accent-soft)}.challenge-claim>span{display:inline-flex;align-items:center;gap:var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-sm)}.challenge-claim.is-ready>span{color:var(--color-accent)}.challenge-claim>span svg{width:var(--icon-md);flex:0 0 auto}.challenge-history>header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);padding:var(--space-6);border-bottom:1px solid var(--color-border)}.challenge-history h2{margin:var(--space-1) 0 0;font-size:var(--font-size-2xl);letter-spacing:var(--letter-spacing-heading)}.challenge-history>header small{color:var(--color-text-muted)}.challenge-history-list{display:grid}.challenge-history-list article{display:grid;grid-template-columns:auto 4rem minmax(0,1fr) auto;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border)}.challenge-history-list article:last-child{border-bottom:0}.challenge-history-list article>span:first-child{color:var(--color-text-muted)}.challenge-history-list article>span:first-child.is-complete{color:var(--color-accent)}.challenge-history-list svg{width:var(--icon-md)}.challenge-history-list time{color:var(--color-text-muted);font-size:var(--font-size-sm)}.challenge-history-list article>div{display:grid;gap:var(--space-1)}.challenge-history-list article small{color:var(--color-text-muted);text-transform:capitalize}.challenge-history-reward{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-sm)}.challenge-history-reward svg{color:var(--color-accent)}@media(max-width:900px){.challenge-hero{grid-template-columns:1fr}.challenge-hero-metrics{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}.challenge-summary-grid{grid-template-columns:1fr}.challenge-section-heading{align-items:flex-start;flex-direction:column}.challenge-metadata{justify-content:flex-start}}@media(max-width:600px){.challenges-page{width:min(100% - 2rem,38rem);padding-top:var(--space-6)}.challenge-hero{padding:var(--space-6)}.challenge-hero-metrics{grid-template-columns:1fr}.challenge-summary-card,.challenge-section-heading,.challenge-history>header{padding:var(--space-5)}.challenge-problem{padding:0 var(--space-5)}.challenge-compiler{height:42rem;min-height:38rem;padding:var(--space-2)}.challenge-claim{align-items:stretch;flex-direction:column;padding:var(--space-4)}.challenge-claim .button{width:100%}.challenge-history-list article{grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-3);padding:var(--space-4)}.challenge-history-list time{grid-column:2;grid-row:2}.challenge-history-list article>div{grid-column:2;grid-row:1}.challenge-history-reward{grid-column:3;grid-row:1 / span 2}}.bookmark-toggle{display:inline-flex;min-height:var(--control-height-md);align-items:center;justify-content:center;gap:var(--space-2);padding:0 var(--space-3);color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);transition:color var(--duration-fast),background var(--duration-fast),transform var(--duration-fast)}.bookmark-toggle:hover{color:var(--color-accent);background:var(--color-accent-soft);transform:translateY(-1px)}.bookmark-toggle[aria-pressed=true]{color:var(--color-accent);background:var(--color-accent-soft);border-color:color-mix(in srgb,var(--color-accent) 35%,var(--color-border))}.bookmark-toggle svg{width:var(--icon-md);height:var(--icon-md)}.bookmark-toggle.is-icon-only{width:var(--control-height-md);padding:0}.topbar-bookmark-toggle{color:var(--muted);background:var(--surface);border-color:var(--line)}.practice-preview-actions,.practice-detail-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.practice-detail-actions,.practice-detail-actions .practice-back-button{margin-bottom:0}.library-page{width:min(100% - clamp(2rem,6vw,6rem),86rem);min-height:100%;margin:0 auto;padding:clamp(var(--space-8),5vw,var(--space-12)) 0 var(--space-16)}.library-heading{max-width:50rem;margin-bottom:var(--space-8)}.library-heading>span,.library-saved-items>header span{color:var(--color-accent);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-label);text-transform:uppercase}.library-heading h1{margin:var(--space-2) 0 var(--space-3);font-size:clamp(var(--font-size-3xl),5vw,var(--font-size-4xl));letter-spacing:var(--letter-spacing-heading)}.library-heading p{margin:0;color:var(--color-text-muted);line-height:1.7}.library-statistics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.library-statistics article{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}.library-statistics article>svg{color:var(--color-accent)}.library-statistics article span{display:grid;gap:var(--space-1)}.library-statistics strong{font-size:var(--font-size-xl)}.library-statistics small{color:var(--color-text-muted);font-size:var(--font-size-xs)}.library-controls{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);margin-bottom:var(--space-5)}.library-tabs{display:inline-flex;gap:var(--space-1);padding:var(--space-1);background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-full)}.library-tabs button{display:inline-flex;min-height:var(--control-height-md);align-items:center;gap:var(--space-2);padding:0 var(--space-4);color:var(--color-text-muted);background:transparent;border:0;border-radius:var(--radius-full);cursor:pointer}.library-tabs button>span{display:grid;min-width:1.25rem;height:1.25rem;place-items:center;background:color-mix(in srgb,var(--color-border) 55%,transparent);border-radius:var(--radius-full);font-size:var(--font-size-xs)}.library-tabs button.is-active{color:var(--color-text);background:var(--color-surface);box-shadow:var(--shadow-xs)}.library-tabs button.is-active>span{color:var(--color-text-on-accent);background:var(--color-accent)}.library-search{display:flex;width:min(24rem,100%);min-height:var(--control-height-lg);align-items:center;gap:var(--space-2);padding:0 var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full)}.library-search:focus-within{outline:3px solid var(--color-focus);outline-offset:1px}.library-search>svg{width:var(--icon-md);color:var(--color-text-muted)}.library-search input{width:100%;min-width:0;color:var(--color-text);background:transparent;border:0;outline:0}.library-saved-items{overflow:hidden;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xs)}.library-saved-items>header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border)}.library-saved-items h2{margin:var(--space-1) 0 0;font-size:var(--font-size-xl)}.saved-item-list{display:grid}.saved-item-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-5);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border);transition:background var(--duration-fast)}.saved-item-card:last-child{border-bottom:0}.saved-item-card:hover{background:var(--color-surface-raised)}.saved-item-icon{display:grid;width:3rem;height:3rem;place-items:center;color:var(--color-accent);background:var(--color-accent-soft);border-radius:var(--radius-md)}.saved-item-icon svg{width:var(--icon-lg)}.saved-item-copy{min-width:0}.saved-item-copy>span{color:var(--color-accent);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.saved-item-copy h3{margin:var(--space-1) 0;font-size:var(--font-size-lg)}.saved-item-copy h3 button{padding:0;color:inherit;background:none;border:0;cursor:pointer;font:inherit;text-align:left}.saved-item-copy h3 button:hover{color:var(--color-accent)}.saved-item-copy p{max-width:65ch;margin:0;overflow:hidden;color:var(--color-text-muted);font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap}.saved-item-copy>div{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.saved-item-copy>div span{padding:var(--space-1) var(--space-2);color:var(--color-text-muted);background:var(--color-surface-subtle);border-radius:var(--radius-full);font-size:var(--font-size-xs)}.saved-item-actions{display:flex;align-items:center;gap:var(--space-2)}.saved-item-actions .button svg{width:var(--icon-sm)}.library-empty-state{display:grid;min-height:24rem;place-content:center;justify-items:center;padding:var(--space-8);text-align:center}.library-empty-state>span{display:grid;width:4.5rem;height:4.5rem;place-items:center;color:var(--color-accent);background:var(--color-accent-soft);border-radius:var(--radius-full)}.library-empty-state>span svg{width:1.75rem}.library-empty-state h2{margin:var(--space-5) 0 var(--space-2);font-size:var(--font-size-2xl)}.library-empty-state p{max-width:34rem;margin:0;color:var(--color-text-muted);line-height:1.7}.library-empty-state .button{margin-top:var(--space-5)}@media(max-width:900px){.library-statistics{grid-template-columns:repeat(2,minmax(0,1fr))}.library-controls{align-items:stretch;flex-direction:column}.library-tabs{width:100%;overflow-x:auto;border-radius:var(--radius-lg)}.library-tabs button{flex:1 0 auto}.library-search{width:100%}}@media(max-width:600px){.library-page{width:min(100% - 2rem,38rem);padding-top:var(--space-6)}.library-statistics{grid-template-columns:1fr}.saved-item-card{grid-template-columns:auto minmax(0,1fr);align-items:start;padding:var(--space-4)}.saved-item-actions{grid-column:1 / -1;justify-content:flex-end}.saved-item-copy p{white-space:normal}.practice-detail-actions{align-items:flex-start}}.settings-page{width:min(100% - clamp(2rem,6vw,6rem),78rem);min-height:100%;margin:0 auto;padding:clamp(var(--space-8),5vw,var(--space-12)) 0 var(--space-16)}.settings-heading{display:flex;max-width:62rem;align-items:flex-start;justify-content:space-between;gap:var(--space-5);margin-bottom:var(--space-8)}.settings-heading>div:first-child{max-width:48rem}.settings-heading>span{color:var(--color-accent);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-label);text-transform:uppercase}.settings-heading h1{margin:var(--space-2) 0 var(--space-3);font-size:clamp(var(--font-size-3xl),5vw,var(--font-size-4xl));letter-spacing:var(--letter-spacing-heading)}.settings-heading p{margin:0;color:var(--color-text-muted);line-height:1.7}.settings-persistence{display:inline-flex;flex:0 0 auto;align-items:center;gap:var(--space-2);min-height:2.25rem;margin-top:var(--space-2);padding:0 var(--space-3);color:var(--color-text-muted);background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:600}.settings-persistence svg{width:var(--icon-sm);height:var(--icon-sm)}.settings-persistence.is-saving svg{animation:settings-saving 1s linear infinite}.settings-persistence.is-saved{color:var(--color-accent)}.settings-persistence.is-error{color:var(--color-danger);border-color:color-mix(in srgb,var(--color-danger) 35%,var(--color-border))}.settings-persistence button{padding:var(--space-1) var(--space-2);color:inherit;background:transparent;border:0;border-radius:var(--radius-sm);font:inherit;text-decoration:underline;cursor:pointer}.settings-persistence button:focus-visible{outline:2px solid currentColor;outline-offset:2px}@keyframes settings-saving{to{transform:rotate(360deg)}}.settings-layout{display:grid;grid-template-columns:15rem minmax(0,1fr);gap:var(--space-6);align-items:start}.settings-navigation{position:sticky;top:var(--space-5);overflow:hidden;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xs)}.settings-navigation nav{display:grid;gap:var(--space-1);padding:var(--space-3)}.settings-navigation button{display:flex;width:100%;min-height:2.75rem;align-items:center;gap:var(--space-3);padding:0 var(--space-3);color:var(--color-text-muted);background:transparent;border:0;border-radius:var(--radius-md);cursor:pointer;text-align:left;transition:color var(--duration-fast),background var(--duration-fast)}.settings-navigation button:hover{color:var(--color-text);background:var(--color-surface-subtle)}.settings-navigation button.is-active{color:var(--color-accent);background:var(--color-accent-soft);font-weight:var(--font-weight-semibold)}.settings-navigation button svg{width:var(--icon-md);height:var(--icon-md);flex:0 0 auto}.settings-navigation>div{display:grid;gap:var(--space-1);padding:var(--space-3);border-top:1px solid var(--color-border)}.settings-navigation>div button{font-size:var(--font-size-xs)}.settings-content{min-width:0}.settings-section{overflow:hidden;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xs)}.settings-section>header{padding:var(--space-6);border-bottom:1px solid var(--color-border)}.settings-section>header h2{margin:0 0 var(--space-2);font-size:var(--font-size-2xl);letter-spacing:var(--letter-spacing-heading)}.settings-section>header p{margin:0;color:var(--color-text-muted);line-height:1.6}.setting-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-6);min-height:5.25rem;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border)}.setting-row:last-child{border-bottom:0}.setting-row>div:first-child{min-width:0}.setting-row>div:first-child>strong{font-size:var(--font-size-md)}.setting-row p{max-width:48ch;margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.55}.setting-row.is-danger{background:color-mix(in srgb,var(--color-danger-soft) 35%,transparent)}.setting-control{display:flex;align-items:center;justify-content:flex-end}.setting-control select,.setting-control input{min-width:10rem;min-height:var(--control-height-md);padding:0 var(--space-3);color:var(--color-text);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md)}.setting-control input{width:min(20rem,40vw)}.setting-control input:disabled{color:var(--color-text-muted);cursor:not-allowed}.settings-switch{position:relative;width:2.75rem;height:1.5rem;padding:0;background:var(--color-border-strong);border:0;border-radius:var(--radius-full);cursor:pointer;transition:background var(--duration-fast)}.settings-switch>span{position:absolute;top:.1875rem;left:.1875rem;width:1.125rem;height:1.125rem;background:var(--color-surface);border-radius:var(--radius-full);box-shadow:var(--shadow-xs);transition:transform var(--duration-fast) var(--ease-emphasized)}.settings-switch.is-on{background:var(--color-accent)}.settings-switch.is-on>span{transform:translate(1.25rem)}.settings-section-actions{display:flex;justify-content:flex-end;padding:var(--space-5) var(--space-6)}.settings-danger-button{color:var(--color-danger);border-color:color-mix(in srgb,var(--color-danger) 38%,var(--color-border))}.settings-theme-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);padding:var(--space-6);border-bottom:1px solid var(--color-border)}.settings-theme-options button{display:grid;justify-items:start;gap:var(--space-2);min-height:8.5rem;padding:var(--space-4);color:var(--color-text-muted);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;text-align:left;transition:transform var(--duration-fast),border-color var(--duration-fast),background var(--duration-fast)}.settings-theme-options button:hover{transform:translateY(-2px);border-color:var(--color-border-strong)}.settings-theme-options button.is-active{color:var(--color-accent);background:var(--color-accent-soft);border-color:var(--color-accent)}.settings-theme-options button svg{width:var(--icon-lg)}.settings-theme-options button span{color:var(--color-text-muted);font-size:var(--font-size-xs)}.settings-version-list{display:grid}.settings-version-list>div{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:4.25rem;padding:0 var(--space-6);border-bottom:1px solid var(--color-border)}.settings-version-list>div:last-child{border-bottom:0}.settings-version-list span{color:var(--color-text-muted)}.settings-version-list code{padding:var(--space-1) var(--space-2);color:var(--color-accent);background:var(--color-accent-soft);border-radius:var(--radius-xs);font-family:var(--font-family-mono)}.settings-toast{position:fixed;z-index:100;right:var(--space-6);bottom:var(--space-6);display:flex;max-width:min(24rem,calc(100vw - 2rem));align-items:center;gap:var(--space-4);padding:var(--space-4);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.settings-toast button{margin-left:auto;color:var(--color-text-muted);background:transparent;border:0;cursor:pointer;font-size:var(--font-size-lg)}@media(max-width:860px){.settings-layout{grid-template-columns:1fr}.settings-navigation{position:static}.settings-navigation nav{display:flex;overflow-x:auto}.settings-navigation nav button{width:auto;flex:0 0 auto}.settings-navigation>div{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.settings-page{width:min(100% - 2rem,38rem);padding-top:var(--space-6)}.settings-heading{flex-direction:column}.settings-persistence{margin-top:0}.settings-navigation nav button span{display:none}.settings-navigation nav button{justify-content:center;padding:0 var(--space-4)}.setting-row{grid-template-columns:1fr;gap:var(--space-3);padding:var(--space-5)}.setting-control{justify-content:flex-start}.setting-control input,.setting-control select{width:100%;min-width:0}.settings-theme-options{grid-template-columns:1fr;padding:var(--space-5)}.settings-theme-options button{min-height:6.5rem}.settings-section-actions .button{width:100%}.settings-toast{right:var(--space-4);bottom:var(--space-4);left:var(--space-4)}}.certificates-page{width:min(100% - clamp(2rem,6vw,6rem),82rem);min-height:100%;margin:0 auto;padding:clamp(var(--space-8),5vw,var(--space-12)) 0 var(--space-16)}.certificates-heading{max-width:52rem;margin-bottom:var(--space-8)}.certificates-heading>span,.certificates-section-heading span,.certificate-verification>div:first-child>span{color:var(--color-accent);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-label);text-transform:uppercase}.certificates-heading h1{margin:var(--space-2) 0 var(--space-3);font-size:clamp(var(--font-size-3xl),5vw,var(--font-size-4xl));letter-spacing:var(--letter-spacing-heading)}.certificates-heading p,.certificates-section-heading p{margin:0;color:var(--color-text-muted);line-height:1.7}.certificate-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.certificate-overview article{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}.certificate-overview article>svg{color:var(--color-accent)}.certificate-overview article span{display:grid;gap:var(--space-1)}.certificate-overview strong{font-size:var(--font-size-xl)}.certificate-overview small{color:var(--color-text-muted);font-size:var(--font-size-xs)}.completed-certificates,.in-progress-certificates,.certificate-verification{margin-top:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xs);overflow:hidden}.certificates-section-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);padding:var(--space-6);border-bottom:1px solid var(--color-border)}.certificates-section-heading h2{margin:var(--space-1) 0 var(--space-2);font-size:var(--font-size-2xl);letter-spacing:var(--letter-spacing-heading)}.certificates-section-heading>svg{width:2rem;height:2rem;color:var(--color-accent)}.certificate-list{display:grid}.certificate-loading{padding:var(--space-8);color:var(--color-text-muted);text-align:center}.certificate-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-5);padding:var(--space-6);border-bottom:1px solid var(--color-border);transition:background var(--duration-fast)}.certificate-card:last-child{border-bottom:0}.certificate-card:hover{background:var(--color-surface-raised)}.certificate-card-mark{display:grid;width:4rem;height:4rem;place-items:center;color:var(--color-text-on-accent);background:var(--color-accent);border:.35rem double color-mix(in srgb,var(--color-surface) 75%,transparent);border-radius:var(--radius-full);font-family:serif;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.certificate-card-copy{min-width:0}.certificate-card-copy>span{color:var(--color-accent);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.certificate-card-copy h3{margin:var(--space-1) 0;font-size:var(--font-size-xl)}.certificate-card-copy p{max-width:62ch;margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.55}.certificate-card-meta{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-xs)}.certificate-card-meta>span{display:inline-flex;align-items:center;gap:var(--space-1)}.certificate-card-meta svg{width:var(--icon-xs)}.certificate-card-meta code{color:var(--color-text);font-family:var(--font-family-mono)}.certificate-card-actions{display:flex;align-items:center;gap:var(--space-2)}.certificate-card-actions .button svg{width:var(--icon-sm)}.certificate-progress-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5);padding:var(--space-6)}.certificate-progress-card{display:flex;min-width:0;flex-direction:column;padding:var(--space-5);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.certificate-progress-card>span{color:var(--color-accent);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase}.certificate-progress-card h3{margin:var(--space-3) 0 var(--space-2);font-size:var(--font-size-xl)}.certificate-progress-card>p{margin:0 0 var(--space-6);color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.6}.certificate-progress-copy{display:flex;justify-content:space-between;margin-top:auto;color:var(--color-text-muted);font-size:var(--font-size-xs)}.certificate-progress-track{height:.5rem;margin:var(--space-2) 0 var(--space-5);overflow:hidden;background:var(--color-surface-subtle);border-radius:var(--radius-full)}.certificate-progress-track>span{display:block;height:100%;background:var(--color-accent);border-radius:inherit;transition:width var(--duration-slow)}.certificate-progress-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.certificate-progress-footer>span{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-xs)}.certificate-progress-footer svg{width:var(--icon-sm)}.certificate-verification{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-8);padding:var(--space-6)}.certificate-verification h2{margin:var(--space-1) 0 var(--space-2);font-size:var(--font-size-2xl)}.certificate-verification p{margin:0;color:var(--color-text-muted)}.certificate-verification dl,.certificate-viewer-details dl{display:grid;gap:var(--space-3);margin:var(--space-6) 0 0}.certificate-verification dl>div,.certificate-viewer-details dl>div{display:grid;grid-template-columns:10rem minmax(0,1fr);gap:var(--space-4)}.certificate-verification dt,.certificate-viewer-details dt{color:var(--color-text-muted);font-size:var(--font-size-sm)}.certificate-verification dd,.certificate-viewer-details dd{min-width:0;margin:0;overflow-wrap:anywhere;font-family:var(--font-family-mono);font-size:var(--font-size-sm)}.certificate-verification dd.is-verified,.certificate-viewer-details dd.is-verified{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-accent);font-family:var(--font-family-sans);font-weight:var(--font-weight-semibold)}.certificate-verification dd svg,.certificate-viewer-details dd svg{width:var(--icon-sm);height:var(--icon-sm)}.certificate-qr-placeholder{display:grid;justify-items:center;gap:var(--space-2);padding:var(--space-4);background:var(--color-surface-raised);border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg)}.certificate-qr-placeholder>div{display:grid;width:8rem;height:8rem;grid-template-columns:repeat(7,1fr);gap:2px;padding:var(--space-2);background:#fff;border:1px solid var(--color-border)}.certificate-qr-placeholder i{background:transparent}.certificate-qr-placeholder i.is-filled{background:#202321}.certificate-qr-placeholder>span{color:var(--color-text-muted);font-size:var(--font-size-xs)}.certificate-viewer-backdrop{position:fixed;z-index:200;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:var(--space-5);background:var(--color-overlay);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.certificate-viewer{width:min(68rem,100%);max-height:min(90dvh,54rem);overflow:auto;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);animation:application-popover-in var(--duration-normal) var(--ease-emphasized)}.certificate-viewer>header{position:sticky;z-index:2;top:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:color-mix(in srgb,var(--color-surface) 92%,transparent);border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.certificate-viewer>header span{color:var(--color-accent);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase}.certificate-viewer>header h2{margin:var(--space-1) 0 0;font-size:var(--font-size-xl)}.certificate-viewer>header button{display:grid;width:2.5rem;height:2.5rem;place-items:center;color:var(--color-text-muted);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer}.certificate-viewer>header button svg{width:var(--icon-md)}.certificate-viewer-body{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(18rem,.65fr);gap:var(--space-6);padding:var(--space-6)}.certificate-preview{display:grid;min-height:32rem;align-content:center;justify-items:center;padding:clamp(var(--space-6),5vw,var(--space-12));color:#29352f;background:#f7f5ee;border:.75rem double #425d53;box-shadow:inset 0 0 0 1px #c9c4b8;text-align:center}.certificate-preview-brand{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-8)}.certificate-preview-brand>span{display:grid;width:2.5rem;height:2.5rem;place-items:center;color:#fff;background:#425d53;border-radius:var(--radius-sm);font-weight:var(--font-weight-bold)}.certificate-preview>span{color:#607268;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);letter-spacing:.18em;text-transform:uppercase}.certificate-preview>p{margin:var(--space-4) 0 var(--space-2);color:#657169;font-family:serif;font-size:var(--font-size-lg)}.certificate-preview h3{margin:0;font-family:serif;font-size:clamp(var(--font-size-2xl),4vw,var(--font-size-4xl));font-weight:var(--font-weight-regular)}.certificate-preview h4{margin:0;color:#425d53;font-size:var(--font-size-2xl)}.certificate-preview>div:last-child{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-6);margin-top:var(--space-10);color:#657169;font-size:var(--font-size-xs)}.certificate-viewer-details{display:flex;min-width:0;flex-direction:column}.certificate-viewer-details dl>div{grid-template-columns:1fr;gap:var(--space-1)}.certificate-viewer-actions{display:grid;gap:var(--space-2);margin-top:auto;padding-top:var(--space-8)}.certificate-viewer-actions .button{width:100%}.certificate-viewer-actions svg{width:var(--icon-sm)}@media(max-width:960px){.certificate-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.certificate-card{grid-template-columns:auto minmax(0,1fr)}.certificate-card-actions{grid-column:1 / -1;justify-content:flex-end}.certificate-viewer-body{grid-template-columns:1fr}}@media(max-width:700px){.certificates-page{width:min(100% - 2rem,38rem);padding-top:var(--space-6)}.certificate-progress-grid{grid-template-columns:1fr;padding:var(--space-4)}.certificate-verification{grid-template-columns:1fr}.certificate-qr-placeholder{justify-self:center}}@media(max-width:500px){.certificate-overview{grid-template-columns:1fr}.certificate-card{grid-template-columns:1fr;padding:var(--space-5)}.certificate-card-mark{width:3.25rem;height:3.25rem}.certificate-card-actions{justify-content:stretch}.certificate-card-actions .button:first-child{flex:1}.certificate-progress-footer{align-items:stretch;flex-direction:column}.certificate-progress-footer .button{width:100%}.certificate-verification dl>div{grid-template-columns:1fr;gap:var(--space-1)}.certificate-viewer-backdrop{padding:var(--space-2)}.certificate-viewer-body{padding:var(--space-3)}.certificate-preview{min-height:27rem;padding:var(--space-5);border-width:.5rem}}.referrals-page{width:min(100% - clamp(2rem,6vw,6rem),82rem);min-height:100%;margin:0 auto;padding:clamp(var(--space-8),5vw,var(--space-12)) 0 var(--space-16)}.referrals-loading{display:grid;min-height:50vh;place-items:center;color:var(--color-text-muted)}.referrals-heading{max-width:52rem;margin-bottom:var(--space-8)}.referrals-heading>span,.invite-friends>header span,.referral-rewards>header span,.referral-history>header span,.referral-faq>header span{color:var(--color-accent);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-label);text-transform:uppercase}.referrals-heading h1{margin:var(--space-2) 0 var(--space-3);font-size:clamp(var(--font-size-3xl),5vw,var(--font-size-4xl));letter-spacing:var(--letter-spacing-heading)}.referrals-heading p,.invite-friends>header p,.referral-rewards>header p,.referral-history>header p{margin:0;color:var(--color-text-muted);line-height:1.7}.referral-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.referral-overview article{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}.referral-overview article>svg{color:var(--color-accent)}.referral-overview article span{display:grid;min-width:0;gap:var(--space-1)}.referral-overview strong{overflow-wrap:anywhere;font-size:var(--font-size-xl)}.referral-overview small{color:var(--color-text-muted);font-size:var(--font-size-xs)}.invite-friends,.referral-rewards,.referral-history,.referral-faq{margin-top:var(--space-6);padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xs)}.invite-friends>header h2,.referral-rewards>header h2,.referral-history>header h2,.referral-faq>header h2{margin:var(--space-1) 0 var(--space-2);font-size:var(--font-size-2xl);letter-spacing:var(--letter-spacing-heading)}.referral-fields{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:var(--space-4);margin-top:var(--space-6)}.referral-fields>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-4);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.referral-fields>div>span{grid-column:1 / -1;color:var(--color-text-muted);font-size:var(--font-size-xs)}.referral-fields strong{min-width:0;overflow:hidden;font-family:var(--font-family-mono);text-overflow:ellipsis;white-space:nowrap}.referral-fields button{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);color:var(--color-accent);background:var(--color-accent-soft);border:0;border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.referral-fields button svg{width:var(--icon-sm)}.referral-share-button{margin-top:var(--space-4)}.referral-flow{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:var(--space-4);margin-top:var(--space-6)}.referral-flow article{position:relative;min-height:13rem;padding:var(--space-5);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.referral-flow article>svg{color:var(--color-accent)}.referral-flow article>span{position:absolute;top:var(--space-4);right:var(--space-4);display:grid;width:1.5rem;height:1.5rem;place-items:center;color:var(--color-text-muted);background:var(--color-surface-subtle);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.referral-flow h3{margin:var(--space-5) 0 var(--space-2);font-size:var(--font-size-lg)}.referral-flow p{margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.6}.referral-flow-arrow{color:var(--color-text-muted)}.referral-reward-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);margin-top:var(--space-4)}.referral-reward-values>div{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4);color:var(--color-accent);background:var(--color-accent-soft);border-radius:var(--radius-lg)}.referral-reward-values span{color:var(--color-text-muted);font-size:var(--font-size-sm)}.referral-history{padding:0;overflow:hidden}.referral-history>header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);padding:var(--space-6);border-bottom:1px solid var(--color-border)}.referral-history>header small{color:var(--color-text-muted)}.referral-history-head,.referral-history-table article{display:grid;grid-template-columns:1.2fr 1fr .8fr 1fr;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-6)}.referral-history-head{color:var(--color-text-muted);background:var(--color-surface-raised);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase}.referral-history-table article{border-top:1px solid var(--color-border);font-size:var(--font-size-sm)}.referral-history-table article time{color:var(--color-text-muted)}.referral-status,.referral-reward-status{display:inline-flex;width:max-content;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);color:var(--color-text-muted);background:var(--color-surface-subtle);border-radius:var(--radius-full);font-size:var(--font-size-xs);text-transform:capitalize}.referral-status svg,.referral-reward-status svg{width:var(--icon-xs);height:var(--icon-xs)}.referral-status.is-qualified,.referral-reward-status.is-earned{color:var(--color-accent);background:var(--color-accent-soft)}.referral-faq>div{display:grid;gap:var(--space-2);margin-top:var(--space-5)}.referral-faq details{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.referral-faq summary{display:flex;min-height:3.75rem;align-items:center;justify-content:space-between;gap:var(--space-4);padding:0 var(--space-4);cursor:pointer;font-weight:var(--font-weight-semibold);list-style:none}.referral-faq summary::-webkit-details-marker{display:none}.referral-faq summary svg{width:var(--icon-md);color:var(--color-text-muted);transition:transform var(--duration-fast)}.referral-faq details[open] summary svg{transform:rotate(180deg)}.referral-faq details p{margin:0;padding:0 var(--space-4) var(--space-4);color:var(--color-text-muted);line-height:1.65}@media(max-width:900px){.referral-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.referral-fields,.referral-flow{grid-template-columns:1fr}.referral-flow article{min-height:0}.referral-flow-arrow{justify-self:center;transform:rotate(90deg)}.referral-history-head,.referral-history-table article{grid-template-columns:1.2fr 1fr 1fr 1fr}}@media(max-width:650px){.referrals-page{width:min(100% - 2rem,38rem);padding-top:var(--space-6)}.referral-overview{grid-template-columns:1fr}.invite-friends,.referral-rewards,.referral-faq{padding:var(--space-5)}.referral-reward-values{grid-template-columns:1fr}.referral-reward-values>div{align-items:flex-start;flex-direction:column}.referral-history-head{display:none}.referral-history-table article{grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2);padding:var(--space-4)}.referral-history-table article strong{grid-column:1;grid-row:1}.referral-history-table article time{grid-column:1;grid-row:2;font-size:var(--font-size-xs)}.referral-status{grid-column:2;grid-row:1;justify-self:end}.referral-reward-status{grid-column:2;grid-row:2;justify-self:end}.referral-share-button{width:100%}}.solution-block>summary{cursor:pointer;font-weight:700;list-style-position:inside}.solution-block[open]>summary{margin-bottom:var(--space-4)}.note-icon img{display:block;width:var(--icon-size-md);height:var(--icon-size-md);object-fit:contain}.global-error-page{display:grid;min-height:100dvh;place-items:center;padding:var(--space-6);color:var(--color-text);background:var(--color-background)}.error-recovery{display:flex;width:min(42rem,100%);align-items:flex-start;gap:var(--space-4);padding:clamp(var(--space-5),5vw,var(--space-8));color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl)}.error-recovery>svg{flex:0 0 auto;width:var(--icon-lg);height:var(--icon-lg);color:var(--color-danger)}.error-recovery h1{margin:0 0 var(--space-2);font-size:clamp(var(--font-size-xl),3vw,var(--font-size-2xl));line-height:1.2;letter-spacing:var(--letter-spacing-heading)}.error-recovery p{margin:0;color:var(--color-text-muted);line-height:1.65}.error-recovery small{display:block;margin-top:var(--space-3);color:var(--color-text-muted);font-family:var(--font-family-mono);overflow-wrap:anywhere}.error-recovery__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-5)}.error-recovery--compact{min-height:12rem;width:100%;align-items:center;border-radius:var(--radius-lg)}.error-recovery--compact h1{font-size:var(--font-size-lg)}@media(prefers-reduced-motion:reduce){.settings-persistence.is-saving svg{animation:none}}.subscription-current{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.subscription-current strong{font-size:1.25rem;text-transform:capitalize}.subscription-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin-top:var(--space-4)}.subscription-plan-grid article{display:grid;gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.subscription-plan-grid article>strong{font-size:1.5rem}.subscription-plan-grid article.is-current{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.subscription-plan-grid article small{color:var(--color-text-muted)}@media(max-width:760px){.subscription-plan-grid{grid-template-columns:1fr}}.wallet-page{width:min(100% - 2rem,64rem);margin:0 auto;padding:var(--space-8) 0;color:var(--color-text)}.wallet-page header p,.wallet-transactions p{color:var(--color-text-muted)}.wallet-balances{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);margin:var(--space-6) 0}.wallet-balances article{display:grid;gap:var(--space-2);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.wallet-balances article span{color:var(--color-text-muted)}.wallet-balances article strong{font-size:clamp(1.5rem,4vw,2.25rem)}.wallet-transactions{padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.wallet-transactions ul{display:grid;gap:var(--space-3);margin:var(--space-4) 0 0;padding:0;list-style:none}.wallet-transactions li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.wallet-transactions li span{display:grid;gap:var(--space-1)}.wallet-transactions li small{color:var(--color-text-muted)}.wallet-withdrawals{display:grid;gap:var(--space-3);margin-top:var(--space-4)}.wallet-withdrawals label{display:grid;gap:var(--space-2);max-width:20rem;font-weight:600}.wallet-withdrawals input{width:100%;padding:var(--space-3);color:var(--color-text);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md)}.wallet-withdrawals .button{width:fit-content}@media(max-width:600px){.wallet-balances{grid-template-columns:1fr}}.route-not-found{display:grid;width:min(100% - 2rem,42rem);min-height:50vh;margin-inline:auto;place-content:center;justify-items:start;gap:var(--space-4)}.route-not-found h1,.route-not-found p{margin:0}.route-not-found p{color:var(--color-text-muted)}html{scroll-behavior:smooth}body{color:var(--color-text);background:var(--color-canvas);font-size:var(--font-size-base);line-height:var(--line-height-body);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}::selection{color:var(--color-text);background:var(--color-accent-soft)}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}:where(h1,h2,h3,h4){color:var(--color-text);line-height:var(--line-height-heading);letter-spacing:var(--letter-spacing-heading);text-wrap:balance}:where(p,li){text-wrap:pretty}:is(.home-main,.practice-page,.practice-detail,.challenges-page,.library-page,.settings-page,.certificates-page,.referrals-page,.projects-page,.placeholder-page){width:min(calc(100% - clamp(2rem,6vw,6rem)),86rem);margin-inline:auto}:is(.home-main,.practice-page,.challenges-page,.library-page,.certificates-page,.referrals-page,.projects-page) :is(h1,.page-title){font-size:var(--font-size-page-title);line-height:1.08}:is(.home-section,.practice-section,.challenge-section,.library-section,.certificates-section,.referrals-section)>:is(header,.section-heading){margin-block-end:var(--space-6)}.application-shell{background:var(--color-canvas)}.application-sidebar{border-inline-end-color:var(--color-border);box-shadow:none}.application-topbar{background:color-mix(in srgb,var(--color-surface) 96%,transparent);border-block-end:1px solid var(--color-border);box-shadow:none;-webkit-backdrop-filter:saturate(115%) blur(8px);backdrop-filter:saturate(115%) blur(8px)}.application-navigation button,.application-icon-button,.application-profile-button{transition:color var(--duration-fast) var(--ease-standard),background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.application-navigation button:hover,.application-icon-button:hover,.application-profile-button:hover{transform:none}.application-navigation button.is-active{color:var(--color-accent);background:var(--color-accent-soft);box-shadow:inset 3px 0 0 var(--color-accent)}.application-popover{border:1px solid var(--color-border);box-shadow:var(--shadow-md);transform-origin:top right}.home-main{gap:0}.home-section{margin-block-end:clamp(var(--space-12),6vw,var(--space-20))}.home-section{scroll-margin-top:calc(var(--layout-topbar-height) + var(--space-6))}.home-section-heading{margin-block-end:var(--space-6)}.continue-learning-card,.home-course-card,.home-recent-card,.learning-stat-card{border-color:var(--color-border);box-shadow:none}.home-course-card:hover,.home-recent-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.home-course-card:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-focus)}.course-filter-chip{min-height:var(--control-height-md)}.browse-search-input{height:3rem}.home-course-pagination{margin-block-start:var(--space-8);justify-content:center}.course-overview-main{background:var(--color-canvas)}.overview-stat-card,.overview-module,.overview-development{border-color:var(--color-border);box-shadow:none}.overview-stat-card{background:var(--color-surface)}.workspace{background:var(--color-canvas)}.course-sidebar{box-shadow:none}.sidebar-header,.sidebar-summary,.sidebar-footer{background:var(--color-surface)}.module-trigger,.course-section-trigger{letter-spacing:-.012em}.lesson-link{min-height:2.5rem;border-radius:var(--radius-sm);transition:color var(--duration-fast) var(--ease-standard),background var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.lesson-link:hover{transform:none}.lesson-link.is-active{box-shadow:inset 3px 0 0 var(--color-accent)}.lesson-document{width:min(100%,49rem)}.lesson-document .lesson-header h1{font-size:clamp(2.2rem,4.4vw,3.7rem);line-height:1.04}.lesson-body{font-size:var(--font-size-body)}.reading-copy{max-width:68ch;line-height:var(--line-height-body)}.lesson-divider{border-color:var(--color-border)}.note-card,.callout-card,.exercise-card,.interactive-card,.ai-card,.lesson-image,.visual-placeholder{box-shadow:none}.quiz-option{min-height:2.75rem;transition:border-color var(--duration-fast) var(--ease-standard),background var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.quiz-option:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-focus)}.activity-feedback.is-success{color:var(--color-success);background:var(--color-success-soft)}.lesson-completion-footer{border-color:var(--color-border);box-shadow:0 -8px 20px #2023210a}.code-card,.compiler-ide,.ide-results{border-color:var(--color-code-border);box-shadow:none}.code-card,.compiler-ide{background:var(--color-code-surface);color:var(--color-code-text)}.compiler-dock{border-inline-start-color:var(--color-border);box-shadow:none}.compiler-dock-header{background:var(--color-surface)}.ide-header,.ide-result-tabs,.ide-result-footer{background:var(--color-code-surface-raised)}.compiler-run-button:active:not(:disabled),.compiler-reset-button:active:not(:disabled){transform:scale(.96)}:is(.practice-question-card,.challenge-summary-card,.saved-item-card,.certificate-card,.referral-card,.settings-content,.settings-navigation,.project-card,.practice-stat-card,.challenge-stat-card,.library-stat-card,.certificate-stat-card){border-color:var(--color-border);box-shadow:none}:is(.practice-question-card,.challenge-summary-card,.saved-item-card,.certificate-card,.project-card):hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.empty-state{max-width:34rem;margin-inline:auto;text-align:center}.form-error,[role=alert]{line-height:1.5}.skeleton-line,.skeleton-card{background:linear-gradient(100deg,var(--color-surface-subtle) 20%,var(--color-surface) 45%,var(--color-surface-subtle) 70%);background-size:220% 100%}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.application-shell[data-reduced-motion=true] *,.application-shell[data-reduced-motion=true] *:before,.application-shell[data-reduced-motion=true] *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.application-shell[data-reduced-transparency=true] :is(.application-topbar,.application-popover){background:var(--color-surface);-webkit-backdrop-filter:none;backdrop-filter:none}.application-shell[data-contrast=more]{--color-border: var(--color-border-strong);--color-text-muted: color-mix(in srgb, var(--color-text) 74%, var(--color-canvas))}@media(pointer:coarse){:where(button,[role=button],.application-navigation button,.lesson-link){min-height:2.75rem}}@media(max-width:64rem){:is(.home-main,.practice-page,.practice-detail,.challenges-page,.library-page,.settings-page,.certificates-page,.referrals-page,.projects-page,.placeholder-page){width:min(calc(100% - 2.5rem),86rem)}.home-main{gap:var(--space-12)}}@media(max-width:45rem){:is(.home-main,.practice-page,.practice-detail,.challenges-page,.library-page,.settings-page,.certificates-page,.referrals-page,.projects-page,.placeholder-page){width:min(calc(100% - 2rem),86rem)}.home-main{gap:var(--space-10)}.lesson-document .lesson-header h1{font-size:clamp(2rem,10vw,2.75rem)}.lesson-completion-footer{box-shadow:0 -5px 14px #2023210a}.application-topbar{-webkit-backdrop-filter:none;backdrop-filter:none}}@media(max-width:25rem){:is(.home-main,.practice-page,.practice-detail,.challenges-page,.library-page,.settings-page,.certificates-page,.referrals-page,.projects-page,.placeholder-page){width:min(calc(100% - 1.5rem),86rem)}}
