:root{--background:#f3ede2;--surface:#fffaf1;--surface-alt:#f4ebdc;--border:#d8c9b2;--border-strong:#bda98e;--border-soft:#e7dccb;--text:#2a241a;--muted-strong:#615545;--muted:#7d705d;--accent:#99572a;--accent-strong:#7f4720;--english:#7b4aa8;--maths:#a66400;--science:#356c43;--bm:#8d4d2e;color:var(--text);background:var(--background);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Avenir Next,Noto Sans,Segoe UI Variable Text,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;color:var(--text);background:radial-gradient(circle at 100% 0,#fffbf2bf,#0000 24rem),linear-gradient(#f6f1e8 0%,#f0e6d5 100%);margin:0}body,button,input,textarea,select{font:inherit}a{color:var(--accent-strong);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{color:var(--text);margin:0;font-weight:700;line-height:1.15}h1{font-size:clamp(2rem,3vw,2.8rem)}h2{font-size:clamp(1.2rem,2vw,1.55rem)}h3{font-size:1rem}p{margin:0}code{font-family:SFMono-Regular,Menlo,Monaco,Consolas,monospace}button,input,textarea{color:inherit}#root{min-height:100vh}.app-shell{gap:1rem;width:min(1440px,100% - 2rem);margin:1.1rem auto 0;padding-bottom:2.5rem;display:grid}.topbar,.primary-nav,.panel,.session-header,.session-sidebar,.question-panel,.results-panel{background:var(--surface);border:1px solid var(--border);box-shadow:0 8px 18px #432d140d}.topbar{border-radius:10px;grid-template-columns:minmax(0,1.8fr) minmax(22rem,1fr);gap:1.5rem;padding:1.75rem;display:grid}.topbar h1,.session-header h1{letter-spacing:-.04em}.lede{max-width:62ch;color:var(--muted-strong);margin-top:.5rem;font-size:1rem}.topbar-meta,.session-meta,.results-summary,.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.topbar-meta>div,.session-meta>div,.results-summary>div,.summary-grid>div{border:1px solid var(--border-soft);background:var(--surface-alt);border-radius:8px;padding:.9rem 1rem}.topbar-meta strong,.summary-grid strong,.results-summary strong,.session-meta strong{color:var(--text);margin-top:.15rem;font-size:1.15rem;font-weight:650;display:block}.meta-label{color:var(--muted);font-size:.8rem;line-height:1.3;display:block}.primary-nav{border-radius:10px;gap:.25rem;padding:0 .75rem;display:flex;overflow-x:auto}.nav-link,.mode-tab,.subject-tab,.question-chip,.button{font:inherit;cursor:pointer}.nav-link{min-height:3rem;color:var(--muted-strong);text-align:center;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:.95rem .25rem .85rem}.nav-link.active{color:var(--text);border-bottom-color:var(--accent)}.status-banner{border:1px solid var(--border);background:var(--surface);border-radius:10px;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.1rem;display:flex}.dashboard-grid{grid-template-columns:minmax(0,1.55fr) minmax(21rem,.9fr);gap:1rem;display:grid}.stack,.review-stack,.research-layout,.review-layout,.research-cards,.topic-list,.template-list,.history-list,.results-list,.review-list,.submitted-session-list,.question-map{gap:.9rem;display:grid}.panel{border-radius:10px;padding:1.5rem}.panel-wide{padding:1.6rem}.compact-panel{padding:1.2rem}.section-header{justify-content:space-between;align-items:start;gap:1rem;margin-bottom:1.2rem;display:flex}.section-header p{color:var(--muted);margin-top:.4rem}.inline-note{border:1px solid var(--border-soft);background:var(--surface-alt);max-width:18rem;color:var(--muted-strong);border-radius:8px;padding:.75rem .85rem;font-size:.92rem}.subject-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.subject-tab{border:1px solid var(--border);border-left:5px solid var(--border-strong);background:var(--surface);text-align:left;border-radius:8px;gap:.35rem;min-height:5.25rem;padding:.95rem 1rem;transition:border-color .14s,background-color .14s,color .14s;display:grid}.subject-tab span,.mode-tab span{font-weight:650;display:block}.subject-tab small,.mode-tab small,.template-meta,.quiet,.review-session-summary p{color:var(--muted)}.subject-tab.active{border-color:var(--border-strong);background:#fcf8ef}.subject-tab.english{border-left-color:var(--english)}.subject-tab.maths{border-left-color:var(--maths)}.subject-tab.science{border-left-color:var(--science)}.subject-tab.bm{border-left-color:var(--bm)}.subject-note{color:var(--muted-strong);margin:1rem 0 1.15rem}.mode-tabs{border-bottom:1px solid var(--border-soft);gap:1.25rem;margin-bottom:.9rem;padding-bottom:.2rem;display:flex;overflow-x:auto}.mode-tab{min-width:12rem;color:var(--muted-strong);text-align:left;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:.2rem 0 .8rem}.mode-tab.active{color:var(--text);border-bottom-color:var(--accent)}.template-row,.history-row{border-top:1px solid var(--border-soft);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1rem;padding:1rem 0;display:grid}.result-row,.review-item{border-top:1px solid var(--border-soft);grid-template-columns:minmax(0,1fr);align-items:start;gap:.9rem;padding:1rem 0;display:grid}.template-row:first-child,.history-row:first-child,.result-row:first-child,.review-item:first-child{border-top:none;padding-top:0}.template-row h3,.history-row strong,.research-card h3,.matrix-row h3,.review-item h4,.review-session-summary strong{margin:0 0 .35rem;font-size:1rem}.button{border:1px solid var(--border);border-radius:8px;min-height:2.75rem;padding:.7rem 1rem;font-weight:650;transition:background-color .14s,border-color .14s,color .14s}.button-primary{background:var(--accent);border-color:var(--accent);color:#fffdf8}.button-primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.button-secondary{background:var(--surface);color:var(--text)}.button-secondary:hover,.choice-option:hover,.question-chip:hover,.subject-tab:hover{background:#f7f0e4}.plain-list{gap:.4rem;margin:0;padding-left:1.05rem;display:grid}.plain-list.tight{gap:.25rem}.research-card{border-top:1px solid var(--border-soft);padding-top:1.25rem}.research-card:first-child{border-top:none;padding-top:0}.research-card-header,.result-head,.review-item-header,.topic-head,.question-topline,.button-row,.review-session-summary{justify-content:space-between;align-items:center;gap:1rem;display:flex}.button-row.wrap{flex-wrap:wrap}.track-tag,.pending-chip,.confidence{border:1px solid var(--border-soft);background:var(--surface-alt);color:var(--muted-strong);white-space:nowrap;border-radius:6px;align-items:center;padding:.25rem .55rem;font-size:.78rem;display:inline-flex}.track-tag.english{color:var(--english)}.track-tag.maths{color:var(--maths)}.track-tag.science{color:var(--science)}.track-tag.bm{color:var(--bm)}.research-block{margin-top:1rem}.research-block code{border:1px solid var(--border-soft);background:var(--surface-alt);color:var(--muted-strong);overflow-wrap:anywhere;border-radius:8px;margin-top:.35rem;padding:.6rem .7rem;font-size:.85rem;display:block}.topic-item,.matrix-row,.lock-panel,.review-settings,.review-session{border:1px solid var(--border-soft);background:var(--surface);border-radius:8px}.topic-item,.matrix-row{padding:.95rem 1rem}.topic-item p{color:var(--muted);margin:.15rem 0 .55rem}.matrix{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.lock-panel,.review-settings{background:#f6efe3;padding:1rem}.field{gap:.45rem;margin:0;display:grid}.inline-field{min-width:14rem}.field span{color:var(--muted-strong);font-size:.92rem}.field input,.field textarea{border:1px solid var(--border);width:100%;font:inherit;color:var(--text);background:#fffefb;border-radius:8px;padding:.8rem .9rem}.field input:focus,.field textarea:focus{outline-offset:2px;border-color:var(--accent);outline:2px solid #99572a29}.message{color:var(--muted-strong);margin-top:1rem}.review-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.response-block,.passage-block{border:1px solid var(--border-soft);background:var(--surface-alt);white-space:pre-wrap;border-radius:8px;padding:.85rem .95rem}.rubric-block,.review-form{margin-top:1rem}.review-session-summary{cursor:pointer;padding:1rem 1.05rem;list-style:none}.review-session-summary::-webkit-details-marker{display:none}.review-session-body{border-top:1px solid var(--border-soft);padding:0 1.05rem 1.05rem}.inline-results-summary{min-width:0;margin-top:1rem}.review-result-row{align-items:start}.question-prompt{color:var(--text);white-space:normal;overflow-wrap:anywhere;margin:.35rem 0 .9rem;font-size:1rem}.empty-state{padding:1.25rem 0 .2rem}.empty-state h3{margin-bottom:.4rem}.session-layout{gap:1rem;display:grid}.session-header{border-radius:10px;grid-template-columns:minmax(0,1.65fr) minmax(22rem,1fr);gap:1rem;padding:1.5rem;display:grid}.session-body{grid-template-columns:minmax(17rem,18rem) minmax(0,1fr);gap:1rem;display:grid}.session-sidebar,.question-panel,.results-panel{border-radius:10px;padding:1.35rem}.question-chip{border:1px solid var(--border-soft);background:var(--surface);color:var(--text);text-align:left;border-radius:8px;grid-template-columns:2rem minmax(0,1fr);align-items:start;gap:.75rem;padding:.75rem .85rem;display:grid}.question-chip span{font-weight:650}.question-chip small{line-height:1.35;display:block}.question-chip.active{border-color:var(--accent);background:#fcf7ee}.question-chip.answered{border-color:#356c4347}.progress-summary p{color:var(--muted);margin-top:.35rem}.sidebar-actions{gap:.7rem;display:grid}.section-marker{color:var(--muted);margin-bottom:.5rem;font-size:.9rem}.choice-list{gap:.75rem;margin:1rem 0 1.15rem;display:grid}.choice-option{border:1px solid var(--border-soft);background:var(--surface);border-radius:8px;align-items:start;gap:.75rem;padding:.9rem .95rem;display:flex}.choice-option input{margin-top:.2rem}.choice-option span{flex:1}.question-actions{justify-content:space-between;gap:1rem;margin-top:1.2rem;display:flex}.results-panel{gap:1.15rem;display:grid}.results-summary{min-width:0}@media (width<=1120px){.dashboard-grid,.session-body,.review-columns,.matrix,.topbar,.session-header,.topbar-meta,.session-meta,.results-summary,.summary-grid{grid-template-columns:1fr}}@media (width<=760px){.app-shell{gap:.85rem}.topbar,.panel,.session-header,.session-sidebar,.question-panel,.results-panel{padding:1rem}.primary-nav{padding:0 .5rem}.status-banner,.section-header,.template-row,.history-row,.button-row,.review-item-header,.review-session-summary,.result-head,.question-topline,.question-actions{flex-direction:column;align-items:start}.subject-tabs{grid-template-columns:1fr}.mode-tabs{gap:1rem}.mode-tab{min-width:10rem}}@media (prefers-reduced-motion:reduce){.button,.nav-link,.mode-tab,.subject-tab,.question-chip,.choice-option{transition:none}}
