:root{font-family:Segoe UI Variable,Segoe UI,system-ui,-apple-system,sans-serif;color:#17180f;background:#fff;font-synthesis:none;text-rendering:optimizeLegibility;font-kerning:normal;--bg: oklch(1 0 0);--surface: oklch(.975 .006 113);--surface-strong: oklch(.945 .012 113);--ink: oklch(.205 .018 113);--muted: oklch(.46 .018 113);--border: oklch(.89 .012 113);--primary: oklch(.55 .145 113);--primary-hover: oklch(.49 .14 113);--primary-soft: oklch(.94 .06 113);--primary-softer: oklch(.975 .025 113);--error: oklch(.52 .19 25);--error-soft: oklch(.95 .035 25);--warning: oklch(.62 .14 70);--warning-soft: oklch(.96 .04 70);--info: oklch(.5 .13 245);--info-soft: oklch(.95 .035 245);--focus: oklch(.55 .145 113);--shadow-sm: 0 2px 8px oklch(.3 .025 113 / .08);--radius-panel: .875rem;--radius-control: .625rem;--sidebar-width: 15.5rem;--topbar-height: 4.25rem;--mobile-nav-height: 4.5rem;--ease: cubic-bezier(.16, 1, .3, 1)}:root[data-font-size=large]{font-size:112.5%}:root[data-font-size=larger]{font-size:125%}*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100dvh;background:var(--bg);color:var(--ink)}button,input,textarea,select{font:inherit}button{color:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.56}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:.1875rem solid var(--focus);outline-offset:.125rem}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}h1{font-size:2.25rem;line-height:1.12;letter-spacing:-.025em;font-weight:700}h2{font-size:1.375rem;line-height:1.25;letter-spacing:-.012em;font-weight:680}small{font-size:.875rem}svg{flex:0 0 auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:100;top:.75rem;left:.75rem;transform:translateY(-180%);padding:.75rem 1rem;border-radius:var(--radius-control);background:var(--ink);color:var(--bg);font-weight:700;transition:transform .16s var(--ease)}.skip-link:focus{transform:translateY(0)}.app-shell{min-height:100dvh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:30;width:var(--sidebar-width);display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--bg)}.brand,.mobile-brand{display:inline-flex;align-items:center;gap:.75rem;background:transparent;font-size:1.25rem;font-weight:750;letter-spacing:-.02em}.brand{min-height:var(--topbar-height);padding:0 1.5rem}.brand-mark{width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;border-radius:.625rem;background:var(--primary);color:#fcfdf5}.sidebar-nav{display:grid;gap:.25rem;padding:1rem}.nav-item{position:relative;width:100%;min-height:2.875rem;display:flex;align-items:center;gap:.75rem;padding:0 .875rem;border-radius:var(--radius-control);background:transparent;color:var(--muted);font-size:.9375rem;font-weight:560;text-align:left;transition:background-color .16s var(--ease),color .16s var(--ease),transform .12s var(--ease)}.nav-item:hover{background:var(--surface);color:var(--ink)}.nav-item:active{transform:scale(.985)}.nav-item.is-active{background:var(--primary-soft);color:#3b3e00;color:oklch(.35 .11 113);font-weight:700}.sidebar-lower{margin-top:auto;border-top:1px solid var(--border)}.accessibility-control{padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.control-heading{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;color:var(--muted);font-size:.8125rem;font-weight:650}.segment-control{display:grid;grid-template-columns:repeat(3,1fr);padding:.1875rem;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface)}.segment-control button{min-height:2rem;border-radius:.45rem;background:transparent;color:var(--muted);font-size:.75rem;font-weight:700}.segment-control button.is-selected{background:var(--bg);color:var(--ink);box-shadow:var(--shadow-sm)}.profile-row{width:100%;display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:transparent;text-align:left}.profile-row:hover{background:var(--surface)}.avatar{width:2.25rem;height:2.25rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--surface-strong);font-size:.75rem;font-weight:750}.profile-copy{min-width:0;flex:1;display:grid;gap:.125rem}.profile-copy strong{font-size:.875rem}.profile-copy small{color:var(--muted);font-size:.75rem}.app-stage{min-height:100dvh;margin-left:var(--sidebar-width)}.topbar{position:sticky;top:0;z-index:20;height:var(--topbar-height);display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 2rem;border-bottom:1px solid var(--border);background:#fffffff0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mobile-brand{display:none}.topbar-context{display:flex;align-items:center;gap:.625rem;color:var(--muted);font-size:.875rem;font-weight:650}.streak-chip{display:inline-flex;align-items:center;gap:.4rem;color:#825100;color:oklch(.48 .15 70);font-size:.8125rem;font-weight:750}.icon-button{width:2.75rem;height:2.75rem;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg);transition:background-color .15s var(--ease),border-color .15s var(--ease),transform .12s var(--ease)}.icon-button:hover{background:var(--surface);border-color:#bdbfb1}.icon-button:active{transform:scale(.96)}.back-button{width:2.25rem;height:2.25rem;border:0}.main-content{min-height:calc(100dvh - var(--topbar-height))}.page{width:min(100%,90rem);margin:0 auto;padding:3rem 3.5rem 5rem}.page-header,.welcome-row{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:2.5rem}.page-lead{max-width:42rem;margin-top:.625rem;color:var(--muted);font-size:1rem;line-height:1.55}.section-label,.supporting-label{color:var(--muted);font-size:.8125rem;font-weight:680}.section-label{margin-bottom:.5rem}.primary-button,.secondary-button,.text-button,.filter-button{min-height:2.75rem;display:inline-flex;align-items:center;justify-content:center;gap:.625rem;padding:0 1rem;border-radius:var(--radius-control);font-size:.875rem;font-weight:720;white-space:nowrap;transition:background-color .16s var(--ease),color .16s var(--ease),border-color .16s var(--ease),transform .12s var(--ease)}.primary-button{background:var(--primary);color:#fcfdf5}.primary-button:hover{background:var(--primary-hover)}.primary-button:active,.secondary-button:active,.filter-button:active{transform:scale(.98)}.secondary-button{border:1px solid var(--border);background:var(--bg);color:var(--ink)}.secondary-button:hover{background:var(--surface);border-color:#bdbfb1}.text-button{min-height:2.5rem;padding:0 .25rem;background:transparent;color:#464900;color:oklch(.39 .11 113)}.text-button:hover{color:var(--primary-hover)}.compact-button{min-height:2.375rem;padding-inline:.75rem}.full-button{width:100%}.home-page{padding-top:3.5rem}.welcome-row h1{max-width:42rem}.home-primary{min-height:3rem}.home-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(20rem,.8fr);gap:1rem;margin-bottom:3rem}.resume-panel,.progress-panel,.simulation-review,.result-hero,.source-panel,.review-form{border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--bg)}.resume-panel{padding:1.5rem}.panel-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.panel-topline h2{margin-top:.25rem}.progress-fraction{color:var(--muted);font-size:.875rem;font-variant-numeric:tabular-nums}.thin-progress{height:.375rem;margin:1.5rem 0 1rem;overflow:hidden;border-radius:999px;background:var(--surface-strong)}.thin-progress span{display:block;height:100%;border-radius:inherit;background:var(--primary)}.resume-meta{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;margin-bottom:1.5rem;color:var(--muted);font-size:.8125rem}.resume-meta span{display:inline-flex;align-items:center;gap:.4rem}.progress-panel{display:grid;grid-template-columns:8.5rem 1fr;align-items:center;gap:1.25rem;padding:1.5rem;background:var(--primary-softer);border-color:#d4d8ba}.progress-panel p{margin-top:.5rem;color:var(--muted);line-height:1.5}.progress-ring{position:relative;width:8rem;aspect-ratio:1}.progress-ring svg{width:100%;transform:rotate(-90deg)}.progress-ring circle{fill:none;stroke-width:7}.ring-track{stroke:var(--surface-strong)}.ring-value{stroke:var(--primary);stroke-linecap:round}.progress-ring>span{position:absolute;inset:0;display:grid;place-content:center;text-align:center}.progress-ring strong{display:block;font-size:1.5rem;font-variant-numeric:tabular-nums}.progress-ring small{display:block;margin-top:.125rem;color:var(--muted);font-size:.75rem}.recommendation-section{padding-top:.25rem}.section-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:1.25rem}.section-heading-row p{margin-top:.375rem;color:var(--muted)}.recommendation-list{border-top:1px solid var(--border)}.recommendation-row{width:100%;min-height:5.5rem;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:1rem;padding:.875rem .5rem;border-bottom:1px solid var(--border);background:transparent;text-align:left}.recommendation-row:hover{background:var(--surface)}.subject-symbol{width:2.75rem;height:2.75rem;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-control);background:var(--primary-soft);color:#484c00;color:oklch(.4 .12 113)}.subject-symbol svg{width:1.25rem;height:1.25rem}.symbol-2{background:var(--info-soft);color:var(--info)}.symbol-3{background:var(--warning-soft);color:#774a00;color:oklch(.45 .13 70)}.recommendation-copy{min-width:0;display:grid;gap:.25rem}.recommendation-copy small{color:var(--muted)}.recommendation-data{display:flex;gap:1.5rem;color:var(--muted);font-size:.8125rem;font-variant-numeric:tabular-nums}.builder-page{max-width:82rem}.builder-summary{display:flex;gap:1.5rem;color:var(--muted);font-size:.875rem}.builder-summary span{display:grid;gap:.15rem}.builder-summary strong{color:var(--ink);font-size:1.125rem;font-variant-numeric:tabular-nums}.builder-layout{display:grid;grid-template-columns:minmax(0,1fr) 20rem;align-items:start;gap:1.5rem}.builder-form{border-top:1px solid var(--border)}.builder-section{padding:2rem 0;border-bottom:1px solid var(--border)}.builder-section:first-child{padding-top:0;border-top:0}.builder-section-heading{display:grid;grid-template-columns:2rem 1fr;gap:.875rem;margin-bottom:1.25rem}.builder-section-heading p{margin-top:.25rem;color:var(--muted);font-size:.875rem}.step-number{width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--primary-soft);color:#464900;color:oklch(.39 .11 113);font-size:.8125rem;font-weight:800}.subject-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-left:2.875rem}.subject-option{min-height:4.375rem;display:flex;align-items:center;gap:.75rem;padding:.75rem .875rem;border:1px solid var(--border);border-radius:var(--radius-control);cursor:pointer;transition:border-color .15s var(--ease),background-color .15s var(--ease),transform .12s var(--ease)}.subject-option:hover{background:var(--surface);border-color:#bdbfb1}.subject-option:active{transform:scale(.99)}.subject-option.is-selected{border-color:var(--primary);background:var(--primary-softer)}.subject-option input{position:absolute;opacity:0;pointer-events:none}.custom-check{width:1.375rem;height:1.375rem;display:inline-flex;align-items:center;justify-content:center;border:1px solid oklch(.76 .02 113);border-radius:.375rem;color:transparent}.subject-option.is-selected .custom-check{background:var(--primary);border-color:var(--primary);color:#fcfdf5}.subject-option:has(input:focus-visible){outline:.1875rem solid var(--focus);outline-offset:.125rem}.subject-option-copy{min-width:0;flex:1;display:grid;gap:.2rem}.subject-option-copy strong{font-size:.875rem}.subject-option-copy small{color:var(--muted);font-size:.75rem}.weight-tag{padding:.25rem .5rem;border-radius:999px;background:var(--primary-soft);color:#434700;color:oklch(.38 .12 113);font-size:.6875rem;font-weight:800}.inline-error{display:flex;align-items:center;gap:.5rem;margin:.875rem 0 0 2.875rem;color:var(--error);font-size:.875rem;font-weight:650}.duration-picker{width:min(100%,28rem);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;margin-left:2.875rem;padding:.75rem;border:1px solid var(--border);border-radius:var(--radius-panel)}.duration-value{display:grid;text-align:center}.duration-value strong{font-size:1.75rem;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.duration-value span{color:var(--muted);font-size:.75rem}.preset-row{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0 0 2.875rem}.preset-row button{min-height:2.25rem;padding:0 .75rem;border:1px solid var(--border);border-radius:999px;background:var(--bg);color:var(--muted);font-size:.75rem;font-weight:700}.preset-row button.is-selected{border-color:var(--primary);background:var(--primary-soft);color:#434700;color:oklch(.38 .12 113)}.options-section{display:grid;gap:0}.toggle-row{min-height:4.25rem;display:flex;align-items:center;gap:1rem;margin-left:2.875rem;border-top:1px solid var(--border);cursor:pointer}.toggle-row>span:first-child{flex:1;display:grid;gap:.2rem}.toggle-row strong{font-size:.875rem}.toggle-row small{color:var(--muted);font-size:.75rem}.toggle-row input{position:absolute;opacity:0;pointer-events:none}.toggle-control{width:2.75rem;height:1.5rem;padding:.1875rem;border-radius:999px;background:#c4c5be;transition:background-color .18s var(--ease)}.toggle-control span{display:block;width:1.125rem;height:1.125rem;border-radius:999px;background:var(--bg);box-shadow:0 1px 3px #22231833;transition:transform .18s var(--ease)}.toggle-row input:checked+.toggle-control{background:var(--primary)}.toggle-row input:checked+.toggle-control span{transform:translate(1.25rem)}.toggle-row:has(input:focus-visible) .toggle-control{outline:.1875rem solid var(--focus);outline-offset:.125rem}.simulation-review{position:sticky;top:calc(var(--topbar-height) + 1.5rem);padding:1.5rem}.review-icon{width:3rem;height:3rem;display:inline-flex;align-items:center;justify-content:center;margin-bottom:1rem;border-radius:var(--radius-panel);background:var(--primary-soft);color:#484c00;color:oklch(.4 .12 113)}.simulation-review dl{display:grid;gap:0;margin:1.25rem 0}.simulation-review dl>div{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;border-top:1px solid var(--border)}.simulation-review dt{color:var(--muted);font-size:.8125rem}.simulation-review dd{margin:0;font-size:.8125rem;font-weight:700}.review-note{display:flex;gap:.625rem;margin-bottom:1.25rem;padding:.875rem;border-radius:var(--radius-control);background:var(--primary-softer);color:#3e4100;font-size:.75rem;line-height:1.5}.keyboard-hint{margin-top:.75rem;color:var(--muted);font-size:.6875rem;text-align:center}.button-loader{width:1rem;height:1rem;border:.125rem solid oklch(1 0 0 / .4);border-top-color:#fff;border-radius:999px;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.question-page{min-height:calc(100dvh - var(--topbar-height))}.question-progress-bar{height:.25rem;background:var(--surface-strong)}.question-progress-bar span{display:block;height:100%;background:var(--primary);transition:width .25s var(--ease)}.question-header{min-height:5.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 3rem;border-bottom:1px solid var(--border)}.question-header>div{display:flex;align-items:center;gap:1rem}.question-counter{font-weight:750;font-variant-numeric:tabular-nums}.question-meta{color:var(--muted);font-size:.875rem}.timer-chip{display:inline-flex;align-items:center;gap:.4rem;color:var(--muted);font-size:.875rem;font-variant-numeric:tabular-nums}.question-layout{width:min(100%,78rem);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 14rem;gap:3rem;padding:3rem}.question-origin{display:flex;gap:.5rem;margin-bottom:1.25rem}.question-origin span{padding:.35rem .625rem;border-radius:999px;background:var(--surface);color:var(--muted);font-size:.75rem;font-weight:680}.question-content h1{max-width:44rem;font-size:1.5rem;line-height:1.48;letter-spacing:-.012em}.answer-list{display:grid;gap:.75rem;margin:2rem 0 0;padding:0;border:0}.answer-option{min-height:3.75rem;display:flex;align-items:center;gap:.875rem;padding:.625rem .875rem;border:1px solid var(--border);border-radius:var(--radius-control);cursor:pointer;transition:border-color .15s var(--ease),background-color .15s var(--ease),transform .12s var(--ease)}.answer-option:hover{background:var(--surface);border-color:#b7b9ab}.answer-option:active{transform:scale(.995)}.answer-option input{position:absolute;opacity:0}.answer-option:has(input:focus-visible){outline:.1875rem solid var(--focus);outline-offset:.125rem}.answer-letter{width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:.5rem;font-size:.8125rem;font-weight:780}.answer-option.is-selected{border-color:var(--primary);background:var(--primary-softer)}.answer-option.is-selected .answer-letter{border-color:var(--primary);background:var(--primary);color:#fcfdf5}.answer-option.is-correct{border-color:var(--primary);background:var(--primary-softer)}.answer-option.is-correct .answer-letter{border-color:var(--primary);background:var(--primary);color:#fcfdf5}.answer-option.is-wrong{border-color:var(--error);background:var(--error-soft)}.answer-option.is-wrong .answer-letter{border-color:var(--error);background:var(--error);color:snow;color:oklch(.99 .01 25)}.question-footer,.explanation-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.5rem}.question-map{padding-left:1.5rem;border-left:1px solid var(--border)}.map-heading{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.map-heading h2{font-size:1rem}.map-heading span{color:var(--muted);font-size:.6875rem}.question-dots{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.question-dots button{aspect-ratio:1;border:1px solid var(--border);border-radius:.5rem;background:var(--bg);font-size:.75rem;font-weight:700}.question-dots button.is-answered{background:var(--primary-soft);border-color:#b7bd81;color:#434700;color:oklch(.38 .11 113)}.question-dots button.is-current{border:.125rem solid var(--primary)}.map-legend{display:grid;gap:.5rem;margin-top:1rem;color:var(--muted);font-size:.6875rem}.map-legend span{display:flex;align-items:center;gap:.5rem}.map-legend i{width:.75rem;height:.75rem;border:1px solid var(--border);border-radius:.1875rem}.legend-current{border:.125rem solid var(--primary)!important}.legend-answered{background:var(--primary-soft)}.explanation-panel{margin-top:1.5rem;padding:1.25rem;border:1px solid oklch(.82 .07 113);border-radius:var(--radius-panel);background:var(--primary-softer)}.explanation-panel.is-error{border-color:#f4b0aa;background:var(--error-soft)}.explanation-heading{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.875rem;color:#484c00;color:oklch(.4 .12 113)}.explanation-panel.is-error .explanation-heading{color:var(--error)}.explanation-heading h2{font-size:1rem}.explanation-heading p{margin-top:.2rem;color:currentColor;font-size:.75rem}.explanation-panel>p{max-width:68ch;color:#2e301b;line-height:1.65}.explanation-panel.is-error>p{color:#492826}.results-page{max-width:76rem}.result-hero{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.5rem;padding:2rem;background:var(--primary-softer);border-color:#d1d5b0}.result-mark{width:4rem;height:4rem;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-panel);background:var(--primary);color:#fcfdf5}.result-hero h1{max-width:44rem;font-size:1.75rem}.result-hero p:not(.section-label){max-width:42rem;margin-top:.5rem;color:var(--muted);line-height:1.5}.score-block{min-width:8rem;padding-left:1.5rem;border-left:1px solid oklch(.82 .05 113);text-align:center}.score-block strong{display:block;font-size:2.25rem;font-variant-numeric:tabular-nums}.score-block span{color:var(--muted);font-size:.8125rem}.result-summary{display:grid;grid-template-columns:repeat(3,1fr);margin:1.5rem 0 3rem;border-bottom:1px solid var(--border)}.result-summary>div{display:flex;align-items:center;gap:.75rem;padding:1.25rem;border-right:1px solid var(--border)}.result-summary>div:last-child{border-right:0}.result-summary svg{color:var(--primary)}.result-summary span{display:grid;gap:.1rem}.result-summary strong{font-size:1rem}.result-summary small{color:var(--muted)}.review-plan{display:grid;grid-template-columns:minmax(18rem,.8fr) minmax(0,1.2fr);gap:3rem}.review-plan-copy h2{margin:.35rem 0 .5rem}.review-plan-copy p{max-width:38rem;margin-bottom:1.25rem;color:var(--muted);line-height:1.6}.question-review-list{border-top:1px solid var(--border)}.question-review-list button{width:100%;min-height:4.5rem;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:0 .5rem;border-bottom:1px solid var(--border);background:transparent;text-align:left}.question-review-list button:hover{background:var(--surface)}.question-review-list button>span:nth-child(2){display:grid;gap:.2rem}.question-review-list small{color:var(--muted)}.status-success,.status-error{width:1.75rem;height:1.75rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px}.status-success{background:var(--primary-soft);color:var(--primary-hover)}.status-error{background:var(--error-soft);color:var(--error)}.filter-bar{display:grid;grid-template-columns:1fr auto;gap:.75rem;margin-bottom:1.5rem}.search-field{min-height:3rem;display:flex;align-items:center;gap:.75rem;padding:0 .875rem;border:1px solid var(--border);border-radius:var(--radius-control)}.search-field:focus-within{border-color:var(--primary);box-shadow:0 0 0 .1875rem var(--primary-soft)}.search-field svg{color:var(--muted)}.search-field input{width:100%;height:100%;border:0;outline:0;background:transparent;color:var(--ink)}.search-field input::placeholder,textarea::placeholder{color:#696a5e;opacity:1}.filter-button{border:1px solid var(--border);background:var(--bg)}.filter-button span{min-width:1.375rem;height:1.375rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--primary-soft);color:#434700;color:oklch(.38 .12 113);font-size:.6875rem}.bank-list{border-top:1px solid var(--border)}.bank-row{min-height:7.5rem;display:grid;grid-template-columns:1fr auto;align-items:center;gap:1.5rem;padding:1rem .5rem;border-bottom:1px solid var(--border)}.bank-main{min-width:0;display:grid;grid-template-columns:auto 1fr;align-items:flex-start;gap:1rem}.bank-main h2{max-width:58rem;margin-top:.35rem;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:1rem;line-height:1.5}.bank-meta{display:flex;align-items:center;gap:1rem;color:var(--muted);font-size:.75rem;white-space:nowrap}.empty-state{min-height:22rem;display:grid;place-content:center;justify-items:center;gap:.75rem;text-align:center;color:var(--muted)}.empty-state h2{color:var(--ink)}.empty-state p{max-width:28rem}.performance-overview{display:grid;grid-template-columns:.8fr 1.4fr .7fr;gap:1.5rem;padding-bottom:2rem;border-bottom:1px solid var(--border)}.performance-primary{display:grid;align-content:start}.performance-primary>strong{margin:.25rem 0;font-size:3.5rem;line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.performance-primary p{max-width:18rem;color:var(--muted);font-size:.875rem;line-height:1.5}.weekly-chart{min-height:11rem;display:grid;grid-template-columns:repeat(7,1fr);align-items:end;gap:.75rem;padding-top:1.5rem}.weekly-chart>div{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:.5rem}.weekly-chart span{width:min(100%,2rem);min-height:.25rem;border-radius:.375rem .375rem 0 0;background:var(--primary)}.weekly-chart small{color:var(--muted);font-size:.6875rem}.streak-panel{display:grid;align-content:center;justify-items:center;padding:1.25rem;border-radius:var(--radius-panel);background:var(--warning-soft);color:#704500;color:oklch(.43 .12 70);text-align:center}.streak-panel strong{margin-top:.5rem;font-size:1.75rem;font-variant-numeric:tabular-nums}.streak-panel span{font-size:.8125rem}.streak-panel small{max-width:10rem;margin-top:.75rem;color:#604018}.subject-performance{margin-top:2.5rem}.subject-performance-row{min-height:5rem;display:grid;grid-template-columns:minmax(12rem,1fr) minmax(12rem,2fr) 3rem auto;align-items:center;gap:1.25rem;border-top:1px solid var(--border)}.subject-performance-row>span:first-child{display:grid;gap:.2rem}.subject-performance-row small{color:var(--muted)}.inline-meter{height:.375rem;overflow:hidden;border-radius:999px;background:var(--surface-strong)}.inline-meter span{display:block;height:100%;background:var(--primary)}.subject-performance-row>strong{font-variant-numeric:tabular-nums}.role-badge,.confidence-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .65rem;border-radius:999px;background:var(--surface);color:var(--muted);font-size:.75rem;font-weight:700}.ingestion-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(24rem,1.1fr);align-items:start;gap:1.5rem}.source-panel,.review-form{padding:1.5rem}.panel-heading,.review-form-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.panel-heading p{margin-top:.35rem;color:var(--muted);font-size:.875rem;line-height:1.5}.textarea-field textarea,.form-field textarea,.form-field input,.field-grid input,.field-grid select,.option-review input[type=text],.option-review label>input:last-child{width:100%;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg);color:var(--ink)}.textarea-field textarea{min-height:25rem;padding:1rem;resize:vertical;line-height:1.6}.source-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem}.source-footer>span{color:var(--muted);font-size:.75rem;font-variant-numeric:tabular-nums}.ingestion-empty{min-height:35rem;display:grid;place-content:center;justify-items:center;gap:.75rem;padding:2rem;border:1px dashed oklch(.78 .02 113);border-radius:var(--radius-panel);background:var(--surface);color:var(--muted);text-align:center}.ingestion-empty h2{color:var(--ink)}.ingestion-empty p{max-width:30rem;line-height:1.6}.review-skeleton{min-height:35rem;display:grid;align-content:start;gap:1rem;padding:1.5rem;border-radius:var(--radius-panel);background:var(--surface)}.review-skeleton span{height:3rem;border-radius:var(--radius-control);background:linear-gradient(90deg,var(--surface-strong),var(--bg),var(--surface-strong));background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite}.review-skeleton span:nth-child(3){height:7rem}.review-skeleton span:nth-child(4){height:11rem}@keyframes shimmer{to{background-position:-200% 0}}.confidence-badge{margin-bottom:.5rem;background:var(--primary-soft);color:#434700;color:oklch(.38 .11 113)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.field-grid label,.form-field{display:grid;gap:.4rem;margin-bottom:.875rem}.field-grid label>span,.form-field>span,.option-review legend{font-size:.75rem;font-weight:700}.field-grid select,.form-field input{height:2.75rem;padding:0 .75rem}.form-field textarea{min-height:7rem;padding:.75rem;resize:vertical;line-height:1.5}.option-review{display:grid;gap:.5rem;margin:0;padding:0;border:0}.option-review legend{margin-bottom:.5rem}.option-review label{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:.625rem}.option-review label>input[type=radio]{width:1rem;height:1rem;accent-color:var(--primary)}.option-review label>input:last-child{height:2.5rem;padding:0 .75rem}.review-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.toast{position:fixed;z-index:70;right:1.5rem;bottom:1.5rem;display:flex;align-items:center;gap:.625rem;max-width:24rem;padding:.875rem 1rem;border-radius:var(--radius-control);background:var(--ink);color:var(--bg);box-shadow:var(--shadow-sm);font-size:.875rem;font-weight:650;animation:toast-in .22s var(--ease)}@keyframes toast-in{0%{transform:translateY(.75rem);opacity:0}}.mobile-nav{display:none}@media(max-width:1180px){:root{--sidebar-width: 5rem}.brand{justify-content:center;padding-inline:0}.brand>span:last-child,.nav-item span,.profile-copy,.profile-row>svg,.control-heading span{display:none}.sidebar-nav{padding-inline:.75rem}.nav-item{justify-content:center;padding:0}.accessibility-control{padding-inline:.625rem}.control-heading{justify-content:center}.segment-control{grid-template-columns:1fr;gap:.125rem}.segment-control button{min-height:1.75rem}.profile-row{justify-content:center;padding-inline:0}.builder-layout{grid-template-columns:minmax(0,1fr) 18rem}.question-layout{gap:2rem}}@media(max-width:900px){.page{padding-inline:2rem}.home-grid,.builder-layout{grid-template-columns:1fr}.simulation-review{position:static}.question-layout{grid-template-columns:1fr;padding-inline:2rem}.question-map{display:none}.result-hero{grid-template-columns:auto 1fr}.score-block{grid-column:1 / -1;padding:1rem 0 0;border-top:1px solid oklch(.82 .05 113);border-left:0;text-align:left}.review-plan{grid-template-columns:1fr;gap:2rem}.performance-overview{grid-template-columns:1fr 1.5fr}.streak-panel{grid-column:1 / -1;grid-template-columns:auto auto auto 1fr;align-items:center;justify-items:start;gap:.5rem;text-align:left}.streak-panel strong{margin-top:0}.streak-panel small{max-width:none;margin:0 0 0 auto}.ingestion-layout{grid-template-columns:1fr}.textarea-field textarea{min-height:16rem}}@media(max-width:767px){:root{--topbar-height: 3.75rem}.sidebar{display:none}.app-stage{margin-left:0;padding-bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom))}.topbar{padding:0 1rem}.mobile-brand{display:inline-flex;font-size:1.05rem}.mobile-brand .brand-mark{width:1.75rem;height:1.75rem}.topbar-context>span{display:none}.back-button{display:none}.page{padding:2rem 1rem 3rem}h1{font-size:1.75rem}.page-header,.welcome-row{align-items:flex-start;flex-direction:column;gap:1.25rem;margin-bottom:2rem}.home-primary,.page-header>.primary-button{width:100%}.progress-panel{grid-template-columns:6.5rem 1fr}.progress-ring{width:6rem}.recommendation-row{grid-template-columns:auto 1fr auto}.recommendation-data{display:none}.section-heading-row{align-items:flex-start;flex-direction:column;gap:.5rem}.builder-summary{width:100%;justify-content:space-between}.subject-list{grid-template-columns:1fr;margin-left:0}.inline-error,.duration-picker,.preset-row,.toggle-row{margin-left:0}.question-header{min-height:4.5rem;padding:.75rem 1rem}.question-header>div{gap:.5rem}.question-meta,.compact-button{display:none}.timer-chip{font-size:.8125rem}.question-layout{padding:2rem 1rem 3rem}.question-content h1{font-size:1.25rem;line-height:1.5}.question-footer,.explanation-footer{align-items:stretch;flex-direction:column-reverse}.question-footer .primary-button,.explanation-footer .primary-button{width:100%}.result-hero{grid-template-columns:1fr;padding:1.5rem}.result-summary{grid-template-columns:1fr}.result-summary>div{border-right:0;border-bottom:1px solid var(--border)}.result-summary>div:last-child{border-bottom:0}.bank-row{grid-template-columns:1fr}.bank-meta{padding-left:3.75rem}.bank-meta span{display:none}.filter-bar{grid-template-columns:1fr auto}.filter-button{width:3rem;padding:0}.filter-button>svg+*{display:none}.performance-overview{grid-template-columns:1fr}.weekly-chart{min-height:10rem}.streak-panel{grid-column:auto;grid-template-columns:auto 1fr;justify-items:start}.streak-panel span,.streak-panel small{grid-column:2;margin:0}.subject-performance-row{grid-template-columns:1fr auto auto;gap:.75rem;padding:.75rem 0}.inline-meter{grid-column:1 / -1;grid-row:2}.ingestion-page .page-header{gap:.75rem}.panel-heading{flex-direction:column}.field-grid{grid-template-columns:1fr;gap:0}.source-footer,.review-actions{align-items:stretch;flex-direction:column}.source-footer .primary-button,.review-actions .primary-button,.review-actions .secondary-button{width:100%}.mobile-nav{position:fixed;z-index:50;inset:auto 0 0;height:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,1fr);padding:.4rem .5rem max(.4rem,env(safe-area-inset-bottom));border-top:1px solid var(--border);background:#fffffff5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mobile-nav button{min-width:0;min-height:3.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;border-radius:.5rem;background:transparent;color:var(--muted);font-size:.625rem;font-weight:650}.mobile-nav button.is-active{background:var(--primary-soft);color:#3e4100;color:oklch(.36 .12 113)}.toast{right:1rem;bottom:calc(var(--mobile-nav-height) + 1rem + env(safe-area-inset-bottom));left:1rem}}@media(max-width:420px){.progress-panel{grid-template-columns:1fr}.recommendation-row{grid-template-columns:auto 1fr}.recommendation-row>svg{display:none}.question-origin{flex-wrap:wrap}.answer-option{align-items:flex-start;padding-block:.75rem}.builder-section-heading{grid-template-columns:1.75rem 1fr}.step-number{width:1.75rem;height:1.75rem}.option-review label{grid-template-columns:auto auto minmax(0,1fr)}}@media(hover:hover)and (pointer:fine){.primary-button:hover,.secondary-button:hover,.nav-item:hover,.recommendation-row:hover,.bank-row:hover{will-change:transform}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(forced-colors:active){.primary-button,.nav-item.is-active,.subject-option.is-selected,.answer-option.is-selected{border:2px solid ButtonText}.thin-progress span,.inline-meter span,.question-progress-bar span{background:Highlight}}
