:root{--bg:#e9e4d8;--surface:#f5efe3;--ink:#2b3d32;--muted:#5e6b5d;--line:#d7cfbd;--green:#3e654c;--green-hover:#2f513b;--soft:#e3ead7;--tile-one:#c2d5b3;--tile-two:#c5d6cc;--tile-three:#dac9b9;--tile-text:#2f4938;--button-ink:#fff9ef;--hero-glow:#e1e8ce;--panel-fill:#f8f3e8e6;--raised:#ede9dc;--shadow:0 18px 45px #554a2e13}
[data-theme=dark]{color-scheme:dark;--bg:#0c121b;--surface:#111b27;--ink:#edf3f7;--muted:#a5b5c8;--line:#29394c;--green:#67d6b2;--green-hover:#8ce8c7;--soft:#19372f;--soft-blue:#1b3047;--soft-purple:#302b46;--tile-one:#287e68;--tile-two:#365f91;--tile-three:#695b98;--tile-text:#f1fbf8;--button-ink:#0b3025;--hero-glow:#196555;--panel-fill:#172332d9;--raised:#182432;--red:#ffb6af;--red-soft:#3b252c;--amber:#edc17d;--shadow:0 18px 45px #0002}
body{background:radial-gradient(ellipse at 90% 0,var(--hero-glow),transparent 45%),var(--bg);background-attachment:fixed;transition:background-color .2s,color .2s}
.app-shell{max-width:1536px;margin:18px auto;border-radius:16px;box-shadow:var(--shadow);background:var(--surface);min-height:calc(100vh - 36px)}
.sidebar{background:linear-gradient(160deg,var(--surface),var(--raised));padding-top:28px;gap:32px}
.brand{gap:12px}.brand-type{font-size:27px}.brand-type small{font-size:9px;letter-spacing:5px}
.nav-button{border:1px solid transparent;transition:background .18s,border-color .18s,color .18s}
.nav-button:after{content:'›';margin-left:auto;color:var(--muted);font-size:21px;font-weight:400;opacity:.6}
.nav-button:hover{background:var(--raised);border-color:var(--line)}
.nav-button.active{background:linear-gradient(100deg,var(--soft),var(--raised));border-color:var(--line)}
.sidebar-bottom{border-top:0;font-size:11px}.sidebar-bottom>p{margin:15px 0 11px}.listening-tip{display:flex;gap:12px;padding:15px 12px;border:1px solid var(--line);border-radius:12px;background:var(--panel-fill)}
.listening-tip>.ui-icon{color:var(--green);margin-top:3px}.listening-tip strong{font-size:12px;color:var(--ink);font-weight:600}.listening-tip p{font-size:11px;line-height:1.8;margin-top:5px}
.workspace{position:relative;isolation:isolate;overflow:clip}
.workspace:before{content:'';position:absolute;z-index:-1;pointer-events:none;top:0;right:0;width:75%;height:390px;background:linear-gradient(90deg,var(--surface),transparent 60%),linear-gradient(0deg,var(--surface),transparent 65%),url('/assets/1982cb582f3314ebb64c-night-landscape.webp') center/cover;opacity:.06}
[data-theme=dark] .workspace:before{opacity:.5}
.topbar{min-height:65px;font-size:13px}.topbar>span:first-child{font-weight:600;color:var(--ink);font-size:15px}.topbar-subtitle{margin-left:auto;font-size:11px;letter-spacing:.3px}
.theme-switch{display:inline-flex;gap:3px;align-items:center;padding:4px;border:1px solid var(--line);border-radius:25px;background:var(--raised);flex-shrink:0}
.theme-switch button{border:0;display:grid;place-items:center;width:35px;height:29px;border-radius:18px;background:transparent;color:var(--muted);padding:0;transition:background .2s,color .2s,transform .2s}
.theme-switch button:hover{color:var(--green)}.theme-switch button[aria-pressed=true]{background:var(--soft);color:var(--green);box-shadow:0 1px 5px #071b1610}
.theme-switch button:active{transform:scale(.92)}
.page{padding-top:25px}.dashboard-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:208px;position:relative}
.hero-text{min-width:0;flex:1;position:relative;z-index:1}.dashboard-hero h1{font-size:clamp(30px,3.1vw,44px);letter-spacing:-1px;line-height:1.45}.dashboard-hero .hero-copy{font-size:17px;color:var(--muted);margin-top:6px}
.stats-strip{display:inline-grid;grid-template-columns:repeat(3,minmax(116px,1fr));padding:10px 4px;border:1px solid var(--line);border-radius:10px;margin-top:22px;background:var(--panel-fill);min-width:430px;max-width:100%;backdrop-filter:blur(8px)}
.stat{padding:0 19px}.stat strong{font-size:18px;line-height:1.3}.stat small{font-size:10px;margin-top:3px;letter-spacing:.2px}
.study-dial{position:relative;width:220px;height:220px;flex-shrink:0;color:#729baf;filter:drop-shadow(0 0 15px #58cfac20)}
.study-dial:before{content:'';position:absolute;inset:31px;border-radius:50%;background:radial-gradient(circle,var(--hero-glow),transparent 70%);opacity:.5}
.study-dial .ui-icon{position:relative;width:100%;height:100%;stroke:currentColor;stroke-width:1.4}.study-dial .dial-outer{stroke:var(--green);stroke-width:2}.study-dial .dial-inner{opacity:.4}.dial-label{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;padding-top:18px;line-height:1.4}
.dial-label strong{font-size:52px;font-weight:650;letter-spacing:-2px;color:var(--ink)}.dial-label span{font-size:11px;color:var(--muted);margin-top:3px}.dial-label small{font:9px/1.5 Arial,sans-serif;letter-spacing:1.8px;color:var(--green);margin-top:8px}
.section-title{margin-top:18px;margin-bottom:13px}.section-title h2{font-size:23px}.section-title>span{font-size:12px}
.test-list{gap:12px}.test-row{position:relative;isolation:isolate;background:var(--panel-fill);border-color:var(--line);padding:13px 18px 13px 13px;gap:22px;min-height:115px;border-radius:13px;box-shadow:0 2px 9px #00000003;transition:transform .22s,box-shadow .22s,border-color .22s,background .22s;animation:row-in .45s backwards;animation-delay:calc(var(--row-index)*70ms)}
.test-row:first-child{background:linear-gradient(100deg,var(--soft),var(--panel-fill));border-color:color-mix(in srgb,var(--green) 60%,var(--line))}
.test-row:hover{transform:translateY(-3px);border-color:var(--green);box-shadow:0 10px 24px #082b2512}
.test-visual{display:flex;width:148px;height:86px;border-radius:9px;overflow:hidden;flex-shrink:0;position:relative;box-shadow:inset 0 0 0 1px #ffffff0b}
.test-number{position:relative;width:53px;height:100%;border-radius:0;background:linear-gradient(140deg,color-mix(in srgb,var(--tile-one),white 12%),var(--tile-one));color:var(--tile-text);font:600 29px/1 Georgia,serif;z-index:1}
.test-row:nth-child(2) .test-number{background:linear-gradient(140deg,color-mix(in srgb,var(--tile-two),white 12%),var(--tile-two))}.test-row:nth-child(3) .test-number{background:linear-gradient(140deg,color-mix(in srgb,var(--tile-three),white 12%),var(--tile-three))}
.test-scene{flex:1;background-image:url('/assets/4eb5e63426a373cf7d26-study-scenes.webp');background-size:auto 300%;background-repeat:no-repeat;transition:transform .5s;filter:saturate(.75)}
.test-row:hover .test-scene{transform:scale(1.05)}.test-copy h3{font-size:20px;font-weight:650;line-height:1.45}.test-copy p{font-size:13px;line-height:1.65;margin-top:3px}.test-copy small{font-size:11px;display:block;margin-top:4px}.row-actions{gap:10px}
.button{min-height:44px;border-radius:8px;color:var(--button-ink);padding:10px 18px;box-shadow:0 2px 4px #00000008;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s}
.button:hover{transform:translateY(-1px);box-shadow:0 6px 15px #133b2618}.button:active{transform:translateY(1px);box-shadow:none}.button.secondary{color:var(--ink);border-color:color-mix(in srgb,var(--muted) 65%,var(--line));background:transparent}.button.secondary:hover{border-color:var(--green);color:var(--green);background:var(--soft)}
.button.quiet{box-shadow:none}.button:disabled{transform:none;box-shadow:none}.icon-button{background:var(--raised);transition:color .18s,border-color .18s}.icon-button:hover{color:var(--green);border-color:var(--green)}
.how-it-works{display:block;border:1px solid var(--line);border-radius:14px;padding:20px 22px;margin-top:20px;background:var(--panel-fill)}
.how-it-works h2{font-size:21px;line-height:1.5}.how-it-works h2 br{display:none}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;border:0;padding:0;margin-top:17px}.step{gap:11px}.step+.step{border-left:1px solid var(--line);padding-left:20px}.step-number{width:32px;height:32px;border:1px solid var(--line);background:var(--raised);color:var(--green);font-size:13px}.step strong{font-size:13px;line-height:1.6;display:block}.step p{font-size:11px;line-height:1.9;margin-top:4px}
.footnote{background:transparent;border:0;padding:10px 0;margin-top:10px;font-size:10px;line-height:1.8;color:var(--muted)}
.exam-shell{box-shadow:var(--shadow)}.exam-header{background:color-mix(in srgb,var(--surface) 95%,transparent);backdrop-filter:blur(12px)}.exam-header .theme-switch{margin-left:auto}.exam-header .timer{margin-left:0;background:var(--raised)}.exam-title{flex:1}.exam-main{background:var(--surface)}.exam-photo{background-color:#e3e6e8}.exam-navigator{background:linear-gradient(160deg,var(--surface),var(--raised));scrollbar-width:thin}.option{background:var(--raised)}.option.selected,.option.correct{background:var(--soft)}.option.incorrect{background:var(--red-soft)}.option.selected .option-letter,.option.correct .option-letter{color:var(--button-ink)}.q-jump{background:var(--raised)}.q-jump:hover{border-color:var(--green)}
.passage{background:var(--raised)}.passage-text{color:var(--ink)}.question-number{background:var(--raised);border:1px solid var(--line)}.timer.urgent{background:var(--red-soft)}.teaching{background:var(--raised)}.teaching-head{color:var(--ink)}.transcript{background:var(--raised)}.audio-check{background:linear-gradient(145deg,var(--raised),var(--surface));box-shadow:var(--shadow)}.locked-review{background:linear-gradient(110deg,var(--soft),var(--raised));box-shadow:var(--shadow)}.result-score .score-number{text-shadow:0 0 30px #4dcca917}.modal{box-shadow:0 25px 90px #0005}.filter-button.active{box-shadow:inset 0 0 0 1px var(--green)}
[data-theme=dark] .test-scene{filter:saturate(.7) brightness(.8)}[data-theme=dark] .graphic th{background:#1c2b3b}[data-theme=dark] .graphic td{background:var(--surface)}[data-theme=dark] .option.incorrect .option-letter{background:#a44248;color:#fff}[data-theme=dark] .button.danger{background:#ba4850;border-color:#ba4850;color:#fff}
@keyframes row-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px){.app-shell{margin:18px auto}}
@media(max-width:1250px){.test-visual{width:110px}.test-number{width:45px;font-size:26px}.test-row{gap:16px}.test-copy h3{font-size:18px}.study-dial{width:180px;height:180px}.dial-label strong{font-size:43px}.dashboard-hero h1{font-size:36px}.dashboard-hero .hero-copy{font-size:15px}.stats-strip{min-width:370px;grid-template-columns:repeat(3,minmax(100px,1fr))}.stat{padding:0 13px}}
@media(max-width:1000px) and (min-width:801px){.app-shell{grid-template-columns:185px minmax(0,1fr)}.brand{padding:0 4px}.brand-type{font-size:23px}.sidebar{padding-left:12px;padding-right:12px}.nav-button{font-size:13px;padding:13px 10px;gap:11px}.workspace{padding-left:22px;padding-right:22px}.study-dial{display:none}.dashboard-hero{min-height:205px}.test-visual{width:65px}.test-number{width:100%;border-radius:8px}.test-scene{display:none}.steps{grid-template-columns:1fr;gap:14px}.step+.step{border:0;padding-left:0}.step strong{font-size:14px}.step p{font-size:12px}.test-copy h3{font-size:17px}.row-actions .detail-button{display:none}.listening-tip{padding:12px 9px;gap:8px}.listening-tip>.ui-icon{width:20px}}
@media(max-width:800px){body{background:var(--surface)}.app-shell{margin:0;border-radius:0;box-shadow:none}.sidebar{padding-top:19px;background:var(--surface)}.brand-type{font-size:23px}.sidebar nav{margin-top:20px;gap:8px}.nav-button{border-bottom:0}.nav-button:after{display:none}.workspace:before{width:100%;height:345px;opacity:.035}[data-theme=dark] .workspace:before{opacity:.3}.topbar{min-height:58px;gap:10px}.topbar>span:first-child{font-size:12px}.topbar-subtitle{display:none}.topbar .theme-switch{margin-left:auto}.page{padding-top:22px}.dashboard-hero{min-height:0;display:block}.dashboard-hero h1{font-size:29px;letter-spacing:-.7px}.dashboard-hero .hero-copy{font-size:14px;max-width:320px}.study-dial{display:none}.stats-strip{display:grid;width:100%;min-width:0;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:24px;padding:13px 0}.stat{padding:0 7px}.stat strong{font-size:18px}.stat small{font-size:9px}.section-title{margin-top:27px}.test-row{display:grid;grid-template-columns:60px minmax(0,1fr);gap:11px 15px;padding:17px 15px;min-height:0;animation-delay:0s}.test-visual{width:60px;height:67px;grid-column:1;grid-row:1/3}.test-number{width:100%;height:100%;grid-row:auto;border-radius:8px;font-size:29px}.test-scene{display:none}.test-copy{grid-column:2}.test-copy h3{font-size:17px;line-height:1.5}.test-copy p{font-size:12px}.test-copy small{font-size:10px}.test-row .row-actions{grid-column:2;margin-left:0;margin-top:1px;gap:8px}.test-row .row-actions .button{font-size:12px;padding:8px 12px;min-height:41px}.how-it-works{padding:19px 17px;margin-top:25px}.how-it-works h2{font-size:20px}.steps{grid-template-columns:1fr;gap:17px;margin-top:20px}.step+.step{border:0;padding-left:0}.step strong{font-size:13px}.step p{font-size:12px}.footnote{font-size:10px;align-items:flex-start;padding:11px 0}.exam-header{gap:8px;flex-wrap:nowrap;padding:10px 12px}.exam-header .brand{gap:7px}.exam-header .brand-type{font-size:15px}.exam-header .brand-type small{display:none}.exam-header .brand .ui-icon{width:24px;height:24px}.exam-header .theme-switch{padding:3px;gap:0}.exam-header .theme-switch button{width:27px;height:27px}.exam-header .theme-switch .ui-icon{width:15px;height:15px}.exam-header .timer{min-width:91px;padding:5px 7px;gap:6px;margin-left:0}.exam-header .timer>.ui-icon{width:14px}.exam-header .timer strong{font-size:18px;letter-spacing:.5px}.exam-header .timer small{font-size:8px}.exam-header .submit-exam{padding:8px 9px;font-size:11px;gap:5px;min-height:39px}.exam-header .submit-exam .ui-icon{width:13px}.exam-main{padding-top:23px}.exam-part .row-actions{margin-left:0}.passage{padding:19px}.theme-switch{padding:3px}.theme-switch button{width:32px;height:29px}}
@media(max-width:390px){.dashboard-hero h1{font-size:27px}.test-row{grid-template-columns:49px minmax(0,1fr);gap:11px 12px}.test-visual{width:49px;height:60px}.test-number{font-size:26px}.test-copy h3{font-size:16px}.test-row .row-actions .button{padding:8px 10px;font-size:11px}.exam-header .brand-type{display:none}.exam-header .brand .ui-icon{width:27px;height:27px}.exam-header .theme-switch{margin-left:auto}.exam-header .timer{min-width:93px}.topbar>span:first-child{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Warm daylight palette: keep the existing dark appearance independent. */
[data-theme=light] body{background:radial-gradient(ellipse at 92% 3%,#dde5ca 0,transparent 42%),radial-gradient(ellipse at 5% 95%,#e6d8c5 0,transparent 38%),var(--bg)}
[data-theme=light] .app-shell{border-color:#d4cbb8;box-shadow:0 20px 65px #6b614519}
[data-theme=light] .sidebar{background:linear-gradient(160deg,#f6f0e3,#ece9da)}
[data-theme=light] .workspace:before{background:linear-gradient(90deg,var(--surface),transparent 62%),linear-gradient(0deg,var(--surface),transparent 72%),url('/assets/0d7d8322a01e6e407e26-morning-landscape.webp') center/cover;opacity:.76;height:390px;width:76%}
[data-theme=light] .theme-switch{background:#e9e6d7;border-color:#cfcab6}
[data-theme=light] .theme-switch button[aria-pressed=true]{background:#dce5cd;box-shadow:0 1px 5px #566a3714}
[data-theme=light] .nav-button.active{background:linear-gradient(105deg,#dde7cd,#f1eedf);border-color:#cbd3bd}
[data-theme=light] .stats-strip{background:linear-gradient(115deg,#f8f3e9ed,#ececdaec);border-color:#d5cfbc;box-shadow:0 3px 12px #73633e08}
[data-theme=light] .study-dial{color:#829477;filter:drop-shadow(0 8px 18px #7381571b)}
[data-theme=light] .study-dial:before{background:radial-gradient(circle,#f8f3dc,#e4e9ce 60%,transparent 72%);opacity:.8}
[data-theme=light] .test-row:first-child{background:linear-gradient(110deg,#e0e9d4,#f8f2e6);border-color:#a3b497}
[data-theme=light] .test-row:nth-child(2){background:linear-gradient(110deg,#e1e8de,#f8f2e7);border-color:#c1ccbb}
[data-theme=light] .test-row:nth-child(3){background:linear-gradient(110deg,#ebe0d2,#f8f1e5);border-color:#d5c6b4}
[data-theme=light] .test-row:hover{border-color:var(--green);box-shadow:0 10px 25px #68744b1c}
[data-theme=light] .test-scene{filter:saturate(.72) sepia(.08)}
[data-theme=light] .button.secondary{background:#f9f4e88c;border-color:#a6ae94;color:#3c5843}
[data-theme=light] .button.secondary:hover{background:#e1e8d2;border-color:var(--green)}
[data-theme=light] .how-it-works{background:linear-gradient(125deg,#f0ebdc,#f8f1e5);border-color:#d8cdbb;box-shadow:0 5px 20px #76654807}
[data-theme=light] .listening-tip{background:linear-gradient(135deg,#e5ead7,#f6eedf);border-color:#cfd4bc}
[data-theme=light] .step-number{background:#e3e8d2;border-color:#cbd3b9}
[data-theme=light] .exam-navigator{background:linear-gradient(150deg,#f3efdf,#e8e9d8)}
[data-theme=light] .passage{background:#f8f2e6;border-color:#d7cfbb;box-shadow:0 3px 14px #645d3e07}
[data-theme=light] .option{background:#f7f1e5}
[data-theme=light] .option.selected,[data-theme=light] .option.correct{background:#dfe8cf;border-color:#65815c}
[data-theme=light] .option.incorrect{background:var(--red-soft);border-color:var(--red)}
[data-theme=light] .teaching{background:#ece9d9}
[data-theme=light] .audio-check{background:linear-gradient(145deg,#e9ead7,#f6eedf)}
[data-theme=light] .locked-review{background:linear-gradient(110deg,#e0e8ce,#f2eadb)}
@media(max-width:800px){[data-theme=light] .workspace:before{width:100%;height:345px;opacity:.5}[data-theme=light] .sidebar{background:linear-gradient(130deg,#f5efe2,#e9ead8)}}
