:root{--background:#fff7eb;--surface:#ffffffd1;--surface-alt:#fff8eaeb;--surface-strong:#fffdf7;--border:#e4a05247;--border-strong:#db723e75;--border-soft:#ffc6783d;--text:#2b2340;--muted-strong:#5d5076;--muted:#7f7395;--accent:#ff8a3d;--accent-strong:#eb6c1f;--accent-soft:#ff8a3d2e;--hero-a:#ffd86b;--hero-b:#ff9f68;--hero-c:#ff7eb6;--hero-d:#7dd8ff;--english:#8a5cff;--maths:#ff8f1f;--science:#35b66a;--bm:#ff5f87;--shadow-soft:0 20px 45px #6f4a9a1f;--shadow-pop:0 16px 30px #ff88312e;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,Avenir Next Rounded,Trebuchet MS,Noto Sans,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-color:#0000;background-image:radial-gradient(circle at 8% 10%,#ffd66a6b,#0000 16rem),radial-gradient(circle at 86% 12%,#7dd8ff5c,#0000 18rem),radial-gradient(circle at 82% 72%,#ff7eb633,#0000 18rem),linear-gradient(#fff8ef 0%,#fff1d6 100%);background-position:0 0,0 0,0 0,0 0;background-repeat:repeat,repeat,repeat,repeat;background-size:auto,auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;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:1.1rem;width:min(1440px,100% - 2rem);margin:1.1rem auto 0;padding-bottom:2.75rem;display:grid;position:relative}.topbar,.primary-nav,.panel,.session-header,.session-sidebar,.question-panel,.results-panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.topbar,.session-header{animation:.48s ease-out floatIn}.panel,.primary-nav,.status-banner,.session-sidebar,.question-panel,.results-panel{animation:.42s ease-out riseIn}.topbar{background:radial-gradient(circle at 0 0,#ffffff61,#0000 18rem),linear-gradient(135deg,#ffd86bf2 0%,#ff9f68eb 38%,#ff7eb6e0 68%,#7dd8fff0 100%);border-color:#ffffff73;border-radius:28px;grid-template-columns:minmax(0,1.8fr) minmax(22rem,1fr);gap:1.5rem;padding:2rem;display:grid;position:relative;overflow:hidden;box-shadow:0 26px 50px #f57f4533}.topbar:before,.topbar:after{content:"";pointer-events:none;border-radius:999px;position:absolute}.topbar:before{background:#ffffff47;width:13rem;height:13rem;top:-4rem;right:-3rem}.topbar:after{background:#ffffff2e;width:8rem;height:8rem;bottom:-3rem;left:44%}.topbar h1,.session-header h1{letter-spacing:-.04em}.topbar h1{color:#fffdf8;text-shadow:0 2px 14px #5a21001f;max-width:10ch;font-size:clamp(2.4rem,4.8vw,4.1rem)}.lede{color:#371b0fdb;max-width:62ch;margin-top:.75rem;font-size:1.02rem;line-height:1.65}.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{background:#fffcf6ad;border:1px solid #fff6;border-radius:20px;padding:1rem 1.05rem;box-shadow:inset 0 1px #ffffff59}.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:#56391cb8;font-size:.8rem;line-height:1.3;display:block}.primary-nav{border-radius:999px;gap:.5rem;padding:.5rem;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-radius:999px;flex:1;padding:.95rem 1rem .9rem;transition:transform .16s,background-color .16s,color .16s,box-shadow .16s}.nav-link.active{color:#fffdf8;background:linear-gradient(135deg, var(--accent), #ff6fa7);box-shadow:var(--shadow-pop)}.nav-link:hover{background:#ff8a3d1f;transform:translateY(-1px)}.status-banner{background:linear-gradient(135deg,#fffaf0f2,#ffecc6eb);border:1px solid #ffa4464d;border-radius:22px;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.15rem;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:24px;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{max-width:18rem;color:var(--muted-strong);background:linear-gradient(135deg,#fff5ddf2,#ffe5f2eb);border:1px solid #ffab5342;border-radius:18px;padding:.8rem .95rem;font-size:.92rem}.subject-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.subject-tab{border:1px solid var(--border);text-align:left;background:linear-gradient(#fffffff5,#fff8eae6);border-radius:22px;gap:.35rem;min-height:5.25rem;padding:1rem 1.05rem;transition:transform .16s,border-color .14s,background-color .14s,color .14s,box-shadow .16s;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{box-shadow:var(--shadow-pop);border-color:#fff6;transform:translateY(-2px)}.subject-tab.english{background:linear-gradient(135deg,#8a5cff21,#ffffffeb)}.subject-tab.maths{background:linear-gradient(135deg,#ff8f1f21,#ffffffeb)}.subject-tab.science{background:linear-gradient(135deg,#35b66a21,#ffffffeb)}.subject-tab.bm{background:linear-gradient(135deg,#ff5f8721,#ffffffeb)}.subject-tab.english.active{color:#fffdfd;background:linear-gradient(135deg,#8a5cffeb,#c395ffeb)}.subject-tab.maths.active{color:#fffdfd;background:linear-gradient(135deg,#ff8f1ff2,#ffbe5eeb)}.subject-tab.science.active{color:#fffdfd;background:linear-gradient(135deg,#35b66af2,#71db96eb)}.subject-tab.bm.active{color:#fffdfd;background:linear-gradient(135deg,#ff5f87f0,#ff95b3eb)}.subject-tab.active small,.subject-tab.active span{color:inherit}.subject-note{color:var(--muted-strong);margin:1rem 0 1.15rem}.mode-tabs{border:1px solid var(--border-soft);background:#fffaf0b3;border-radius:20px;gap:.8rem;margin-bottom:.9rem;padding:.45rem;display:flex;overflow-x:auto}.mode-tab{min-width:12rem;color:var(--muted-strong);text-align:left;background:0 0;border:none;border-radius:16px;padding:.8rem .9rem;transition:transform .15s,background-color .15s,box-shadow .15s}.mode-tab.active{color:var(--text);background:#fffdf7;box-shadow:0 10px 18px #8256c41a}.mode-tab:hover{transform:translateY(-1px)}.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:999px;min-height:2.75rem;padding:.75rem 1.1rem;font-weight:650;transition:transform .14s,background-color .14s,border-color .14s,color .14s,box-shadow .14s}.button-primary{background:linear-gradient(135deg, var(--accent), #ff5f87);color:#fffdf8;box-shadow:var(--shadow-pop);border-color:#0000}.button-primary:hover{background:linear-gradient(135deg, var(--accent-strong), #ef4e7d);transform:translateY(-1px)}.button-secondary{color:var(--text);background:#ffffffdb}.button-secondary:hover,.choice-option:hover,.question-chip:hover,.subject-tab:hover{transform:translateY(-1px)}.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{color:var(--muted-strong);white-space:nowrap;background:#ffffffbd;border:1px solid #ffffff73;border-radius:999px;align-items:center;padding:.38rem .72rem;font-size:.78rem;font-weight:700;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);color:var(--muted-strong);overflow-wrap:anywhere;background:#fffbf1eb;border-radius:14px;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:#ffffffc7;border-radius:20px}.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:linear-gradient(135deg,#fff5e2f5,#ffe9f5f0);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:#ffffffe0;border-radius:16px;padding:.8rem .9rem}.field input:focus,.field textarea:focus{outline-offset:2px;border-color:var(--accent);outline:2px solid #ff8a3d38}.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);white-space:pre-wrap;background:#fff9ecf0;border-radius:16px;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{background:radial-gradient(circle at 100% 0,#ffffff42,#0000 12rem),linear-gradient(135deg,#7dd8fff5,#8a5cffe6);border-color:#fff6;border-radius:28px;grid-template-columns:minmax(0,1.65fr) minmax(22rem,1fr);gap:1rem;padding:1.8rem;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:24px;padding:1.35rem}.question-chip{border:1px solid var(--border-soft);color:var(--text);text-align:left;background:#ffffffd1;border-radius:18px;grid-template-columns:2rem minmax(0,1fr);align-items:start;gap:.75rem;padding:.75rem .85rem;transition:transform .14s,border-color .14s,background-color .14s,box-shadow .14s;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:linear-gradient(135deg,#fff5ddf5,#ffe5f2eb);box-shadow:0 12px 24px #ff8a3d24}.question-chip.answered{background:linear-gradient(135deg,#ebfff2f2,#ffffffe0);border-color:#35b66a59}.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:#ffffffdb;border-radius:18px;align-items:start;gap:.75rem;padding:.9rem .95rem;transition:transform .14s,border-color .14s,background-color .14s,box-shadow .14s;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}@keyframes floatIn{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes riseIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.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}.topbar,.session-header,.panel,.primary-nav,.status-banner,.session-sidebar,.question-panel,.results-panel{animation:none}}
