:root{--color-bg-primary: #FFFFFF;--color-bg-secondary: #F7F5EF;--color-bg-tertiary: #F1EFE8;--color-text-primary: #1F1E1C;--color-text-secondary: #5F5E5A;--color-text-tertiary: #6E6D68;--color-border-tertiary: rgba(31, 30, 28, .12);--color-border-secondary: rgba(31, 30, 28, .22);--color-border-primary: rgba(31, 30, 28, .35);--color-bg-info: #E6F1FB;--color-text-info: #0C447C;--color-border-info: #378ADD;--color-bg-success: #EAF3DE;--color-text-success: #3B6D11;--color-bg-warning: #FAEEDA;--color-text-warning: #854F0B;--color-bg-danger: #FCEBEB;--color-text-danger: #A32D2D;--radius-sm: 5px;--radius-md: 8px;--radius-lg: 12px;--font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--font-mono: ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;--font-serif: ui-serif, Georgia, "Times New Roman", serif;--text-xs: .688rem;--text-sm: .75rem;--text-label: .813rem;--text-base: 1rem;--text-body: 1.125rem;--text-lead: 1.25rem;--text-h2: 1.625rem;--text-h1: 1.875rem}html{font-size:17px}html[data-font=sm]{font-size:15.5px}html[data-font=lg]{font-size:18.5px}[data-theme=dark]{--color-bg-primary: #1A1917;--color-bg-secondary: #232220;--color-bg-tertiary: #2B2A27;--color-text-primary: #F0EEE8;--color-text-secondary: #B4B2A9;--color-text-tertiary: #9C9A92;--color-border-tertiary: rgba(240, 238, 232, .14);--color-border-secondary: rgba(240, 238, 232, .26);--color-border-primary: rgba(240, 238, 232, .4);--color-bg-info: #0C447C;--color-text-info: #B5D4F4;--color-bg-success: #27500A;--color-text-success: #C0DD97;--color-bg-warning: #633806;--color-text-warning: #FAC775;--color-bg-danger: #791F1F;--color-text-danger: #F7C1C1}*,*:before,*:after{box-sizing:border-box}:root{--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--dur-fast: .14s;--dur-med: .22s;--dur-slow: .34s}@media (prefers-reduced-motion: reduce){:root{--dur-fast: 1ms;--dur-med: 1ms;--dur-slow: 1ms}*,*:before,*:after{animation-duration:1ms!important;transition-duration:1ms!important}}html,body{margin:0;padding:0;font-family:var(--font-sans);line-height:1.65;font-weight:400;color:var(--color-text-primary);background:var(--color-bg-primary);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-kerning:normal}body{font-size:var(--text-base)}h1,h2,h3,h4,h5,h6{margin:0;font-weight:500}p{margin:0 0 1em}a{color:var(--color-text-info);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;color:inherit;background:transparent;border:.5px solid var(--color-border-tertiary);border-radius:var(--radius-sm);padding:6px 12px;cursor:pointer;transition:background-color .08s ease,transform .08s ease}button:hover{background:var(--color-bg-secondary);border-color:var(--color-border-secondary)}button:active{transform:scale(.98)}button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-bg-info)}input,textarea{font:inherit;color:inherit;background:var(--color-bg-primary);border:.5px solid var(--color-border-tertiary);border-radius:var(--radius-sm);padding:8px 12px;outline:none}input{height:36px}input:focus,textarea:focus{border-color:var(--color-border-info);box-shadow:0 0 0 3px var(--color-bg-info)}.page{max-width:780px;margin:0 auto;padding:32px 24px 96px}.kicker{font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-tertiary);font-weight:500}.kicker .kicker-sep{opacity:.5;margin:0 .5em;display:inline-block}.section-label{font-size:var(--text-label);letter-spacing:.03em;font-weight:500;text-transform:uppercase;color:var(--color-text-secondary);display:flex;align-items:center;gap:8px;margin:28px 0 10px}.section-label .n{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-tertiary);border:.5px solid var(--color-border-tertiary);border-radius:3px;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center}.section-label .section-sub{text-transform:none;letter-spacing:.005em;font-weight:400;font-size:var(--text-sm);color:var(--color-text-tertiary);margin-left:4px}#problem .section-label{color:var(--color-text-primary);letter-spacing:.04em;margin-top:22px}#problem .section-label .n{background:var(--color-text-primary);color:var(--color-bg-primary);border-color:transparent}.q-title{font-size:var(--text-h1);font-weight:500;line-height:1.2;letter-spacing:-.01em;margin:8px 0 18px;max-width:24ch}.badges{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.badge{font-size:var(--text-xs);letter-spacing:.03em;padding:3px 9px;border-radius:var(--radius-sm);border:.5px solid var(--color-border-tertiary);color:var(--color-text-secondary);background:var(--color-bg-secondary);font-weight:500}.badge.hot{color:var(--color-text-warning);background:var(--color-bg-warning);border-color:transparent}.badge.hard{color:var(--color-text-danger);background:var(--color-bg-danger);border-color:transparent}.badge.easy{color:var(--color-text-success);background:var(--color-bg-success);border-color:transparent}.mastery-track{display:inline-flex;gap:0;border:.5px solid var(--color-border-tertiary);border-radius:var(--radius-sm);overflow:hidden;margin-left:auto;transition:box-shadow var(--dur-med) var(--ease-out-quart)}.mastery-track button{border:none;border-radius:0;padding:6px 12px;font-size:var(--text-sm);color:var(--color-text-secondary);background:transparent;transition:background-color var(--dur-fast) var(--ease-out-quart),color var(--dur-fast) var(--ease-out-quart)}.mastery-track button+button{border-left:.5px solid var(--color-border-tertiary)}.mastery-track button[aria-pressed=true]{background:var(--color-bg-primary);color:var(--color-text-primary);box-shadow:inset 0 0 0 .5px var(--color-border-primary)}.mastery-track[data-current=mastered] button[aria-pressed=true]{background:var(--color-bg-success);color:var(--color-text-success)}.mastery-track[data-current=review] button[aria-pressed=true]{background:var(--color-bg-warning);color:var(--color-text-warning)}.mastery-track.just-mastered{animation:mastered-flash .52s var(--ease-out-expo)}@keyframes mastered-flash{0%{box-shadow:0 0 color-mix(in srgb,var(--color-text-success) 50%,transparent);transform:scale(1)}25%{transform:scale(1.04)}to{box-shadow:0 0 0 14px color-mix(in srgb,var(--color-text-success) 0%,transparent);transform:scale(1)}}.mini-nav{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:.5px solid var(--color-border-tertiary);border-bottom:.5px solid var(--color-border-tertiary);font-size:var(--text-label);letter-spacing:.01em;flex-wrap:wrap;margin-top:18px}.mini-nav a{color:var(--color-text-secondary)}.mini-nav a:hover{color:var(--color-text-primary);text-decoration:none}.mini-nav .sep{color:var(--color-text-tertiary)}.mini-nav .spacer{flex:1}.mini-nav .icon-btn{border:none;padding:4px;border-radius:var(--radius-sm);color:var(--color-text-secondary);display:inline-flex;align-items:center;justify-content:center}.mini-nav .icon-btn:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.mini-nav .icon-btn svg{width:16px;height:16px}.mini-nav button.focus-toggle{font-size:var(--text-sm);padding:4px 10px;color:var(--color-text-secondary)}.mini-nav button.focus-toggle[aria-pressed=true]{background:var(--color-bg-secondary);color:var(--color-text-primary);border-color:var(--color-border-secondary)}.font-scale-btn{position:relative;display:inline-flex;align-items:baseline;justify-content:center;min-width:28px;padding:4px 8px 5px;border:.5px solid var(--color-border-tertiary);border-radius:var(--radius-sm);color:var(--color-text-secondary);line-height:1;transition:background-color var(--dur-fast) var(--ease-out-quart),color var(--dur-fast) var(--ease-out-quart)}.font-scale-btn:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.font-scale-btn span{font-weight:500;font-size:13px}html[data-font=sm] .font-scale-btn span{font-size:11px}html[data-font=lg] .font-scale-btn span{font-size:16px}.font-scale-btn:after{content:"";position:absolute;bottom:3px;left:50%;transform:translate(-50%);width:10px;height:2px;background:linear-gradient(to right,var(--color-border-secondary) 33%,transparent 33%,transparent 66%,var(--color-border-tertiary) 66%);border-radius:1px;opacity:.75}html:not([data-font]) .font-scale-btn:after{background:linear-gradient(to right,var(--color-border-tertiary) 33%,var(--color-border-primary) 33%,var(--color-border-primary) 66%,var(--color-border-tertiary) 66%)}html[data-font=sm] .font-scale-btn:after{background:linear-gradient(to right,var(--color-border-primary) 33%,var(--color-border-tertiary) 33%)}html[data-font=lg] .font-scale-btn:after{background:linear-gradient(to right,var(--color-border-tertiary) 66%,var(--color-border-primary) 66%)}.concept-indicator{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:99px;background:var(--color-bg-info);color:var(--color-text-info);font-size:var(--text-sm);letter-spacing:.02em;transition:transform var(--dur-fast) var(--ease-out-quart)}.concept-indicator:hover{text-decoration:none;transform:translateY(-1px)}.concept-count{font-family:var(--font-mono);font-size:var(--text-xs);opacity:.8;font-variant-numeric:tabular-nums}.concept-count:before{content:"("}.concept-count:after{content:")"}.problem-box{background:var(--color-bg-secondary);padding:22px 24px;font-size:var(--text-body);line-height:1.55;color:var(--color-text-primary);border-radius:var(--radius-lg)}.problem-box p:first-child{margin-top:0}.problem-box p:last-child{margin-bottom:0}.problem-box strong{font-weight:500}.hints-list{display:flex;flex-direction:column;border-top:.5px dashed var(--color-border-tertiary)}.hint{padding:16px 4px 16px 16px;font-size:var(--text-base);cursor:pointer;display:grid;grid-template-columns:64px 1fr auto;align-items:baseline;gap:14px;border-bottom:.5px dashed var(--color-border-tertiary);position:relative}.hint:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:2px;background:var(--color-border-tertiary);border-radius:1px}.hint:hover:before{background:var(--color-border-secondary)}.hint .hint-label{font-size:var(--text-xs);letter-spacing:.08em;color:var(--color-text-tertiary);text-transform:uppercase;font-weight:500;font-variant-numeric:tabular-nums}.hint .hint-text{color:var(--color-text-secondary)}.hint .hint-cta{font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:.03em}.hint .hint-text{filter:blur(5.5px);color:var(--color-text-secondary);user-select:none;transition:filter var(--dur-med) var(--ease-out-quart),color var(--dur-med) var(--ease-out-quart)}.hint:before{transition:background-color var(--dur-med) var(--ease-out-quart)}.hint .hint-label{transition:color var(--dur-med) var(--ease-out-quart)}.hint .hint-cta{transition:opacity var(--dur-fast) var(--ease-out-quart),transform var(--dur-fast) var(--ease-out-quart)}.hint:hover .hint-cta{transform:translate(3px)}.hint.unlocked{cursor:default}.hint.unlocked:before{background:var(--color-border-info)}.hint.unlocked .hint-text{filter:blur(0);color:var(--color-text-primary);user-select:text;animation:hint-text-in var(--dur-slow) var(--ease-out-expo) both}.hint.unlocked .hint-cta{opacity:0;transform:translate(4px);pointer-events:none}.hint.unlocked .hint-label{color:var(--color-text-info)}@keyframes hint-text-in{0%{opacity:.4;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.accordion{border:.5px solid var(--color-border-tertiary);border-radius:var(--radius-md)}.accordion+.accordion{margin-top:10px}.accordion-header{width:100%;text-align:left;border:none;background:transparent;padding:14px 18px;display:flex;align-items:center;gap:10px;font-size:var(--text-body);font-weight:500;color:var(--color-text-primary);border-radius:var(--radius-md)}.accordion-header:hover{background:var(--color-bg-secondary)}.accordion-header .caret{transition:transform var(--dur-med) var(--ease-out-quart);color:var(--color-text-tertiary);font-size:10px;width:12px;display:inline-block}.accordion[open] .accordion-header .caret{transform:rotate(90deg)}.accordion-body{padding:4px 18px 20px;border-top:.5px solid var(--color-border-tertiary);font-size:var(--text-body);line-height:1.65;color:var(--color-text-secondary)}.accordion[open]>.accordion-body{animation:accordion-in var(--dur-med) var(--ease-out-quart) both}@keyframes accordion-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.accordion-body p,.accordion-body ul,.accordion-body ol{color:var(--color-text-secondary)}.accordion-body strong{color:var(--color-text-primary);font-weight:500}.accordion-body h3{font-size:var(--text-base);color:var(--color-text-primary);margin:18px 0 8px;font-weight:500}.accordion-body pre{background:var(--color-bg-tertiary);padding:14px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.875rem;overflow-x:auto;line-height:1.55}.accordion-body code{font-family:var(--font-mono);font-size:.88em;background:var(--color-bg-tertiary);padding:1px 5px;border-radius:3px}.accordion-body pre code{background:none;padding:0;font-size:inherit}.code-block{margin:14px 0;border:.5px solid var(--color-border-tertiary);border-radius:var(--radius-sm);overflow:hidden;background:var(--color-bg-tertiary)}.code-block-head{display:flex;align-items:center;justify-content:space-between;padding:6px 10px 6px 12px;border-bottom:.5px solid var(--color-border-tertiary);background:var(--color-bg-secondary)}.code-block-lang{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary);font-weight:500;font-family:var(--font-mono)}.code-block-copy{font-size:var(--text-xs);color:var(--color-text-tertiary);background:transparent;border:.5px solid var(--color-border-tertiary);border-radius:3px;padding:3px 10px;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out-quart),color var(--dur-fast) var(--ease-out-quart),border-color var(--dur-fast) var(--ease-out-quart);font-family:var(--font-sans)}.code-block-copy:hover{color:var(--color-text-primary);border-color:var(--color-border-secondary);background:var(--color-bg-primary)}.code-block-copy[data-copied=true]{color:var(--color-text-success);border-color:transparent;background:var(--color-bg-success)}.code-block>pre{margin:0;border-radius:0;border:none;background:transparent;padding:12px 14px}.shiki{background:transparent!important}.shiki,.shiki span{color:var(--shiki-light);background:none}[data-theme=dark] .shiki,[data-theme=dark] .shiki span{color:var(--shiki-dark)}.accordion-body table{border-collapse:collapse;width:100%;font-size:var(--text-base);margin:14px 0}.accordion-body th,.accordion-body td{padding:10px 12px;border-bottom:.5px solid var(--color-border-tertiary);text-align:left}.accordion-body th{color:var(--color-text-primary);font-weight:500}.tm{color:var(--color-text-info);border-bottom:1px dotted var(--color-border-info);cursor:pointer;padding:0 3px 1px;border-radius:3px;transition:background-color var(--dur-fast) var(--ease-out-quart),color var(--dur-fast) var(--ease-out-quart)}.tm:hover{background:var(--color-bg-info);color:var(--color-text-info)}.tm:after{content:" ›";font-size:.9em;opacity:.7;transition:transform var(--dur-fast) var(--ease-out-quart);display:inline-block}.tm:hover:after{transform:translate(2px)}.concept-card-wrapper{display:grid;grid-template-rows:0fr;margin:0;transition:grid-template-rows var(--dur-med) var(--ease-out-quart),margin var(--dur-med) var(--ease-out-quart)}.concept-card-wrapper.open{grid-template-rows:1fr;margin:14px 0}.concept-card-wrapper>.concept-card{overflow:hidden;min-height:0;border:.5px solid var(--color-border-tertiary);border-left:.5px solid var(--color-border-tertiary);border-radius:var(--radius-lg);padding:0 20px;background:var(--color-bg-secondary);opacity:0;transform:translateY(-2px);transition:opacity var(--dur-med) var(--ease-out-quart),transform var(--dur-med) var(--ease-out-quart),padding var(--dur-med) var(--ease-out-quart)}.concept-card-wrapper.open>.concept-card{opacity:1;transform:translateY(0);padding:18px 20px 20px}.concept-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.concept-card-head .kicker{flex:1}.concept-card .close-btn{border:none;padding:2px 10px;font-size:20px;line-height:1;color:var(--color-text-tertiary);background:transparent;border-radius:var(--radius-sm);cursor:pointer;transition:color var(--dur-fast) var(--ease-out-quart),background-color var(--dur-fast) var(--ease-out-quart)}.concept-card .close-btn:hover{color:var(--color-text-primary);background:var(--color-bg-tertiary)}.accordion-body .concept-card-wrapper,.problem-box .concept-card-wrapper,.turn-answer .concept-card-wrapper,.transcript-line .concept-card-wrapper{margin-left:0;margin-right:0}.tm[aria-expanded=true]{background:var(--color-bg-info);color:var(--color-text-info)}.tm[aria-expanded=true]:after{transform:rotate(90deg)}.concept-title{font-size:var(--text-lead);font-weight:500;margin:6px 0 2px;letter-spacing:-.005em}.concept-subtitle{font-size:var(--text-label);color:var(--color-text-secondary);margin-bottom:14px}.concept-illustration{background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:14px;margin:10px 0 14px;color:var(--color-text-secondary);display:flex;justify-content:center}.concept-illustration svg{max-width:100%;height:auto}.concept-body{font-size:var(--text-base);line-height:1.65;color:var(--color-text-secondary)}.concept-body strong{color:var(--color-text-primary);font-weight:500}.concept-body .fm{font-family:var(--font-mono);font-size:.875rem;background:var(--color-bg-tertiary);padding:12px 16px;border-radius:var(--radius-sm);margin:12px 0;color:var(--color-text-primary);line-height:1.55}.concept-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.concept-meta-item{border:.5px solid var(--color-border-tertiary);border-radius:var(--radius-md);padding:10px 12px}.concept-meta-item .label{font-size:var(--text-xs);letter-spacing:.06em;color:var(--color-text-tertiary);text-transform:uppercase;margin-bottom:5px;font-weight:500}.concept-meta-item .value{font-size:var(--text-label);color:var(--color-text-secondary);line-height:1.5}.concept-more-btn{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:8px 14px;border:.5px dashed var(--color-border-secondary);border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);font-size:var(--text-label);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out-quart),border-color var(--dur-fast) var(--ease-out-quart)}.concept-more-btn:hover{background:var(--color-bg-secondary);border-color:var(--color-border-primary)}.concept-more-btn .chev{display:inline-block;width:14px;text-align:center;color:var(--color-text-tertiary);font-variant-numeric:tabular-nums}.concept-more[hidden]{display:none}.concept-more{margin-top:16px;padding-top:16px;border-top:.5px solid var(--color-border-tertiary);animation:answer-in var(--dur-slow) var(--ease-out-expo) both}.concept-more-section{margin-bottom:18px}.concept-more-section:last-child{margin-bottom:0}.concept-more-section>.label{font-size:var(--text-xs);letter-spacing:.06em;color:var(--color-text-tertiary);text-transform:uppercase;margin-bottom:8px;font-weight:500}.concept-more-section>.value{font-size:var(--text-base);line-height:1.65;color:var(--color-text-secondary)}.concept-more-section>.value p{margin:0 0 .7em}.concept-more-section>.value p:last-child{margin-bottom:0}.concept-more-section>.value strong{color:var(--color-text-primary);font-weight:500}.concept-more-section>.value em{font-style:normal;color:var(--color-text-primary)}.concept-more-section>.value .fm{font-family:var(--font-mono);font-size:.8125rem;white-space:pre-line;background:var(--color-bg-tertiary);padding:12px 16px;border-radius:var(--radius-sm);margin:10px 0;color:var(--color-text-primary);line-height:1.55}.interview-actions{display:flex;align-items:center;gap:10px;margin-left:auto}.interview-actions .icon-btn{border:.5px solid var(--color-border-tertiary);padding:4px;color:var(--color-text-secondary);display:inline-flex;align-items:center;justify-content:center;transition:color var(--dur-fast) var(--ease-out-quart),background-color var(--dur-fast) var(--ease-out-quart)}.interview-actions .icon-btn:hover{color:var(--color-text-primary);background:var(--color-bg-secondary)}.interview-actions .icon-btn svg{width:14px;height:14px}.interview-actions .icon-btn:active svg{transform:rotate(-180deg);transition:transform var(--dur-med) var(--ease-out-quart)}.interview-modes{display:flex;align-items:center;gap:6px;border:.5px solid var(--color-border-tertiary);border-radius:var(--radius-sm);padding:2px;font-size:var(--text-sm)}.interview-modes button{border:none;padding:4px 11px;font-size:var(--text-sm);color:var(--color-text-secondary);border-radius:3px}.interview-modes button[aria-pressed=true]{background:var(--color-bg-secondary);color:var(--color-text-primary)}.section-label .interview-modes{text-transform:none;letter-spacing:normal}.turn{border:.5px solid var(--color-border-tertiary);border-radius:var(--radius-md);padding:16px 18px;margin:14px 0}.turn .q-box{background:color-mix(in srgb,var(--color-bg-info) 28%,var(--color-bg-primary));border-radius:var(--radius-md);padding:16px 18px;color:var(--color-text-primary);font-size:var(--text-body);line-height:1.55;margin-bottom:14px}.turn .q-box .kicker{color:var(--color-text-info);opacity:1;margin-bottom:6px;display:flex;align-items:center;gap:6px}.turn .q-box .kicker:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--color-text-info)}.reveal-btn{display:block;width:100%;border:.5px dashed var(--color-border-secondary);background:transparent;padding:14px;font-size:var(--text-label);color:var(--color-text-secondary);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out-quart),border-color var(--dur-fast) var(--ease-out-quart)}.reveal-btn:hover{background:var(--color-bg-secondary);border-color:var(--color-border-primary)}.turn-answer{display:none;font-size:var(--text-body);color:var(--color-text-primary);line-height:1.65;margin-top:6px}.turn-answer p{margin:0 0 .6em}.turn.revealed .reveal-btn{display:none}.turn.revealed .turn-answer{display:block;animation:answer-in var(--dur-slow) var(--ease-out-expo) both}.turn.revealed .self-rate{display:flex;animation:self-rate-in var(--dur-med) var(--ease-out-quart) both;animation-delay:.16s}@keyframes answer-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes self-rate-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.self-rate{display:none;gap:8px;align-items:center;font-size:var(--text-sm);color:var(--color-text-tertiary);margin-top:12px;padding-top:12px;border-top:.5px solid var(--color-border-tertiary);flex-wrap:wrap}.self-rate span.label{text-transform:uppercase;letter-spacing:.05em;font-size:var(--text-xs)}.self-rate button{font-size:var(--text-sm);padding:5px 13px;transition:background-color var(--dur-fast) var(--ease-out-quart),color var(--dur-fast) var(--ease-out-quart),border-color var(--dur-fast) var(--ease-out-quart),transform var(--dur-fast) var(--ease-out-quart)}.self-rate button:active{transform:scale(.94)}.self-rate button[aria-pressed=true]{background:var(--color-bg-secondary);color:var(--color-text-primary);border-color:var(--color-border-secondary);animation:rate-pop var(--dur-med) var(--ease-out-expo)}.self-rate button.good[aria-pressed=true]{background:var(--color-bg-success);color:var(--color-text-success);border-color:transparent}.self-rate button.partial[aria-pressed=true]{background:var(--color-bg-warning);color:var(--color-text-warning);border-color:transparent}.self-rate button.missed[aria-pressed=true]{background:var(--color-bg-danger);color:var(--color-text-danger);border-color:transparent}.empty-state{padding:20px 22px 22px;border:.5px dashed var(--color-border-tertiary);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--text-base);line-height:1.6}.empty-state .kicker{margin-bottom:8px}.empty-state p{margin:0 0 12px}.empty-state strong{font-weight:500;color:var(--color-text-primary)}.link-btn{border:none;background:transparent;color:var(--color-text-info);padding:0;font-size:var(--text-label);cursor:pointer;letter-spacing:.01em;transition:transform var(--dur-fast) var(--ease-out-quart)}.link-btn:hover{text-decoration:underline;transform:translate(2px)}@keyframes rate-pop{0%{transform:scale(.96)}60%{transform:scale(1.04)}to{transform:scale(1)}}.transcript{display:none;border:.5px solid var(--color-border-tertiary);border-radius:var(--radius-md);padding:6px 0}.transcript.active,.interactive{display:block}.interactive.hidden{display:none}.transcript-line{display:grid;grid-template-columns:92px 1fr;gap:14px;padding:10px 18px;font-size:var(--text-base);line-height:1.65}.transcript-line.interviewer{color:var(--color-text-secondary)}.transcript-line.candidate{color:var(--color-text-primary)}.transcript-line .who{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary);font-weight:500;padding-top:4px}.notes-wrapper textarea{width:100%;min-height:140px;resize:vertical;font-family:var(--font-sans);font-size:var(--text-base);line-height:1.6;padding:12px 14px}.notes-status{margin-top:8px;font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:.03em;display:flex;gap:16px;align-items:center;flex-wrap:wrap;min-height:20px}.notes-status a{font-size:var(--text-xs);color:var(--color-text-secondary);text-decoration:underline;text-decoration-color:var(--color-border-tertiary)}.kbd-bar{margin-top:36px;padding-top:16px;border-top:.5px solid var(--color-border-tertiary)}.kbd-bar-toggle{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-tertiary);user-select:none;padding:4px 10px 4px 4px;border-radius:var(--radius-sm)}.kbd-bar-toggle::-webkit-details-marker{display:none}.kbd-bar-toggle:hover{color:var(--color-text-secondary)}.kbd-bar-toggle svg{width:14px;height:14px}.kbd-caret{font-size:var(--text-xs);color:var(--color-text-tertiary);transition:transform .15s ease}.kbd-bar[open] .kbd-caret{transform:rotate(90deg)}.kbd-bar-content{margin-top:12px;font-size:var(--text-xs);color:var(--color-text-tertiary);display:flex;flex-wrap:wrap;gap:16px;letter-spacing:.02em}.kbd{display:inline-block;font-family:var(--font-mono);font-size:.625rem;padding:2px 7px;border:.5px solid var(--color-border-tertiary);border-radius:4px;background:var(--color-bg-secondary);color:var(--color-text-secondary);margin-right:4px}.fm{font-family:var(--font-mono);font-size:.875rem;background:var(--color-bg-tertiary);padding:12px 16px;border-radius:var(--radius-sm);margin:12px 0;color:var(--color-text-primary);line-height:1.55}.katex{font-size:1em}.katex-display{margin:1em 0;overflow-x:auto;overflow-y:hidden}.skip-link{position:absolute;left:12px;top:12px;padding:7px 14px;background:var(--color-text-primary);color:var(--color-bg-primary);font-size:var(--text-label);border-radius:var(--radius-sm);transform:translateY(-150%);transition:transform var(--dur-fast) var(--ease-out-quart);z-index:10}.skip-link:focus{transform:translateY(0);text-decoration:none}.focus-mode .section{transition:opacity var(--dur-med) var(--ease-out-quart)}.focus-mode .section:not(.section-active){opacity:.22}.focus-mode .section.section-active .section-label{color:var(--color-text-primary)}.focus-mode .section.section-active .section-label .n{background:var(--color-text-primary);color:var(--color-bg-primary);border-color:transparent}.section{scroll-margin-top:24px}.notes-status.error{color:var(--color-text-danger)}.dash-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.dash-header h1{font-size:var(--text-h2);font-weight:500;letter-spacing:-.015em;line-height:1.2;margin:0}.dash-header-title{display:flex;flex-direction:column;gap:4px;min-width:0}.dash-header-subtitle{margin:0;font-size:var(--text-sm);color:var(--color-text-tertiary);line-height:1.45;max-width:56ch}.dash-header-actions{display:inline-flex;align-items:center;gap:12px}.dash-header-actions .icon-btn{width:32px;height:32px;padding:0;border:none;background:transparent;color:var(--color-text-secondary);display:inline-flex;align-items:center;justify-content:center;border-radius:999px;transition:background-color .12s,color .12s}.dash-header-actions .icon-btn:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.top-bar{display:flex;align-items:center;justify-content:space-between;padding:4px 0 14px}.top-bar-back{font:inherit;font-size:var(--text-sm);color:var(--color-text-secondary);text-decoration:none;padding:4px 0}.top-bar-back:hover{color:var(--color-text-primary)}.dash-stats{font-size:var(--text-label);color:var(--color-text-secondary);margin-bottom:28px;font-variant-numeric:tabular-nums}.dash-controls{display:flex;flex-direction:column;gap:12px;margin-bottom:22px}.search-wrapper{position:relative}.search-wrapper input{width:100%}.search-wrapper .slash{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-tertiary);border:.5px solid var(--color-border-tertiary);padding:2px 7px;border-radius:3px;background:var(--color-bg-secondary)}.filter-row{display:flex;align-items:center;gap:12px;font-size:var(--text-label);color:var(--color-text-secondary);flex-wrap:wrap}.filter-row .label{min-width:56px;color:var(--color-text-tertiary);font-size:var(--text-sm)}.seg{display:inline-flex;border:.5px solid var(--color-border-tertiary);border-radius:var(--radius-sm);overflow:hidden}.seg button{border:none;border-radius:0;padding:6px 13px;font-size:var(--text-sm);color:var(--color-text-secondary)}.seg button+button{border-left:.5px solid var(--color-border-tertiary)}.seg button[aria-pressed=true]{background:var(--color-bg-secondary);color:var(--color-text-primary)}.q-list{border-top:.5px solid var(--color-border-tertiary)}.q-row{display:grid;grid-template-columns:56px 1fr auto;gap:16px;padding:14px 10px 14px 6px;border-bottom:.5px solid var(--color-border-tertiary);text-decoration:none;color:inherit;align-items:center;transition:background-color .08s ease}.q-row:hover{background:var(--color-bg-secondary);text-decoration:none}.q-row .q-num{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:.02em;font-variant-numeric:tabular-nums}.q-main{min-width:0}.q-row .q-title-text{font-size:var(--text-base);font-weight:500;color:var(--color-text-primary);margin-bottom:5px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.q-row[data-mastery=mastered] .q-title-text{color:var(--color-text-secondary)}.q-row[data-frequency=high] .q-title-text{font-weight:500}.q-row.locked{opacity:.55}.q-row.locked:hover{opacity:.85}.q-row .q-lock{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--color-text-tertiary);flex-shrink:0}.q-row .q-meta{font-size:var(--text-sm);color:var(--color-text-tertiary);display:flex;gap:8px;align-items:center;flex-wrap:wrap}.q-row .q-topic{letter-spacing:.01em;color:var(--color-text-secondary);margin-right:2px}.q-chip{display:inline-flex;align-items:center;font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:99px;background:transparent;border:.5px solid var(--color-border-tertiary);color:var(--color-text-tertiary);font-weight:500}.q-chip.diff.hard{color:var(--color-text-danger);border-color:color-mix(in srgb,var(--color-text-danger) 30%,transparent);background:var(--color-bg-danger)}.q-chip.diff.medium{color:var(--color-text-secondary)}.q-chip.diff.easy{color:var(--color-text-success);border-color:color-mix(in srgb,var(--color-text-success) 30%,transparent);background:var(--color-bg-success)}.q-chip.freq.high{color:var(--color-text-warning);border-color:color-mix(in srgb,var(--color-text-warning) 30%,transparent);background:var(--color-bg-warning)}.q-chip.freq.medium{border-style:dashed}.q-chip.freq.low{opacity:.55}.q-row .q-meta .dots{display:inline-flex;gap:3px;margin-left:auto}.q-row .q-meta .dot{width:6px;height:6px;border-radius:50%;background:var(--color-border-tertiary);display:inline-block}.q-row .q-meta .dot.good{background:#1d9e75}.q-row .q-meta .dot.partial{background:#c78b2f}.q-row .q-meta .dot.missed{background:#a32d2d}.q-row .q-mastery-badge{font-size:var(--text-xs);padding:4px 12px;border-radius:99px;background:transparent;border:.5px solid var(--color-border-tertiary);color:var(--color-text-tertiary);letter-spacing:.08em;text-transform:uppercase;font-weight:500;min-width:78px;text-align:center}.q-row .q-mastery-badge.review{background:var(--color-bg-warning);border-color:transparent;color:var(--color-text-warning)}.q-row .q-mastery-badge.mastered{background:var(--color-bg-success);border-color:transparent;color:var(--color-text-success)}.dash-continue{display:none;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:18px 22px;border-radius:var(--radius-lg);background:var(--color-bg-secondary);margin:6px 0 22px;text-decoration:none;color:inherit}.dash-continue.visible{display:grid}.dash-continue:hover{background:var(--color-bg-tertiary);text-decoration:none}.dash-continue .kicker{color:var(--color-text-tertiary);margin-bottom:6px}.dash-continue .continue-title{font-size:var(--text-body);font-weight:500;color:var(--color-text-primary);line-height:1.3}.dash-continue .continue-meta{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:7px;letter-spacing:.02em;font-variant-numeric:tabular-nums}.dash-continue .continue-arrow{font-family:var(--font-mono);font-size:var(--text-lead);color:var(--color-text-tertiary)}.q-empty{text-align:center;padding:48px 24px;color:var(--color-text-secondary)}.q-empty p{margin:0 0 6px;font-size:14px}.q-empty p.hint{color:var(--color-text-tertiary);font-size:13px}.plans-section{margin:0 0 32px}.plans-label{font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:12px;font-weight:500}.plans-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.plan-card{display:block;padding:16px 18px;border-radius:var(--radius-md);border:.5px solid var(--color-border-tertiary);background:var(--color-bg-primary);color:inherit;text-decoration:none;transition:background-color var(--dur-fast) var(--ease-out-quart),border-color var(--dur-fast) var(--ease-out-quart),transform var(--dur-fast) var(--ease-out-quart)}.plan-card:hover{background:var(--color-bg-secondary);border-color:var(--color-border-secondary);text-decoration:none;transform:translateY(-1px)}.plan-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.plan-card-title{font-size:var(--text-base);font-weight:500;color:var(--color-text-primary)}.plan-card-count{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:.04em;font-variant-numeric:tabular-nums}.plan-card-sub{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.45;margin-bottom:14px}.plan-card-progress{display:flex;align-items:center;gap:10px;font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:.02em;font-variant-numeric:tabular-nums}.plan-card-progress-bar{position:relative;flex:1;height:3px;border-radius:2px;background:var(--color-border-tertiary);overflow:hidden}.plan-card-progress-seg{position:absolute;top:0;bottom:0;width:0%;transition:width var(--dur-slow) var(--ease-out-quart),left var(--dur-slow) var(--ease-out-quart)}.plan-card-progress-seg.mastered{left:0;background:var(--color-text-success)}.plan-card-progress-seg.review{background:var(--color-text-warning)}.plan-card-progress-text{font-variant-numeric:tabular-nums}@media (max-width: 640px){.plans-grid{grid-template-columns:1fr}}.plan-banner{display:flex;align-items:center;gap:12px;padding:10px 14px;margin:16px 0 0;background:var(--color-bg-secondary);border:.5px solid var(--color-border-tertiary);color:var(--color-text-secondary);border-radius:var(--radius-sm);font-size:var(--text-sm);letter-spacing:.02em}.plan-banner-label{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary)}.plan-banner-title{color:var(--color-text-primary);font-weight:500;text-decoration:none;font-size:var(--text-sm)}.plan-banner-title:hover{text-decoration:underline;text-decoration-color:var(--color-border-secondary);text-underline-offset:3px}.plan-banner-pos{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-tertiary);font-variant-numeric:tabular-nums}.plan-banner .bar{flex:1;height:3px;border-radius:2px;background:var(--color-border-tertiary);overflow:hidden;max-width:220px}.plan-banner .bar-fill{display:block;height:100%;background:var(--color-text-success);width:0%;transition:width var(--dur-slow) var(--ease-out-quart)}@media (max-width: 640px){.page{padding:20px 16px 80px}.concept-meta{grid-template-columns:1fr}.q-title{font-size:20px}.mini-nav{gap:10px}.transcript-line{grid-template-columns:1fr;gap:2px}.q-row{grid-template-columns:48px 1fr}.q-row .q-mastery-badge{grid-column:2;justify-self:start;margin-top:4px}}.paywall-cta{margin-top:28px;padding:28px;border:.5px solid var(--color-border-tertiary);border-radius:var(--radius-md);background:var(--color-bg-secondary);text-align:center}.paywall-cta-kicker{font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:12px}.paywall-cta-title{font-size:var(--text-lead);font-weight:500;letter-spacing:-.01em;line-height:1.3;margin:0 0 12px;color:var(--color-text-primary)}.paywall-cta-body{font-size:var(--text-base);color:var(--color-text-secondary);max-width:56ch;margin:0 auto 24px;line-height:1.55}.paywall-cta-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;font:inherit;font-weight:500;color:var(--color-bg-primary);background:var(--color-text-primary);border-radius:var(--radius-sm);text-decoration:none;transition:opacity .12s}.paywall-cta-btn:hover{opacity:.88;text-decoration:none}.paywall-cta-meta{font-size:var(--text-sm);color:var(--color-text-tertiary);margin:14px 0 0}.problem-box.problem-locked{filter:blur(4px);user-select:none;-webkit-user-select:none;pointer-events:none;color:var(--color-text-secondary)}.section-label .section-label-meta{font-weight:400;color:var(--color-text-tertiary);margin-left:6px;letter-spacing:0;text-transform:none}.pricing-page{max-width:680px}.pricing-header{margin-bottom:28px}.pricing-header .kicker{font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:8px}.pricing-header h1{font-size:var(--text-h1);font-weight:500;letter-spacing:-.015em;line-height:1.15;margin:0 0 12px}.pricing-sub{font-size:var(--text-base);color:var(--color-text-secondary);max-width:60ch;line-height:1.55}.pricing-card{padding:32px;border:.5px solid var(--color-border-tertiary);border-radius:var(--radius-md);background:var(--color-bg-secondary)}.pricing-card-price{font-size:48px;font-weight:500;letter-spacing:-.02em;line-height:1;color:var(--color-text-primary)}.pricing-card-price-sub{font-size:var(--text-sm);color:var(--color-text-tertiary);margin-top:6px;margin-bottom:24px}.pricing-includes{margin:0 0 28px;padding:0;list-style:none}.pricing-includes li{padding:8px 0;font-size:var(--text-base);color:var(--color-text-secondary);border-top:.5px solid var(--color-border-tertiary)}.pricing-includes li:last-child{border-bottom:.5px solid var(--color-border-tertiary)}.pricing-form{display:grid;gap:14px}.pricing-invite{display:grid;gap:6px}.pricing-invite-label{font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary)}.pricing-invite-optional{font-weight:400;color:var(--color-text-tertiary)}.pricing-invite-input{width:100%;padding:10px 12px;font:inherit;font-size:var(--text-base);color:var(--color-text-primary);background:var(--color-bg-primary);border:.5px solid var(--color-border-tertiary);border-radius:var(--radius-sm)}.pricing-invite-input:focus{outline:none;border-color:var(--color-border-secondary);box-shadow:0 0 0 3px var(--color-bg-info)}.pricing-invite-input[aria-invalid=true]{border-color:var(--color-text-danger, #B23E3E)}.pricing-invite-error{margin:0;font-size:var(--text-sm);color:var(--color-text-danger, #B23E3E)}.pricing-cta{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:12px 20px;font:inherit;font-weight:500;color:var(--color-bg-primary);background:var(--color-text-primary);border:none;border-radius:var(--radius-sm);text-decoration:none;cursor:pointer;transition:opacity .12s}.pricing-cta:hover:not(:disabled){opacity:.88;text-decoration:none}.pricing-cta:disabled{cursor:not-allowed;opacity:.55}.pricing-consent{margin:10px 0 0;font-size:var(--text-xs);color:var(--color-text-tertiary);text-align:center;line-height:1.5}.pricing-consent a{color:var(--color-text-secondary);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:.5px}.pricing-consent a:hover{color:var(--color-text-primary)}.pricing-fineprint{font-size:var(--text-sm);color:var(--color-text-tertiary);text-align:center;margin:16px 0 0}.pricing-back{margin-top:28px;font-size:var(--text-sm)}.pricing-back a{color:var(--color-text-secondary);text-decoration:none}.pricing-back a:hover{color:var(--color-text-primary)}#studyapp-nav-progress{position:fixed;top:0;left:0;right:0;height:2px;background:var(--color-text-info, #0C447C);transform:scaleX(0);transform-origin:0 0;opacity:0;z-index:2147483646;pointer-events:none}#studyapp-nav-progress.active{opacity:1}#studyapp-nav-progress.done{opacity:0}
