:root{--bg: #202324;--bg-elevated: #25292b;--panel: #2a2e30;--panel-strong: #313638;--editor: #191c1d;--line: #42494c;--line-soft: #363c3e;--text: #f2f6f7;--text-soft: #abb8bd;--text-faint: #7f8c91;--accent: #50d4ed;--accent-strong: #20b8d5;--accent-ink: #062e37;--accent-soft: rgba(80, 212, 237, .12);--success: #58d69a;--success-soft: rgba(88, 214, 154, .12);--error: #ff7d86;--error-soft: rgba(255, 125, 134, .12);--warning: #f4c760;--warning-soft: rgba(244, 199, 96, .12);--shadow-sm: 0 6px 18px rgba(0, 0, 0, .18);--shadow-lg: 0 22px 70px rgba(0, 0, 0, .34);--radius-sm: 8px;--radius-md: 14px;--radius-lg: 22px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--font-ui: Inter, Aptos, "Segoe UI", system-ui, sans-serif;--font-code: "Cascadia Code", "Cascadia Mono", Consolas, monospace}:root[data-theme=light]{--bg: #f3f6f8;--bg-elevated: #e9eef1;--panel: #ffffff;--panel-strong: #f8fafb;--editor: #f8fafb;--line: #c9d3d8;--line-soft: #dde4e7;--text: #172126;--text-soft: #526168;--text-faint: #738188;--accent: #087f9b;--accent-strong: #056b83;--accent-ink: #ffffff;--accent-soft: rgba(8, 127, 155, .1);--success: #147a4b;--success-soft: rgba(20, 122, 75, .1);--error: #bd2632;--error-soft: rgba(189, 38, 50, .09);--warning: #8a5a00;--warning-soft: rgba(138, 90, 0, .1);--shadow-sm: 0 6px 18px rgba(29, 48, 57, .09);--shadow-lg: 0 22px 70px rgba(29, 48, 57, .16)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:15px;line-height:1.55}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.035em;line-height:1.12}pre,code{font-family:var(--font-code)}::selection{background:#50d4ed47}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.primary,.secondary,.success-button,button.primary,button.secondary{align-items:center;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-weight:700;gap:8px;justify-content:center;min-height:44px;padding:10px 18px;transition:background .16s ease,border-color .16s ease,transform .16s ease}.primary{background:var(--accent);color:var(--accent-ink)}.primary:hover:not(:disabled){background:var(--accent-strong);transform:translateY(-1px)}.secondary{background:var(--panel-strong);border-color:var(--line)}.secondary:hover:not(:disabled){border-color:var(--accent)}.success-button{background:var(--success);color:#062d1e}button:disabled{cursor:not-allowed;opacity:.48}.wide{width:100%}.text-button{background:transparent;border:0;color:var(--accent);cursor:pointer;font-weight:700;padding:8px 0;text-decoration:underline;text-underline-offset:4px}.icon-button{align-items:center;background:transparent;border:1px solid var(--line);border-radius:9px;cursor:pointer;display:inline-flex;height:40px;justify-content:center;width:40px}.icon-button svg,button svg,a svg{height:18px;width:18px}.eyebrow{color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.14em;margin-bottom:8px;text-transform:uppercase}.lede{color:var(--text-soft);font-size:19px;max-width:580px}.center-state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:32px;text-align:center}.center-state p{color:var(--text-soft);max-width:560px}.spinner{animation:spin 1s linear infinite;border:3px solid var(--line);border-radius:50%;border-top-color:var(--accent);height:32px;margin-bottom:14px;width:32px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.inline-message{align-items:center;border:1px solid var(--line);border-radius:var(--radius-sm);display:flex;gap:8px;padding:12px 14px}.inline-message.error{background:var(--error-soft);border-color:var(--error);color:var(--error)}.inline-message.success{background:var(--success-soft);border-color:var(--success);color:var(--success)}.inline-message.warning{background:var(--warning-soft);border-color:var(--warning);color:var(--warning)}.auth-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);min-height:100vh}.auth-story{align-items:flex-start;background:radial-gradient(circle at 20% 15%,rgba(80,212,237,.09),transparent 35%),var(--bg);display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:clamp(48px,8vw,128px);position:relative}.auth-story:after{border:1px solid rgba(80,212,237,.16);border-radius:50%;content:"";height:520px;position:absolute;right:-280px;top:-180px;width:520px}.auth-story h1{font-size:clamp(42px,5vw,72px);margin:20px 0 24px;max-width:760px}.brand-mark{align-items:center;background:var(--accent);border-radius:10px;color:var(--accent-ink);display:inline-flex;height:38px;justify-content:center;width:38px}.brand-mark.large{height:58px;width:58px}.brand-mark.large svg{height:30px;width:30px}.feature-list{display:grid;gap:14px;list-style:none;margin:28px 0 0;padding:0}.feature-list li{align-items:center;color:var(--text-soft);display:flex;gap:12px}.feature-list svg{color:var(--success)}.auth-panel{align-self:center;background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);margin:32px 7vw 32px 32px;max-width:520px;padding:clamp(28px,4vw,52px)}.auth-panel>p{color:var(--text-soft)}.auth-panel h2{font-size:28px;margin:28px 0 6px}.segmented{background:var(--bg-elevated);border-radius:10px;display:grid;grid-template-columns:1fr 1fr;padding:4px}.segmented button,.view-toggle button{background:transparent;border:0;border-radius:7px;cursor:pointer;padding:9px 12px}.segmented button.active,.view-toggle button.active{background:var(--panel-strong);box-shadow:var(--shadow-sm);color:var(--accent);font-weight:700}.form-stack{display:grid;gap:16px;margin-top:28px}.form-stack label,.field,.settings-card label{color:var(--text-soft);display:grid;font-size:13px;font-weight:700;gap:7px}input,select,textarea{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text);min-height:44px;padding:10px 12px}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:2px solid var(--accent-soft)}.form-stack small,.settings-card small{color:var(--text-faint)}.privacy-note{align-items:flex-start;border-top:1px solid var(--line-soft);display:flex;font-size:12px;gap:8px;margin:26px 0 0;padding-top:18px}.onboarding{background:radial-gradient(circle at 50% -20%,rgba(80,212,237,.08),transparent 36%),var(--bg);min-height:100vh;padding-bottom:56px}.onboarding>header{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1160px;padding:22px 32px}.brand-lockup{align-items:center;display:flex;font-weight:800;gap:12px}.onboarding>header>span{color:var(--text-soft);font-size:13px}.step-progress{background:var(--line-soft);height:3px}.step-progress span{background:var(--accent);display:block;height:100%;transition:width .25s ease}.onboarding-card{margin:64px auto 0;max-width:980px;padding:0 32px}.onboarding-card>h1{font-size:clamp(34px,5vw,54px);margin-bottom:12px}.onboarding-card>p:not(.eyebrow){color:var(--text-soft);font-size:17px}.onboarding-card>.field{margin:36px 0 24px;max-width:520px}.choice-row{border:0;display:flex;flex-wrap:wrap;gap:12px;margin:0;padding:0}.choice-row legend{color:var(--text-soft);font-size:13px;font-weight:700;margin-bottom:10px;width:100%}.choice{align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:10px;cursor:pointer;display:flex;gap:10px;padding:13px 16px}.choice input{height:auto;min-height:0;width:auto}.choice.active{background:var(--accent-soft);border-color:var(--accent)}.goal-grid{display:grid;gap:14px;grid-template-columns:1fr 1fr;margin-top:32px}.goal-card{align-items:flex-start;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);cursor:pointer;display:grid;gap:16px;grid-template-columns:auto 1fr auto;min-height:150px;padding:22px;text-align:left}.goal-card:hover{border-color:var(--text-faint);transform:translateY(-1px)}.goal-card.active{background:var(--accent-soft);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.goal-icon,.card-icon,.placeholder-icon{align-items:center;background:var(--bg-elevated);border-radius:11px;color:var(--accent);display:flex;height:44px;justify-content:center;width:44px}.goal-card strong,.goal-card small,.goal-card em{display:block}.goal-card strong{font-size:18px;margin-bottom:7px}.goal-card small{color:var(--text-soft);font-size:13px;line-height:1.45}.goal-card em{color:var(--warning);font-size:11px;font-style:normal;font-weight:800;margin-top:10px;text-transform:uppercase}.goal-check{color:var(--accent)}.desktop-choice{align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:10px;display:flex;gap:20px;margin-top:16px;padding:14px 18px}.desktop-choice span{color:var(--text-soft);margin-right:auto}.desktop-choice input{min-height:auto}.time-grid{display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin:38px 0 12px}.time-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);cursor:pointer;padding:30px 16px}.time-card strong,.time-card span{display:block}.time-card strong{color:var(--accent);font-size:42px}.time-card span{color:var(--text-soft)}.time-card.active{background:var(--accent-soft);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.onboarding-summary{align-items:center;background:var(--success-soft);border:1px solid var(--success);border-radius:12px;display:flex;gap:14px;margin-top:36px;padding:18px}.onboarding-summary svg{color:var(--success)}.onboarding-summary strong,.onboarding-summary span{display:block}.onboarding-summary span{color:var(--text-soft);font-size:13px}.onboarding-card footer{align-items:center;border-top:1px solid var(--line-soft);display:flex;justify-content:space-between;margin-top:46px;padding-top:24px}.app-shell{display:grid;grid-template-columns:90px minmax(0,1fr);min-height:100vh}.side-nav{align-items:center;background:var(--bg-elevated);border-right:1px solid var(--line-soft);display:flex;flex-direction:column;height:100vh;inset:0 auto 0 0;padding:18px 10px;position:fixed;width:90px;z-index:40}.side-brand{align-items:center;display:flex;flex-direction:column;font-size:10px;font-weight:800;line-height:1.05;text-align:center}.side-brand .brand-mark{margin-bottom:4px}.side-nav nav{display:grid;gap:6px;margin-top:34px;width:100%}.side-nav nav a,.side-actions button{align-items:center;background:transparent;border:0;border-radius:9px;color:var(--text-soft);display:flex;flex-direction:column;font-size:10px;gap:4px;justify-content:center;min-height:54px;padding:6px}.side-nav nav a.active{background:var(--accent-soft);color:var(--accent)}.side-nav nav a:hover,.side-actions button:hover{color:var(--text)}.side-actions{align-items:center;display:grid;gap:4px;margin-top:auto;width:100%}.side-actions button{cursor:pointer}.avatar{align-items:center;background:var(--panel-strong);border:1px solid var(--line);border-radius:50%;color:var(--accent);display:flex;font-size:11px;font-weight:800;height:36px;justify-content:center;margin:8px auto 0;width:36px}.shell-content{grid-column:2;min-width:0}.page-header{align-items:flex-end;display:flex;gap:32px;justify-content:space-between;margin:0 auto;max-width:1220px;padding:42px 46px 28px}.page-header h1{font-size:36px;margin-bottom:8px}.page-header p:last-child{color:var(--text-soft);margin-bottom:0}.view-toggle{background:var(--bg-elevated);border:1px solid var(--line-soft);border-radius:10px;display:flex;padding:4px}.view-toggle button{align-items:center;display:flex;gap:7px}.path-page{min-height:100vh}.path-layout{display:grid;gap:42px;grid-template-columns:minmax(480px,820px) 300px;justify-content:center;padding:0 46px 80px}.learning-path,.chapter-list{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);min-height:800px;overflow:hidden;padding:38px 70px 70px}.chapter+.chapter{margin-top:62px}.chapter-heading{align-items:center;display:flex;gap:14px;justify-content:center;margin-bottom:30px}.chapter-heading>span{align-items:center;background:var(--accent-soft);border:1px solid var(--accent);border-radius:50%;color:var(--accent);display:flex;font-size:12px;font-weight:800;height:40px;justify-content:center;width:40px}.chapter-heading p{color:var(--text-faint);font-size:10px;font-weight:800;letter-spacing:.12em;margin:0;text-transform:uppercase}.chapter-heading h2{font-size:20px;margin:0}.nodes{display:flex;flex-direction:column;gap:32px;position:relative}.nodes:before{background:var(--line);content:"";inset:22px auto 22px 50%;position:absolute;transform:translate(-1px);width:2px}.path-node{align-items:center;align-self:center;display:flex;gap:20px;position:relative;transform:translate(calc(var(--offset) * 52px));width:270px;z-index:1}.path-node:hover:not([aria-disabled=true]) .node-shape{border-color:var(--accent);transform:translateY(-3px)}.node-shape{align-items:center;background:var(--panel-strong);border:2px solid var(--line);box-shadow:0 6px #17191a,0 10px 24px #0003;clip-path:polygon(22% 0,78% 0,100% 25%,100% 75%,78% 100%,22% 100%,0 75%,0 25%);display:flex;flex:0 0 auto;height:76px;justify-content:center;transition:.18s ease;width:86px}.node-shape>span{align-items:center;background:var(--bg);border-radius:50%;color:var(--text-soft);display:flex;font-size:21px;font-weight:900;height:42px;justify-content:center;width:42px}.node-copy{min-width:0}.node-copy>strong{display:block;font-size:15px;margin-bottom:6px}.status-badge{align-items:center;color:var(--text-faint);display:inline-flex;font-size:10px;font-weight:800;gap:5px;letter-spacing:.03em;text-transform:uppercase}.status-badge svg{height:12px;width:12px}.path-node.recommended .node-shape{background:var(--accent);border-color:#a9effb;box-shadow:0 6px #08778b,0 12px 30px #50d4ed33}.path-node.recommended .node-shape>span{color:var(--accent)}.status-badge.recommended{color:var(--accent)}.path-node.completed .node-shape,.path-node.solid .node-shape{border-color:var(--success)}.path-node.completed .node-shape>span,.path-node.solid .node-shape>span,.status-badge.completed,.status-badge.solid{color:var(--success)}.path-node.reviewDue .node-shape{border-color:var(--warning)}.path-node.reviewDue .node-shape>span,.status-badge.reviewDue{color:var(--warning)}.path-node.locked{cursor:not-allowed;filter:grayscale(.5);opacity:.5}.chapter-list{padding:28px}.chapter-list .chapter+.chapter{margin-top:28px}.chapter-list .chapter-heading{justify-content:flex-start;margin-bottom:14px}.chapter-list .nodes{gap:8px}.chapter-list .nodes:before{display:none}.path-node.list{background:var(--bg-elevated);border:1px solid var(--line-soft);border-radius:11px;padding:12px 16px;transform:none;width:100%}.path-node.list .node-shape{box-shadow:none;clip-path:none;height:44px;width:48px}.path-node.list .node-shape>span{background:transparent;height:30px;width:30px}.path-sidebar{display:grid;align-content:start;gap:14px}.continue-card,.stat-card,.goal-summary{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius-md);padding:20px}.continue-card{border-color:#50d4ed59}.continue-card h2{font-size:19px;margin:14px 0 4px}.continue-card>p:not(.eyebrow){color:var(--text-soft);font-size:13px}.continue-card .primary{margin-top:10px;width:100%}.stat-title{align-items:center;color:var(--text-soft);display:flex;font-size:12px;font-weight:800;gap:8px;text-transform:uppercase}.stat-title svg{color:var(--accent);height:16px}.stat-card>strong{display:block;font-size:30px;margin:10px 0 8px}.stat-card>strong small{color:var(--text-soft);font-size:14px}.stat-card>p{color:var(--text-faint);font-size:12px;margin:8px 0 0}.meter{background:var(--line-soft);border-radius:20px;height:5px;overflow:hidden}.meter span{background:var(--accent);display:block;height:100%}.goal-summary{align-items:center;display:flex;gap:12px}.goal-summary>svg{color:var(--accent)}.goal-summary span,.goal-summary strong,.goal-summary em{display:block}.goal-summary span{color:var(--text-faint);font-size:10px;text-transform:uppercase}.goal-summary strong{font-size:13px}.goal-summary em{color:var(--warning);font-size:10px;font-style:normal}.learn-page{display:grid;grid-template-rows:58px minmax(0,1fr) 64px;height:100vh;overflow:hidden}.learn-topbar{align-items:center;background:var(--bg-elevated);border-bottom:1px solid var(--line-soft);display:grid;gap:16px;grid-template-columns:auto 1fr minmax(220px,28%) auto;padding:8px 18px}.learn-topbar>a{align-items:center;border-radius:7px;display:flex;height:38px;justify-content:center;width:38px}.learn-topbar>a:hover{background:var(--panel)}.learn-topbar>div:nth-child(2) span,.learn-topbar>div:nth-child(2) strong{display:block}.learn-topbar>div:nth-child(2) span{color:var(--text-faint);font-size:10px;font-weight:800;text-transform:uppercase}.learn-topbar>div:nth-child(2) strong{font-size:13px}.task-progress{align-items:center;display:flex;gap:12px}.task-progress>span{color:var(--text-soft);font-size:11px;white-space:nowrap}.task-progress>div{background:var(--line-soft);border-radius:10px;flex:1;height:4px;overflow:hidden}.task-progress i{background:var(--accent);display:block;height:100%}.workspace{display:grid;grid-template-columns:var(--left-width) 8px minmax(0,1fr);min-height:0}.lesson-pane{background:var(--panel);min-width:0;overflow:hidden}.lesson-scroll{height:100%;overflow-y:auto;padding:34px clamp(24px,3vw,44px) 80px}.lesson-scroll h1{font-size:clamp(27px,3vw,38px);margin-bottom:22px}.learning-objective{align-items:flex-start;background:var(--accent-soft);border:1px solid rgba(80,212,237,.28);border-radius:10px;display:flex;gap:11px;margin-bottom:26px;padding:14px}.learning-objective>svg{color:var(--accent);flex:0 0 auto;margin-top:2px}.learning-objective span{color:var(--accent);display:block;font-size:10px;font-weight:800;text-transform:uppercase}.learning-objective p{font-size:13px;margin:2px 0 0}.lesson-explanation{color:var(--text-soft);font-size:16px;line-height:1.72}.summary-toggle{align-items:center;background:transparent;border:0;color:var(--accent);cursor:pointer;display:flex;font-size:13px;font-weight:800;gap:5px;padding:0}.summary-toggle svg{transition:transform .18s}.summary-toggle svg.rotated{transform:rotate(180deg)}.summary-box{background:var(--bg-elevated);border-left:3px solid var(--accent);border-radius:4px 8px 8px 4px;margin-top:12px;padding:12px 14px}.code-example{background:var(--editor);border:1px solid var(--line);border-radius:11px;margin:26px 0;overflow:hidden}.code-example>div{align-items:center;background:#222627;border-bottom:1px solid #394043;color:#b8c2c6;display:flex;font-size:11px;justify-content:space-between;padding:8px 12px}:root[data-theme=light] .code-example{color:#eef2f3}.code-example pre{font-size:13px;line-height:1.65;margin:0;overflow-x:auto;padding:16px}.assignment{border-left:3px solid var(--accent);margin:34px 0;padding-left:20px}.assignment h2{font-size:19px;line-height:1.45}.assignment dl{display:grid;gap:8px;margin-bottom:0}.assignment dl>div{display:grid;gap:8px;grid-template-columns:64px 1fr}.assignment dt{color:var(--text-faint);font-size:11px;font-weight:800;text-transform:uppercase}.assignment dd{color:var(--text-soft);font-size:13px;margin:0}.public-example,.hints{border-top:1px solid var(--line-soft);margin-top:28px;padding-top:24px}.public-example h3,.hints h3{font-size:14px}.public-example>div{display:grid;gap:8px;grid-template-columns:1fr 1fr}.public-example pre,.output-grid pre{background:var(--bg);border:1px solid var(--line-soft);border-radius:8px;font-size:12px;margin:0;min-height:76px;overflow:auto;padding:30px 12px 12px;position:relative;white-space:pre-wrap}.public-example pre span,.output-grid pre span{color:var(--text-faint);font-family:var(--font-ui);font-size:9px;font-weight:800;left:12px;position:absolute;text-transform:uppercase;top:8px}.public-example>p{color:var(--text-faint);font-size:12px;margin:8px 0 0}.hints>p{color:var(--text-faint);font-size:13px}.hints>div{align-items:flex-start;background:var(--warning-soft);border:1px solid rgba(244,199,96,.25);border-radius:8px;display:flex;gap:10px;margin-top:8px;padding:11px}.hints>div svg{color:var(--warning);flex:0 0 auto}.hints>div strong{color:var(--warning);display:block;font-size:10px;text-transform:uppercase}.hints>div span{color:var(--text-soft);font-size:12px}.splitter{background:var(--line-soft);cursor:col-resize;display:flex;justify-content:center;position:relative}.splitter:hover,.splitter:focus{background:var(--accent)}.splitter span{background:var(--text-faint);border-radius:4px;height:42px;position:absolute;top:calc(50% - 21px);width:2px}.code-pane{background:var(--editor);display:grid;grid-template-rows:minmax(260px,62%) minmax(150px,38%);min-width:0}.editor-section{display:grid;grid-template-rows:38px minmax(0,1fr);min-height:0}.editor-loading{align-items:center;color:var(--text-soft);display:flex;gap:9px;height:100%;justify-content:center}.file-tab{align-items:center;background:var(--bg-elevated);border-bottom:1px solid var(--line-soft);display:flex;gap:9px;padding:0 14px}.file-tab strong{font-size:12px}.file-tab small{color:var(--text-faint);font-size:10px;margin-left:auto}.csharp-file{background:#68217a;border-radius:4px;color:#fff;font-size:9px;font-weight:800;padding:2px 4px}.result-panel{background:var(--bg-elevated);border-top:1px solid var(--line);display:grid;grid-template-rows:40px minmax(0,1fr);min-height:0}.result-tabs{align-items:end;border-bottom:1px solid var(--line-soft);display:flex;overflow-x:auto;padding:0 12px}.result-tabs button{background:transparent;border:0;border-bottom:2px solid transparent;color:var(--text-soft);cursor:pointer;font-size:11px;height:40px;padding:0 13px;position:relative;white-space:nowrap}.result-tabs button.active{border-bottom-color:var(--accent);color:var(--text)}.result-tabs button>span{border-radius:50%;height:6px;position:absolute;right:5px;top:9px;width:6px}.result-tabs button>span.success{background:var(--success)}.result-tabs button>span.error{background:var(--error)}.result-content{min-height:0;overflow:auto;padding:14px 18px}.stale-warning{align-items:center;background:var(--warning-soft);border-radius:7px;color:var(--warning);display:flex;font-size:11px;gap:8px;margin-bottom:10px;padding:8px 10px}.stdin-field{color:var(--text-soft);display:grid;font-size:11px;gap:6px}.stdin-field textarea{font-family:var(--font-code);min-height:90px;resize:vertical}.stdin-field small{color:var(--text-faint)}.empty-result{align-items:center;color:var(--text-faint);display:flex;flex-direction:column;height:100%;justify-content:center;min-height:100px;text-align:center}.empty-result svg{height:28px;margin-bottom:7px;width:28px}.empty-result p{color:var(--text-soft);font-weight:700;margin:0}.empty-result span{font-size:11px}.output-grid{display:grid;gap:10px}.output-grid.compare{grid-template-columns:1fr 1fr}.test-list{display:grid;gap:7px}.result-summary{align-items:center;border:1px solid;border-radius:8px;display:flex;gap:10px;margin-bottom:6px;padding:10px}.result-summary.success{background:var(--success-soft);border-color:var(--success);color:var(--success)}.result-summary.error{background:var(--error-soft);border-color:var(--error);color:var(--error)}.result-summary strong,.result-summary span{display:block}.result-summary span{color:var(--text-faint);font-size:9px}.test-row{align-items:center;background:var(--panel);border-radius:6px;display:grid;font-size:11px;gap:8px;grid-template-columns:auto 1fr auto;padding:7px 10px}.test-row>span:last-child{color:var(--text-faint)}.test-dot{border-radius:50%;height:7px;width:7px}.test-dot.success{background:var(--success)}.test-dot.error{background:var(--error)}.diagnostics{color:var(--error);font-size:11px;margin:0;white-space:pre-wrap}.action-bar{align-items:center;background:var(--panel);border-top:1px solid var(--line);display:flex;gap:16px;justify-content:space-between;padding:9px 18px;z-index:20}.action-buttons{align-items:center;display:flex;gap:8px}.action-bar button,.action-bar a{min-height:42px}.runner-offline,.action-error{align-items:center;color:var(--warning);display:flex;font-size:11px;gap:7px}.action-error{color:var(--error)}.mobile-workspace-tabs{display:none}.drawer-backdrop{background:#06090a99;inset:0;position:fixed;z-index:100}.tutor-drawer{background:var(--panel);border-left:1px solid var(--line);box-shadow:var(--shadow-lg);height:100%;margin-left:auto;max-width:480px;overflow-y:auto;padding:34px;width:92%}.tutor-drawer>svg{color:var(--accent);height:34px;margin-top:40px;width:34px}.tutor-drawer h2{font-size:28px}.tutor-drawer p:not(.eyebrow){color:var(--text-soft)}.tutor-data{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);display:grid;gap:7px;margin:18px 0;padding:14px}.tutor-data span,.tutor-data small{color:var(--text-soft);line-height:1.5}.tutor-question{display:grid;font-weight:700;gap:8px;margin-top:18px}.tutor-question textarea{min-height:110px;resize:vertical}.tutor-check{align-items:flex-start;color:var(--text-soft);display:flex;font-size:14px;gap:10px;line-height:1.45;margin-top:15px}.tutor-check input{flex:0 0 auto;min-height:auto;margin-top:3px}.tutor-check.consent{border-top:1px solid var(--line);color:var(--text);padding-top:15px}.tutor-answer{background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--radius-sm);margin-top:18px;padding:16px}.tutor-answer p{color:var(--text)!important;line-height:1.6;margin-bottom:0;white-space:pre-wrap}.tutor-actions{align-items:stretch;display:grid;gap:12px;margin-top:18px}.tutor-actions small{color:var(--text-soft);overflow-wrap:anywhere}.tutor-actions button{justify-content:center}.drawer-close{background:transparent;border:1px solid var(--line);border-radius:7px;cursor:pointer;float:right;padding:7px 11px}.quiz-page{display:grid;grid-template-rows:58px 4px minmax(0,1fr) 74px;min-height:100vh}.quiz-header{align-items:center;background:var(--bg-elevated);display:grid;gap:16px;grid-template-columns:auto 1fr auto;padding:8px 24px}.quiz-header>a{align-items:center;display:flex;height:38px;justify-content:center;width:38px}.quiz-header div span,.quiz-header div strong{display:block}.quiz-header div span{color:var(--text-faint);font-size:10px;text-transform:uppercase}.quiz-header>span{color:var(--text-soft);font-size:12px}.quiz-progress{background:var(--line-soft)}.quiz-progress span{background:var(--accent);display:block;height:100%}.quiz-stage{margin:0 auto;max-width:880px;overflow-y:auto;padding:clamp(42px,7vh,80px) 30px 50px;width:100%}.quiz-copy{text-align:center}.quiz-copy h1{font-size:clamp(28px,4vw,44px);margin:0 auto 28px;max-width:760px}.quiz-code{background:var(--editor);border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow-sm);color:#e9eff1;margin:0 auto 28px;max-width:640px;overflow-x:auto;padding:18px 22px;text-align:left}.answer-grid{display:grid;gap:12px}.answer-card{align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);cursor:pointer;display:grid;gap:14px;grid-template-columns:auto 1fr auto;min-height:72px;padding:15px 18px;text-align:left}.answer-card:hover:not(.correct):not(.wrong){border-color:var(--text-faint);transform:translateY(-1px)}.answer-card.selected{background:var(--accent-soft);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.answer-card.correct{background:var(--success-soft);border-color:var(--success)}.answer-card.wrong{background:var(--error-soft);border-color:var(--error)}.answer-index{align-items:center;background:var(--bg-elevated);border:1px solid var(--line);border-radius:8px;display:flex;font-weight:800;height:38px;justify-content:center;width:38px}.answer-indicator{color:var(--text-faint)}.answer-card.selected .answer-indicator{color:var(--accent)}.answer-card.correct .answer-indicator{color:var(--success)}.answer-card small{color:var(--text-soft);grid-column:2 / 4}.quiz-feedback{align-items:flex-start;border:1px solid;border-radius:var(--radius-md);display:flex;gap:14px;margin-top:22px;padding:17px}.quiz-feedback.success{background:var(--success-soft);border-color:var(--success)}.quiz-feedback.error{background:var(--error-soft);border-color:var(--error)}.quiz-feedback>svg{flex:0 0 auto}.quiz-feedback.success>svg{color:var(--success)}.quiz-feedback.error>svg{color:var(--error)}.quiz-feedback p{color:var(--text-soft);margin:4px 0 0}.quiz-actions{align-items:center;background:var(--panel);border-top:1px solid var(--line);display:flex;justify-content:space-between;padding:13px max(24px,calc((100vw - 820px)/2))}.quiz-actions>span{color:var(--text-faint);font-size:12px}.placeholder-page{align-items:center;display:flex;flex-direction:column;margin:0 auto;max-width:680px;min-height:75vh;padding:80px 28px;text-align:center}.placeholder-page .placeholder-icon{height:58px;margin-bottom:24px;width:58px}.placeholder-page h1{font-size:40px}.placeholder-page>p:last-child{color:var(--text-soft)}.settings-page{margin:0 auto;max-width:1220px;padding-bottom:60px}.settings-page .page-header{padding-left:0;padding-right:0}.settings-grid{display:grid;gap:18px;grid-template-columns:repeat(3,1fr)}.settings-card{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius-md);padding:22px}.settings-card h2{font-size:18px}.settings-card p{color:var(--text-soft)}.settings-card label+label{margin-top:16px}.settings-card select{width:100%}.settings-card small{display:block;margin-top:14px}.settings-page>.inline-message{margin-top:16px}.settings-save{margin-top:22px}@media(max-width:1180px){.path-layout{grid-template-columns:minmax(480px,800px)}.path-sidebar{display:grid;grid-template-columns:repeat(3,1fr);grid-row:1}.path-sidebar .continue-card{grid-column:span 2}.path-sidebar .goal-summary{grid-column:span 3}.learning-path,.chapter-list{grid-row:2}.settings-page{padding-left:36px;padding-right:36px}}@media(max-width:900px){.auth-layout{grid-template-columns:1fr}.auth-story{min-height:auto;padding:54px 32px 34px}.auth-story h1{font-size:42px}.feature-list{display:none}.auth-panel{margin:0 auto 50px;width:calc(100% - 40px)}.goal-grid,.settings-grid{grid-template-columns:1fr}.action-bar{align-items:flex-start;flex-direction:column;gap:5px;padding:6px 10px}.learn-page{grid-template-rows:58px minmax(0,1fr) 92px}.action-buttons{overflow-x:auto;width:100%}.action-buttons>*{flex:0 0 auto}}@media(max-width:760px){.app-shell{display:block;padding-bottom:64px}.side-nav{align-items:center;border-right:0;border-top:1px solid var(--line);flex-direction:row;height:64px;inset:auto 0 0;padding:5px 6px;width:100%}.side-brand,.side-actions{display:none}.side-nav nav{display:grid;grid-template-columns:repeat(6,1fr);margin:0;width:100%}.side-nav nav a{font-size:8px;min-height:52px;padding:3px}.side-nav nav a svg{height:17px;width:17px}.shell-content{width:100%}.page-header{align-items:flex-start;flex-direction:column;padding:28px 20px 20px}.page-header h1{font-size:30px}.path-layout{display:block;padding:0 14px 30px}.path-sidebar{display:grid;grid-template-columns:1fr 1fr;margin-bottom:16px}.path-sidebar .continue-card,.path-sidebar .goal-summary{grid-column:span 2}.path-sidebar .stat-card:nth-of-type(4){display:none}.learning-path,.chapter-list{min-height:0;padding:26px 18px 50px}.path-node{transform:none;width:250px}.node-shape{height:65px;width:72px}.chapter+.chapter{margin-top:46px}.onboarding>header{padding:16px 20px}.onboarding-card{margin-top:36px;padding:0 20px}.onboarding-card>h1{font-size:34px}.goal-card{min-height:0}.time-grid{gap:8px}.time-card{padding:20px 5px}.time-card strong{font-size:30px}.time-card span{font-size:11px}.desktop-choice{align-items:flex-start;flex-direction:column;gap:8px}.desktop-choice span{margin:0}.learn-page{grid-template-rows:54px 43px minmax(0,1fr) 122px;height:calc(100dvh - 64px)}.learn-topbar{grid-template-columns:auto 1fr auto;padding:7px 10px}.task-progress{display:none}.mobile-workspace-tabs{background:var(--bg-elevated);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr)}.mobile-workspace-tabs button{background:transparent;border:0;border-bottom:2px solid transparent;color:var(--text-soft)}.mobile-workspace-tabs button.active{border-bottom-color:var(--accent);color:var(--accent);font-weight:800}.workspace{display:block;min-height:0;overflow:hidden}.lesson-pane,.code-pane,.editor-section,.result-panel{display:none;height:100%}.lesson-pane.mobile-active{display:block}.code-pane.mobile-active{background:var(--editor)}.code-pane.mobile-active:has(.editor-section.mobile-active){display:block}.code-pane.mobile-active:has(.result-panel.mobile-active){display:block}.editor-section.mobile-active{display:grid;grid-template-rows:38px minmax(0,1fr)}.result-panel.mobile-active{display:grid;grid-template-rows:40px minmax(0,1fr)}.splitter{display:none}.lesson-scroll{padding:26px 20px 70px}.action-bar{background:var(--panel);flex-direction:column;padding:6px 8px}.runner-offline{font-size:9px}.action-buttons{display:grid;grid-template-columns:repeat(4,auto);justify-content:start}.action-buttons button,.action-buttons a{font-size:11px;padding:8px 10px}.action-buttons .success-button{grid-column:auto}.output-grid.compare,.public-example>div{grid-template-columns:1fr}.quiz-page{grid-template-rows:54px 4px minmax(0,1fr) 92px}.quiz-header{padding:8px 12px}.quiz-stage{padding:32px 16px}.quiz-copy h1{font-size:27px}.answer-card{padding:13px}.quiz-actions{align-items:stretch;flex-direction:column;gap:8px;padding:10px 14px}.quiz-actions .primary{width:100%}.settings-page{padding:0 16px 40px}.settings-page .page-header{padding-left:0;padding-right:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--bg: #232526;--bg-elevated: #27292b;--panel: #2b2d2f;--panel-strong: #323537;--editor: #1e1e1e;--line: #464a4d;--line-soft: #373b3e;--text-soft: #bbc3c8;--text-faint: #a0aab0;--accent: #45c9e8;--font-ui: "Segoe UI", system-ui, sans-serif;--radius-lg: 16px}:root[data-theme=light]{--bg: #f4f6f8;--bg-elevated: #eaf0f3;--panel: #ffffff;--panel-strong: #e4ebef;--editor: #f8fafb;--line: #bac8d0;--line-soft: #d6dfe4;--text-soft: #485c67;--text-faint: #5d717c;--accent: #087f9b}.page-header{max-width:1140px;padding:36px 28px 26px;align-items:center}.page-header h1{font-size:28px;font-weight:650;letter-spacing:-.025em}.page-header p:last-child{font-size:14px}.eyebrow{font-size:10px;letter-spacing:.12em;font-weight:700}.side-nav{background:var(--bg)}.side-nav nav{gap:9px}.side-nav nav a{border:1px solid transparent;font-size:11px}.side-nav nav a.active{border-color:color-mix(in srgb,var(--accent) 18%,transparent)}.path-layout{max-width:1140px;margin:auto;grid-template-columns:minmax(0,1fr) 292px;gap:48px;padding:0 28px 80px}.learning-path{background:none;border:0;border-radius:0;box-shadow:none;padding:14px 0 60px;overflow:visible}.learning-path .chapter-heading{position:relative;gap:12px;margin-bottom:34px}.learning-path .chapter-heading:before,.learning-path .chapter-heading:after{content:"";height:1px;background:var(--line);flex:1}.learning-path .chapter-heading>span{height:28px;width:28px;border:0;background:var(--panel-strong);color:var(--text-soft);font-size:11px}.learning-path .chapter-heading p{display:none}.learning-path .chapter-heading h2{font-size:17px;color:var(--text-soft);font-weight:600}.learning-path .chapter+.chapter{margin-top:40px}.learning-path .nodes{gap:0}.learning-path .nodes:before{display:none}.path-connections{position:absolute;left:calc(50% - 169px);top:0;width:104px;height:100%;overflow:visible;pointer-events:none}.path-connections path{fill:none;stroke:var(--line-soft);stroke-width:8px;vector-effect:non-scaling-stroke;stroke-linecap:round}.learning-path .path-node{width:310px;height:124px;align-items:flex-start;gap:22px;padding-top:0}.learning-path .node-shape{margin-top:0}.learning-path .node-copy{padding-top:18px}.node-copy>strong{font-weight:600;font-size:14px;line-height:1.5;margin-bottom:5px}.node-shape{position:relative;isolation:isolate;width:76px;height:78px;background:none!important;border:0!important;clip-path:none;box-shadow:none!important}.node-shape:before,.node-shape:after{content:"";position:absolute;inset:0 0 10px;clip-path:polygon(50% 0,94% 23%,94% 76%,50% 100%,6% 76%,6% 23%);z-index:-1}.node-shape:before{background:var(--line);transform:translateY(9px)}.node-shape:after{background:var(--panel-strong);box-shadow:inset 0 0 0 2px var(--line)}.node-shape>span{width:51px;height:43px;margin-bottom:10px;border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--text-soft);font-size:19px}.path-node.recommended .node-shape:before{background:#096b8b}.path-node.recommended .node-shape:after{background:#169ec6}.path-node.recommended .node-shape>span{background:#178eb1;border-color:#6adaf1;color:#ecfbff}.path-node.completed .node-shape:after,.path-node.solid .node-shape:after{background:var(--success-soft)}.path-node.locked{opacity:1;filter:none}.path-node.locked .node-copy>strong{color:var(--text-soft)}.path-node.locked .status-badge{color:var(--text-faint)}.path-node.locked .node-shape>span{color:var(--text-faint)}.status-badge{font-size:9px;font-weight:600;letter-spacing:.02em}.path-sidebar{gap:14px}.continue-card,.stat-card,.goal-summary{border-radius:12px;box-shadow:none;padding:20px}.continue-card{border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}.continue-card .card-icon{width:34px;height:34px;float:right}.continue-card h2{font-size:18px;font-weight:600}.stat-card>strong{font-size:26px}.stat-title{font-size:11px}.primary{font-weight:600}.lesson-pane{background:var(--bg)}.lesson-scroll{padding:28px 28px 60px}.lesson-scroll h1{font-size:27px;font-weight:650;margin-bottom:20px}.learning-objective{background:transparent;border:0;border-left:2px solid var(--accent);border-radius:0;padding:4px 0 4px 14px;gap:10px}.lesson-explanation{font-size:15px;line-height:1.7}.assignment{padding-left:16px;margin:28px 0}.code-example,.public-example pre{border-radius:6px}.workspace{grid-template-columns:var(--left-width) 5px minmax(0,1fr)}.code-pane{grid-template-rows:minmax(260px,72%) minmax(150px,28%)}.action-bar{background:var(--bg-elevated)}.quiz-page,.quiz-header{background:var(--bg)}.quiz-progress{margin:0 auto;max-width:760px;width:calc(100% - 48px);border-radius:10px;overflow:hidden}.quiz-stage{max-width:760px;padding-top:56px}.quiz-copy{text-align:left}.quiz-copy h1{font-size:25px;line-height:1.4;font-weight:600;margin-bottom:24px}.quiz-code{max-width:none;color:var(--text);border-radius:7px;box-shadow:none}.answer-card{border:1px solid var(--line);border-bottom-width:4px;border-radius:11px;min-height:65px;padding:12px 16px}.answer-index{width:28px;height:28px;border:0;border-radius:5px;font-size:12px;color:var(--text-soft)}.answer-card.selected{border-color:var(--accent);box-shadow:none}.quiz-actions{background:var(--bg);border:0;width:100%;max-width:760px;margin:auto;padding:12px 30px 22px;gap:20px}.quiz-actions .primary{min-width:200px}:root[data-theme=light] .code-example{color:var(--text)}@media(max-width:1180px)and (min-width:761px){.path-layout{grid-template-columns:minmax(0,1fr) 250px;gap:24px}.path-sidebar{display:flex;flex-direction:column;grid-row:auto}.learning-path,.chapter-list{grid-row:auto}.learning-path .path-node{transform:translate(calc(var(--offset) * 36px));width:270px}.path-connections{left:calc(50% - 133px);width:72px}}@media(max-width:760px){.side-nav nav{gap:0}.side-nav nav a{font-size:8px;min-width:0;padding:3px 0}.action-buttons button{white-space:nowrap}.page-header{padding:26px 20px 20px;gap:18px;align-items:flex-start}.page-header h1{font-size:26px}.path-layout{display:flex;flex-direction:column;padding:0 20px 36px;gap:24px}.path-sidebar{order:-1;display:grid;grid-template-columns:1fr 1fr;margin:0}.path-sidebar .stat-card,.path-sidebar .goal-summary{display:none}.path-sidebar .continue-card{grid-column:1 / -1}.learning-path{padding:4px 0 30px;width:100%}.learning-path .path-node{width:264px;transform:translate(calc(var(--offset) * 18px));gap:16px}.path-connections{left:calc(50% - 112px);width:36px}.node-shape{width:76px;height:78px}.workspace{display:block}.lesson-scroll{padding:24px 20px 48px}.quiz-page{min-height:calc(100dvh - 64px)}.quiz-stage{padding:30px 20px}.quiz-copy h1{font-size:23px}.quiz-actions{padding:10px 20px 18px}.quiz-actions .primary{width:100%}}:root{--ease-out: cubic-bezier(.22, 1, .36, 1);--motion-fast: .18s;--motion-enter: .55s}.completion-button{margin-left:auto;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--text);padding:4px 8px;font-size:11px;cursor:pointer;white-space:nowrap}.completion-button kbd{color:var(--accent);margin-left:4px}@media(max-width:760px){.file-tab small{display:none}}.path-page{background:radial-gradient(ellipse at 35% 0%,var(--accent-soft),transparent 45%)}.path-page .page-header{padding-top:48px;padding-bottom:38px}.path-page .page-header h1{font-size:clamp(27px,2.5vw,36px);letter-spacing:-.035em}.learning-path .chapter{border:1px solid var(--line-soft);border-radius:24px;background:color-mix(in srgb,var(--panel) 72%,transparent);padding:26px 22px 4px;position:relative;box-shadow:0 16px 38px #0000000d,inset 0 1px #ffffff05}.learning-path .chapter.current-chapter{border-color:color-mix(in srgb,var(--accent) 32%,var(--line-soft));background:radial-gradient(ellipse at 30% 20%,var(--accent-soft),transparent 64%),var(--panel)}.learning-path .chapter+.chapter{margin-top:28px}.learning-path .chapter-heading{justify-content:flex-start;margin-bottom:32px;gap:13px}.learning-path .chapter-heading:before,.learning-path .chapter-heading:after{display:none}.learning-path .chapter-heading>span{width:40px;height:40px;border-radius:12px;background:var(--bg);border:1px solid var(--line)}.learning-path .current-chapter .chapter-heading>span{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.learning-path .chapter-heading p{display:block;font-size:9px;margin-bottom:2px}.learning-path .chapter-heading h2{color:var(--text);font-size:19px}.chapter-count{margin-left:auto;color:var(--text-soft);border:1px solid var(--line-soft);background:var(--bg);padding:4px 10px;border-radius:20px;font-variant-numeric:tabular-nums}.learning-path .node-copy{padding:13px 12px;border:1px solid transparent;border-radius:12px;transition:background var(--motion-fast),border-color var(--motion-fast)}.learning-path .path-node.recommended .node-copy{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 20%,transparent)}.learning-path .node-copy>strong{font-size:14px;line-height:1.45}.node-shape{filter:drop-shadow(0 7px 5px #00000026);transition:transform .3s var(--ease-out),filter .3s}.node-shape:after{background:linear-gradient(150deg,color-mix(in srgb,var(--panel-strong) 80%,white),var(--panel-strong) 58%)}.node-shape>span{box-shadow:inset 0 1px #ffffff14}.path-node.recommended .node-shape:after{background:linear-gradient(145deg,#83ecf5,#17a5cd 58%,#0873a1)}.path-node.recommended .node-shape:before{background:#075874}.path-node.recommended .node-shape>span{background:#117d9f;border-color:#97eff4;box-shadow:inset 0 1px #fff4}.path-node.recommended .node-shape{animation:node-breathe 3.5s ease-in-out infinite}.path-node.locked .node-shape{filter:drop-shadow(0 4px 3px #00000018)}.path-connections path{stroke-width:5px;stroke:color-mix(in srgb,var(--line) 80%,var(--bg))}.path-node:not([aria-disabled=true]):hover .node-copy{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.path-node:not([aria-disabled=true]):hover .node-shape{animation-play-state:paused;transform:translateY(-6px) rotate(-4deg);filter:drop-shadow(0 10px 10px #00000030)}.path-node:not([aria-disabled=true]):active .node-shape{transform:translateY(3px) scale(.96)}.continue-card{background:radial-gradient(circle at 100% 0%,var(--accent-soft),transparent 65%),var(--panel);box-shadow:inset 0 1px #ffffff09,0 12px 32px #00000010}.continue-card .card-icon{border:1px solid color-mix(in srgb,var(--accent) 25%,transparent)}.continue-card .primary{box-shadow:0 3px color-mix(in srgb,var(--accent) 50%,black)}.stat-card,.goal-summary{transition:border-color .2s,translate .3s var(--ease-out)}.stat-card:hover,.goal-summary:hover{border-color:var(--line);translate:0 -3px}.sound-toggle{position:fixed;right:20px;top:10px;z-index:60;display:flex;align-items:center;gap:7px;height:29px;padding:0 10px;border:1px solid var(--line);border-radius:20px;background:var(--bg-elevated);color:var(--text-soft);font-size:10px;cursor:pointer;box-shadow:0 2px 8px #00000015}.sound-toggle svg{width:13px;height:13px}.sound-toggle[aria-pressed=true]{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.app-shell:has(.learn-page) .sound-toggle,.app-shell:has(.quiz-page) .sound-toggle{inset:auto auto 190px 8px;width:72px;padding:0 5px;font-size:9px}.primary,.secondary,.icon-button,.answer-card,.choice,.goal-card,.time-card,.side-nav nav a{transition:transform .22s var(--ease-out),box-shadow .22s,background .2s,border-color .2s}.primary:not(:disabled):active,.secondary:not(:disabled):active,.icon-button:active,.answer-card:active{transform:translateY(2px) scale(.98)}.primary:not(:disabled):hover{box-shadow:0 5px 20px var(--accent-soft)}.side-nav nav a:hover{background:var(--accent-soft)}.side-nav nav a svg{transition:transform .3s var(--ease-out)}.side-nav nav a:hover svg{transform:translateY(-2px)}.meter span,.quiz-progress span,.task-progress i{transition:width .7s var(--ease-out)}.page-header,.quiz-copy,.lesson-scroll>h1{animation:enter-up var(--motion-enter) var(--ease-out) both}.learning-path .chapter,.chapter-list .chapter,.path-sidebar>section{animation:enter-up .65s var(--ease-out) both}.path-sidebar>section:nth-child(2),.chapter:nth-child(2){animation-delay:70ms}.path-sidebar>section:nth-child(3),.chapter:nth-child(3){animation-delay:.13s}.path-sidebar>section:nth-child(4),.chapter:nth-child(4){animation-delay:.19s}.answer-card{animation:enter-up .45s var(--ease-out) both}.answer-card:nth-child(2){animation-delay:65ms}.answer-card:nth-child(3){animation-delay:.13s}.answer-card:nth-child(4){animation-delay:195ms}.quiz-feedback,.result-summary,.summary-box,.hints>div,.output-grid{animation:enter-up .4s var(--ease-out) both}.quiz-feedback.success,.result-summary.success{box-shadow:0 0 28px var(--success-soft)}.quiz-feedback.success>svg{animation:success-pop .6s var(--ease-out)}.tutor-drawer{animation:drawer-in .35s var(--ease-out)}.drawer-backdrop{animation:fade-in .2s ease}@keyframes enter-up{0%{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes drawer-in{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes success-pop{0%{transform:scale(.6)}60%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes node-breathe{0%,to{filter:drop-shadow(0 6px 8px #10bde51a)}50%{filter:drop-shadow(0 6px 16px #10bde54d)}}@media(max-width:1180px)and (min-width:761px){.learning-path .chapter{padding-inline:12px}}@media(max-width:760px){.path-page .page-header{padding-top:52px;padding-bottom:22px}.learning-path .chapter{padding:20px 8px 0;border-radius:18px}.learning-path .chapter-heading{margin-inline:8px}.learning-path .node-copy{padding:12px 5px}.sound-toggle{right:14px}.app-shell:has(.learn-page) .sound-toggle,.app-shell:has(.quiz-page) .sound-toggle{inset:12px 60px auto auto;width:30px;justify-content:center}.app-shell:has(.learn-page) .sound-toggle span,.app-shell:has(.quiz-page) .sound-toggle span{display:none}.learn-topbar>div:nth-child(2){min-width:0;margin-right:30px}.learn-topbar>div:nth-child(2) strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.action-buttons{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.action-buttons button,.action-buttons a{min-width:0;justify-content:center}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
