:root{--canvas: #f4f6f3;--surface: rgba(255, 255, 255, .74);--surface-raised: #ffffff;--ink: #12201b;--ink-muted: #5a6861;--ink-faint: #78837d;--line: #dbe3de;--line-strong: #aebbb3;--signal: #1769e8;--signal-soft: #e4efff;--signal-on: #ffffff;--moss: #237a5a;--moss-soft: #e2f1e9;--moss-on: #ffffff;--amber: #b76b25;--amber-soft: #fff0df;--gold: #a67d19;--gold-soft: #fff5d8;--display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI", sans-serif;--serif: var(--display);--sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI", sans-serif;--mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--text-xs: .72rem;--text-sm: .88rem;--text-base: 1rem;--text-lg: clamp(1.1rem, 1.5vw, 1.35rem);--text-xl: clamp(1.6rem, 3vw, 2.65rem);--text-hero: clamp(3.1rem, 8vw, 7.2rem);--space-1: .5rem;--space-2: .85rem;--space-3: 1.25rem;--space-4: 1.75rem;--space-5: 2.5rem;--space-6: 4rem;--space-7: clamp(5.5rem, 10vw, 10rem);--radius-sm: .35rem;--radius-md: .7rem;--radius-lg: 1.15rem;--ease-out: cubic-bezier(.16, 1, .3, 1);--duration-fast: .16s;--duration-base: .32s;--duration-slow: .62s;--surface-glass: color-mix(in srgb, var(--surface) 78%, transparent);--shadow-soft: 0 .75rem 2.25rem color-mix(in srgb, var(--ink) 7%, transparent);--shadow-raised: 0 1.5rem 3.75rem color-mix(in srgb, var(--ink) 12%, transparent);--focus-ring: 0 0 0 .22rem color-mix(in srgb, var(--signal) 28%, transparent);--press-scale: .985;--safe-area-bottom: env(safe-area-inset-bottom, 0px)}:root[data-theme=dark]{--canvas: #0f1713;--surface: rgba(25, 36, 31, .78);--surface-raised: #1b2721;--ink: #f0f5ef;--ink-muted: #b5c1b9;--ink-faint: #89968e;--line: #34433a;--line-strong: #66776b;--signal: #7aa9ff;--signal-soft: #1d315a;--signal-on: #0e1a15;--moss: #81d1a8;--moss-soft: #1c3c2c;--moss-on: #0e1a15;--amber: #ffc27d;--amber-soft: #4a301a;--gold: #e9ca72;--gold-soft: #413717;--shadow-soft: 0 .75rem 2.25rem color-mix(in srgb, #000 26%, transparent);--shadow-raised: 0 1.5rem 3.75rem color-mix(in srgb, #000 38%, transparent)}*{box-sizing:border-box}html{min-width:320px;background:var(--canvas);color-scheme:light}html[data-theme=dark]{color-scheme:dark}body{min-width:0;margin:0;color:var(--ink);background:var(--canvas);font-family:var(--sans);font-size:var(--text-base);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}::selection{color:var(--surface);background:var(--signal)}button,input,textarea,select{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}:where(a,button,input,textarea,select,summary,[tabindex]){outline-color:transparent}html[data-focus-modality=keyboard] :where(a,button,input,textarea,select,summary,[tabindex]):focus-visible{outline:.16rem solid var(--signal)!important;outline-offset:.2rem!important;box-shadow:var(--focus-ring)!important}:where(button,a[class],summary,.choice-card,.node-card,.path-milestone-card,.crux-node-row,.loop-option,.video-nudge,.loop-nudge-button){transition:transform var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}:where(button,a[class],summary,.choice-card,.node-card,.path-milestone-card,.crux-node-row,.loop-option,.video-nudge,.loop-nudge-button):active:not(:disabled){transform:scale(var(--press-scale))}.shell{width:min(100%,1440px);min-height:100vh;margin:0 auto;padding:1.25rem clamp(1.25rem,4vw,4.5rem) 2rem}.site-header{display:flex;align-items:center;justify-content:space-between;min-height:2.75rem}.brand{display:inline-flex;align-items:center;gap:.55rem;font-size:var(--text-sm);font-weight:720;letter-spacing:-.03em}.brand-mark{display:grid;width:1.65rem;height:1.65rem;place-items:center;border:1px solid var(--ink);border-radius:50%;font-family:var(--serif);font-size:1.1rem;letter-spacing:.05em;line-height:1}.theme-link{padding:.55rem .75rem;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink-muted);background:transparent;cursor:pointer;font:inherit;font-size:var(--text-xs);font-weight:700}.theme-link:hover,.theme-link:focus-visible{border-color:var(--ink);color:var(--ink)}.home-shell{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto}.home-hero{max-width:48rem;padding:clamp(2.5rem,5vw,4.5rem) 0 var(--space-4)}.home-hero h1{margin:0;color:var(--ink-muted);font-family:var(--sans);font-size:clamp(1.05rem,1.55vw,1.35rem);font-weight:560;letter-spacing:-.025em;line-height:1.35}.goal-picker{display:grid;min-height:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--line)}.goal-card{position:relative;display:flex;min-height:min(58vh,33rem);flex-direction:column;align-items:flex-start;padding:clamp(1.5rem,3vw,2.7rem);overflow:hidden;background:var(--surface)}.goal-card:after{position:absolute;right:-6rem;bottom:-8rem;width:20rem;height:20rem;border:1px solid var(--line);border-radius:50%;content:"";pointer-events:none}.goal-card--1:after{border-color:var(--signal)}.goal-card--2:after{border-color:var(--moss)}.card-number{color:var(--ink-faint);font-family:var(--serif);font-size:var(--text-lg);letter-spacing:.04em}.eyebrow{margin:auto 0 0;color:var(--ink-muted);font-size:var(--text-xs);font-weight:750;letter-spacing:.11em;line-height:1.35;text-transform:uppercase}.goal-card h2{max-width:14ch;margin:var(--space-2) 0 0;font-family:var(--serif);font-size:clamp(3rem,5vw,5.4rem);font-weight:400;letter-spacing:.018em;line-height:.88}.goal-tagline{position:relative;z-index:1;max-width:31rem;margin:var(--space-3) 0 0;color:var(--ink-muted);font-size:var(--text-lg);line-height:1.45}.site-footer{display:flex;justify-content:space-between;padding-top:var(--space-3);color:var(--ink-faint);font-size:var(--text-xs)}.topbar{display:flex;align-items:center;justify-content:space-between;min-height:2.85rem;padding:0 clamp(1.5rem,4vw,4rem);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--canvas) 88%,transparent);font-family:var(--sans)}.topbar-brand{display:inline-flex;align-items:center}.topbar-brand span{color:var(--ink);font-family:var(--sans);font-size:.84rem;font-weight:800;letter-spacing:-.02em}.topbar-actions{display:flex;justify-content:flex-end;gap:.5rem}.topbar-icon{display:grid;width:1.9rem;height:1.9rem;place-items:center;border:1px solid var(--line);border-radius:.55rem;color:var(--ink-muted);background:var(--surface-raised)}button.topbar-icon{cursor:pointer}.topbar-icon svg{width:.9rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.onboarding-atmosphere{position:fixed;z-index:-1;inset:2.85rem 0 0;overflow:hidden;pointer-events:none}.onboarding-atmosphere span{position:absolute;width:33rem;height:33rem;border-radius:50%;filter:blur(70px);opacity:.28}.onboarding-atmosphere span:nth-child(1){top:-14rem;left:-10rem;background:var(--signal-soft)}.onboarding-atmosphere span:nth-child(2){top:18rem;right:-12rem;background:var(--moss-soft)}.onboarding-atmosphere span:nth-child(3){bottom:-19rem;left:32%;background:var(--amber-soft)}.onboarding-stage{width:min(100%,78rem);min-height:calc(100vh - 2.85rem);margin:0 auto;padding:1.3rem 2.2rem 1.6rem}.onboarding-shell{width:100%;font-family:var(--sans)}.onboarding-progress{display:flex;align-items:center;justify-content:center;margin:0 auto 1.6rem;padding:0;list-style:none;color:var(--ink-faint);font-size:.72rem;font-weight:800;letter-spacing:.02em}.onboarding-progress li{display:flex;align-items:center;gap:.55rem}.onboarding-progress i{width:5.5rem;height:1px;margin:0 .85rem;background:var(--line)}.progress-dot{display:grid;width:1.55rem;height:1.55rem;place-items:center;border:1px solid var(--line-strong);border-radius:50%;font-size:.68rem}.onboarding-progress .is-current{color:var(--signal)}.onboarding-progress .is-current .progress-dot{border-color:var(--signal);box-shadow:0 0 0 4px var(--signal-soft)}.onboarding-progress .is-complete{color:var(--moss)}.onboarding-progress .is-complete .progress-dot{border-color:var(--moss);color:#fff;background:var(--moss)}.onboarding-question,.completion-panel{max-width:63rem;margin:0 auto;animation:onboarding-enter var(--duration-base) var(--ease-out) both}.step-kicker,.completion-kicker{margin:0 0 .8rem;color:var(--signal);font-size:.72rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.onboarding-question h1,.completion-panel h1{margin:0;font-family:var(--sans);font-weight:800;letter-spacing:-.065em;line-height:.98}.onboarding-question h1{max-width:17ch;font-size:clamp(2.6rem,5vw,4.65rem)}.question-help{max-width:39rem;margin:1.15rem 0 0;color:var(--ink-muted);font-size:1.02rem;line-height:1.6}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:2.45rem}.choice-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.9rem;min-height:8rem;padding:1.2rem 1.25rem;border:1px solid var(--line);border-radius:1.05rem;color:var(--ink);background:color-mix(in srgb,var(--surface-raised) 92%,transparent);cursor:pointer;font:inherit;text-align:left;transition:transform var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.choice-card:hover{border-color:var(--signal);box-shadow:0 .7rem 1.5rem color-mix(in srgb,var(--signal) 12%,transparent);transform:translateY(-2px)}.choice-card>span:last-child{display:grid;align-content:start;gap:.38rem}.choice-card strong{font-size:1rem;letter-spacing:-.035em}.choice-card small{color:var(--ink-muted);font-size:.79rem;line-height:1.45}.choice-radio{width:1.08rem;height:1.08rem;margin-top:.1rem;border:1.5px solid var(--line-strong);border-radius:50%}.choice-card--unsure{grid-column:1 / -1;min-height:5.35rem}.salary-preset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;max-width:48rem;margin-top:2.4rem}.salary-preset-grid button{min-height:4.9rem;border:1px solid var(--line);border-radius:.9rem;color:var(--ink);background:var(--surface-raised);cursor:pointer;font:inherit;font-size:1.08rem;font-weight:800;letter-spacing:-.04em}.salary-preset-grid button:hover{border-color:var(--signal);color:var(--signal)}.salary-range-entry{display:grid;gap:.55rem;max-width:42rem;margin-top:2.4rem}.salary-range-entry label{color:var(--ink-muted);font-size:.78rem;font-weight:750}.salary-range-entry>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem}.salary-range-entry select{min-height:4.5rem;padding:0 1.1rem;border:1px solid var(--line-strong);border-radius:.9rem;color:var(--ink);background:var(--surface-raised);font:inherit;font-size:1rem;font-weight:700}.salary-range-entry select:focus-visible{border-color:var(--signal)}.salary-range-entry button{padding:0 1.45rem;border:0;border-radius:.9rem;color:var(--signal-on);background:var(--signal);cursor:pointer;font:inherit;font-size:.9rem;font-weight:800}.salary-range-entry button:disabled{cursor:not-allowed;opacity:.4}.salary-entry{display:grid;gap:.5rem;max-width:31rem;margin-top:1.4rem}.salary-entry label{color:var(--ink-faint);font-size:.76rem;font-weight:700}.salary-entry>div{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.62rem;padding:.35rem .4rem .35rem .9rem;border:1px solid var(--line);border-radius:.85rem;background:var(--surface-raised)}.salary-entry input{width:100%;min-width:0;border:0;color:var(--ink);background:transparent;font:inherit;font-weight:750}.salary-entry small{color:var(--ink-muted);font-weight:750}.primary-action,.salary-entry button,.name-entry button{display:inline-flex;width:fit-content;align-items:center;justify-content:center;gap:.7rem;min-height:2.85rem;padding:.7rem 1rem;border:1px solid var(--signal);border-radius:.72rem;color:#fff;background:var(--signal);cursor:pointer;font:inherit;font-size:.82rem;font-weight:800}.salary-entry button:disabled{cursor:not-allowed;opacity:.4}.name-entry{display:flex;align-items:center;gap:.7rem;max-width:28rem;margin-top:1.4rem}.name-entry input{flex:1 1 auto;min-width:0;padding:.78rem 1rem;border:1px solid var(--line);border-radius:.85rem;color:var(--ink);background:var(--surface-raised);font:inherit;font-weight:700}.name-entry button:disabled{cursor:not-allowed;opacity:.4}.explore-panel{max-width:76rem;margin:0 auto;animation:onboarding-enter var(--duration-base) var(--ease-out) both}.explore-panel>h1{max-width:32ch;margin:0;font-size:clamp(2.1rem,3.6vw,3.1rem);font-weight:800;letter-spacing:-.05em;line-height:1.08}.explore-panel>.question-help{max-width:46rem}.explore-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.6rem;margin-top:2.3rem}.explore-card{display:flex;flex-direction:column;padding:1.9rem 2.1rem 2.1rem;border:1px solid var(--line);border-radius:1.4rem;background:var(--surface-raised);opacity:0;animation:explore-in .55s var(--ease-out) var(--reveal-delay) both}.explore-card-kicker{margin:0;color:var(--signal);font-size:.7rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.explore-card h2{margin:.5rem 0 0;font-size:1.55rem;font-weight:800;letter-spacing:-.03em;line-height:1.18;text-wrap:balance}.explore-market{margin:1.1rem 0 0;color:var(--ink-muted);font-size:.87rem;line-height:1.58}.explore-roles{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem;margin:1.2rem 0}.explore-roles>span:first-child{color:var(--ink-faint);font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.explore-roles>div{display:flex;flex-wrap:wrap;gap:.4rem}.explore-roles>div span{padding:.28rem .6rem;border:1px solid var(--line);border-radius:.4rem;color:var(--ink-muted);font-size:.71rem;font-weight:700}.explore-section-label{margin:.3rem 0 .9rem;color:var(--ink-faint);font-size:.67rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.explore-day{margin:0;padding:0;list-style:none;display:grid;gap:.75rem}.explore-day li{display:grid;grid-template-columns:5.2rem minmax(0,1fr);gap:.9rem;opacity:0;animation:explore-in .45s var(--ease-out) var(--reveal-delay) both}.explore-day li strong{padding-top:.1rem;color:var(--ink-faint);font-size:.67rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.explore-day li span{color:var(--ink);font-size:.84rem;line-height:1.52}.explore-reality{display:flex;gap:.65rem;margin:1.5rem 0 1.6rem;padding:.85rem 1rem;border-radius:.8rem;background:var(--amber-soft)}.explore-reality span{display:grid;flex:0 0 auto;width:1rem;height:1rem;margin-top:.1rem;place-items:center;border:1px solid currentColor;border-radius:50%;color:var(--amber);font-size:.62rem;font-weight:850}.explore-reality p{margin:0;color:var(--ink);font-size:.82rem;line-height:1.5}.explore-card .primary-action{margin-top:auto;align-self:flex-start}.explore-skip{display:block;margin:1.9rem auto 0;padding:0;border:0;background:none;color:var(--ink-faint);cursor:pointer;font:inherit;font-size:.8rem;text-decoration:underline;text-underline-offset:.2rem}@keyframes explore-in{0%{opacity:0;transform:translateY(.7rem)}to{opacity:1;transform:translateY(0)}}.ring-track{stroke:var(--line)}.ring-value{stroke:var(--signal);stroke-dasharray:163.4;stroke-dashoffset:163.4;transition:stroke-dashoffset .8s var(--ease-out) .25s}.completion-panel{max-width:48rem;padding-top:1.5rem}.completion-panel h1{max-width:13ch;font-size:clamp(2.7rem,4.8vw,4.45rem)}.completion-body{max-width:37rem;margin:1rem 0 0;color:var(--ink-muted);line-height:1.6}.answer-summary{display:grid;gap:1px;margin:2.2rem 0;overflow:hidden;border:1px solid var(--line);border-radius:1rem;background:var(--line)}.answer-summary div{display:grid;grid-template-columns:minmax(12rem,1fr) minmax(0,1fr);gap:1rem;align-items:center;padding:.95rem 1.1rem;background:var(--surface-raised)}.answer-summary dt{color:var(--ink-muted);font-size:.72rem}.answer-summary dd{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin:0;font-size:.82rem;font-weight:800;text-align:right}.answer-summary button{border:0;color:var(--signal);background:transparent;cursor:pointer;font:inherit;font-size:.72rem;font-weight:800}@keyframes onboarding-enter{0%{opacity:0;transform:translateY(.6rem)}to{opacity:1;transform:translateY(0)}}@keyframes cursor-blink{50%{opacity:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.assessment-page{min-height:100vh;background:var(--surface)}.assessment-loading{min-height:100vh}.assessment-shell{min-height:100vh;padding-bottom:9.75rem}.assessment-topline{position:sticky;z-index:2;top:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:4.35rem;padding:0 clamp(2rem,5vw,5.5rem);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(12px)}.assessment-topline>*:first-child{grid-column:1}.assessment-topline>*:last-child{grid-column:3}.assessment-brand{display:inline-flex;min-width:0;align-items:center;justify-self:start}.assessment-brand span{color:var(--ink);font-size:.84rem;font-weight:800;letter-spacing:-.02em}.assistant-mark{display:grid;width:1.42rem;height:1.42rem;flex:0 0 auto;place-items:center;border-radius:.43rem;color:#fff;background:var(--signal);font-size:.68rem;font-weight:850}.assessment-progress{display:flex;min-width:0;gap:.34rem}.assessment-progress i{width:2rem;height:.22rem;flex:0 0 auto;border-radius:99px;background:var(--line)}.assessment-progress i.is-done{background:var(--moss)}.assessment-progress i.is-active{background:var(--signal);animation:assessment-pulse 1.8s ease-in-out infinite}.assessment-topline-right{display:flex;min-width:0;align-items:center;justify-self:end;gap:.8rem}.path-navbar-stats{display:flex;min-width:13rem;align-items:stretch;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-raised)}.path-navbar-stats>span{display:grid;flex:1;gap:.04rem;padding:.34rem .7rem}.path-navbar-stats>span+span{border-left:1px solid var(--line)}.path-navbar-stats small{color:var(--ink-faint);font-size:.6875rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.path-navbar-stats strong{color:var(--ink);font-size:.975rem;font-weight:850;font-variant-numeric:tabular-nums;letter-spacing:-.025em}.path-navbar-stats b{color:var(--ink-faint);font-size:.85rem;font-weight:750}.assessment-role-label{min-width:0;max-width:min(15rem,25vw);overflow:hidden;color:var(--ink-faint);font-size:.72rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.assessment-return{margin-bottom:0}.assessment-identity{display:flex;min-width:0;gap:1.1rem}.assessment-identity span{display:flex;min-width:0;max-width:min(18rem,20vw);flex-direction:column;align-items:flex-end;gap:.1rem;line-height:1.2;color:var(--ink);font-size:.73rem;font-weight:700;overflow-wrap:anywhere;white-space:normal}.assessment-identity small{color:var(--ink-faint);font-size:.58rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.assessment-identity-value{display:block;max-width:100%;color:var(--ink);font-size:inherit;font-weight:inherit;overflow-wrap:anywhere;text-align:right}.demo-toggle{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .6rem;border:1px dashed var(--line-strong);border-radius:999px;color:var(--ink-faint);background:none;cursor:pointer;font-size:.66rem;font-weight:750;letter-spacing:.02em}.demo-toggle i{width:.4rem;height:.4rem;border-radius:50%;background:var(--line-strong)}.demo-toggle.is-on{border-style:solid;border-color:var(--amber);color:var(--amber)}.demo-toggle.is-on i{background:var(--amber)}.chat-column{width:min(100% - 3rem,43rem);margin:0 auto;padding:4.5rem 0 13rem}.chat-end-anchor{scroll-margin-bottom:7.5rem}.chat-turn{display:flex;gap:.8rem;align-items:flex-start;margin:0 0 2.2rem}.chat-turn p{max-width:38rem;margin:0;font-size:1rem;letter-spacing:-.018em;line-height:1.72;white-space:pre-wrap}.chat-turn--user{justify-content:flex-end}.chat-turn--user p{max-width:34rem;padding:.82rem 1rem;border-radius:1.05rem 1.05rem .25rem;background:var(--signal-soft)}.chat-turn--latest p b{color:var(--signal);animation:cursor-blink 1s step-end infinite}.chat-typing{display:flex;align-items:center;gap:.35rem;margin:-1rem 0 2rem 2.25rem;color:var(--ink-faint);font-size:.76rem}.chat-typing i{width:.32rem;height:.32rem;border-radius:50%;background:var(--ink-faint);animation:typing-dot 1s ease-in-out infinite}.chat-typing i:nth-child(2){animation-delay:.12s}.chat-typing i:nth-child(3){animation-delay:.24s}.chat-composer-wrap{position:fixed;z-index:3;right:0;bottom:0;left:0;display:grid;justify-items:center;gap:.5rem;padding:1rem 1.5rem 1.1rem;border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(14px)}.chat-composer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.75rem;width:min(100%,43rem);padding:.56rem .6rem .56rem 1rem;border:1px solid var(--line-strong);border-radius:1.25rem;background:var(--surface-raised);box-shadow:0 .5rem 1.8rem color-mix(in srgb,var(--ink) 7%,transparent)}.chat-composer textarea{width:100%;max-height:10rem;padding:.12rem .2rem;resize:none;border:0;border-radius:.5rem;color:var(--ink);background:transparent;font:inherit;font-size:.92rem;line-height:1.45}.chat-composer textarea::placeholder{color:var(--ink-faint)}.chat-composer button{display:grid;width:2.35rem;height:2.35rem;place-items:center;border:0;border-radius:50%;color:#fff;background:var(--signal);cursor:pointer;font-size:1.12rem;font-weight:850}.chat-composer button:hover:not(:disabled){background:color-mix(in srgb,var(--signal) 88%,var(--ink));transform:translateY(-.08rem)}.chat-composer button:disabled{opacity:.35;cursor:not-allowed}.chat-composer-wrap small{color:var(--ink-faint);font-size:.65rem}.chat-error,.assessment-error{margin:0;color:var(--amber);font-size:.75rem}.assessment-kicker{margin:0 0 .8rem;color:var(--signal);font-size:.69rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.technical-card{margin:2.5rem 0;padding:1.6rem;border:1px solid var(--line);border-radius:1.1rem;background:var(--surface-raised)}.technical-card h2{margin:0;font-size:1.55rem;font-weight:800;letter-spacing:-.055em}.technical-card>p:not(.assessment-kicker){margin:.6rem 0 1.25rem;color:var(--ink-muted);font-size:.88rem;line-height:1.5}.exercise-code{padding:1rem;overflow:auto;border-radius:.75rem;color:#eaf4ef;background:#18231f;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;line-height:1.8;white-space:pre-wrap}.exercise-code code{font-family:inherit}.exercise-blank{min-width:5.2rem;margin:0 .12rem;padding:.12rem .28rem;border:1px dashed #8fa79b;border-radius:.25rem;color:#cfdbd5;background:transparent;cursor:pointer;font:inherit}.exercise-blank.is-filled{border-style:solid;color:#17231f;background:#bce4d1}.token-bank{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.token-bank button{padding:.42rem .58rem;border:1px solid var(--line);border-radius:.45rem;color:var(--ink);background:var(--surface);cursor:pointer;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.73rem}.token-bank button.is-selected{border-color:var(--signal);color:var(--signal);background:var(--signal-soft)}.token-bank button:disabled{opacity:.35;cursor:not-allowed}.technical-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.2rem}.technical-actions small{color:var(--ink-faint);font-size:.7rem}.results-overlay{position:fixed;z-index:10;inset:0;display:grid;place-items:center;overflow-y:auto;padding:2rem;background:color-mix(in srgb,var(--ink) 38%,transparent);backdrop-filter:blur(6px);animation:results-overlay-in .3s var(--ease-out)}.results-modal{width:min(100%,27rem);max-height:min(calc(100vh - 2rem),46rem);max-height:min(calc(100dvh - 2rem),46rem);overflow-y:auto;padding:2.1rem 2rem;border:1px solid var(--line);border-radius:1.4rem;background:var(--surface-raised);box-shadow:0 1.8rem 4rem color-mix(in srgb,var(--ink) 22%,transparent);text-align:center;animation:results-modal-in .35s var(--ease-out);overscroll-behavior:contain}.results-loading,.results-retry,.results-done{display:grid;justify-items:center;gap:.3rem}.results-spinner{display:block;width:2.75rem;height:2.75rem;margin-bottom:.7rem}.results-spinner svg{width:100%;height:100%;animation:results-spin 1s linear infinite}.results-spinner circle{fill:none;stroke-width:4.5}.results-spinner circle:first-child{stroke:var(--line)}.results-spinner-arc{stroke:var(--signal);stroke-linecap:round;stroke-dasharray:28 80}.results-loading{gap:1rem}.results-loading-orb{position:relative;display:grid;width:7rem;height:7rem;margin:0 auto;place-items:center;isolation:isolate;transition:transform 1.2s var(--ease-out)}.results-loading-orb:before{position:absolute;z-index:0;inset:.2rem;border-radius:50%;background:conic-gradient(from 20deg,transparent 0 9%,color-mix(in srgb,var(--signal) 46%,transparent) 15%,transparent 22% 35%,color-mix(in srgb,white 34%,var(--signal)) 43%,transparent 51% 68%,color-mix(in srgb,var(--signal) 58%,transparent) 77%,transparent 86%);content:"";filter:blur(.55rem);opacity:.68;-webkit-mask:radial-gradient(circle,transparent 47%,#000 61%,transparent 76%);mask:radial-gradient(circle,transparent 47%,#000 61%,transparent 76%);animation:results-plasma-corona 2.8s ease-in-out infinite}.results-loading-glow{position:relative;z-index:1;width:5.55rem;height:5.55rem;overflow:hidden;border:1px solid color-mix(in srgb,var(--signal) 74%,white);border-radius:50%;background:radial-gradient(circle at 32% 25%,color-mix(in srgb,white 92%,var(--signal)) 0 4%,transparent 17%),radial-gradient(circle at 36% 31%,color-mix(in srgb,var(--signal) 72%,white) 0 12%,var(--signal) 38%,color-mix(in srgb,var(--signal) 78%,#071f4e) 72%,#071f4e 100%);box-shadow:inset -.8rem -1rem 1.2rem color-mix(in srgb,#000 34%,transparent),inset .45rem .45rem .8rem color-mix(in srgb,white 38%,transparent),0 0 0 .45rem color-mix(in srgb,var(--signal) 10%,transparent),0 .7rem 1.65rem color-mix(in srgb,var(--signal) 34%,transparent),0 0 2.8rem color-mix(in srgb,var(--signal) 38%,transparent);animation:results-orb-float 3s ease-in-out infinite,results-plasma-core 2.8s ease-in-out infinite}.results-loading-glow:before{position:absolute;top:.72rem;left:1.02rem;width:1.38rem;height:.56rem;border-radius:50%;background:color-mix(in srgb,white 76%,transparent);box-shadow:0 0 .7rem color-mix(in srgb,white 55%,transparent);content:"";filter:blur(.08rem);animation:results-plasma-highlight 2.8s ease-in-out infinite}.results-loading-glow:after{position:absolute;right:.7rem;bottom:.55rem;width:2.25rem;height:1.15rem;border-radius:50%;background:color-mix(in srgb,#031433 55%,transparent);content:"";filter:blur(.45rem)}.results-loading-phrase{margin:0;color:var(--ink);font-size:.98rem;font-weight:750;animation:results-phrase-in .5s var(--ease-out)}.results-loading-timer{display:inline-flex;align-items:baseline;gap:.45rem;min-height:1.85rem;margin:-.45rem 0 0;padding:.32rem .68rem;border:1px solid var(--line);border-radius:999px;color:var(--ink-faint);background:color-mix(in srgb,var(--signal-soft) 40%,var(--surface-raised))}.results-loading-timer strong{color:var(--signal);font-family:var(--mono);font-size:1.04rem;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.05em}.results-loading-timer span{font-size:.66rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.results-loading-delay{max-width:20rem;margin:-.35rem 0 0;color:var(--ink-muted);font-size:.8rem;font-weight:650;line-height:1.45}.scoring-game{display:grid;width:11.5rem;gap:.55rem;margin-top:.2rem;padding:.7rem;border:1px solid var(--line);border-radius:.9rem;background:var(--surface)}.scoring-game-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.scoring-game-head span{color:var(--ink);font-size:.72rem;font-weight:800}.scoring-game-head small{color:var(--ink-faint);font-size:.62rem}.scoring-game-board{display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden;border:1px solid var(--line);border-radius:.55rem}.scoring-game-board button{display:grid;aspect-ratio:1;place-items:center;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--signal);background:var(--surface-raised);cursor:pointer;font:inherit;font-size:1rem;font-weight:850}.scoring-game-board button:nth-child(3n){border-right:0}.scoring-game-board button:nth-child(n+7){border-bottom:0}.scoring-game-board button:disabled{cursor:default}.scoring-game-reset{padding:0;border:0;color:var(--ink-muted);background:none;cursor:pointer;font:inherit;font-size:.65rem;font-weight:750;text-decoration:underline;text-underline-offset:.2em}@keyframes results-orb-float{0%,to{transform:translateY(.15rem) scale(.98)}50%{transform:translateY(-.32rem) scale(1.02)}}@keyframes results-plasma-corona{0%,to{opacity:.45;transform:rotate(0) scale(.93)}38%{opacity:.88;transform:rotate(105deg) scale(1.1)}65%{opacity:.58;transform:rotate(210deg) scale(.98)}}@keyframes results-plasma-core{0%,to{filter:saturate(1) brightness(1)}38%{filter:saturate(1.22) brightness(1.12)}65%{filter:saturate(1.08) brightness(1.03)}}@keyframes results-plasma-highlight{0%,to{opacity:.56;transform:translate(0) rotate(-28deg) scale(.82)}38%{opacity:1;transform:translate(.16rem,-.1rem) rotate(-19deg) scale(1.1)}65%{opacity:.7;transform:translate(-.08rem,.08rem) rotate(-35deg) scale(.93)}}@keyframes results-phrase-in{0%{opacity:0;transform:translateY(.4rem)}to{opacity:1;transform:translateY(0)}}.results-loading-particle{position:absolute;top:50%;left:50%;width:.5rem;height:.5rem;margin:-.25rem 0 0 -.25rem;border-radius:50%;background:var(--signal);animation:results-particle-in .8s var(--ease-out) forwards}.results-loading-orb.is-bursting{animation:results-orb-burst .6s var(--ease-out) forwards}@keyframes results-particle-in{0%{opacity:1;transform:rotate(var(--angle)) translate(4.5rem) rotate(calc(var(--angle) * -1)) scale(1)}to{opacity:0;transform:rotate(var(--angle)) translate(0) rotate(calc(var(--angle) * -1)) scale(.3)}}@keyframes results-orb-burst{0%{transform:scale(var(--current-scale));opacity:1}to{transform:scale(3);opacity:0}}@media(prefers-reduced-motion:reduce){.results-loading-orb{transition:none}.results-loading-glow,.results-loading-phrase{animation:none}.results-loading-particle{display:none}.results-loading-orb.is-bursting{animation:results-orb-fade-reduced .3s ease-out forwards}}@keyframes results-orb-fade-reduced{to{opacity:0}}.results-retry p{margin:0 0 .5rem;color:var(--ink-muted);font-size:.88rem;line-height:1.5}.results-done .results-check{display:grid;width:2.75rem;height:2.75rem;margin-bottom:.8rem;place-items:center;border-radius:50%;color:#fff;background:var(--moss);font-size:1.25rem;font-weight:850;animation:results-check-pop .4s var(--ease-out) .1s backwards}.results-done .assessment-kicker{margin-bottom:.5rem}.results-done h1{margin:0;font-size:1.7rem;font-weight:800;letter-spacing:-.05em}.results-done>p:not(.assessment-kicker){margin:.7rem 0 0;color:var(--ink-muted);font-size:.88rem;line-height:1.55}.results-done .primary-action{margin-top:1.5rem}.intro-modal{width:min(100%,28rem);max-height:min(calc(100vh - 2rem),42rem);max-height:min(calc(100dvh - 2rem),42rem);overflow-y:auto;padding:clamp(1.5rem,4vw,2.2rem) clamp(1.25rem,6vw,2.2rem);border:1px solid var(--line);border-radius:1.4rem;background:var(--surface-raised);box-shadow:0 1.8rem 4rem color-mix(in srgb,var(--ink) 22%,transparent);text-align:left;animation:results-modal-in .35s var(--ease-out);overscroll-behavior:contain}.intro-modal .assessment-kicker{margin-bottom:.7rem}.intro-modal h1{margin:0 0 1.1rem;font-size:1.65rem;font-weight:800;letter-spacing:-.04em;line-height:1.18;text-wrap:balance}.intro-modal p{margin:0 0 .9rem;color:var(--ink-muted);font-size:.92rem;line-height:1.62}.intro-modal .primary-action{margin-top:.7rem}.intro-modal .intro-conversation-copy{margin:0;color:var(--ink);font-size:.95rem;line-height:1.72}.intro-modal .intro-auth-note{margin:.6rem 0 0;color:var(--ink-faint);font-size:.76rem}@keyframes assessment-pulse{50%{opacity:.35}}@keyframes typing-dot{50%{transform:translateY(-.2rem);opacity:.4}}@keyframes results-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes results-modal-in{0%{opacity:0;transform:translateY(.7rem) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes results-spin{to{transform:rotate(360deg)}}@keyframes results-check-pop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.report-loading{min-height:100vh}.report-shell{min-height:100vh;padding-bottom:4rem}.report-column{width:min(100% - 3rem,54rem);margin:0 auto;padding:3.5rem 0 2rem}.report-column--wide{width:min(100% - 3rem,76rem)}.report-hero{margin-bottom:3rem}.report-cta--primary{margin:-1.4rem 0 2.2rem}.path-report-hero{position:relative;margin-bottom:1.35rem}.path-view-toggle{position:absolute;top:0;right:0;display:flex;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-raised)}.path-view-toggle button{min-width:3.55rem;padding:.45rem .65rem;border:0;color:var(--ink-muted);background:transparent;cursor:pointer;font:inherit;font-size:var(--text-xs);font-weight:800}.path-view-toggle button+button{border-left:1px solid var(--line)}.path-view-toggle button[aria-pressed=true]{color:var(--surface-raised);background:var(--signal)}.report-hero.report-hero--compact h1{font-size:clamp(1.35rem,2vw,1.65rem)}.report-hero h1{max-width:32ch;margin:0;font-size:clamp(2.1rem,4vw,3rem);font-weight:800;letter-spacing:-.045em;line-height:1.12;text-wrap:balance}.report-self{max-width:40rem;margin:1rem 0 0;color:var(--ink-muted);font-size:.95rem;line-height:1.6}.report-section{margin-bottom:3rem}.report-section h2{margin:0 0 1.4rem;font-size:1.25rem;font-weight:800;letter-spacing:-.03em}.report-cta{display:grid;justify-items:start;gap:.6rem;padding:1.8rem;border:1px solid var(--line);border-radius:1.2rem;background:var(--surface-raised)}.report-cta small{color:var(--ink-faint);font-size:.78rem}.report-evidence-gap{padding:1.5rem;border:1px dashed var(--line-strong);border-radius:1.2rem;background:var(--surface-raised)}.report-evidence-gap strong{font-size:.95rem}.report-evidence-gap p{max-width:38rem;margin:.45rem 0 0;color:var(--ink-muted);font-size:.84rem;line-height:1.55}.score-ring.is-unmeasured .ring-value{display:none}.save-progress-btn{display:inline-flex;width:fit-content;align-items:center;gap:.5rem;margin-top:.2rem;padding:.6rem .95rem;border:1px solid var(--line-strong);border-radius:.7rem;color:var(--ink);background:var(--surface);cursor:pointer;font:inherit;font-size:.8rem;font-weight:750}.save-progress-btn:hover{border-color:var(--signal);color:var(--signal)}.save-progress-status{margin:.2rem 0 0;color:var(--ink-faint);font-size:.78rem}.roadmap-loading{display:flex;align-items:center;gap:.9rem;padding:1.8rem;color:var(--ink-muted);font-size:.95rem}.roadmap-loading .results-spinner{width:2.1rem;height:2.1rem;margin-bottom:0}.score-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem;align-items:center;padding:1.8rem;border:1px solid var(--line);border-radius:1.3rem;background:var(--surface-raised)}.score-ring-card{display:flex;align-items:center;gap:1.3rem}.score-ring{position:relative;display:grid;width:6.4rem;height:6.4rem;flex:0 0 auto;place-items:center}.score-ring svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}.score-ring circle{fill:none;stroke-width:6}.score-ring .ring-value{stroke-dashoffset:var(--ring-offset)}.score-ring strong{position:relative;font-size:1.35rem;font-weight:850;letter-spacing:-.03em}.score-ring-card>div p{margin:.3rem 0 0;max-width:16rem;color:var(--ink-muted);font-size:.82rem;line-height:1.5}.score-ladder{display:grid;gap:.8rem;padding-left:2rem;border-left:1px solid var(--line)}.score-rung>div{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.3rem;font-size:.78rem}.score-rung span{color:var(--ink-muted);font-weight:700}.score-rung strong{font-weight:850}.score-rung i{display:block;height:.38rem;overflow:hidden;border-radius:999px;background:var(--line)}.score-rung i b{display:block;height:100%;width:var(--rung-width);border-radius:inherit;background:var(--line-strong)}.score-rung.is-target strong{color:var(--signal)}.score-rung.is-target i b{background:var(--signal)}.section-note{margin:-.9rem 0 1.3rem;color:var(--ink-faint);font-size:.82rem}.area-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.area-tile{display:flex;align-items:center;gap:.7rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:.85rem;background:var(--surface-raised)}.area-tile i{width:.55rem;height:.55rem;flex:0 0 auto;border-radius:50%}.area-tile>div{display:flex;min-width:0;flex:1 1 auto;align-items:baseline;justify-content:space-between;gap:.6rem}.area-tile-label{overflow:hidden;font-size:.84rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.area-tile-status{flex:0 0 auto;color:var(--ink-faint);font-size:.72rem}.area-tile--good i{background:var(--moss)}.area-tile--good .area-tile-status{color:var(--moss)}.area-tile--mid i{background:var(--signal)}.area-tile--mid .area-tile-status{color:var(--signal)}.area-tile--early i{background:var(--amber)}.area-tile--early .area-tile-status{color:var(--amber)}.area-tile--unknown{border-style:dashed}.area-tile--unknown i{background:var(--line-strong)}.radar-card{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-bottom:1.8rem;padding:1.8rem 1.5rem;border:1px solid var(--line);border-radius:1.3rem;background:var(--surface-raised)}.radar-chart{position:relative;width:18.75rem;height:18.75rem}.radar-svg{width:100%;height:100%;overflow:visible}.radar-grid-ring{fill:none;stroke:var(--line);stroke-width:1}.radar-spoke{stroke:var(--line);stroke-width:1}.radar-target{fill:color-mix(in srgb,var(--ink) 3%,transparent);stroke:var(--ink-faint);stroke-width:1.5;stroke-dasharray:4 3}.radar-you{fill:color-mix(in srgb,var(--signal) 20%,transparent);stroke:var(--signal);stroke-width:2;transition:d .5s var(--ease-out)}.radar-dot{fill:var(--signal);stroke:var(--surface-raised);stroke-width:1.5}.radar-labels{position:absolute;inset:0;pointer-events:none}.radar-label{position:absolute;max-width:4.6rem;color:var(--ink-muted);font-size:.66rem;font-weight:750;line-height:1.25;text-align:center;transform:translate(-50%,-50%)}.radar-legend{display:flex;gap:1.5rem}.radar-legend span{display:inline-flex;align-items:center;gap:.45rem;color:var(--ink-muted);font-size:.76rem;font-weight:700}.radar-legend-dot{width:.6rem;height:.6rem;border-radius:50%}.radar-legend-dot--you{background:var(--signal)}.radar-legend-dot--target{border:1.5px dashed var(--ink-faint)}.report-pointers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.2rem}.pointer-list{display:grid;gap:.65rem;margin:0;padding:0;list-style:none}.pointer-list li{position:relative;padding-left:1.1rem;color:var(--ink-muted);font-size:.88rem;line-height:1.55}.pointer-list li:before{position:absolute;left:0;content:"–";color:var(--ink-faint)}.pointer-list--good li:before{color:var(--moss);content:"✓"}.resume-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.6rem;align-items:start}.resume-doc{padding:1.8rem 2rem;border:1px solid var(--line);border-radius:1rem;background:var(--surface-raised);box-shadow:0 1rem 2.5rem color-mix(in srgb,var(--ink) 6%,transparent)}.resume-doc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:1.1rem;border-bottom:2px solid var(--ink)}.resume-doc-head strong{display:block;font-size:1.25rem;font-weight:800;letter-spacing:-.03em}.resume-doc-head span{display:block;margin-top:.25rem;color:var(--ink-muted);font-size:.8rem}.resume-doc-tag{flex:0 0 auto;padding:.3rem .6rem;border-radius:.4rem;font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.resume-doc-tag--current{color:var(--amber);background:var(--amber-soft)}.resume-doc-tag--target{color:var(--gold);background:var(--gold-soft)}.resume-doc--current .resume-doc-head{border-bottom-color:var(--amber)}.resume-doc--target .resume-doc-head{border-bottom-color:var(--gold)}.resume-doc-contact{margin:.5rem 0 0;color:var(--ink-faint);font-size:.72rem;letter-spacing:.02em}.resume-doc-skills{display:flex;flex-wrap:wrap;gap:.4rem;margin:1.2rem 0}.resume-doc-skills span{padding:.28rem .6rem;border:1px solid var(--line);border-radius:.4rem;color:var(--ink-muted);font-size:.7rem;font-weight:700}.resume-doc-section{margin-top:1.2rem}.resume-doc-section small{color:var(--ink-faint);font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.resume-doc-section ul{margin:.6rem 0 0;padding-left:1.1rem}.resume-doc-section li{margin-bottom:.5rem;color:var(--ink);font-size:.83rem;line-height:1.5}.resume-doc--target{border-color:color-mix(in srgb,var(--gold) 55%,var(--line));box-shadow:0 0 0 1px color-mix(in srgb,var(--gold) 35%,transparent),0 1.8rem 3.5rem color-mix(in srgb,var(--gold) 30%,transparent),0 .6rem 1.4rem color-mix(in srgb,var(--gold) 18%,transparent)}.resume-shortlist{max-width:42rem;margin:1.4rem 0 .6rem;color:var(--ink-muted);font-size:.9rem;line-height:1.55}.resume-warning{max-width:42rem;margin:0;color:var(--ink-faint);font-size:.78rem;line-height:1.5;font-style:italic}.roadmap-progress{display:flex;align-items:center;gap:1.2rem;margin-top:1rem}.score-ring--roadmap{width:5rem;height:5rem}.score-ring--roadmap strong{font-size:1.05rem}.roadmap-progress .report-self{margin:0}.node-path{display:grid;gap:1.1rem;max-width:38rem}.node-row{display:flex;align-items:stretch;gap:1rem}.node-spine{display:flex;flex:0 0 auto;flex-direction:column;align-items:center}.node-badge{display:grid;width:2.4rem;height:2.4rem;flex:0 0 auto;place-items:center;border:2px solid var(--line-strong);border-radius:50%;color:var(--ink-faint);background:var(--surface-raised);font-size:.85rem;font-weight:800}.node-badge--complete{border-color:var(--moss);color:#fff;background:var(--moss)}.node-badge--current{border-color:var(--signal);color:var(--signal);background:var(--signal-soft);box-shadow:0 0 0 5px var(--signal-soft);animation:node-pulse 1.8s ease-in-out infinite}.node-connector{flex:1 1 auto;width:2px;margin:.2rem 0 -1.1rem;background:var(--line)}.node-body{flex:1 1 auto;min-width:0}.node-card{display:block;width:100%;padding:1rem 1.2rem;border:1px solid var(--line);border-radius:1rem;color:var(--ink);background:var(--surface-raised);text-align:left;cursor:pointer;font:inherit;transition:transform var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.node-card:not(:disabled):hover{border-color:var(--signal);transform:translate(.2rem)}.node-card:disabled{cursor:not-allowed;opacity:.55}.node-card--complete{border-color:var(--moss);background:var(--moss-soft)}.node-card--current{border-color:var(--signal);box-shadow:0 .4rem 1.2rem color-mix(in srgb,var(--signal) 14%,transparent)}.node-card-top{display:flex;align-items:baseline;justify-content:space-between;gap:.8rem}.node-card-top strong{font-size:.95rem;letter-spacing:-.02em}.node-card small{display:block;margin-top:.35rem;color:var(--ink-faint);font-size:.74rem}.node-tag{flex:0 0 auto;padding:.22rem .55rem;border-radius:.4rem;font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.node-tag--complete{color:var(--moss);background:var(--moss-soft)}.node-tag--current{color:var(--signal);background:var(--signal-soft)}.node-tag--upcoming{color:var(--ink-faint);background:var(--canvas)}.node-preview{margin:.6rem 0 0;padding:1.1rem 1.2rem;border:1px dashed var(--line-strong);border-radius:1rem;background:var(--canvas)}.node-preview-kicker{margin:0 0 .7rem;color:var(--ink-faint);font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.node-preview-list{margin:0;padding:0;list-style:none;display:grid;gap:.55rem}.node-preview-list li{position:relative;padding-left:1rem;color:var(--ink-muted);font-size:.82rem;line-height:1.5}.node-preview-list li:before{position:absolute;left:0;content:"–";color:var(--ink-faint)}.node-preview-more{margin:.6rem 0 1.1rem;color:var(--ink-faint);font-size:.76rem;font-style:italic}.node-preview .primary-action{padding:.65rem 1.05rem;font-size:.82rem}.demo-complete-btn{display:inline-flex;width:fit-content;align-items:center;gap:.35rem;margin:.7rem 0 0;padding:.55rem .85rem;border:1px dashed var(--line-strong);border-radius:.7rem;color:var(--ink-muted);background:transparent;cursor:pointer;font:inherit;font-size:.78rem;font-weight:750}.demo-complete-btn:hover{border-color:var(--signal);color:var(--signal)}.demo-complete-btn small{color:var(--ink-faint);font-weight:700}.roadmap-layout{display:grid;grid-template-columns:minmax(0,1fr) 21rem;gap:2.4rem;align-items:start}.roadmap-path-col{margin:0}.jd-panel{position:sticky;top:5.5rem;padding:1.7rem 1.6rem;border:1px solid var(--line);border-radius:1.3rem;background:var(--surface-raised)}.jd-title{margin:.3rem 0 .25rem;font-size:1.3rem;font-weight:850;letter-spacing:-.03em}.jd-meta{margin:0 0 1.1rem;color:var(--ink-faint);font-size:.78rem;font-weight:700}.jd-ctc{display:flex;align-items:baseline;justify-content:space-between;margin:0 0 1.1rem;padding:.8rem 1rem;border-radius:.8rem;background:var(--canvas)}.jd-ctc span{color:var(--ink-faint);font-size:.72rem;font-weight:750;text-transform:uppercase;letter-spacing:.05em}.jd-ctc strong{font-size:1.05rem;font-weight:850;color:var(--ink)}.jd-ctc strong small{color:var(--ink-faint);font-size:.68rem;font-weight:700}.jd-own{margin:0 0 1.2rem;color:var(--ink-muted);font-size:.84rem;line-height:1.55}.jd-requirements-title{margin:0 0 .8rem;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint)}.jd-requirements{margin:0 0 1rem;padding:0;list-style:none;display:grid;gap:.6rem}.jd-requirements li{display:flex;align-items:flex-start;gap:.6rem;color:var(--ink);font-size:1rem;font-weight:550;line-height:1.5;transition:color var(--duration-fast) var(--ease-out)}.jd-check{display:grid;width:1.3rem;height:1.3rem;flex:0 0 auto;margin-top:.1rem;place-items:center;border:1.5px solid var(--line-strong);border-radius:50%;font-size:.68rem;font-weight:900;color:transparent;transition:all var(--duration-fast) var(--ease-out)}.jd-requirements li.is-done{color:var(--ink-faint);text-decoration:line-through;text-decoration-thickness:1.5px;text-decoration-color:var(--moss)}.jd-requirements li.is-done .jd-check{border-color:var(--moss);color:#fff;background:var(--moss)}.jd-progress-note{margin:0;padding-top:.9rem;border-top:1px solid var(--line);color:var(--ink-faint);font-size:.74rem;font-weight:700}@media(max-width:900px){.roadmap-layout{grid-template-columns:1fr}.jd-panel{position:static}}@keyframes node-pulse{50%{box-shadow:0 0 0 8px color-mix(in srgb,var(--signal) 12%,transparent)}}.practice-panel{max-width:42rem;margin:0 auto}.python-practice-panel{max-width:62rem}.practice-step-progress{margin:-.2rem 0 1rem}.python-practice-body{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:2rem;align-items:start}.python-practice-editor-col{min-width:0}.python-practice-side-col{min-width:0;display:grid;gap:1.2rem}.python-practice-side-col .practice-results,.python-practice-side-col .python-hint,.python-practice-side-col .practice-solution{margin-top:0}.practice-back{margin-bottom:1.3rem;padding:0;border:0;color:var(--ink-muted);background:none;cursor:pointer;font-size:.82rem}.practice-panel h2{margin:0;font-size:1.4rem;font-weight:800;letter-spacing:-.04em}.practice-panel>p{margin:.7rem 0 1.3rem;color:var(--ink-muted);font-size:.92rem;line-height:1.55}.practice-code{width:100%;padding:1rem;border:1px solid var(--line-strong);border-radius:.8rem;color:#eaf4ef;background:#18231f;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;line-height:1.6;resize:vertical}.practice-actions{display:flex;align-items:center;gap:1rem;margin-top:1rem}.practice-solution-toggle{padding:0;border:0;color:var(--ink-muted);background:none;cursor:pointer;font-size:.82rem;text-decoration:underline;text-underline-offset:.2rem}.practice-results{margin-top:1.2rem;display:grid;gap:.4rem}.python-loop-node-list{display:grid;gap:.65rem;margin-top:1.45rem}.python-loop-node-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.85rem;align-items:center;width:100%;padding:.9rem 1rem;border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink);background:var(--surface-raised);cursor:pointer;font:inherit;text-align:left}.python-loop-node-picker:hover{border-color:var(--signal);box-shadow:var(--shadow-soft);transform:translateY(-1px)}.python-loop-node-copy{display:grid;gap:.18rem;min-width:0}.python-loop-node-copy strong{font-size:.92rem;font-weight:800;letter-spacing:-.025em}.python-loop-node-copy small{color:var(--ink-muted);font-size:.76rem;line-height:1.4}.python-loop-node-status{display:inline-flex;align-items:center;gap:.4rem;color:var(--signal);font-size:.72rem;font-weight:800;white-space:nowrap}.python-loop-node-status.is-complete{color:var(--moss)}.practice-test{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.84rem}.practice-test span{font-weight:800}.practice-test.is-pass,.practice-test.is-pass span{color:var(--moss)}.practice-test.is-fail{color:var(--ink-muted)}.practice-test.is-fail span{color:var(--amber)}.practice-error{margin:0;color:var(--amber);font-size:.84rem}.practice-pass{display:flex;align-items:center;gap:1.1rem;margin-top:.3rem}.practice-pass-note{margin:0;color:var(--moss);font-size:.84rem;font-weight:750}.practice-solution{margin-top:1.5rem;padding:1.3rem;border:1px solid var(--line);border-radius:1rem;background:var(--surface-raised)}.practice-solution h3{margin:0 0 .8rem;font-size:.95rem}.practice-solution pre{margin:0 0 .9rem;padding:.9rem;overflow:auto;border-radius:.6rem;color:#eaf4ef;background:#18231f;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;line-height:1.6}.practice-solution p{margin:0 0 .6rem;color:var(--ink-muted);font-size:.84rem;line-height:1.5}.practice-misconception{margin-bottom:1.1rem;font-style:italic}.python-editor{border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.python-editor-bar{display:flex;align-items:center;justify-content:space-between;padding:.6rem .9rem;border-bottom:1px solid var(--line);background:var(--surface)}.python-editor-filename{color:var(--ink-muted);font-size:var(--text-xs);font-family:monospace}.python-editor-status{color:var(--ink-faint);font-size:var(--text-xs)}.python-editor-host .cm-editor{font-size:.85rem}.python-editor-host .cm-scroller{min-height:240px}.python-output-block{margin-top:.4rem}.python-output-label{margin:0 0 .3rem;color:var(--ink-muted);font-size:var(--text-xs);font-weight:750;text-transform:uppercase}.python-output-block pre{margin:0;padding:.7rem .9rem;border-radius:var(--radius-sm);background:var(--surface-raised);border:1px solid var(--line);font-size:.8rem;white-space:pre-wrap}.loop-transition-note{margin:0 0 .8rem;color:var(--ink-muted);font-size:var(--text-sm);font-style:italic;line-height:1.5}.python-hint{display:flex;flex-direction:column;gap:.3rem;margin-top:1.2rem;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface)}.python-hint-label{margin:0;color:var(--signal);font-size:var(--text-xs);font-weight:750;text-transform:uppercase}.python-hint p:last-child{margin:0;color:var(--ink-muted);font-size:var(--text-sm);line-height:1.5}.python-video{padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}.python-video-title{margin:0 0 var(--space-2);font-size:var(--text-sm);font-weight:700}.python-video-frame{position:relative;aspect-ratio:16 / 9;overflow:hidden;border-radius:var(--radius-md);background:#000}.python-video-frame video{width:100%;height:100%}.python-video-missing{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;padding:0 1.5rem;color:color-mix(in srgb,#fff 70%,transparent);text-align:center}.python-video-missing button{color:#fff;background:none;border:0;font-size:var(--text-xs);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.python-video--full{position:relative;left:50%;width:90vw;max-width:90vw;transform:translate(-50%);box-sizing:border-box;animation:video-surface-in var(--duration-slow) var(--ease-out)}.python-video--full .python-video-frame{width:min(90vw - 2 * var(--space-3),calc((100vh - 16rem) * 16 / 9));max-width:100%;height:auto;aspect-ratio:16 / 9;margin:0 auto}@keyframes video-surface-in{0%{opacity:0;transform:translate(-50%) scale(.98)}to{opacity:1;transform:translate(-50%) scale(1)}}.python-video-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);min-height:min(32rem,70vh);padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);text-align:center}.python-video-loader-glyph{width:4.5rem;height:4.5rem;padding:0;border:0;background:none;cursor:pointer;transition:transform var(--duration-fast) var(--ease-out)}.python-video-loader-glyph:hover{transform:scale(1.06)}.python-video-loader-glyph:active{transform:scale(.97)}.python-video-loader-glyph svg{width:100%;height:100%}.python-video-loader-ring{fill:none;stroke:var(--signal);stroke-linecap:round;stroke-dasharray:170;stroke-dashoffset:170;transform-origin:center;animation:video-loader-ring .9s var(--ease-out) forwards}.python-video-loader-play{fill:var(--signal);transform-origin:32px 32px;opacity:0;animation:video-loader-play .9s var(--ease-out) forwards}@keyframes video-loader-ring{0%{stroke-dashoffset:170;transform:rotate(-90deg)}to{stroke-dashoffset:0;transform:rotate(270deg)}}@keyframes video-loader-play{0%,45%{opacity:0;transform:scale(.6)}70%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.python-video-loader-kicker{margin:0;color:var(--ink-faint);font-size:var(--text-xs);font-weight:750;letter-spacing:.04em;text-transform:uppercase}.python-video-loader-title{margin:0;max-width:26rem;color:var(--ink);font-size:var(--text-lg);font-weight:700;letter-spacing:-.01em;line-height:1.35}.python-video-loader-cta{margin-top:var(--space-1)}@media(prefers-reduced-motion:reduce){.python-video--full{animation:none;transform:translate(-50%)}.python-video-loader-ring,.python-video-loader-play{animation:none}.python-video-loader-ring{stroke-dashoffset:0;transform:rotate(270deg)}.python-video-loader-play{opacity:1;transform:scale(1)}}.video-nudge{display:inline-flex;width:fit-content;align-items:center;gap:.55rem;padding:.65rem 1rem;border:1px solid var(--line-strong);border-radius:.8rem;color:var(--ink);background:var(--surface);cursor:pointer;font:inherit;font-size:.82rem;font-weight:750}.video-nudge:hover{border-color:var(--signal);color:var(--signal)}.video-nudge-icon{display:inline-grid;flex:none;place-items:center;width:1.3rem;height:1.3rem;border-radius:50%;color:#fff;background:var(--signal);font-size:.55rem}.video-modal{position:relative;width:min(94vw,60rem);padding:1.6rem;border:1px solid var(--line);border-radius:1.4rem;background:var(--surface-raised);box-shadow:0 1.8rem 4rem color-mix(in srgb,var(--ink) 22%,transparent);animation:results-modal-in .35s var(--ease-out)}.video-modal .python-video--full{position:static;left:auto;width:100%;max-width:100%;transform:none;animation:none}.video-modal .python-video--full .python-video-frame{width:100%;height:auto}.video-modal-close{position:absolute;top:-.9rem;right:-.9rem;z-index:1;display:grid;width:2.1rem;height:2.1rem;place-items:center;border:1px solid var(--line-strong);border-radius:50%;color:var(--ink-muted);background:var(--surface-raised);cursor:pointer;font-size:.8rem;box-shadow:0 .3rem 1rem color-mix(in srgb,var(--ink) 18%,transparent)}.video-modal-close:hover{color:var(--signal);border-color:var(--signal)}.loop-review-video-modal{width:min(92vw,54rem);padding:clamp(1rem,2.4vw,1.5rem)}.loop-review-video-header{padding:0 2.5rem 1rem 0}.loop-review-video-header p{margin:0 0 .3rem;color:var(--signal);font-size:var(--text-xs);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.loop-review-video-header h2{margin:0 0 .35rem;color:var(--ink);font-size:clamp(1.35rem,2.5vw,1.8rem);line-height:1.2}.loop-review-video-header span{color:var(--ink-muted);font-size:var(--text-sm)}.loop-review-video{display:block;width:100%;aspect-ratio:16 / 9;border-radius:var(--radius-md);background:#000}.loop-review-video-actions{display:flex;justify-content:flex-end;padding-top:1rem}.learn-shell{min-height:100vh}.learn-column{width:min(100% - 3rem,43rem);margin:0 auto;padding:4rem 0 5rem}.learn-column--wide{width:min(100% - 3rem,62rem)}.learn-column--focus{padding-top:1.6rem;padding-bottom:1.6rem}.learn-progress{margin:0 0 1.6rem;color:var(--ink-faint);font-size:.74rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.path-shell{min-height:100vh}.path-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:1.5rem 1.8rem;border:1px solid var(--line);border-radius:1.3rem;background:var(--surface-raised)}.path-overview>div{display:flex;flex-direction:column;gap:.3rem}.path-overview span{color:var(--ink-faint);font-size:.72rem;font-weight:750;text-transform:uppercase;letter-spacing:.06em}.path-overview strong{font-size:1.7rem;font-weight:850;letter-spacing:-.03em}.path-overview strong small{color:var(--ink-faint);font-size:1rem;font-weight:700}.path-topic-head{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;width:calc(100% + 1.3rem);margin:-.5rem -.65rem .6rem;padding:.5rem .65rem;border:0;border-radius:.75rem;color:inherit;background:none;font:inherit;text-align:left;text-decoration:none;cursor:pointer;transition:background var(--duration-fast) var(--ease-out)}.path-topic-head.is-unavailable{cursor:default}.path-topic-head-main h2{margin:0 0 .3rem}.path-topic-head-main p{margin:0;color:var(--ink-muted);font-size:.84rem;line-height:1.5;max-width:34rem}.path-topic-head-meta{display:flex;align-items:center;gap:.9rem;flex:0 0 auto}.path-topic-stat{flex:0 0 auto;padding:.3rem .65rem;border-radius:99px;color:var(--signal);background:var(--signal-soft);font-size:.72rem;font-weight:800;white-space:nowrap}.path-topic-xp{flex:0 0 auto;color:var(--ink-faint);font-size:.74rem;font-weight:750;white-space:nowrap}.path-topic-chevron{display:grid;width:1.7rem;height:1.7rem;flex:0 0 auto;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--ink-muted);font-size:.9rem;font-weight:800;line-height:1;transition:border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.path-topic-head:not(.is-unavailable) .path-topic-chevron{color:var(--signal);border-color:var(--signal)}.path-topic-head:not(.is-unavailable):hover{background:color-mix(in srgb,var(--surface-raised) 72%,transparent)}.path-topic-head:hover .path-topic-chevron{border-color:var(--signal);color:var(--signal)}.xp-loader{display:flex;align-items:center;gap:.45rem;flex:0 0 auto}.xp-loader-track{position:relative;width:4.6rem;height:.4rem;border-radius:99px;overflow:hidden;background:var(--line)}.xp-loader-fill{position:absolute;inset:0 auto 0 0;height:100%;border-radius:inherit;background:var(--signal);transition:width var(--duration-fast) var(--ease-out)}.xp-loader-pct{flex:0 0 auto;min-width:2.2rem;color:var(--ink-faint);font-size:.72rem;font-weight:800;font-variant-numeric:tabular-nums;text-align:right}.xp-loader--hero{width:100%;margin-top:.5rem}.xp-loader--hero .xp-loader-track{width:100%;height:.5rem}.xp-loader--hero .xp-loader-pct{min-width:2.6rem;font-size:.8rem;color:var(--ink-muted)}.path-milestone-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.7rem}.path-milestone-card{display:flex;align-items:center;gap:.8rem;padding:.9rem 1rem;border:1px solid var(--line);border-radius:1rem;background:var(--surface-raised);text-align:left;text-decoration:none;transition:transform var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}a.path-milestone-card:hover{border-color:var(--signal);transform:translateY(-.15rem)}.path-milestone-card strong{display:block;color:var(--ink);font-size:.87rem;font-weight:750;letter-spacing:-.01em}.path-milestone-card small{display:block;margin-top:.25rem;color:var(--ink-faint);font-size:.72rem}.path-milestone-index{display:grid;flex:0 0 auto;width:1.9rem;height:1.9rem;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--ink-muted);background:var(--surface);font-size:.78rem;font-weight:800}.path-milestone-card.is-complete{border-color:var(--moss);background:var(--moss-soft)}.path-milestone-card.is-complete .path-milestone-index{border-color:var(--moss);color:#fff;background:var(--moss)}.path-milestone-card.is-locked{color:var(--ink-muted);opacity:.66}.path-milestone-card.is-placeholder{opacity:.55;border-style:dashed;cursor:default}.path-milestone-card.is-placeholder strong{color:var(--ink-muted);font-weight:700}.loop-stage{width:min(100%,46rem);margin:0 auto;padding:clamp(1.5rem,4vw,3rem) 0 var(--space-6)}.loop-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-5)}.loop-kicker{margin:0;color:var(--ink-muted);font-size:var(--text-xs);font-weight:750;letter-spacing:.11em;text-transform:uppercase}.loop-dots{display:flex;gap:.45rem}.loop-dots i{width:.45rem;height:.45rem;border-radius:50%;background:var(--line-strong)}.loop-dots i[data-state=done]{background:var(--moss)}.loop-dots i[data-state=active]{background:var(--ink)}.loop-scene.is-settled{margin-bottom:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--line);opacity:.6}.loop-scene-title{display:flex;align-items:center;gap:.55rem;margin:0;color:var(--ink-muted);font-size:var(--text-sm);font-weight:700}.loop-scene-check{color:var(--moss)}.loop-question-title{margin:0 0 var(--space-2);font-family:var(--serif);font-size:clamp(2.1rem,4vw,3.2rem);font-weight:400;letter-spacing:.02em;line-height:.95}.loop-prompt{margin:0 0 var(--space-4)}.loop-question-figure{margin:0 0 var(--space-4);padding:.75rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius-md)}.loop-question-figure img{display:block;max-width:100%;height:auto;margin:0 auto}.loop-prompt-prose{margin:0 0 .8rem;color:var(--ink);font-size:var(--text-lg);line-height:1.55;white-space:pre-wrap}.loop-prompt-prose:last-child{margin-bottom:0}.loop-prompt-table{margin:0 0 .8rem;padding:.85rem 1rem;overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-raised);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.84rem;line-height:1.6}.loop-prompt-table:last-child{margin-bottom:0}.loop-options{display:grid;gap:.6rem;margin-bottom:var(--space-4)}.loop-option{display:flex;align-items:center;gap:.9rem;padding:.95rem 1.1rem;border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink);background:var(--surface);cursor:pointer;font:inherit;font-size:var(--text-base);text-align:left;transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-base) var(--ease-out)}.loop-option:hover:not(:disabled){border-color:var(--ink)}.loop-option:focus-visible{border-color:var(--signal)}.loop-option.is-picked{border-color:var(--ink);background:var(--surface-raised)}.loop-option.is-assumption{border-color:var(--amber);background:var(--amber-soft)}.loop-option.is-answer{border-color:var(--moss);background:var(--moss-soft)}.loop-option:disabled{cursor:default}.loop-option:disabled:not(.is-answer){opacity:.55}.loop-option-letter{display:grid;flex:none;place-items:center;width:1.7rem;height:1.7rem;border:1px solid var(--line-strong);border-radius:50%;color:var(--ink-muted);font-size:.78rem;font-weight:800}.loop-option.is-assumption .loop-option-letter{border-color:var(--amber);color:var(--amber)}.loop-option.is-answer .loop-option-letter{border-color:var(--moss);color:var(--moss)}.loop-free-input{width:100%;margin-bottom:var(--space-4);padding:1rem 1.1rem;border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink);background:var(--surface);font:inherit;font-size:var(--text-base);line-height:1.55;resize:vertical;transition:opacity var(--duration-base) var(--ease-out)}.loop-free-input:focus-visible{border-color:var(--signal)}.loop-free-input.is-settling{opacity:.6}.loop-settling-note{margin:-.75rem 0 var(--space-3);color:var(--ink-muted);font-size:var(--text-sm)}.loop-ellipsis:after{content:"";animation:loop-ellipsis 1.4s steps(4,end) infinite}@keyframes loop-ellipsis{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}.loop-gap{margin:0 0 var(--space-3);padding:1rem 1.2rem;border-left:3px solid var(--amber);border-radius:0 var(--radius-md) var(--radius-md) 0;background:var(--amber-soft)}.loop-gap-eyebrow{margin:0 0 .35rem;color:var(--amber);font-size:var(--text-xs);font-weight:800;letter-spacing:.1em;text-transform:uppercase}.loop-gap-line{margin:0;font-size:var(--text-base);line-height:1.5}.loop-pivot{margin:0 0 var(--space-3)}.loop-pivot-line{margin:0 0 .6rem;color:var(--ink);font-size:var(--text-lg);font-weight:640;letter-spacing:-.015em}.loop-pivot-actions{display:flex;align-items:center;gap:.9rem}.loop-nudge-button{display:inline-flex;align-items:center;gap:.45rem;padding:.6rem .95rem;border:1px solid var(--signal);border-radius:var(--radius-sm);color:var(--signal);background:transparent;cursor:pointer;font:inherit;font-size:var(--text-sm);font-weight:750}.loop-nudge-button:hover,.loop-nudge-button:focus-visible{background:var(--signal-soft)}.loop-retry-note{color:var(--ink-faint);font-size:var(--text-sm)}.loop-hint{margin:0 0 var(--space-3);padding:1rem 1.2rem;border-left:3px solid var(--signal);border-radius:0 var(--radius-md) var(--radius-md) 0;background:var(--signal-soft)}.loop-hint-eyebrow{margin:0 0 .35rem;color:var(--signal);font-size:var(--text-xs);font-weight:800;letter-spacing:.1em;text-transform:uppercase}.loop-hint p:last-child{margin:0;line-height:1.5}.loop-lesson{margin:0 0 var(--space-3)}.loop-lesson-video{width:100%;border-radius:var(--radius-md)}.loop-lesson-card{display:flex;align-items:flex-start;gap:.95rem;padding:1.05rem 1.2rem;border:1px dashed var(--line-strong);border-radius:var(--radius-md);background:var(--surface-raised)}.loop-lesson-card p{margin:0 0 .3rem}.loop-lesson-glyph{display:grid;flex:none;place-items:center;width:2.1rem;height:2.1rem;margin-top:.1rem;border:1px solid var(--line-strong);border-radius:50%;color:var(--ink-faint);font-size:.7rem}.loop-lesson-card-body{min-width:0}.loop-lesson-promise{font-size:var(--text-base);font-weight:680;letter-spacing:-.01em;line-height:1.45}.loop-lesson-soon{color:var(--ink-faint);font-size:var(--text-sm)}.loop-reveal-button{margin:0 0 var(--space-3);padding:0;border:0;color:var(--ink-muted);background:none;cursor:pointer;font:inherit;font-size:var(--text-sm);text-decoration:underline;text-underline-offset:.25em}.loop-reveal-button:hover,.loop-reveal-button:focus-visible{color:var(--ink)}.loop-actions{display:flex;align-items:center;gap:1rem}.loop-landing{margin-top:var(--space-3)}.loop-model-answer{margin:0 0 var(--space-3);padding:1rem 1.2rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-raised)}.loop-model-answer p:last-child{margin:0;line-height:1.55}.loop-reasoning{margin:0 0 var(--space-3);color:var(--ink);font-size:var(--text-base);line-height:1.55}.loop-done-title{margin:.4rem 0 var(--space-2);font-family:var(--serif);font-size:clamp(2.6rem,5vw,4.2rem);font-weight:400;letter-spacing:.02em;line-height:.95}.loop-done-line{margin:0 0 var(--space-2);color:var(--ink-muted);font-size:var(--text-lg)}.loop-xp{margin:0 0 var(--space-4);color:var(--gold);font-size:var(--text-sm);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.loop-anyway{margin-top:var(--space-3);font-size:var(--text-sm)}.loop-anyway a{color:var(--ink-muted);text-decoration:underline;text-underline-offset:.25em}.loop-preview-shell{padding-top:.75rem}.loop-preview-bar{display:flex;align-items:center;gap:.8rem;margin-bottom:var(--space-3);padding:.5rem .75rem;border:1px dashed var(--line-strong);border-radius:var(--radius-sm);color:var(--ink-muted);font-size:var(--text-xs)}.loop-preview-bar select,.loop-preview-bar button{padding:.3rem .5rem;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);background:var(--surface);font:inherit;font-size:var(--text-xs)}body.crux-page .primary-action,.report-shell .primary-action{color:var(--signal-on)}.loop-sql-surface{margin-bottom:var(--space-4)}.loop-sql-editor{margin-bottom:var(--space-3)}.loop-sql-panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:.7rem;margin-bottom:var(--space-3)}.loop-sql-panel{min-width:0;padding:.9rem 1.05rem;border-left:3px solid var(--amber);border-radius:0 var(--radius-md) var(--radius-md) 0;background:var(--amber-soft)}.loop-sql-table-wrap{overflow-x:auto;margin-top:.5rem}.loop-sql-table{border-collapse:collapse;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem}.loop-sql-table th,.loop-sql-table td{padding:.3rem .65rem;border:1px solid var(--line);text-align:left;white-space:nowrap}.loop-sql-table th{color:var(--ink-muted);background:var(--surface-raised);font-weight:750}.loop-sql-empty{color:var(--ink-faint);font-style:italic}.loop-panel-pre{margin:.4rem 0 0;overflow-x:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;line-height:1.55;white-space:pre-wrap}.loop-fill{margin-bottom:var(--space-4)}.loop-fill-input{width:100%;margin-top:.6rem;padding:.8rem 1rem;border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink);background:var(--surface);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9rem}.loop-fill-input:focus-visible{border-color:var(--signal)}.loop-solution-code{margin:0;padding:.7rem .9rem;overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.84rem;line-height:1.55}.crux-topic-header{margin-bottom:var(--space-4)}.crux-topic-title{margin:.3rem 0 .4rem;font-family:var(--serif);font-size:clamp(2.8rem,5vw,4.6rem);font-weight:400;letter-spacing:.02em;line-height:.92}.crux-topic-meta{margin:0;color:var(--ink-muted);font-size:var(--text-sm)}.node-overview>h1{max-width:16ch;margin:.4rem 0 .65rem;font-family:var(--serif);font-size:clamp(1.9rem,3.5vw,3.15rem);font-weight:400;letter-spacing:.01em;line-height:.96}.node-overview-gist{max-width:40rem;margin:0;color:var(--ink-muted);font-size:var(--text-lg);line-height:1.55}.node-overview-meta{display:flex;flex-wrap:wrap;gap:.55rem;margin:1.1rem 0 var(--space-4)}.node-overview-meta>span{padding:.35rem .65rem;border:1px solid var(--line);border-radius:999px;color:var(--ink-muted);background:var(--surface-raised);font-size:var(--text-xs);font-weight:750}.mind-map-trigger{display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .72rem;border:1px solid color-mix(in srgb,var(--signal) 54%,var(--line));border-radius:999px;color:var(--signal);background:color-mix(in srgb,var(--signal-soft) 58%,var(--surface-raised));cursor:pointer;font:inherit;font-size:var(--text-xs);font-weight:800;transition:border-color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.mind-map-trigger:hover{border-color:var(--signal);background:var(--signal-soft);transform:translateY(-1px)}.mind-map-trigger-icon{position:relative;display:block;width:1rem;height:.8rem;flex:none}.mind-map-trigger-icon:before{position:absolute;inset:.18rem .16rem;border-top:1px solid currentColor;border-bottom:1px solid currentColor;transform:skewY(-26deg);opacity:.72;content:""}.mind-map-trigger-icon i{position:absolute;z-index:1;display:block;width:.28rem;height:.28rem;border:1px solid currentColor;border-radius:50%;background:var(--surface-raised)}.mind-map-trigger-icon i:nth-child(1){top:0;left:0}.mind-map-trigger-icon i:nth-child(2){top:.27rem;right:0}.mind-map-trigger-icon i:nth-child(3){bottom:0;left:.12rem}.mind-map-backdrop{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:1rem;background:color-mix(in srgb,var(--ink) 58%,transparent);backdrop-filter:blur(12px)}.mind-map-dialog{width:min(58rem,100%);max-height:calc(100vh - 2rem);overflow:auto;padding:clamp(1rem,2.5vw,1.6rem);border:1px solid var(--line-strong);border-radius:clamp(1rem,2vw,1.5rem);color:var(--ink);background:var(--surface-raised);box-shadow:var(--shadow-raised)}.mind-map-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.mind-map-dialog-header>div{display:grid;gap:.18rem}.mind-map-dialog-header span{color:var(--signal);font-size:.65rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.mind-map-dialog-header h2{margin:0;font-size:clamp(1.35rem,2.4vw,1.8rem);letter-spacing:-.035em;line-height:1.1}.mind-map-dialog-header button{display:grid;width:2.15rem;height:2.15rem;flex:none;place-items:center;padding:0 0 .12rem;border:1px solid var(--line);border-radius:50%;color:var(--ink-muted);background:var(--surface);cursor:pointer;font:inherit;font-size:1.35rem;line-height:1}.mind-map-dialog-header button:hover{border-color:var(--signal);color:var(--signal)}.mind-map-visual{display:grid;min-height:min(31rem,64vh);place-items:center;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface) 82%,var(--signal-soft))}.mind-map-visual>div{width:100%}.mind-map-visual svg{display:block;width:100%!important;max-width:none!important;height:auto;max-height:64vh;margin:auto}.mind-map-visual>p{max-width:28rem;margin:0;padding:2rem;color:var(--ink-muted);line-height:1.5;text-align:center}.mind-map-loading{display:grid;justify-items:center;gap:.8rem;color:var(--ink-muted);font-size:var(--text-sm);font-weight:700}.mind-map-loading i{display:block;width:2rem;height:2rem;border:2px solid var(--line);border-top-color:var(--signal);border-radius:50%;animation:mind-map-spin .8s linear infinite}.mind-map-footnote{margin:.85rem .15rem 0;color:var(--ink-faint);font-size:var(--text-xs);line-height:1.5;text-align:center}@keyframes mind-map-spin{to{transform:rotate(1turn)}}.node-overview-questions{margin-bottom:var(--space-4);padding:1.15rem 1.2rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-raised)}.node-overview-questions h2{margin:0 0 .85rem;font-size:var(--text-base)}.node-overview-questions ol{display:grid;gap:.7rem;margin:0;padding:0;list-style:none}.node-overview-questions li{display:grid;grid-template-columns:1.6rem minmax(0,1fr);gap:.7rem;align-items:start;padding-top:.7rem;border-top:1px solid var(--line)}.node-overview-questions li:first-child{padding-top:0;border-top:0}.node-overview-questions li>span{display:grid;width:1.5rem;height:1.5rem;place-items:center;border:1px solid var(--line-strong);border-radius:50%;color:var(--ink-muted);font-size:var(--text-xs);font-weight:800}.node-overview-questions strong,.node-overview-questions small{display:block}.node-overview-questions strong{font-size:var(--text-sm)}.node-overview-questions small{margin-top:.18rem;color:var(--ink-faint);font-size:var(--text-xs);text-transform:capitalize}.author-shell{width:min(100%,90rem);min-height:100vh;margin:0 auto;padding:clamp(1.25rem,3vw,2.5rem)}.author-header{margin-bottom:var(--space-4)}.author-node-title{margin:.3rem 0;font-family:var(--serif);font-size:clamp(2rem,3.6vw,3.2rem);font-weight:400;letter-spacing:.02em;line-height:.95}.author-topic{margin-bottom:var(--space-3)}.author-topic-title{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:0 0 .6rem;font-size:var(--text-lg);font-weight:750;letter-spacing:-.015em;cursor:pointer;list-style:none}.author-topic-name{min-width:0;flex:1 1 auto}.author-topic-title::-webkit-details-marker{display:none}.author-topic-title:before{content:"▸";margin-right:.5rem;color:var(--ink-faint);transition:transform var(--duration-fast) var(--ease-out)}.author-topic[open]>.author-topic-title:before{transform:rotate(90deg)}.author-topic-counts{color:var(--ink-faint);font-size:var(--text-xs);font-weight:700;letter-spacing:.05em;text-transform:uppercase}.author-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1rem,2.5vw,2.25rem);align-items:start}@media(max-width:900px){.author-columns{grid-template-columns:1fr}}.author-form{min-width:0}.author-field{display:block;margin-bottom:.8rem}.author-field>span{display:block;margin-bottom:.3rem;color:var(--ink-muted);font-size:var(--text-xs);font-weight:750;letter-spacing:.04em}.author-field input[type=text],.author-field input:not([type]),.author-field input[type=number],.author-field textarea{width:100%;padding:.55rem .7rem;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);background:var(--surface);font:inherit;font-size:var(--text-sm)}.author-field textarea{resize:vertical}.author-field input:focus-visible,.author-field textarea:focus-visible{border-color:var(--signal)}.author-field--inline{display:flex;align-items:center;gap:.6rem}.author-field--inline>span{margin:0}.author-field--inline input[type=number]{width:6rem}.author-question{margin:0 0 var(--space-3);padding:1rem 1.1rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-raised)}.author-question legend{display:flex;align-items:center;gap:.7rem;padding:0 .35rem;font-size:var(--text-sm);font-weight:800;letter-spacing:.04em;text-transform:uppercase}.author-question legend select{padding:.25rem .4rem;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);background:var(--surface);font:inherit;font-size:var(--text-xs)}.author-subblock{margin-top:.6rem;padding-top:.6rem;border-top:1px dashed var(--line)}.author-option{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1.4fr);gap:.5rem;align-items:center;margin-bottom:.45rem}.author-option input:not([type=radio]){padding:.45rem .6rem;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);background:var(--surface);font:inherit;font-size:var(--text-sm)}.author-run-row{display:flex;align-items:center;gap:.7rem;margin:.5rem 0}.author-expected[data-empty=true]{color:var(--ink-faint);font-style:italic}.author-findings{margin:var(--space-3) 0}.author-blocks{margin-bottom:.8rem;padding:.85rem 1rem;border-left:3px solid var(--amber);border-radius:0 var(--radius-md) var(--radius-md) 0;background:var(--amber-soft)}.author-warns{padding:.85rem 1rem;border-left:3px solid var(--signal);border-radius:0 var(--radius-md) var(--radius-md) 0;background:var(--signal-soft)}.author-blocks ul,.author-warns ul{margin:.3rem 0 0;padding-left:1.1rem;font-size:var(--text-sm);line-height:1.6}.author-clean{color:var(--moss);font-size:var(--text-sm);font-weight:700}.author-save-row{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem}.author-save-note{color:var(--ink-muted);font-size:var(--text-sm)}.author-error{color:var(--amber);font-size:var(--text-sm)}.author-preview{position:sticky;top:1rem;min-width:0;padding:1rem 1.2rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--canvas)}.author-preview-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.4rem}.author-preview .loop-stage{padding-top:.5rem;padding-bottom:var(--space-4)}.test-shell{width:min(100%,92rem);min-height:100vh;margin:0 auto;padding:clamp(1.25rem,3vw,2.5rem)}.test-header{max-width:54rem;margin-bottom:var(--space-4)}.test-title{margin:.25rem 0 .55rem;font-family:var(--serif);font-size:clamp(2.6rem,6vw,5rem);font-weight:400;letter-spacing:.01em;line-height:.92}.test-intro{max-width:46rem;margin:0;color:var(--ink-muted);font-size:var(--text-lg);line-height:1.45}.test-picker{margin-bottom:var(--space-4);padding:1rem 1.15rem 1.15rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface-raised) 88%,transparent)}.test-picker-heading,.test-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.test-section-kicker{margin:0 0 .3rem;color:var(--signal);font-size:var(--text-xs);font-weight:850;letter-spacing:.1em;text-transform:uppercase}.test-picker-heading h2{margin:0;font-size:var(--text-lg);font-weight:750;letter-spacing:-.03em}.test-no-progress{margin:0;color:var(--ink-faint);font-size:var(--text-xs);line-height:1.45}.test-source-tabs{display:flex;gap:.35rem;margin:1rem 0 .8rem;padding-bottom:.55rem;border-bottom:1px solid var(--line)}.test-source-tab{padding:.45rem .65rem;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--ink-muted);background:transparent;cursor:pointer;font:inherit;font-size:var(--text-sm);font-weight:750}.test-source-tab:hover{color:var(--ink);background:var(--surface)}.test-source-tab.is-active{border-color:var(--line);color:var(--ink);background:var(--surface);box-shadow:var(--shadow-soft)}.test-sample-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem}.test-sample{display:flex;min-width:0;flex-direction:column;align-items:flex-start;min-height:8.1rem;padding:.8rem .85rem;border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink);background:var(--surface);cursor:pointer;font:inherit;text-align:left}.test-sample:hover,.test-sample.is-active{border-color:var(--signal);box-shadow:0 .55rem 1.25rem color-mix(in srgb,var(--signal) 10%,transparent);transform:translateY(-1px)}.test-sample-kind{margin-bottom:.35rem;color:var(--signal);font-size:var(--text-xs);font-weight:850;letter-spacing:.05em;text-transform:uppercase}.test-sample strong{font-size:var(--text-sm);line-height:1.25}.test-sample small{margin-top:auto;color:var(--ink-muted);font-size:var(--text-xs);line-height:1.4}.test-corpus-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr) minmax(0,1.4fr);gap:.7rem}.test-field{display:block;min-width:0}.test-field>span{display:block;margin-bottom:.3rem;color:var(--ink-muted);font-size:var(--text-xs);font-weight:750;letter-spacing:.04em}.test-field select{width:100%;min-height:2.6rem;padding:.5rem .6rem;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);background:var(--surface);font-size:var(--text-sm)}.test-field select:focus-visible{border-color:var(--signal)}.test-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,22rem);gap:clamp(1rem,2.5vw,2rem);align-items:start}.test-player-card,.test-instrumentation{min-width:0;padding:1rem 1.15rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--canvas)}.test-player-card .loop-stage{width:min(100%,46rem);padding-top:.8rem}.test-card-heading{margin-bottom:.2rem}.test-card-source{margin:0;color:var(--ink);font-size:var(--text-sm);font-weight:720;line-height:1.35}.test-metrics{display:grid;gap:.05rem;margin:1rem 0 0}.test-metrics>div{display:grid;grid-template-columns:minmax(7rem,1fr) minmax(0,1.25fr);gap:.75rem;padding:.58rem 0;border-top:1px solid var(--line)}.test-metrics dt{color:var(--ink-muted);font-size:var(--text-xs);font-weight:750}.test-metrics dd{min-width:0;margin:0;color:var(--ink);font-size:var(--text-sm);overflow-wrap:anywhere}.test-metrics code{font-family:var(--mono);font-size:.78rem}.test-live-note{margin:1rem 0 0;padding:.75rem .85rem;border-left:3px solid var(--signal);border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--ink-muted);background:var(--signal-soft);font-size:var(--text-xs);line-height:1.5}.test-live-note code{font-family:var(--mono);font-size:.76rem}.test-output-check{display:grid;gap:.7rem;margin-top:1.2rem;padding-top:1rem;border-top:1px solid var(--line)}.test-output-check>div{min-width:0}.test-output-check>div>span{display:block;margin-bottom:.3rem;color:var(--ink-muted);font-size:var(--text-xs);font-weight:750}.test-output-check pre{max-height:13rem;margin:0;padding:.65rem .75rem;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);background:var(--surface);font-family:var(--mono);font-size:.76rem;line-height:1.5;white-space:pre-wrap}.test-instrumentation>.test-no-progress{margin-top:1.1rem}@media(max-width:1050px){.test-sample-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.test-layout{grid-template-columns:1fr}.test-instrumentation{order:2}.test-corpus-grid{grid-template-columns:1fr}}@media(max-width:600px){.test-shell{padding:1rem .8rem 2rem}.test-picker{padding:.9rem}.test-picker-heading,.test-card-heading{flex-direction:column}.test-sample-grid{grid-template-columns:1fr}.test-sample{min-height:0}.test-source-tabs{overflow-x:auto}.test-source-tab{flex:0 0 auto;min-height:2.65rem}.test-player-card,.test-instrumentation{padding:.8rem .85rem}.test-player-card .loop-stage{width:100%;padding-left:0;padding-right:0}.test-metrics>div{grid-template-columns:minmax(6.4rem,.9fr) minmax(0,1.1fr)}}.crux-pacing{margin:.55rem 0 0;color:var(--ink-muted);font-size:var(--text-sm);line-height:1.5}.crux-pacing a{color:var(--signal);font-weight:700;text-decoration:underline;text-underline-offset:.22em}.crux-node-list{display:grid;gap:.55rem;margin:0;padding:0;list-style:none}.crux-node-row{display:flex;width:100%;align-items:center;gap:.95rem;padding:.95rem 1.1rem;border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink);background:var(--surface);cursor:pointer;font:inherit;text-align:left;transition:border-color var(--duration-fast) var(--ease-out)}.crux-node-row:hover:not(:disabled){border-color:var(--ink)}.crux-node-row:focus-visible{border-color:var(--signal)}.crux-node-row:disabled{cursor:default;opacity:.55}.crux-node-row[data-state=soon]{border-style:dashed}.crux-node-row[data-state=done]{border-color:var(--moss)}.crux-node-marker{display:grid;flex:none;place-items:center;width:1.7rem;height:1.7rem;border:1px solid var(--line-strong);border-radius:50%;color:var(--moss);font-size:.8rem;font-weight:800}.crux-node-row[data-state=done] .crux-node-marker{border-color:var(--moss)}.crux-node-body{flex:1;min-width:0}.crux-node-body strong{display:block;font-size:var(--text-base);font-weight:720;letter-spacing:-.01em}.crux-node-body small{display:block;margin-top:.2rem;color:var(--ink-faint);font-size:var(--text-sm);line-height:1.4}.crux-node-tag{flex:none;color:var(--ink-muted);font-size:var(--text-xs);font-weight:750;letter-spacing:.06em;text-transform:uppercase}@media(prefers-reduced-motion:no-preference){.loop-gap{animation:loop-rise var(--duration-base) var(--ease-out)}.loop-pivot{animation:loop-rise var(--duration-slow) var(--ease-out)}.loop-hint,.loop-lesson,.loop-landing{animation:loop-rise var(--duration-base) var(--ease-out)}}@keyframes loop-rise{0%{opacity:0;transform:translateY(.4rem)}to{opacity:1;transform:translateY(0)}}html:has(body.crux-page){min-width:0}body.crux-page{min-width:0}body.crux-page .assessment-shell{padding-left:clamp(1rem,4vw,2.5rem);padding-right:clamp(1rem,4vw,2.5rem)}@media(max-width:700px){.salary-range-entry>div{grid-template-columns:1fr}.salary-range-entry button{min-height:3.6rem}body.crux-page .loop-stage{padding-top:1.1rem}body.crux-page .loop-option{gap:.7rem;padding:.85rem .9rem}body.crux-page .loop-actions .primary-action{width:100%;justify-content:center}body.crux-page .loop-pivot-actions{flex-direction:column;align-items:flex-start;gap:.5rem}body.crux-page .loop-sql-panels{grid-template-columns:1fr}body.crux-page .loop-gap,body.crux-page .loop-hint,body.crux-page .loop-sql-panel{padding:.85rem .95rem}body.crux-page .crux-node-row{align-items:flex-start;padding:.85rem .9rem}body.crux-page .crux-node-tag{padding-top:.2rem}body.crux-page .loop-header{align-items:center}body.crux-page .video-modal{width:min(100%,46rem)}body.crux-page .python-editor-host .cm-editor{max-width:100%}}:where(.topbar,.assessment-topline,.chat-composer-wrap){border-color:color-mix(in srgb,var(--line) 76%,transparent);background:var(--surface-glass);box-shadow:0 .45rem 1.5rem color-mix(in srgb,var(--ink) 5%,transparent);backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%)}.topbar{min-height:4rem;padding-inline:clamp(1rem,4vw,3.5rem);border-bottom-width:0}.topbar-brand,.assessment-brand{min-height:2.75rem;align-items:center}.topbar-brand span,.assessment-brand span,.brand{font-weight:760;letter-spacing:-.035em}.topbar-icon{width:2.75rem;height:2.75rem;border-color:color-mix(in srgb,var(--line-strong) 35%,transparent);border-radius:999px;background:color-mix(in srgb,var(--surface-raised) 66%,transparent);box-shadow:inset 0 1px color-mix(in srgb,white 48%,transparent),0 .25rem .8rem color-mix(in srgb,var(--ink) 6%,transparent)}.topbar-icon:hover,.topbar-icon:focus-visible{border-color:var(--signal);color:var(--signal);background:var(--surface-raised)}.brand-mark{width:2.2rem;height:2.2rem;border-color:var(--line-strong);background:var(--surface-raised);font-family:var(--display);font-size:1rem;font-weight:800}.goal-picker{gap:1rem;overflow:visible;border:0;background:transparent}.goal-card{min-width:0;border:1px solid var(--line);border-radius:1.5rem;background:var(--surface-glass);box-shadow:var(--shadow-soft);backdrop-filter:blur(18px) saturate(125%);-webkit-backdrop-filter:blur(18px) saturate(125%);transition:transform var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.goal-card:hover{border-color:color-mix(in srgb,var(--signal) 44%,var(--line));box-shadow:var(--shadow-raised);transform:translateY(-.35rem)}.goal-card:after{opacity:.45}.goal-card h2,.loop-question-title,.loop-done-title,.crux-topic-title,.author-node-title{font-family:var(--display);font-weight:720;letter-spacing:-.065em;line-height:.98;font-optical-sizing:auto}.goal-card h2{font-size:clamp(2.8rem,5vw,5rem)}.onboarding-stage{padding-inline:clamp(1rem,4vw,2.5rem)}.onboarding-question h1,.completion-panel h1,.report-hero h1,.technical-card h2,.practice-panel h2{font-family:var(--display);font-optical-sizing:auto;letter-spacing:-.06em}.choice-card,.salary-preset-grid button,.explore-card,.report-cta,.score-overview,.radar-card,.area-tile,.resume-doc,.node-card,.jd-panel,.path-overview,.path-milestone-card,.practice-solution,.python-hint,.python-video,.author-question,.author-preview,.loop-lesson-card,.loop-model-answer{border-color:var(--line);background:var(--surface-glass);box-shadow:var(--shadow-soft)}.choice-card,.salary-preset-grid button,.path-milestone-card,.crux-node-row,.loop-option{min-height:3rem}.choice-card{min-height:8.5rem;border-radius:1.25rem}.choice-card:hover,.salary-preset-grid button:hover,.node-card:not(:disabled):hover,.path-milestone-card:hover,.crux-node-row:hover:not(:disabled),.loop-option:hover:not(:disabled){border-color:color-mix(in srgb,var(--signal) 54%,var(--line));box-shadow:0 .65rem 1.5rem color-mix(in srgb,var(--signal) 10%,transparent)}.salary-entry>div,.name-entry input,.author-field input[type=text],.author-field input:not([type]),.author-field input[type=number],.author-field textarea,.author-option input:not([type=radio]),.loop-fill-input,.loop-free-input{border-color:var(--line-strong);border-radius:.95rem;background:var(--surface-raised)}:is(.primary-action,.salary-entry button,.name-entry button){min-height:3rem;border-radius:999px;color:var(--signal-on);background:var(--signal);box-shadow:0 .55rem 1.2rem color-mix(in srgb,var(--signal) 18%,transparent)}:is(.primary-action,.salary-entry button,.name-entry button):hover:not(:disabled){background:color-mix(in srgb,var(--signal) 88%,var(--ink));box-shadow:0 .75rem 1.5rem color-mix(in srgb,var(--signal) 22%,transparent);transform:translateY(-.12rem)}:is(.primary-action,.salary-entry button,.name-entry button):disabled{cursor:not-allowed;opacity:.45;box-shadow:none;transform:none}.explore-skip:hover{color:var(--signal)}.assessment-topline{min-height:4.25rem;padding-inline:clamp(1rem,4vw,4rem);border-bottom-width:0}.assessment-topline:after,.topbar:after{position:absolute;right:0;bottom:-.35rem;left:0;height:.35rem;background:linear-gradient(to bottom,color-mix(in srgb,var(--ink) 8%,transparent),transparent);content:"";opacity:.55;pointer-events:none}.topbar{position:relative}.assessment-topline{position:sticky}.assessment-topline-right,.assessment-identity{min-width:0}.assessment-identity span{max-width:min(18rem,20vw);overflow:visible;text-overflow:clip;white-space:normal}.assistant-mark{color:var(--signal-on);background:var(--signal)}.chat-column{width:min(calc(100% - 2rem),43rem);padding-top:clamp(2.5rem,8vw,4.5rem)}.chat-turn--user p{box-shadow:0 .4rem 1rem color-mix(in srgb,var(--signal) 8%,transparent)}.chat-composer-wrap{padding:.8rem 1rem calc(.85rem + var(--safe-area-bottom));border-top-width:0}.chat-composer{border-color:var(--line-strong);border-radius:1.5rem;box-shadow:var(--shadow-soft)}.chat-composer button,.video-nudge-icon{color:var(--signal-on)}.chat-composer button:active:not(:disabled){transform:scale(.92)}.results-overlay{background:color-mix(in srgb,var(--ink) 48%,transparent);backdrop-filter:blur(16px) saturate(120%);-webkit-backdrop-filter:blur(16px) saturate(120%)}.results-modal,.intro-modal,.video-modal{border-radius:1.75rem;background:var(--surface-raised);box-shadow:var(--shadow-raised)}.report-column,.learn-column,.loop-stage{min-width:0}.path-view-toggle,.path-navbar-stats,.demo-toggle{border-color:var(--line);border-radius:999px;background:var(--surface-glass);box-shadow:0 .25rem .8rem color-mix(in srgb,var(--ink) 5%,transparent)}.path-view-toggle button[aria-pressed=true]{color:var(--signal-on);background:var(--signal)}.score-overview,.radar-card,.report-cta,.resume-doc,.jd-panel,.path-overview,.practice-solution,.python-hint,.python-video,.author-question,.author-preview{border-radius:1.35rem}.resume-doc--target{box-shadow:0 0 0 1px color-mix(in srgb,var(--gold) 35%,transparent),var(--shadow-raised)}.node-card--current,.crux-node-row[data-state=open]{box-shadow:0 .6rem 1.5rem color-mix(in srgb,var(--signal) 12%,transparent)}.node-badge--complete,.jd-requirements li.is-done .jd-check,.path-milestone-card.is-complete .path-milestone-index,.onboarding-progress .is-complete .progress-dot,.results-done .results-check{color:var(--moss-on)}.practice-code,.exercise-code,.loop-prompt-table,.python-editor,.loop-sql-editor{font-family:var(--mono)}.python-editor .cm-editor.cm-focused,.python-editor-host .cm-editor.cm-focused{outline:none;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--line-strong) 78%,var(--signal) 22%);border-radius:.4rem}html[data-focus-modality=keyboard] .python-editor .cm-editor.cm-focused,html[data-focus-modality=keyboard] .python-editor-host .cm-editor.cm-focused{outline:.16rem solid var(--signal);outline-offset:.2rem;box-shadow:var(--focus-ring)}.answer-summary dd,.answer-summary dd>span{min-width:0}.loop-question-figure{background:var(--surface-raised)}.author-topic-title,.path-topic-head,.crux-node-row,.loop-option,.node-card,.path-milestone-card{-webkit-tap-highlight-color:transparent}@media(max-width:900px){.explore-grid,.score-overview,.report-pointers,.resume-compare,.python-practice-body,.roadmap-layout,.author-columns{grid-template-columns:1fr}.score-ladder{padding-top:1.25rem;padding-left:0;border-top:1px solid var(--line);border-left:0}.jd-panel{position:static}.radar-chart{max-width:100%}.author-preview{position:static}.assessment-topline{grid-template-columns:minmax(0,1fr) auto;gap:.55rem;padding-block:.65rem}.assessment-topline>*:first-child{grid-column:1}.assessment-topline>*:nth-child(2){grid-column:1 / -1;grid-row:2;justify-self:center}.assessment-topline>*:last-child{grid-column:2;grid-row:1}.assessment-progress{justify-content:center}.assessment-topline:has(.assessment-progress){padding-bottom:.75rem}.assessment-identity span{max-width:min(15rem,28vw)}.path-view-toggle{position:static;width:max-content;margin-top:1rem}.roadmap-progress,.author-topic-title{align-items:flex-start}.author-topic-counts{text-align:right}}@media(max-width:680px){.shell{padding:.75rem 1rem 1.25rem}.site-footer{flex-direction:column;gap:.4rem}.home-hero{padding-block:2.5rem 1.5rem}.goal-picker,.choice-grid,.salary-preset-grid{grid-template-columns:1fr}.goal-card{min-height:19rem;padding:1.35rem}.choice-card--unsure{grid-column:auto}.onboarding-progress{justify-content:space-between;overflow:visible;width:100%;gap:.2rem;padding-inline:.15rem;font-size:.62rem}.onboarding-progress li{min-width:0;gap:.3rem}.onboarding-progress i{flex:1 1 .75rem;width:auto;min-width:.75rem;margin-inline:.15rem}.progress-dot{width:1.4rem;height:1.4rem;font-size:.6rem}.onboarding-stage{padding-inline:.8rem}.explore-card,.report-cta,.score-overview,.radar-card,.resume-doc,.jd-panel,.path-overview,.practice-solution,.python-hint,.python-video,.author-question,.author-preview{padding:1.15rem}.technical-actions,.practice-pass,.loop-actions,.author-run-row{align-items:stretch;flex-direction:column}.technical-actions .primary-action,.practice-pass .primary-action,.loop-actions .primary-action{width:100%;justify-content:center}.salary-entry>div{grid-template-columns:auto minmax(0,1fr) auto}.salary-entry>div button{grid-column:1 / -1;width:100%}.name-entry{align-items:stretch;flex-direction:column}.name-entry button{width:100%}.assessment-topline{min-height:3.75rem;padding-inline:.8rem}.assessment-brand span{font-size:.78rem}.assessment-topline-right{gap:.35rem}.assessment-identity{display:none}.assessment-role-label{max-width:10rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assessment-progress i{width:1.35rem}.chat-column{width:min(calc(100% - 1.5rem),43rem);padding-bottom:12rem}.chat-turn{gap:.55rem;margin-bottom:1.65rem}.chat-turn p{font-size:.96rem;line-height:1.62}.chat-composer-wrap{padding-inline:.65rem}.chat-composer{padding-left:.8rem}.chat-composer textarea{font-size:.9rem}.report-column,.learn-column{width:min(calc(100% - 1.5rem),62rem);padding-top:2.25rem}.report-hero,.report-section{margin-bottom:2rem}.score-ring-card{align-items:flex-start;gap:.85rem}.score-ring{width:5.25rem;height:5.25rem}.area-grid{grid-template-columns:1fr}.radar-legend{flex-wrap:wrap;justify-content:center;gap:.65rem 1rem}.resume-doc-head{gap:.6rem}.resume-doc-head strong{font-size:1.05rem}.roadmap-progress{gap:.8rem}.crux-node-row{align-items:flex-start;padding:.85rem .8rem}.crux-node-tag{max-width:7rem;padding-top:.15rem;text-align:right;white-space:normal}.python-practice-panel{max-width:none}.python-editor-host .cm-scroller{min-height:200px}.author-shell{padding:1rem .8rem}.author-option{grid-template-columns:1fr}.author-field--inline{align-items:flex-start;flex-direction:column}.author-field--inline input[type=number]{width:100%}.author-save-row{align-items:stretch}.author-save-row .primary-action{width:100%}.video-modal{width:min(calc(100% - 1rem),60rem);padding:1rem}.video-modal-close{top:.45rem;right:.45rem}.loop-stage{width:min(calc(100% - 1.5rem),46rem);padding-top:1.5rem}.loop-option{align-items:flex-start;padding:.85rem .9rem}.loop-preview-bar{align-items:stretch;flex-wrap:wrap}.loop-preview-bar select,.loop-preview-bar button{min-height:2.75rem}}@media(prefers-reduced-transparency:reduce){:where(.topbar,.assessment-topline,.chat-composer-wrap,.goal-card,.choice-card,.explore-card,.report-cta,.score-overview,.radar-card,.area-tile,.resume-doc,.node-card,.jd-panel,.path-overview,.path-milestone-card,.practice-solution,.python-hint,.python-video,.author-question,.author-preview,.loop-lesson-card,.loop-model-answer){background:var(--surface-raised);backdrop-filter:none;-webkit-backdrop-filter:none}.onboarding-atmosphere span{opacity:.1;filter:none}}@media(prefers-contrast:more){:where(.topbar,.assessment-topline,.chat-composer-wrap,.goal-card,.choice-card,.explore-card,.report-cta,.score-overview,.radar-card,.area-tile,.resume-doc,.node-card,.jd-panel,.path-overview,.path-milestone-card,.practice-solution,.python-hint,.python-video,.author-question,.author-preview,.loop-lesson-card,.loop-model-answer){border-color:var(--line-strong);background:var(--surface-raised);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}:is(.primary-action,.salary-entry button,.name-entry button){outline:1px solid var(--signal);outline-offset:1px}}@media(prefers-reduced-motion:reduce){:where(.goal-card,.choice-card,.node-card,.path-milestone-card,.crux-node-row,.loop-option,.primary-action,.salary-entry button,.name-entry button):hover,:where(.goal-card,.choice-card,.node-card,.path-milestone-card,.crux-node-row,.loop-option,.primary-action,.salary-entry button,.name-entry button):active{transform:none}.assessment-progress i.is-active,.node-badge--current,.results-loading-orb:before,.results-loading-glow,.results-loading-glow:before,.results-loading-orb,.topics-map-preview__node-halo,.node-roadmap-preview__node-halo{animation:none}::view-transition-group(topic-node-zoom),::view-transition-old(topic-node-zoom),::view-transition-new(topic-node-zoom){animation:none}}html:not([data-focus-modality=keyboard]) :where(input,textarea,select):focus{outline:none;border-color:color-mix(in srgb,var(--line-strong) 74%,var(--signal) 26%);box-shadow:0 1px 4px color-mix(in srgb,var(--signal) 10%,transparent)}html:not([data-focus-modality=keyboard]) :is(.loop-free-input,.loop-fill-input,.author-field input,.author-field textarea,.name-entry input,.practice-code):focus{border-color:color-mix(in srgb,var(--line-strong) 74%,var(--signal) 26%);box-shadow:0 1px 4px color-mix(in srgb,var(--signal) 10%,transparent)}html:not([data-focus-modality=keyboard]) :is(.salary-entry>div,.chat-composer):focus-within{border-color:color-mix(in srgb,var(--line-strong) 74%,var(--signal) 26%)}html:not([data-focus-modality=keyboard]) :where(button,a,summary,[tabindex]):focus-visible{outline:none!important;box-shadow:none!important}html:not([data-focus-modality=keyboard]) .loop-option:focus-visible:not(.is-picked):not(.is-assumption):not(.is-answer){border-color:var(--line)}html:not([data-focus-modality=keyboard]) .loop-option.is-picked:hover:not(:disabled){border-color:var(--ink);box-shadow:none}.loop-prompt-table-wrap{max-width:100%;margin:0 0 .8rem;overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-raised);overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.loop-prompt-table-wrap:last-child{margin-bottom:0}.loop-prompt-data-table{width:max-content;min-width:100%;border-collapse:collapse;color:var(--ink);font-size:.84rem;line-height:1.45}.loop-prompt-data-table th,.loop-prompt-data-table td{padding:.55rem .7rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;vertical-align:top;white-space:nowrap}.loop-prompt-data-table th{color:var(--ink);background:color-mix(in srgb,var(--signal-soft) 52%,var(--surface-raised));font-weight:780}.loop-prompt-data-table th:last-child,.loop-prompt-data-table td:last-child{border-right:0}.loop-prompt-data-table tbody tr:last-child td{border-bottom:0}@media(max-width:680px){.loop-prompt-data-table{font-size:.78rem}.loop-prompt-data-table th,.loop-prompt-data-table td{padding:.48rem .58rem}}.loop-gap,.loop-hint{width:min(100%,39rem);margin:0 0 var(--space-3);padding:1.1rem 1.35rem 1.2rem 1.55rem;border:0;border-radius:1.25rem;outline:none;box-shadow:none}.loop-gap{background:var(--amber-soft)}.loop-hint{background:var(--signal-soft)}.loop-gap-eyebrow,.loop-hint-eyebrow{font-weight:700;letter-spacing:.09em}@media(prefers-reduced-motion:no-preference){.loop-gap,.loop-hint{animation:loop-aside-in .18s var(--ease-out) both}}@keyframes loop-aside-in{0%{opacity:0;transform:translateY(.3rem)}to{opacity:1;transform:translateY(0)}}@media(max-width:700px){.loop-gap,.loop-hint{width:100%;padding:.95rem 1rem 1.05rem 1.2rem}}.loop-scene.is-settled{margin-bottom:var(--space-4)}.loop-scene.is-live>.loop-question-title,.loop-scene.is-live>.loop-question-figure,.loop-scene.is-live>.loop-prompt{margin-bottom:var(--space-3)}@media(prefers-reduced-motion:no-preference){.loop-xp{animation:loop-xp-settle .18s var(--ease-out) 70ms both}}@keyframes loop-xp-settle{0%{opacity:0;transform:translateY(.3rem)}70%{opacity:1;transform:translateY(-.04rem)}to{opacity:1;transform:translateY(0)}}.loop-settling-note{min-height:1.5em}.loop-settling-note.is-idle{visibility:hidden}.loop-workspace{position:relative;min-height:calc(100vh - 4.35rem)}.learning-topline-progress{grid-column:2;display:grid;width:min(24rem,34vw);gap:.32rem;justify-self:center}.learning-topline-status{display:grid;min-width:0;gap:.32rem}.learning-topline-status>div:first-child{display:flex;min-width:0;align-items:baseline;justify-content:center;gap:.45rem;white-space:nowrap}.learning-topline-progress span{color:var(--ink-faint);font-size:.62rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.learning-topline-progress strong{overflow:hidden;color:var(--ink);font-size:.82rem;font-weight:850;letter-spacing:-.02em;text-overflow:ellipsis}.learning-topline-progress small{color:var(--ink-faint);font-size:.65rem;font-weight:700}.learning-topline-bar{display:block;width:100%;height:.2rem;overflow:hidden;border-radius:999px;background:var(--line)}.learning-topline-bar b{display:block;height:100%;border-radius:inherit;background:var(--signal);transition:width var(--duration-base) var(--ease-out)}.learning-topline-progress--segmented{width:min(48rem,52vw);grid-template-columns:minmax(7rem,1fr) minmax(15rem,1.5fr) minmax(7rem,1fr);align-items:center;gap:1rem}.learning-topline-context{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.learning-topline-status>div:first-child{justify-content:space-between}.learning-topline-status>div:first-child>span{color:var(--gold);letter-spacing:0;text-transform:none}.learning-topline-segments{display:grid;gap:.35rem}.learning-topline-segments i{height:.28rem;overflow:hidden;border-radius:999px;background:var(--line)}.learning-topline-segments i:after{display:block;width:0;height:100%;border-radius:inherit;background:var(--signal);content:"";transition:width var(--duration-base) var(--ease-out)}.learning-topline-segments i.is-filled:after{width:100%}.learning-topline-earned{text-align:right}.learning-progress-rail,.loop-coach-panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface-raised) 94%,transparent);box-shadow:var(--shadow-soft);backdrop-filter:blur(14px)}.learning-progress-rail{position:fixed;z-index:1;top:5.35rem;left:max(1rem,calc(50vw - 48rem));width:16rem;max-height:calc(100vh - 6.35rem);padding:.9rem;overflow:auto}.learning-progress-rail>header,.loop-coach-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding-bottom:.7rem;border-bottom:1px solid var(--line)}.learning-progress-rail>header div,.loop-coach-panel>header div{display:grid;gap:.12rem;min-width:0}.learning-progress-rail>header span,.loop-coach-panel>header span{color:var(--ink-faint);font-size:.6rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.learning-progress-rail>header strong,.loop-coach-panel>header strong{overflow:hidden;color:var(--ink);font-size:.85rem;text-overflow:ellipsis;white-space:nowrap}.learning-progress-rail>header button,.loop-coach-panel>header button{display:grid;width:1.8rem;height:1.8rem;flex:none;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--ink-muted);background:transparent;cursor:pointer;font:inherit}.learning-progress-rail>header button:hover,.loop-coach-panel>header button:hover{border-color:var(--signal);color:var(--signal)}.learning-rail-summary{margin:.7rem 0;color:var(--ink-muted);font-size:.7rem;font-weight:750}.learning-rail-nodes,.learning-rail-questions{margin:0;padding:0;list-style:none}.learning-rail-nodes{display:grid;gap:.18rem}.learning-rail-nodes>li{position:relative;display:grid;grid-template-columns:1.55rem minmax(0,1fr);gap:.55rem;align-items:start;padding:.45rem .35rem;border-radius:var(--radius-sm);color:var(--ink-faint)}.learning-rail-nodes>li:before{content:"";position:absolute;top:2rem;bottom:-.35rem;left:1.08rem;width:1px;background:var(--line)}.learning-rail-nodes>li:last-child:before{display:none}.learning-rail-nodes>li[data-state=done]{color:var(--moss)}.learning-rail-nodes>li[data-state=active]{color:var(--signal);background:var(--signal-soft)}.learning-rail-marker{position:relative;z-index:1;display:grid;width:1.5rem;height:1.5rem;place-items:center;border:1px solid currentColor;border-radius:50%;background:var(--surface-raised);font-size:.65rem;font-weight:850}.learning-rail-nodes>li[data-state=active] .learning-rail-marker{animation:learning-current-pulse 2.2s ease-in-out infinite}.learning-rail-nodes>li>div{min-width:0;padding-top:.17rem}.learning-rail-nodes>li>div>strong{display:block;overflow:hidden;color:currentColor;font-size:.72rem;font-weight:760;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.learning-rail-questions{display:grid;gap:.35rem;margin-top:.65rem;padding-top:.55rem;border-top:1px solid color-mix(in srgb,var(--signal) 20%,transparent)}.learning-rail-questions li{display:grid;grid-template-columns:1.1rem minmax(0,1fr);gap:.4rem;align-items:start;color:var(--ink-faint)}.learning-rail-questions i{display:grid;width:1rem;height:1rem;place-items:center;border:1px solid var(--line-strong);border-radius:50%;font-size:.52rem;font-style:normal;font-weight:800}.learning-rail-questions span{overflow:hidden;font-size:.65rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.learning-rail-questions li[data-state=done]{color:var(--moss)}.learning-rail-questions li[data-state=active]{color:var(--signal);font-weight:800}.learning-rail-questions li[data-state=active] i{background:var(--signal);color:var(--signal-on);animation:learning-current-pulse 2.2s ease-in-out infinite}.learning-rail-island{position:fixed;z-index:3;top:5.35rem;left:max(.75rem,calc(50vw - 48rem));display:grid;grid-template-columns:auto auto auto;gap:.4rem;align-items:center;padding:.55rem .7rem;border:1px solid var(--line);border-radius:999px;color:var(--ink);background:var(--surface-raised);box-shadow:var(--shadow-soft);cursor:pointer;font:inherit}.learning-rail-island>span{color:var(--signal);font-size:1rem}.learning-rail-island strong{font-size:.72rem}.learning-rail-island small{color:var(--ink-faint);font-size:.65rem;font-weight:750}.loop-coach-rail{position:fixed;z-index:3;top:5.35rem;right:max(1rem,calc(50vw - 48rem));width:18rem;max-height:calc(100vh - 6.35rem)}.loop-coach-panel{max-height:calc(100vh - 6.35rem);padding:.9rem;overflow:auto}.loop-coach-empty{margin:.9rem 0 .15rem;color:var(--ink-faint);font-size:.75rem;line-height:1.5}.loop-coach-island{display:grid;min-width:8.5rem;gap:.05rem;margin-left:auto;padding:.6rem .8rem;border:1px solid var(--line);border-radius:999px;color:var(--ink);background:var(--surface-raised);box-shadow:var(--shadow-soft);cursor:pointer;font:inherit;text-align:left}.loop-coach-island span{color:var(--ink-faint);font-size:.56rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.loop-coach-island strong{color:var(--signal);font-size:.72rem}.loop-coach-panel .loop-gap,.loop-coach-panel .loop-hint,.loop-coach-panel .loop-pivot,.loop-coach-panel .loop-lesson,.loop-coach-panel .loop-model-answer,.loop-coach-panel .loop-reasoning{width:auto;margin:.75rem 0 0}.loop-coach-panel .loop-gap,.loop-coach-panel .loop-hint{animation:none}.loop-coach-panel .loop-gap,.loop-coach-panel .loop-hint,.loop-coach-panel .loop-sql-panel{padding:.8rem .85rem;border-radius:var(--radius-md)}.loop-coach-panel .loop-pivot-line{font-size:.9rem;line-height:1.45}.loop-coach-panel .loop-retry-note{display:block;margin:.65rem 0 0;font-size:.7rem;line-height:1.4}.loop-coach-panel .loop-lesson-card{display:grid;gap:.65rem;padding:.8rem}.loop-coach-panel .loop-lesson-soon{font-size:.7rem}.loop-coach-panel .loop-reveal-button{margin-top:.8rem}.loop-coach-panel .loop-sql-table{font-size:.68rem}.loop-coach-panel .loop-sql-table th,.loop-coach-panel .loop-sql-table td{padding:.25rem .4rem}.loop-code-feedback{display:grid;gap:.55rem;margin-top:.75rem}.loop-coach-solution{margin-top:.75rem}.loop-coach-solution .loop-model-answer{padding:.8rem}.loop-coach-solution .loop-reasoning{font-size:.82rem;line-height:1.5}.roadmap-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(15rem,19rem);gap:2rem;align-items:center}.roadmap-hero-cta{display:grid;gap:.42rem;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-raised)}.roadmap-hero-cta>span{color:var(--signal);font-size:.62rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.roadmap-hero-cta>strong{color:var(--ink);font-size:.92rem;line-height:1.35}.roadmap-hero-cta .primary-action{width:100%;justify-content:center;margin-top:.25rem}.roadmap-hero-cta small{color:var(--ink-faint);font-size:.68rem;line-height:1.4}@keyframes learning-current-pulse{50%{box-shadow:0 0 0 .35rem color-mix(in srgb,var(--signal) 13%,transparent);transform:scale(1.04)}}@media(max-width:1399px){.learning-topline-progress--segmented{width:min(35rem,48vw);grid-template-columns:minmax(0,1fr) minmax(12rem,1.5fr)}.learning-topline-progress--segmented .learning-topline-earned{display:none}.learning-progress-rail{z-index:5;left:.75rem;width:min(18rem,calc(100vw - 1.5rem))}.loop-coach-rail{z-index:5;right:.75rem;width:min(19rem,calc(100vw - 1.5rem))}.learning-rail-island{left:.75rem}}@media(max-width:760px){.learning-topline-progress{grid-column:1 / -1;grid-row:2;width:min(100%,24rem)}.learning-topline-status>div:first-child{justify-content:space-between}.learning-topline-progress small{display:none}.learning-topline-progress--segmented{grid-template-columns:1fr}.learning-topline-progress--segmented .learning-topline-context{display:none}.learning-progress-rail,.loop-coach-rail{top:auto;bottom:.75rem;max-height:min(72vh,34rem)}.learning-progress-rail,.loop-coach-panel{max-height:min(72vh,34rem)}.learning-rail-island{top:auto;bottom:.75rem}.loop-coach-rail{right:.75rem}.loop-coach-island{margin-top:auto}.roadmap-hero-grid{grid-template-columns:1fr;gap:1.1rem}.roadmap-hero-cta{padding:.9rem}.mind-map-backdrop{padding:.6rem}.mind-map-dialog{max-height:calc(100vh - 1.2rem);padding:1rem}.mind-map-visual{min-height:min(28rem,68vh)}.mind-map-visual>div{min-width:46rem}}@media(prefers-reduced-motion:reduce){.mind-map-loading i{animation-duration:1.6s}}
