:root{--color-paper:#fff;--color-paper-2:#f7f8fa;--color-ink:#111318;--color-ink-2:#20242c;--color-ink-3:#7a818d;--color-ink-4:#a2a8b2;--color-accent:#4f6bff;--color-accent-deep:#3d56e0;--color-accent-soft:#4f6bff14;--color-rule:#e7eaf0;--color-rule-2:#eef0f4;--color-focus:#4f6bff;--node-color-1:#4d5562;--node-color-2:#4f6bff;--node-color-3:#5a6370;--node-color-4:#6b7d94;--node-color-5:#6b5ce0;--node-color-6:#3f8499;--node-color-7:#7c8696;--node-color-8:#527094;--font-sans:"Noto Sans SC", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono:ui-monospace, "SF Mono", "JetBrains Mono", Consolas, monospace;--font-display:var(--font-sans);--font-body:var(--font-sans);--text-xs:.75rem;--text-sm:.8125rem;--text-base:.9375rem;--text-lg:1.0625rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:2.25rem;--text-display:2.75rem;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--ease-out:cubic-bezier(.16, 1, .3, 1);--dur-fast:.15s;--dur-mid:.3s;--rule-hair:1px solid var(--color-rule)}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0;overflow-x:clip}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--color-paper);min-height:100svh;color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-base);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}#root{min-height:100svh}h1,h2,h3,h4{font-family:var(--font-display);color:var(--color-ink);letter-spacing:-.01em;margin:0;font-weight:600;line-height:1.25}h1{font-size:var(--text-2xl);letter-spacing:-.02em}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}p{margin:0}a{color:var(--color-accent);transition:color var(--dur-fast) var(--ease-out);text-decoration:none}a:hover{text-underline-offset:2px;text-decoration:underline}button{font-family:inherit;font-size:inherit;cursor:pointer}input,textarea,button,select{font-family:inherit;font-size:inherit;color:inherit}textarea{resize:vertical}ul,ol{margin:0;padding:0;list-style:none}img,svg{max-width:100%;display:block}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:none}::selection{background:var(--color-accent-soft);color:var(--color-ink)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}:not(.kn-node){transition-duration:.01ms!important}}.landing{color:#111827;background:#f8f9fc;min-height:100svh;overflow-x:clip}.landing--brand{background:#fff;flex-direction:column;display:flex}.landing-nav{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe6;border-bottom:1px solid #e8eaf0;justify-content:space-between;align-items:center;gap:24px;height:68px;padding:0 max(24px,50vw - 560px);display:flex;position:sticky;top:0}.landing-nav-brand{color:#111827;align-items:baseline;gap:10px;text-decoration:none;display:flex}.landing-nav-brand:hover,.landing-nav-links a:hover{text-decoration:none}.landing-nav-name{font-size:15px;font-weight:700}.landing-nav-sub{color:#6b7280;font-size:12px}.landing-nav-links{align-items:center;gap:24px;display:flex}.landing-nav-links a,.landing-nav-link{color:#4b5563;font-size:14px}.landing-nav-link{appearance:none;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.landing-nav-link:hover,.landing-nav-link.is-active{color:#4f6bff}.landing-panel{z-index:30;background:#fff;border:1px solid #e3e7ef;border-radius:16px;width:min(420px,100vw - 32px);padding:24px;position:fixed;top:76px;right:max(24px,50vw - 560px);box-shadow:0 18px 45px #10182824}.landing-panel-body{flex-direction:column;gap:16px;display:flex}.landing-panel-title{font-size:18px}.landing-panel-steps,.landing-panel-notes{color:#667085;flex-direction:column;gap:8px;padding-left:18px;font-size:14px;line-height:1.65;display:flex}.landing-panel-steps strong{color:#111827;margin-right:6px}.landing-main{flex:auto;width:100%;min-height:0;position:relative}.kn-canvas{width:100%;height:100%;min-height:calc(100svh - 128px);position:relative;overflow:hidden}.kn-node{z-index:1;cursor:pointer;font-family:var(--font-sans);letter-spacing:.01em;white-space:nowrap;-webkit-user-select:none;user-select:none;will-change:opacity;background:0 0;border:0;margin:0;padding:0;font-weight:400;display:inline;position:absolute;top:0;left:0}.kn-node:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px;border-radius:2px}.kn-node-label{pointer-events:none}.kn-node--sm{font-size:17px}.kn-node--md{font-size:22px}.kn-node--lg{font-size:28px;font-weight:500}.kn-node.is-hovered{color:var(--color-ink)!important;opacity:1!important}.kn-center{z-index:5;pointer-events:none;flex-direction:column;align-items:center;gap:32px;width:min(820px,100vw - 48px);display:flex;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%)}.kn-center>*{pointer-events:auto}.kn-center-headline{text-align:center;flex-direction:column;display:flex}.kn-title{color:var(--color-ink);font-family:var(--font-sans);letter-spacing:-.025em;margin:0;font-size:clamp(32px,4vw,52px);font-weight:580;line-height:1.2}.kn-search{border:1px solid var(--color-rule);border-radius:var(--radius-xl);background:var(--color-paper);align-items:center;width:100%;height:76px;display:flex;overflow:hidden;box-shadow:0 8px 32px #0f172a0f}.kn-search:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 4px #4f6bff14,0 12px 36px #0f172a14}.kn-search-input{min-width:0;height:100%;color:var(--color-ink);font-family:var(--font-sans);background:0 0;border:0;outline:0;flex:auto;padding:0 24px;font-size:18px}.kn-search-input::placeholder{color:var(--color-ink-4)}.kn-search-submit{border-radius:var(--radius-lg);background:var(--color-accent);color:#fff;cursor:pointer;font-family:var(--font-sans);white-space:nowrap;border:0;flex:none;margin:6px;padding:14px 28px;font-size:15px;font-weight:500}.kn-search-submit:hover{background:var(--color-accent-deep)}.kn-search-submit:active{transform:scale(.98)}.kn-mode-badge{border:1px solid var(--color-rule-2);color:var(--color-ink-4);font-family:var(--font-mono);letter-spacing:.06em;border-radius:999px;margin:0;padding:4px 10px;font-size:11px}.learning-home{width:min(100% - 40px,1120px);margin:0 auto;padding:54px 0 80px}.learning-hero{justify-content:space-between;align-items:flex-end;gap:40px;padding:18px 4px 42px;display:flex}.learning-eyebrow,.section-kicker{color:#4f6bff;letter-spacing:.06em;margin-bottom:8px;font-size:13px;font-weight:700}.learning-hero h1{letter-spacing:-.04em;font-size:clamp(34px,5vw,52px)}.learning-hero-copy{color:#667085;max-width:610px;margin-top:14px;font-size:17px}.learning-stats{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.learning-stats span{color:#475467;white-space:nowrap;background:#fff;border:1px solid #e3e7ef;border-radius:999px;padding:9px 13px;font-size:13px}.continue-card{background:#fff;border:1px solid #e3e7ef;border-radius:22px;justify-content:space-between;align-items:flex-end;gap:30px;padding:30px;display:flex;box-shadow:0 8px 24px #1018280b}.continue-card h2{font-size:28px}.continue-domain{color:#4f6bff;margin-top:5px;font-size:13px;font-weight:600}.continue-goal{color:#667085;margin-top:12px}.button-primary,.button-secondary{white-space:nowrap;border:1px solid #0000;border-radius:12px;min-height:44px;padding:12px 18px;font-weight:650}.button-primary{color:#fff;background:#4f6bff}.button-primary:hover{background:#3f56dc}.button-secondary{color:#344054;background:#fff;border-color:#d8dce5}.path-section,.free-learning{background:#fff;border:1px solid #e3e7ef;border-radius:22px;margin-top:34px;padding:32px}.section-heading{justify-content:space-between;align-items:flex-start;gap:30px;display:flex}.section-heading h2,.free-learning h2{font-size:25px}.section-heading>div>p:last-child,.free-learning>div>p:last-child{color:#7a8496;margin-top:8px;font-size:14px}.domain-tabs{background:#f2f4f7;border-radius:12px;flex-wrap:wrap;gap:6px;padding:4px;display:flex}.domain-tabs button{color:#667085;background:0 0;border:0;border-radius:9px;min-height:38px;padding:7px 12px;font-size:13px}.domain-tabs button.is-active{color:#243bba;background:#fff;font-weight:650;box-shadow:0 1px 4px #10182817}.concept-path-wrap{grid-template-columns:minmax(380px,680px) minmax(250px,1fr);align-items:center;gap:34px;margin-top:24px;display:grid}.concept-path-wrap:not(:has(.concept-detail)){grid-template-columns:minmax(380px,760px);justify-content:center}.concept-path{width:min(100%,700px);margin:0 auto;padding:8px 54px}.concept-path-step{justify-content:center;align-items:center;min-height:86px;display:flex;position:relative}.concept-path-step--0{transform:translate(-12%)}.concept-path-step--2{transform:translate(12%)}.concept-path-connector{background:#dfe3ea;width:2px;height:32px;position:absolute;top:-16px;left:50%;transform:translate(-50%)}.concept-node{z-index:2;text-align:left;background:#fff;border:1px solid #dce1e9;border-radius:999px;align-items:center;gap:14px;min-width:220px;min-height:68px;padding:9px 20px 9px 9px;display:flex;position:relative;box-shadow:0 3px 10px #1018280d}.concept-node-mark{color:#667085;border:1px solid #d9dee8;border-radius:50%;flex:0 0 48px;place-items:center;width:48px;height:48px;font-weight:700;display:grid}.concept-node-copy{flex-direction:column;gap:1px;display:flex}.concept-node-copy strong{font-size:15px}.concept-node-copy small{color:#8a94a6;font-size:11px}.concept-node.is-current{border-color:#4f6bff;box-shadow:0 0 0 4px #4f6bff1a,0 5px 16px #4f6bff24}.concept-node.is-current .concept-node-mark{color:#fff;background:#4f6bff;border-color:#4f6bff}.concept-node.is-completed .concept-node-mark{color:#3651df;background:#edf2ff;border-color:#9aabff}.concept-node.is-recommended_locked{box-shadow:none;background:#f8f9fb;border-style:dashed}.concept-node.is-recommended_locked .concept-node-copy{opacity:.63}.concept-detail{background:#f8f9fc;border:1px solid #e2e6ed;border-radius:18px;padding:24px;animation:.35s ease-out detail-in;position:relative}.concept-detail-close{color:#98a2b3;background:0 0;border:0;font-size:20px;position:absolute;top:10px;right:12px}.concept-detail-state{color:#4f6bff;font-size:12px;font-weight:700}.concept-detail h3{margin-top:5px}.concept-detail>p:not(.concept-detail-state){color:#667085;margin-top:9px;font-size:14px}.concept-detail-hint{background:#fff;border-radius:10px;padding:10px 12px}.concept-detail-actions{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.concept-detail-related{font-size:12px!important}.path-complete{color:#3449b8;text-align:center;background:#f0f3ff;border-radius:12px;margin-top:20px;padding:14px}.free-learning{grid-template-columns:.7fr 1.3fr;align-items:center;gap:30px;display:grid}.free-search{gap:10px;display:flex}.free-search input{background:#fff;border:1px solid #d8dce5;border-radius:12px;outline:0;width:100%;min-width:0;min-height:48px;padding:0 16px}.free-search input:focus{border-color:#4f6bff;box-shadow:0 0 0 4px #4f6bff1a}.other-concepts{color:#667085;border-top:1px solid #edf0f4;grid-column:1/-1;padding-top:20px;font-size:13px}.other-concepts div{flex-wrap:wrap;gap:8px;margin-top:9px;display:flex}.other-concepts button{color:#475467;background:#fff;border:1px solid #dfe3ea;border-radius:999px;padding:7px 11px}.landing-footer{color:#98a2b3;text-align:center;justify-content:center;gap:18px;padding:28px 20px;font-size:12px;display:flex}.landing-footer-link{color:#667085}@keyframes detail-in{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@media (width<=760px){.landing-nav{height:60px;padding:0 18px}.landing-nav-sub{display:none}.landing-nav-links{gap:14px}.landing-nav-links>a:not(.landing-nav-link){display:none}.landing-nav-link{font-size:12px}.landing-panel{top:68px;right:16px}.kn-canvas{min-height:calc(100svh - 112px)}.kn-center{gap:24px;width:min(680px,100vw - 28px);top:42%}.kn-search{height:64px}.kn-search-input{padding:0 16px;font-size:16px}.kn-search-submit{padding:12px 16px}.learning-home{width:min(100% - 28px,1120px);padding-top:30px}.learning-hero,.continue-card,.section-heading{flex-direction:column;align-items:stretch}.learning-stats{justify-content:flex-start}.continue-card .button-primary{width:100%}.path-section,.free-learning{padding:22px 16px}:is(.concept-path-wrap,.concept-path-wrap:not(:has(.concept-detail))){grid-template-columns:1fr;gap:20px}.concept-path{padding:8px 12px}.concept-path-step--0{transform:translate(-8%)}.concept-path-step--2{transform:translate(8%)}.concept-node{min-width:194px}.free-learning{grid-template-columns:1fr}.free-search{flex-direction:column}.free-search .button-primary{width:100%}}.beta-feedback{background:#fff;border:1px solid #e7eaf0;border-radius:20px;margin-top:28px;padding:24px;box-shadow:0 12px 36px #0f172a0d}.beta-feedback-eyebrow{color:#6d77a8;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:600;display:inline-block}.beta-feedback h3{color:#111318;margin:0;font-size:20px;font-weight:600;line-height:1.45}.beta-feedback-intro,.beta-feedback--thanks p{color:#7a818d;margin:10px 0 0;font-size:14px;line-height:1.7}.beta-feedback-question{margin-top:22px}.beta-feedback-question>p{color:#20242c;margin:0 0 10px;font-size:15px;line-height:1.65}.beta-feedback-choices{flex-wrap:wrap;gap:8px;display:flex}.beta-feedback-choice{color:#626a76;min-height:38px;font:inherit;cursor:pointer;background:#fff;border:1px solid #e7eaf0;border-radius:12px;padding:8px 13px;font-size:13px;transition:border-color .14s,background .14s,color .14s}.beta-feedback-choice:hover{color:#314ac8;border-color:#bdc7ff}.beta-feedback-choice.is-selected{color:#314ac8;background:#f4f6ff;border-color:#8ea0ff}.beta-feedback-choice:focus-visible,.beta-feedback-primary:focus-visible,.beta-feedback-secondary:focus-visible{outline-offset:2px;outline:3px solid #4f6bff2e}.beta-feedback-actions{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.beta-feedback-primary,.beta-feedback-secondary{min-height:42px;font:inherit;cursor:pointer;border-radius:13px;padding:9px 15px;font-size:14px;font-weight:550}.beta-feedback-primary{color:#fff;background:#4f6bff;border:1px solid #4f6bff}.beta-feedback-primary:disabled{cursor:not-allowed;background:#cbd1dc;border-color:#cbd1dc}.beta-feedback-secondary{color:#7a818d;background:#fff;border:1px solid #e7eaf0}.beta-feedback--thanks{text-align:left}@media (width<=520px){.beta-feedback{border-radius:16px;padding:20px 16px}.beta-feedback-choices{grid-template-columns:1fr;display:grid}.beta-feedback-choice,.beta-feedback-primary,.beta-feedback-secondary{width:100%}}.mode-badge{align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-xl);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;white-space:nowrap;border:1px solid #0000;line-height:1.4;display:inline-flex}.mode-badge-dot{width:6px;height:6px;animation:mode-badge-pulse 2s var(--ease-in-out) infinite;border-radius:50%;flex:none}.mode-badge--live{background:var(--color-accent-soft);color:var(--color-accent-deep);border-color:var(--color-accent-soft)}.mode-badge--live .mode-badge-dot{background:var(--color-accent)}.mode-badge--mock{background:var(--color-paper-3);color:var(--color-ink-3);border-color:var(--color-rule)}.mode-badge--mock .mode-badge-dot{background:var(--color-ink-3)}@keyframes mode-badge-pulse{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}@media (prefers-reduced-motion:reduce){.mode-badge-dot{opacity:.85;animation:none}}.thinking{align-items:center;gap:var(--space-sm);color:var(--color-ink-2);font-size:var(--text-sm);display:inline-flex}.thinking-text{font-family:var(--font-body)}.thinking-dots{gap:var(--space-xs);display:inline-flex}.thinking-dot{background:var(--color-accent);opacity:.35;width:6px;height:6px;animation:thinking-breathe 1.4s var(--ease-in-out) infinite;border-radius:50%}.thinking-dot:nth-child(2){animation-delay:.2s}.thinking-dot:nth-child(3){animation-delay:.4s}@keyframes thinking-breathe{0%,to{opacity:.35;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}@media (prefers-reduced-motion:reduce){.thinking-dot{opacity:.7;animation:none}}.api-learn{flex-direction:column;min-height:100svh;display:flex}.api-learn-header{z-index:10;justify-content:space-between;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-paper);border-bottom:var(--rule-hair);display:flex;position:sticky;top:0}.api-learn-header-left{align-items:baseline;gap:var(--space-md);flex:auto;min-width:0;display:flex}.api-learn-header-right{align-items:center;gap:var(--space-sm);flex:none;display:flex}.api-learn-brand{font-family:var(--font-display);font-size:var(--text-sm);color:var(--color-ink);white-space:nowrap;overflow-wrap:anywhere;font-weight:600}.api-learn-concept{align-items:baseline;gap:var(--space-xs);min-width:0;display:inline-flex}.api-learn-concept-label{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-ink-3);letter-spacing:.04em;flex:none}.api-learn-concept-name{font-size:var(--text-sm);color:var(--color-ink-2);overflow-wrap:anywhere;min-width:0}.api-learn-exit{padding:var(--space-xs) var(--space-sm);border:var(--rule-hair);border-radius:var(--radius-md);background:var(--color-paper);color:var(--color-ink-2);font-size:var(--text-xs);white-space:nowrap;transition:border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);line-height:1.3}.api-learn-exit:hover{border-color:var(--color-accent);color:var(--color-accent-deep)}.api-learn-main{width:100%;max-width:760px;padding:var(--space-xl) var(--space-md) var(--space-2xl);gap:var(--space-xl);flex-direction:column;flex:auto;min-width:0;margin:0 auto;display:flex}.api-learn-intro{gap:var(--space-md);flex-direction:column;display:flex}.api-learn-eyebrow{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent);margin:0}.api-learn-title{font-family:var(--font-display);font-size:var(--text-2xl);letter-spacing:-.02em;color:var(--color-ink);overflow-wrap:anywhere;margin:0;font-weight:600;line-height:1.15}.api-learn-subtitle{font-size:var(--text-lg);color:var(--color-ink-2);max-width:52ch;margin:0;line-height:1.5}.api-learn-form{gap:var(--space-sm);padding:var(--space-lg);background:var(--color-paper-2);border:var(--rule-hair);border-radius:var(--radius-lg);flex-direction:column;display:flex}.api-learn-label{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-ink);font-weight:600}.api-learn-input-row{gap:var(--space-sm);flex-direction:column;display:flex}.api-learn-input{width:100%;padding:var(--space-md);border:var(--rule-hair);border-radius:var(--radius-md);background:var(--color-paper);color:var(--color-ink);font-size:var(--text-base);transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);line-height:1.5}.api-learn-input::placeholder{color:var(--color-ink-3)}.api-learn-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft);outline:none}.api-learn-submit{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);background:var(--color-accent);color:var(--color-paper);font-size:var(--text-base);white-space:nowrap;transition:background var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out);border:none;font-weight:600;line-height:1.4}.api-learn-submit:hover:not(:disabled){background:var(--color-accent-deep)}.api-learn-submit:active:not(:disabled){transform:translateY(1px)}.api-learn-submit:disabled{opacity:.4;cursor:not-allowed}.api-learn-hint{font-size:var(--text-sm);color:var(--color-ink-3);margin:0}.api-learn-main--chat{gap:var(--space-md);padding-bottom:var(--space-2xl)}.api-learn-conversation{gap:var(--space-md);flex-direction:column;min-width:0;display:flex}.api-msg{gap:var(--space-xs);max-width:88%;padding:var(--space-md);border-radius:var(--radius-lg);flex-direction:column;min-width:0;display:flex}.api-msg--ai{background:var(--color-paper-2);border-left:var(--rule-accent);border-top-left-radius:var(--space-xs);align-self:flex-start}.api-msg--user{background:var(--color-accent-soft);border-top-right-radius:var(--space-xs);align-self:flex-end}.api-msg-role{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;color:var(--color-ink-3);text-transform:uppercase}.api-msg-content{font-size:var(--text-base);color:var(--color-ink);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.75}.api-msg-thinking{align-items:center;min-height:1.75rem;display:flex}.api-msg-cursor{vertical-align:text-bottom;background:var(--color-accent);width:2px;height:1.1em;animation:api-cursor-blink 1s var(--ease-in-out) infinite;margin-left:2px;display:inline-block}.api-question{padding:var(--space-lg);background:var(--color-paper-2);border:var(--rule-accent);border-radius:var(--radius-lg);border-top-left-radius:var(--space-xs);align-self:stretch}.api-question-text{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-ink);overflow-wrap:anywhere;margin:0;font-weight:600;line-height:1.6}.api-complete{align-self:stretch;gap:var(--space-md);padding:var(--space-lg);background:var(--color-success-soft);border:1px solid var(--color-success-soft);border-left:2px solid var(--color-success);border-radius:var(--radius-lg);flex-direction:column;display:flex}.api-complete-check{background:var(--color-accent-soft);width:52px;height:52px;color:var(--color-accent);animation:api-complete-in .42s var(--ease-out);border-radius:50%;place-items:center;margin:0 auto;font-size:24px;font-weight:700;display:grid}.api-complete-concept{color:var(--color-accent);font-size:var(--text-lg);font-weight:600}.api-complete-next{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-md);border:1px solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper);display:flex}.api-complete-next span{color:var(--color-ink-3);font-size:var(--text-sm)}.api-complete-actions{justify-content:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}@keyframes api-complete-in{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}.api-complete-title{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-ink);margin:0;font-weight:600}.api-complete-text{font-size:var(--text-base);color:var(--color-ink-2);max-width:60ch;margin:0;line-height:1.75}.api-stopped{align-self:stretch;gap:var(--space-sm);padding:var(--space-lg);background:var(--color-paper-2);border:var(--rule-hair);border-radius:var(--radius-lg);flex-direction:column;display:flex}.api-stopped-title{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-ink);margin:0;font-weight:600}.api-stopped-text{font-size:var(--text-base);color:var(--color-ink-2);margin:0;line-height:1.75}.api-stopped-actions{gap:var(--space-sm);margin-top:var(--space-xs);flex-wrap:wrap;display:flex}.api-error{align-self:stretch;gap:var(--space-md);padding:var(--space-lg);background:var(--color-accent-soft);border:1px solid var(--color-accent-soft);border-left:2px solid var(--color-accent);border-radius:var(--radius-lg);flex-direction:column;display:flex}.api-error-text{font-size:var(--text-base);color:var(--color-accent-deep);overflow-wrap:anywhere;margin:0;line-height:1.7}.api-error-actions{gap:var(--space-sm);flex-wrap:wrap;display:flex}.api-learn-input-area{z-index:5;gap:var(--space-sm);padding:var(--space-md);margin-top:var(--space-md);background:var(--color-paper);border-top:var(--rule-hair);flex-direction:column;display:flex;position:sticky;bottom:0}.api-learn-textarea{width:100%;padding:var(--space-md);border:var(--rule-hair);border-radius:var(--radius-md);background:var(--color-paper-2);color:var(--color-ink);font-size:var(--text-base);resize:vertical;min-height:4.5rem;transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);line-height:1.6}.api-learn-textarea::placeholder{color:var(--color-ink-3)}.api-learn-textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft);outline:none}.api-learn-options{gap:var(--space-sm);flex-direction:column;display:flex}.api-learn-option{align-items:center;gap:var(--space-md);padding:var(--space-md);border:var(--rule-hair);border-radius:var(--radius-md);background:var(--color-paper);color:var(--color-ink);text-align:left;transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);display:flex}.api-learn-option:hover{border-color:var(--color-accent);background:var(--color-accent-soft)}.api-learn-option:active{transform:translateY(1px)}.api-learn-option-key{background:var(--color-paper-3);width:1.75rem;height:1.75rem;color:var(--color-accent-deep);font-family:var(--font-mono);font-size:var(--text-sm);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.api-learn-option-label{font-size:var(--text-base);overflow-wrap:anywhere;min-width:0;line-height:1.5}.learn-skeleton{background:var(--color-paper)}.learn-skeleton-loading{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-ink-3);text-align:center;padding:var(--space-2xl) 0;margin:0}@keyframes api-cursor-blink{0%,to{opacity:1}50%{opacity:0}}@media (prefers-reduced-motion:reduce){.api-msg-cursor{opacity:.7;animation:none}}@media (width>=600px){.api-learn-input-row{flex-direction:row;align-items:stretch}.api-learn-input{flex:auto}.api-learn-submit{flex:none}.api-learn-brand{font-size:var(--text-base)}.api-learn-concept-label,.api-learn-concept-name{font-size:var(--text-sm)}}@media (width<=599px){.api-msg{max-width:94%}.api-learn-header{flex-wrap:wrap}.api-learn-header-left{order:1}.api-learn-header-right{order:2}}@media (width<=374px){.api-learn-main{padding:var(--space-md) var(--space-sm) var(--space-xl)}.api-learn-title{font-size:var(--text-xl)}.api-learn-header-left{gap:var(--space-xs);flex-direction:column;align-items:flex-start}}.rail{width:100%}.rail-list{justify-content:space-between;align-items:flex-start;gap:var(--space-sm);flex-direction:row;width:100%;display:flex}.rail-item{align-items:center;gap:var(--space-xs);min-width:0;color:var(--color-ink-3);transition:color var(--dur-mid) var(--ease-out);flex-direction:column;flex:1 1 0;display:flex}.rail-marker{border:1px solid var(--color-rule);background:var(--color-paper);width:28px;height:28px;transition:background var(--dur-mid) var(--ease-out), border-color var(--dur-mid) var(--ease-out), color var(--dur-mid) var(--ease-out);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.rail-marker-index{font-family:var(--font-mono);font-size:var(--text-xs);line-height:1}.rail-label{font-size:var(--text-xs);text-align:center;word-break:break-word;overflow-wrap:anywhere;max-width:100%;line-height:1.3}.rail-item--todo .rail-marker{background:var(--color-paper);border-color:var(--color-rule);color:var(--color-ink-3)}.rail-item--active{color:var(--color-ink)}.rail-item--active .rail-marker{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-paper)}.rail-item--active .rail-label{color:var(--color-ink);font-weight:600}.rail-item--complete{color:var(--color-ink-2)}.rail-item--complete .rail-marker{background:var(--color-success-soft);border-color:var(--color-success);color:var(--color-success)}.rail-item--complete .rail-label{color:var(--color-ink-2)}@media (width>=768px){.rail-list{align-items:flex-start;gap:var(--space-md);flex-direction:column}.rail-item{align-items:center;gap:var(--space-sm);flex-direction:row;flex:none;width:100%}.rail-label{text-align:left;font-size:var(--text-sm)}}.layout{background:var(--color-paper);flex-direction:column;min-height:100svh;display:flex}.layout-header{align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-md);border-bottom:var(--rule-hair);background:var(--color-paper);flex-wrap:wrap;display:flex}.layout-brand{flex:none}.layout-brand-name{font-family:var(--font-display);font-size:var(--text-base);color:var(--color-ink);letter-spacing:-.01em;font-weight:600}.layout-concept{flex-direction:column;flex:auto;gap:2px;min-width:0;margin:0;display:flex}.layout-concept-label{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-ink-3);letter-spacing:.04em;text-transform:uppercase}.layout-concept-name{font-size:var(--text-sm);color:var(--color-ink);overflow-wrap:anywhere;font-weight:500}.layout-exit{padding:var(--space-sm) var(--space-md);border:var(--rule-hair);border-radius:var(--radius-md);background:var(--color-paper);color:var(--color-ink-2);font-size:var(--text-sm);transition:border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);flex:none;line-height:1.3}.layout-exit:hover{border-color:var(--color-accent);color:var(--color-accent)}.layout-body{width:100%;max-width:900px;padding:var(--space-md);gap:var(--space-lg);flex-direction:column;flex:auto;margin:0 auto;display:flex}.layout-rail{padding:var(--space-sm) 0;flex:none}.layout-main{flex:auto;min-width:0}.layout-footer{gap:var(--space-sm);padding:var(--space-md);border-top:var(--rule-hair);background:var(--color-paper);justify-content:center;display:flex}.footer-back,.footer-reset{padding:var(--space-sm) var(--space-md);border:var(--rule-hair);border-radius:var(--radius-md);background:var(--color-paper);color:var(--color-ink-2);font-size:var(--text-sm);transition:border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);line-height:1.3}.footer-back:hover,.footer-reset:hover{border-color:var(--color-accent);color:var(--color-accent)}.stage{gap:var(--space-md);animation:stage-enter var(--dur-mid) var(--ease-out);flex-direction:column;display:flex}@keyframes stage-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.stage{animation:none}}.stage-eyebrow{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent);margin:0}.stage-title{font-family:var(--font-display);font-size:var(--text-2xl);letter-spacing:-.02em;color:var(--color-ink);overflow-wrap:anywhere;min-width:0;margin:0;font-weight:600;line-height:1.25}.stage-subtitle{font-size:var(--text-base);color:var(--color-ink-2);max-width:60ch;margin:0;line-height:1.7}.stage-actions{gap:var(--space-sm);margin-top:var(--space-sm);flex-direction:column;display:flex}.stage-hint{font-size:var(--text-sm);color:var(--color-ink-3);margin:0;line-height:1.6}.primary-btn{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);background:var(--color-accent);color:var(--color-paper);font-size:var(--text-base);transition:background var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out);border:none;font-weight:600;line-height:1.4}.primary-btn:hover:not(:disabled){background:var(--color-accent-deep)}.primary-btn:active:not(:disabled){transform:translateY(1px)}.primary-btn:disabled{opacity:.4;cursor:not-allowed}.secondary-btn{padding:var(--space-md) var(--space-lg);border:var(--rule-hair);border-radius:var(--radius-md);background:var(--color-paper);color:var(--color-ink-2);font-size:var(--text-base);transition:border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);font-weight:500;line-height:1.4}.secondary-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.tertiary-btn{padding:var(--space-sm) var(--space-md);color:var(--color-ink-3);font-size:var(--text-sm);text-underline-offset:2px;transition:color var(--dur-fast) var(--ease-out);background:0 0;border:none;text-decoration:underline}.tertiary-btn:hover{color:var(--color-ink-2)}.helper-chip{padding:var(--space-sm) var(--space-md);border:var(--rule-hair);border-radius:var(--radius-xl);background:var(--color-paper);color:var(--color-ink-2);font-size:var(--text-sm);white-space:nowrap;transition:border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);line-height:1.3}.helper-chip:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-soft)}.helper-chip:disabled{opacity:.4;cursor:not-allowed}@media (width>=768px){.layout-header{padding:var(--space-md) var(--space-xl);width:100%;max-width:900px;margin:0 auto}.layout-body{padding:var(--space-xl) var(--space-md);align-items:flex-start;gap:var(--space-xl);flex-direction:row}.layout-rail{top:var(--space-md);flex:0 0 180px;padding:0;position:sticky}.layout-main{flex:auto;max-width:640px}.stage-actions{flex-direction:row;align-items:center}}@media (width<=374px){.stage-title{font-size:var(--text-xl)}.layout-brand-name{font-size:var(--text-sm)}}.welcome{max-width:720px;padding:var(--space-2xl) var(--space-md) var(--space-2xl);gap:var(--space-2xl);flex-direction:column;margin:0 auto;display:flex}.welcome-hero{gap:var(--space-md);flex-direction:column;display:flex}.welcome-eyebrow{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent);margin:0}.welcome-title{font-family:var(--font-display);font-size:var(--text-display);letter-spacing:-.02em;color:var(--color-ink);overflow-wrap:anywhere;min-width:0;margin:0;font-weight:600;line-height:1.1}.welcome-amp{color:var(--color-accent);margin:0 var(--space-xs);font-style:normal}.welcome-subtitle{font-size:var(--text-lg);color:var(--color-ink-2);margin:0;line-height:1.5}.welcome-intro{font-size:var(--text-base);color:var(--color-ink-2);max-width:60ch;margin:0;line-height:1.75}.welcome-form{gap:var(--space-sm);padding:var(--space-lg);background:var(--color-paper-2);border:var(--rule-hair);border-radius:var(--radius-lg);flex-direction:column;display:flex}.welcome-label{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-ink);font-weight:600}.welcome-input-row{gap:var(--space-sm);flex-direction:column;display:flex}.welcome-input{width:100%;padding:var(--space-md);border:var(--rule-hair);border-radius:var(--radius-md);background:var(--color-paper);color:var(--color-ink);font-size:var(--text-base);transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);line-height:1.5}.welcome-input::placeholder{color:var(--color-ink-3)}.welcome-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft);outline:none}.welcome-submit{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);background:var(--color-accent);color:var(--color-paper);font-size:var(--text-base);transition:background var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out);border:none;font-weight:600;line-height:1.4}.welcome-submit:hover:not(:disabled){background:var(--color-accent-deep)}.welcome-submit:active:not(:disabled){transform:translateY(1px)}.welcome-submit:disabled{opacity:.4;cursor:not-allowed}.welcome-hint{font-size:var(--text-sm);color:var(--color-ink-3);margin:0}.welcome-demos{gap:var(--space-sm);flex-direction:column;display:flex}.welcome-demos-title{font-size:var(--text-sm);color:var(--color-ink-3);margin:0}.welcome-demos-list{gap:var(--space-sm);flex-wrap:wrap;display:flex}.welcome-demo-chip{padding:var(--space-sm) var(--space-md);border:var(--rule-hair);border-radius:var(--radius-xl);background:var(--color-paper);color:var(--color-ink-2);font-size:var(--text-sm);transition:border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);line-height:1.3}.welcome-demo-chip:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-soft)}@media (width>=600px){.welcome-input-row{flex-direction:row;align-items:stretch}.welcome-input{flex:auto}.welcome-submit{white-space:nowrap;flex:none}}@media (width<=374px){.welcome-title{font-size:var(--text-2xl)}}.confirm{max-width:640px;padding:var(--space-2xl) var(--space-md);gap:var(--space-lg);flex-direction:column;justify-content:center;min-height:100svh;margin:0 auto;display:flex}.confirm-eyebrow{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent);margin:0}.confirm-title{font-family:var(--font-display);font-size:var(--text-2xl);letter-spacing:-.02em;color:var(--color-ink);overflow-wrap:anywhere;margin:0;font-weight:600;line-height:1.2}.confirm-loading{padding:var(--space-xl) 0}.confirm-body{gap:var(--space-xl);flex-direction:column;display:flex}.confirm-candidate{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-ink);padding:var(--space-lg);background:var(--color-accent-soft);border-left:var(--rule-accent);border-radius:var(--radius-sm);overflow-wrap:anywhere;margin:0;font-weight:600;line-height:1.5}.confirm-edit{gap:var(--space-sm);flex-direction:column;display:flex}.confirm-input{width:100%;padding:var(--space-md);border:var(--rule-hair);border-radius:var(--radius-md);background:var(--color-paper);color:var(--color-ink);font-size:var(--text-lg);font-family:var(--font-display)}.confirm-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft);outline:none}.confirm-actions{gap:var(--space-sm);flex-direction:column;display:flex}.confirm-primary{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);background:var(--color-accent);color:var(--color-paper);font-size:var(--text-base);transition:background var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out);border:none;font-weight:600;line-height:1.4}.confirm-primary:hover:not(:disabled){background:var(--color-accent-deep)}.confirm-primary:active:not(:disabled){transform:translateY(1px)}.confirm-primary:disabled{opacity:.4;cursor:not-allowed}.confirm-secondary{padding:var(--space-md) var(--space-lg);border:var(--rule-hair);border-radius:var(--radius-md);background:var(--color-paper);color:var(--color-ink-2);font-size:var(--text-base);transition:border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);font-weight:500;line-height:1.4}.confirm-secondary:hover{border-color:var(--color-accent);color:var(--color-accent)}.confirm-tertiary{padding:var(--space-sm) var(--space-md);color:var(--color-ink-3);font-size:var(--text-sm);text-underline-offset:2px;transition:color var(--dur-fast) var(--ease-out);background:0 0;border:none;text-decoration:underline}.confirm-tertiary:hover{color:var(--color-ink-2)}.scenario{gap:var(--space-lg);flex-direction:column;display:flex}.scenario-card{padding:var(--space-lg);background:var(--color-paper-2);border:var(--rule-hair);border-radius:var(--radius-md);border-left:var(--rule-accent)}.scenario-story{font-size:var(--text-base);color:var(--color-ink);margin:0;line-height:1.8}.scenario-question{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-ink);margin:0;font-weight:600;line-height:1.5}.scenario-input{width:100%;padding:var(--space-md);border:var(--rule-hair);border-radius:var(--radius-md);background:var(--color-paper);color:var(--color-ink);font-size:var(--text-base);min-height:120px;transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);line-height:1.6}.scenario-input::placeholder{color:var(--color-ink-3)}.scenario-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft);outline:none}.scenario-helpers{gap:var(--space-sm);flex-wrap:wrap;display:flex}.socratic{gap:var(--space-lg);flex-direction:column;display:flex}.socratic-question{padding:var(--space-lg);background:var(--color-paper-2);border-radius:var(--radius-md);font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-ink);border-left:var(--rule-accent);overflow-wrap:anywhere;margin:0;font-weight:600;line-height:1.6}.socratic-quote{color:var(--color-accent);font-size:var(--text-2xl);margin:0 var(--space-xs);line-height:1}.socratic-input{width:100%;padding:var(--space-md);border:var(--rule-hair);border-radius:var(--radius-md);background:var(--color-paper);color:var(--color-ink);font-size:var(--text-base);min-height:150px;transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);line-height:1.7}.socratic-input::placeholder{color:var(--color-ink-3)}.socratic-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft);outline:none}.bridge{gap:var(--space-lg);flex-direction:column;display:flex}.bridge-grid{gap:var(--space-sm);grid-template-columns:1fr;display:grid}.bridge-cell{padding:var(--space-md);border:var(--rule-hair);border-radius:var(--radius-md);background:var(--color-paper)}.bridge-cell-label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;color:var(--color-ink-3);margin:0 0 var(--space-sm);text-transform:uppercase}.bridge-cell-text{font-size:var(--text-base);color:var(--color-ink);margin:0;line-height:1.7}.bridge-cell--understood{border-left:2px solid var(--color-success)}.bridge-cell--confused{border-left:2px solid var(--color-warm)}.bridge-cell--key{border-left:var(--rule-accent);background:var(--color-accent-soft)}.bridge-choice{gap:var(--space-md);flex-direction:column;display:flex}.bridge-choice-prompt{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-ink);margin:0;font-weight:600}.bridge-options{gap:var(--space-sm);flex-direction:column;display:flex}.bridge-option{gap:var(--space-md);padding:var(--space-md);border:var(--rule-hair);border-radius:var(--radius-md);background:var(--color-paper);text-align:left;color:var(--color-ink-2);transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);align-items:flex-start;line-height:1.6;display:flex}.bridge-option:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-ink)}.bridge-option.is-selected{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-ink)}.bridge-option:disabled{cursor:default}.bridge-option-label{background:var(--color-paper-2);width:24px;height:24px;color:var(--color-ink-2);font-family:var(--font-mono);font-size:var(--text-sm);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.bridge-option.is-selected .bridge-option-label{background:var(--color-accent);color:var(--color-paper)}.bridge-option-text{font-size:var(--text-base);flex:auto}.bridge-feedback{padding:var(--space-md);border-radius:var(--radius-md);border:1px solid var(--color-rule)}.bridge-feedback.is-correct{background:var(--color-success-soft);border-color:var(--color-success)}.bridge-feedback.is-wrong{background:var(--color-accent-soft);border-color:var(--color-accent)}.bridge-feedback-head{font-family:var(--font-display);color:var(--color-ink);margin:0 0 var(--space-xs);font-weight:600}.bridge-feedback-body{font-size:var(--text-sm);color:var(--color-ink-2);margin:0;line-height:1.7}@media (width>=768px){.bridge-grid{gap:var(--space-md);grid-template-columns:repeat(3,1fr)}}@media (width<=374px){.bridge-cell{padding:var(--space-sm)}}.feynman{gap:var(--space-lg);flex-direction:column;display:flex}.feynman-input{width:100%;padding:var(--space-md);border:var(--rule-hair);border-radius:var(--radius-md);background:var(--color-paper);color:var(--color-ink);font-size:var(--text-base);min-height:220px;transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);line-height:1.8}.feynman-input::placeholder{color:var(--color-ink-3)}.feynman-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft);outline:none}.feynman-hint{padding:var(--space-md);background:var(--color-success-soft);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-ink-2);border-left:2px solid var(--color-success);margin:0;line-height:1.7}.feynman-helpers{gap:var(--space-sm);flex-wrap:wrap;display:flex}.beginner{gap:var(--space-lg);flex-direction:column;display:flex}.beginner-question{gap:var(--space-md);padding:var(--space-md);background:var(--color-paper-2);border-radius:var(--radius-md);border-left:2px solid var(--color-warm);align-items:flex-start;margin:0;display:flex}.beginner-avatar{background:var(--color-warm);width:32px;height:32px;color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-sm);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.beginner-text{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-ink);overflow-wrap:anywhere;font-weight:600;line-height:1.6}.beginner-recap{padding:var(--space-md);background:var(--color-paper-2);border:var(--rule-hair);border-radius:var(--radius-md)}.beginner-recap summary{cursor:pointer;font-size:var(--text-sm);color:var(--color-ink-2);font-weight:500}.beginner-recap-text{margin:var(--space-sm) 0 0;font-size:var(--text-sm);color:var(--color-ink-3);white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}.beginner-input{width:100%;padding:var(--space-md);border:var(--rule-hair);border-radius:var(--radius-md);background:var(--color-paper);color:var(--color-ink);font-size:var(--text-base);min-height:140px;transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);line-height:1.7}.beginner-input::placeholder{color:var(--color-ink-3)}.beginner-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft);outline:none}.migration{gap:var(--space-lg);flex-direction:column;display:flex}.migration-domains{gap:var(--space-sm);flex-wrap:wrap;display:flex}.domain-chip{padding:var(--space-sm) var(--space-md);border:var(--rule-hair);border-radius:var(--radius-xl);background:var(--color-paper);color:var(--color-ink-2);font-size:var(--text-sm);transition:border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);line-height:1.3}.domain-chip:hover{border-color:var(--color-accent);color:var(--color-accent)}.domain-chip.is-active{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-paper)}.migration-custom{gap:var(--space-sm);flex-direction:column;display:flex}.migration-custom-label{font-size:var(--text-sm);color:var(--color-ink-3)}.migration-custom-row{gap:var(--space-sm);flex-direction:column;display:flex}.migration-custom-input{width:100%;padding:var(--space-md);border:var(--rule-hair);border-radius:var(--radius-md);background:var(--color-paper);color:var(--color-ink);font-size:var(--text-base);transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out)}.migration-custom-input::placeholder{color:var(--color-ink-3)}.migration-custom-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft);outline:none}.migration-analogy{padding:var(--space-lg);background:var(--color-paper-2);border:var(--rule-hair);border-radius:var(--radius-md);border-left:var(--rule-accent);gap:var(--space-sm);flex-direction:column;display:flex}.migration-analogy-label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--color-accent);margin:0}.migration-analogy-text{font-size:var(--text-base);color:var(--color-ink);margin:0;line-height:1.8}.migration-analogy-question{font-family:var(--font-display);font-size:var(--text-base);color:var(--color-ink-2);margin:0;font-weight:600;line-height:1.6}.migration-analogy--custom{border-left:2px solid var(--color-warm)}.migration-reflection{gap:var(--space-sm);flex-direction:column;display:flex}.migration-reflection-label{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-ink);font-weight:600}.migration-reflection-input{width:100%;padding:var(--space-md);border:var(--rule-hair);border-radius:var(--radius-md);background:var(--color-paper);color:var(--color-ink);font-size:var(--text-base);min-height:110px;transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);line-height:1.7}.migration-reflection-input::placeholder{color:var(--color-ink-3)}.migration-reflection-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft);outline:none}@media (width>=600px){.migration-custom-row{flex-direction:row;align-items:stretch}.migration-custom-input{flex:auto}}.quiz{gap:var(--space-lg);flex-direction:column;display:flex}.quiz-scenario{padding:var(--space-lg);background:var(--color-paper-2);border:var(--rule-hair);border-radius:var(--radius-md);border-left:var(--rule-accent);gap:var(--space-sm);flex-direction:column;display:flex}.quiz-scenario-label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--color-accent);margin:0}.quiz-scenario-text{font-size:var(--text-base);color:var(--color-ink);margin:0;line-height:1.8}.quiz-options{gap:var(--space-sm);flex-direction:column;display:flex}.quiz-option{gap:var(--space-md);padding:var(--space-md);border:var(--rule-hair);border-radius:var(--radius-md);background:var(--color-paper);text-align:left;color:var(--color-ink-2);transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);align-items:flex-start;line-height:1.6;display:flex}.quiz-option:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-ink)}.quiz-option.is-selected{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-ink)}.quiz-option.is-correct{border-color:var(--color-success);background:var(--color-success-soft);color:var(--color-ink)}.quiz-option.is-wrong{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-ink)}.quiz-option:disabled{cursor:default}.quiz-option-label{background:var(--color-paper-2);width:24px;height:24px;color:var(--color-ink-2);font-family:var(--font-mono);font-size:var(--text-sm);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.quiz-option.is-selected .quiz-option-label{background:var(--color-accent);color:var(--color-paper)}.quiz-option.is-correct .quiz-option-label{background:var(--color-success);color:var(--color-paper)}.quiz-option-text{font-size:var(--text-base);flex:auto}.quiz-result{gap:var(--space-md);flex-direction:column;display:flex}.quiz-verdict{padding:var(--space-md);border-radius:var(--radius-md)}.quiz-verdict.is-correct{background:var(--color-success-soft);border:1px solid var(--color-success)}.quiz-verdict.is-wrong{background:var(--color-accent-soft);border:1px solid var(--color-accent)}.quiz-verdict-head{font-family:var(--font-display);color:var(--color-ink);margin:0 0 var(--space-xs);font-weight:600}.quiz-verdict-evidence{font-size:var(--text-sm);color:var(--color-ink-2);margin:0}.quiz-explain,.quiz-boundary{padding:var(--space-md);background:var(--color-paper);border:var(--rule-hair);border-radius:var(--radius-md);gap:var(--space-xs);flex-direction:column;display:flex}.quiz-explain-label,.quiz-boundary-label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink-3);margin:0}.quiz-explain-text,.quiz-boundary-text{font-size:var(--text-sm);color:var(--color-ink);margin:0;line-height:1.7}.result{gap:var(--space-xl);flex-direction:column;display:flex}.result-title{font-family:var(--font-display);font-size:var(--text-2xl);letter-spacing:-.02em;color:var(--color-ink);overflow-wrap:anywhere;margin:0;font-weight:600}.result-subtitle{font-size:var(--text-base);color:var(--color-ink-2);margin:calc(var(--space-md) * -1) 0 0;line-height:1.7}.result-levels{gap:var(--space-sm);flex-direction:column;display:flex}.result-level{gap:var(--space-md);padding:var(--space-md);border:var(--rule-hair);border-radius:var(--radius-md);background:var(--color-paper);align-items:flex-start;display:flex}.result-level.is-achieved{background:var(--color-success-soft);border-color:var(--color-success)}.result-level.is-pending{background:var(--color-paper-2)}.result-level-marker{background:var(--color-rule);border:2px solid var(--color-rule);border-radius:50%;flex:none;width:12px;height:12px;margin-top:6px}.result-level.is-achieved .result-level-marker{background:var(--color-success);border-color:var(--color-success)}.result-level-body{flex:auto;min-width:0}.result-level-label{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-ink);margin:0 0 var(--space-xs);font-weight:600}.result-level-note{font-size:var(--text-sm);color:var(--color-ink-2);margin:0;line-height:1.6}.result-grid{gap:var(--space-sm);grid-template-columns:1fr;display:grid}.result-card{padding:var(--space-md);border:var(--rule-hair);border-radius:var(--radius-md);background:var(--color-paper);gap:var(--space-xs);flex-direction:column;display:flex}.result-card-label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink-3);margin:0}.result-card-text{font-size:var(--text-sm);color:var(--color-ink);margin:0;line-height:1.7}.result-card-text--strong{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600}.result-feynman{padding:var(--space-md);border:var(--rule-hair);border-radius:var(--radius-md);background:var(--color-paper-2);gap:var(--space-sm);flex-direction:column;display:flex}.result-feynman-text{font-size:var(--text-sm);color:var(--color-ink-2);white-space:pre-wrap;overflow-wrap:anywhere;border-left:var(--rule-accent);padding-left:var(--space-md);margin:0;line-height:1.8}.result-adjacent{gap:var(--space-sm);flex-direction:column;display:flex}.result-adjacent-list{gap:var(--space-sm);flex-wrap:wrap;display:flex}.result-adjacent-item{padding:var(--space-sm) var(--space-md);background:var(--color-paper-2);border:var(--rule-hair);border-radius:var(--radius-xl);font-size:var(--text-sm);color:var(--color-ink-2)}.result-history{padding:var(--space-md);border:var(--rule-hair);border-radius:var(--radius-md);background:var(--color-paper)}.result-history summary{cursor:pointer;font-size:var(--text-sm);color:var(--color-ink-2);font-weight:500}.result-history-list{margin-top:var(--space-md);gap:var(--space-sm);counter-reset:history;flex-direction:column;display:flex}.result-history-item{padding-left:var(--space-xl);font-size:var(--text-sm);color:var(--color-ink-2);counter-increment:history;line-height:1.7;position:relative}.result-history-item:before{content:counter(history);background:var(--color-paper-2);width:20px;height:20px;color:var(--color-ink-3);font-family:var(--font-mono);font-size:var(--text-xs);border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:0;left:0}.result-actions{gap:var(--space-md);padding-top:var(--space-md);border-top:var(--rule-hair);flex-direction:column;display:flex}.result-progress-text{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-ink);margin:0;font-weight:600}.result-actions-row{gap:var(--space-sm);flex-direction:column;display:flex}@media (width>=600px){.result-grid{grid-template-columns:repeat(3,1fr)}.result-actions-row{flex-flow:wrap}}.teacher-page{color:#111827;background:#f8f9fc;min-height:100svh}.teacher-nav{background:#fff;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;height:68px;padding:0 max(24px,50vw - 490px);display:flex}.teacher-brand{color:#111827;font-weight:700}.teacher-brand:hover,.teacher-back:hover{text-decoration:none}.teacher-back{color:#667085;font-size:14px}.teacher-main{width:min(100% - 40px,980px);margin:0 auto;padding:58px 0 80px}.teacher-intro{max-width:700px}.teacher-eyebrow{color:#4f6bff;letter-spacing:.08em;margin-bottom:8px;font-size:13px;font-weight:700}.teacher-intro h1{letter-spacing:-.035em;font-size:clamp(32px,5vw,48px)}.teacher-intro>p:last-child{color:#667085;margin-top:14px;font-size:17px}.teacher-form{background:#fff;border:1px solid #e3e7ef;border-radius:20px;grid-template-columns:1fr 1fr;gap:24px;margin-top:34px;padding:28px;display:grid;box-shadow:0 8px 24px #1018280a}.teacher-field,.teacher-fieldset{border:0;min-width:0;margin:0;padding:0}.teacher-field--wide{grid-column:1/-1}.teacher-field span,.teacher-fieldset legend{color:#344054;margin-bottom:9px;font-size:13px;font-weight:650;display:block}.teacher-field input{border:1px solid #d8dce5;border-radius:12px;outline:0;width:100%;min-height:50px;padding:0 15px}.teacher-field input:focus{border-color:#4f6bff;box-shadow:0 0 0 4px #4f6bff1a}.teacher-segments{background:#f2f4f7;border-radius:12px;gap:6px;padding:4px;display:flex}.teacher-segments button{color:#667085;background:0 0;border:0;border-radius:9px;flex:1;min-height:40px;padding:7px 8px;font-size:13px}.teacher-segments button.is-active{color:#3449c7;background:#fff;font-weight:650;box-shadow:0 1px 4px #1018281a}.teacher-generate{color:#fff;background:#4f6bff;border:0;border-radius:12px;grid-column:1/-1;min-height:48px;font-weight:700}.teacher-generate:hover:not(:disabled){background:#3f56dc}.teacher-generate:disabled{opacity:.5;cursor:not-allowed}.teacher-health,.teacher-error{grid-column:1/-1;font-size:13px}.teacher-health{color:#667085}.teacher-error{color:#b42318;background:#fff1f2;border-radius:10px;padding:12px 14px}.teacher-result{background:#fff;border:1px solid #e3e7ef;border-radius:20px;margin-top:28px;overflow:hidden}.teacher-result-head{border-bottom:1px solid #eaecf0;justify-content:space-between;align-items:center;gap:20px;padding:16px 20px;display:flex}.teacher-tabs,.teacher-copy-actions{flex-wrap:wrap;gap:7px;display:flex}.teacher-tabs button,.teacher-copy-actions button{color:#475467;background:#fff;border:1px solid #dfe3ea;border-radius:9px;min-height:38px;padding:7px 12px;font-size:13px}.teacher-tabs button.is-active{color:#fff;background:#4f6bff;border-color:#4f6bff}.teacher-result-body{padding:28px}.teacher-result-body h2{font-size:20px}.teacher-result-body pre{white-space:pre-wrap;overflow-wrap:anywhere;color:#344054;margin:20px 0 0;font-family:inherit;font-size:15px;line-height:1.75}.teacher-fallback{color:#8a6116;background:#fffaeb;border-radius:9px;margin-top:20px;padding:10px 12px;font-size:12px}.teacher-copy-status{color:#4f6bff;padding:0 28px 22px;font-size:13px}@media (width<=700px){.teacher-nav{height:60px;padding:0 16px}.teacher-main{width:min(100% - 28px,980px);padding-top:34px}.teacher-form{grid-template-columns:1fr;padding:20px 16px}.teacher-field--wide,.teacher-generate{grid-column:1}.teacher-result-head{flex-direction:column;align-items:stretch}.teacher-copy-actions button{flex:1}.teacher-result-body{padding:22px 18px}}
