:root{color-scheme:dark;--bg:#0c1117;--panel:#141b24;--line:#2a333f;--text:#e9eef4;--muted:#9cabbc;--blue:#9dafff;--blue2:#b6f3df;--warm:#efd09a;--green:#96e9c9;--red:#f4a9ac;--reading:20px;--option:17px;--explain:16px;--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}body[data-reading=large]{--reading:23px;--option:19px;--explain:18px}
a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #b1c2ff;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(34px,4.2vw,54px);line-height:1.22;letter-spacing:-1.5px;font-weight:620;margin-bottom:20px}h2{font-size:22px;line-height:1.5;font-weight:600;letter-spacing:-.3px;margin-bottom:12px}h3{font-size:17px;font-weight:600;margin-bottom:10px}p{margin-bottom:14px}::selection{background:#365b63;color:#fff}[hidden]{display:none!important}
.skip-link{position:fixed;top:-100px;left:20px;z-index:80;background:#b6f3df;color:#132b28;padding:10px 18px;border-radius:10px}.skip-link:focus{top:12px}.ambient{position:absolute;inset:0 0 auto auto;pointer-events:none;width:min(100%,1100px);height:620px;z-index:-1;background:radial-gradient(ellipse at 85% 0%,#21494333,transparent 56%),radial-gradient(ellipse at 80% 25%,#272e4e20,transparent 58%)}
.top{max-width:1200px;margin:auto;padding:28px 40px;display:flex;align-items:center;gap:32px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;min-height:48px}.brand-mark{width:48px;height:48px;display:block;flex:none}.brand-mark img{display:block;width:100%;height:100%}.brand-copy strong{font-size:22px;letter-spacing:1.3px;line-height:1.35;font-weight:600;display:block;color:#edf2f7}.course-identity{border-left:1px solid #35414a;padding-left:28px;display:flex;flex-direction:column;gap:1px;font-size:15px;font-weight:500}.identity-label{font-size:11px;color:#92a1ad;font-weight:400}.level{font-size:13px;color:#adbdcd;margin-left:3px}.private-badge{margin-left:auto;display:flex;gap:10px;align-items:center;font-size:13px;color:#cfdae6;line-height:1.4}.avatar{width:34px;height:34px;border:1px solid #495462;background:#27313e;border-radius:50%;display:grid;place-items:center;color:#c1cbd7;font-size:12px}.private-label{display:block;color:#91a1b4;font-size:10px;margin-top:3px}
.nav{max-width:1120px;margin:auto;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:0 0 14px}.nav a{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--muted);padding:9px 17px;border-radius:9px;min-height:44px;transition:color .15s,background .15s}.nav a:hover{background:#1c2630;color:#e5eff7}.nav a.active{background:#203232;color:#bdf2e3}.nav-icon{width:18px;height:18px;display:inline-flex}.icon{width:20px;height:20px;flex-shrink:0;display:inline-block;vertical-align:middle}.nav-caption{margin-left:auto;font:9px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:1.3px;color:#8898a7}
main{max-width:1200px;margin:auto;padding:36px 40px;min-height:68vh}.eyebrow{font-size:10px;line-height:1.5;font-weight:600;letter-spacing:1.8px;color:#9bb9bf;margin-bottom:15px}.muted,.subtle{color:var(--muted)}.small{font-size:13px}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.warm-text{color:var(--warm)}.hero{position:relative;display:grid;grid-template-columns:1.25fr 1fr;align-items:center;gap:20px;padding:22px 0 28px;min-height:330px}.hero-copy{position:relative;z-index:1}.hero .hero-intro{font-size:15px;line-height:1.9;color:#aebdcb;max-width:440px;margin-bottom:0}.hero h1 em,.login-story h1 em{font-style:normal;color:#b6f3df}.hero-art{position:relative;align-self:stretch;display:flex;align-items:center;justify-content:center;min-width:0}.hero-art img{width:110%;max-width:480px;height:auto;display:block}.hero-art:after{content:"KNOWLEDGE / PRACTICE / UNDERSTANDING";position:absolute;bottom:20px;font:8px/1.5 ui-monospace,SFMono-Regular,monospace;letter-spacing:1.4px;color:#94a5b6}.exam-chip{display:inline-flex;gap:10px;align-items:center;border:1px solid #354341;border-radius:6px;font-size:12px;padding:5px 10px;color:#b3c7c7;margin-bottom:18px;background:#19322a30}.exam-chip b{font-family:ui-monospace,SFMono-Regular,monospace;font-weight:500;color:#d6e9df}.hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:27px}
.btn,button.primary{display:inline-flex;justify-content:center;align-items:center;gap:10px;border:1px solid #bbf3df;border-radius:10px;padding:12px 21px;min-height:49px;background:#b6f3df;color:#112d28;font-size:15px;font-weight:650;transition:background .15s,box-shadow .15s,transform .15s}.btn:hover,button.primary:hover{background:#ccffeb;box-shadow:0 3px 22px #81d7c012;transform:translateY(-1px)}.btn.secondary,button.secondary{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:#1a252d;border:1px solid #3a4652;color:#d5e0eb;padding:11px 18px;border-radius:10px;min-height:48px;font-size:14px;font-weight:500}.btn.ghost,button.ghost{background:transparent;border:1px solid #35414e;color:#aab9c9;padding:8px 14px;border-radius:8px;min-height:44px;font-size:13px}.btn.ghost:hover,button.ghost:hover,button.secondary:hover{border-color:#69858b;background:#202d34}.wide{width:100%}.link{color:#b0bffc;background:none;border:0;padding:8px 0;font-size:13px;display:inline-block}.link:hover{color:#d5ddff}.link .icon{width:16px;height:16px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:14px;margin:12px 0 32px;background:#141b24a3;overflow:hidden}.stat{padding:22px 26px;position:relative}.stat+.stat:before{content:"";position:absolute;left:0;top:25px;bottom:25px;width:1px;background:#303b47}.stat strong{display:block;font-size:32px;font-weight:550;line-height:1.25;letter-spacing:-1px;font-variant-numeric:tabular-nums;margin:9px 0;color:#e4edf5}.stat strong small{font-size:14px;color:#8f9eaf;letter-spacing:0}.stat span,.stat>small{font-size:12px;color:#a0afbe}.stat:first-child strong{color:#bbf2dd}
.grid{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;align-items:start}.panel{background:#141b24;border:1px solid var(--line);border-radius:var(--radius);padding:27px;margin-bottom:22px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.section-head h2,.section-head h3{margin-bottom:0}.section-heading .eyebrow{margin-bottom:6px}.chip{display:inline-flex;align-items:center;font-size:11px;border:1px solid #44526c;background:#252f42;color:#bfccf1;padding:3px 8px;border-radius:5px;font-weight:500;white-space:nowrap}.chip.warm{background:#332e25;border-color:#635438;color:#edcf9f}.progress-row{display:grid;grid-template-columns:76px 1fr 64px;gap:17px;align-items:center;padding:10px 0;margin:13px 0;font-size:14px}.progress-row:hover{color:#d5fff0}.bar{height:5px;background:#2a3441;border-radius:9px;overflow:hidden}.bar i{height:100%;display:block;border-radius:9px;background:linear-gradient(90deg,#76bea9,#b6f3df)}.progress-row:nth-of-type(2) .bar i{background:linear-gradient(90deg,#7a88c7,#b6c0f5)}.quick-row{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:18px 0}.quick-row:last-child{border-bottom:0}.quick-row b{font-size:15px;font-weight:550}.quick-row p{font-size:12px;color:var(--muted);margin:4px 0 0}.quick-row .icon{color:#a7b9c8}.route-step{display:grid;grid-template-columns:32px 1fr 22px;gap:13px;padding:18px 0;align-items:center;border-bottom:1px solid var(--line)}.route-step:last-child{border-bottom:0}.step-n{font:12px/1 ui-monospace,SFMono-Regular,monospace;color:#adc2cc;width:30px;height:32px;display:grid;place-items:center;border-radius:7px;background:#202d38}.route-step b{font-size:15px;font-weight:550}.route-step p{font-size:12px;color:var(--muted);margin:4px 0 0}.route-step .icon{width:16px;height:16px;color:#8dbbb4}.cloud-line{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:#9bafba;font-size:12px}.cloud-line .icon{width:15px;height:15px;color:#96d7bc}
.page-head{margin:9px 0 27px}.page-head .eyebrow{margin-bottom:11px}.page-head h1{font-size:32px;margin-bottom:11px;letter-spacing:-.9px}.page-head p{font-size:14px;line-height:1.8;color:var(--muted);margin-bottom:0;max-width:760px}.filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:22px;padding:15px 17px;background:#141b2480;border:1px solid var(--line);border-radius:12px}.filters label{margin-left:auto}.filters input{padding:9px;min-height:44px}select,input,textarea{background:#0f161e;color:var(--text);border:1px solid #3d4b59;padding:12px 13px;border-radius:8px;max-width:100%;font-weight:400}select{min-height:44px;font-size:14px}input[type=number]{width:70px}input[type=checkbox]{width:19px;height:19px;accent-color:#92dbbf}textarea{width:100%;min-height:125px;resize:vertical;font-size:16px;line-height:1.85}label.check{display:flex;align-items:flex-start;gap:10px;color:#adbdca;font-size:13px;margin:20px 0}label.check input{flex-shrink:0;margin-top:3px}
.q-layout{display:grid;grid-template-columns:minmax(0,1fr) 230px;align-items:start;gap:24px}.q-layout>#q-panel{padding:29px 31px;position:relative}.q-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:25px}.q-type{display:flex;gap:9px;align-items:center;font-size:12px;color:#a5b2c4}.q-stem{font-size:var(--reading);font-weight:550;line-height:1.85;letter-spacing:.15px;margin-bottom:27px;overflow-wrap:anywhere;white-space:pre-line;color:#edf1f5}.options{display:grid;gap:12px}.option{display:flex;align-items:flex-start;gap:14px;position:relative;width:100%;border:1px solid #3c4857;border-radius:11px;padding:17px 42px 17px 16px;text-align:left;background:#111820;color:#dce5ed;font-size:var(--option);line-height:1.75;transition:background .15s,border-color .15s}.option .letter{border:1px solid #566170;color:#b3c0ce;background:#1b2632;border-radius:6px;min-width:28px;height:28px;display:grid;place-items:center;font:13px/1 ui-monospace,SFMono-Regular,monospace;margin-top:2px}.option span:last-child{white-space:pre-line;overflow-wrap:anywhere}.option:hover:not(:disabled){border-color:#7b9caa;background:#19252e}.option.chosen{background:#1b302f;border-color:#a2e5d1;color:#effcf5}.option.chosen .letter{background:#afeed8;border-color:#afeed8;color:#16362d}.option.chosen:after,.option.correct:after{content:"✓";position:absolute;right:16px;top:19px;color:#b6f3df;font-size:17px}.option.correct{border-color:#78c5a8;background:#18322c}.option.incorrect{border-color:#c88b8d;background:#332329}.option:disabled{opacity:1;cursor:default}.q-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:13px;padding-top:25px;margin-top:3px}.q-actions>div{display:flex;gap:10px}.q-actions .primary{min-width:180px}.feedback{border:1px solid #4e8975;background:#152b26;border-radius:12px;padding:22px;margin-top:26px;scroll-margin:20px}.feedback.bad{border-color:#7e5d61;background:#2a2026}.feedback-head{display:flex;align-items:center;gap:9px;margin-bottom:16px}.feedback-head .icon{width:19px;height:19px}.feedback strong{color:#b8efdc;font-size:16px;font-weight:600}.feedback.bad strong{color:#f3b8b8}.answer-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 20px}.answer-grid>div{border:1px solid #ffffff20;border-radius:8px;padding:11px 13px}.answer-grid span{display:block;color:#a9b8bc;font-size:11px}.answer-grid b{display:block;font-size:18px;color:#ecf4f5;letter-spacing:1px;font-weight:550;margin-top:4px}.explanation-label{font-size:11px;letter-spacing:1px;color:#a8bfb7;margin-bottom:8px}.source-text{white-space:pre-line;font-size:var(--explain);line-height:1.95;overflow-wrap:anywhere;color:#d9e5e6}.source{font-size:11px;line-height:1.8;color:#9aadb5;margin-top:15px}.note{font-size:12px;color:#dcc59f;border-left:2px solid #bba078;padding-left:12px;line-height:1.9;margin:18px 0 0}.q-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px;font-size:12px;color:#9eafbf}.q-controls .tool-actions{display:flex;gap:8px}.q-controls button{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:6px 10px;font-size:12px;border:1px solid #3a4652;border-radius:7px;color:#b6c7d4;background:#18222c}.q-controls button[aria-pressed=true]{color:#d0ffeb;border-color:#7baf9c;background:#253a34}.q-controls .icon{width:15px;height:15px}.q-controls .control-label{white-space:nowrap}
.sidebar{position:sticky;top:22px}.sidebar .panel{padding:21px}.side-number{font-size:31px;line-height:1.5;letter-spacing:-.8px;font-variant-numeric:tabular-nums;color:#d7e6ef}.sidebar .aside-detail p{font-size:12px;line-height:1.9}.aside-line{height:1px;background:var(--line);margin:20px 0}.time{font:28px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:0;color:#d8e7f1}.time.danger{color:var(--red)}.saved{font-size:11px;color:#a1d5bc;margin-top:8px;min-height:20px}.warning{color:var(--warm)}.q-map{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:18px;max-height:280px;overflow:auto}.q-map button{min-width:0;min-height:40px;border:1px solid #42515f;border-radius:6px;background:#1c2935;color:#bfccd8;font-size:12px;padding:5px}.q-map button.answered{background:#284b43;color:#d4f5e5;border-color:#578776}.q-map button.current{border:2px solid #cad4ff;color:#d6dfff}.sidebar .primary{font-size:13px;font-weight:600}
.rule-list{padding:0;list-style:none;margin:21px 0}.rule-list li{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding:14px 0;font-size:14px}.rule-list li span{color:#9faebd}.rule-list li b{font-weight:550}.empty{text-align:center;padding:55px 28px;background:#151e27;border:1px solid var(--line);border-radius:16px}.empty h2{font-size:23px}.empty p{font-size:14px;color:var(--muted);max-width:440px;margin:0 auto 25px}.history{display:grid;gap:10px}.history button{background:#1b2631;border:1px solid #35424e;border-radius:10px;color:var(--text);padding:18px;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:70px}.score{font-size:28px;font-weight:550;color:#c4ebd8;white-space:nowrap}.score small{font-size:12px;color:var(--muted)}.result-hero{display:flex;gap:32px;align-items:center;padding:12px 0}.result-hero h2{font-size:21px}.result-score{font-size:74px;line-height:1.2;color:#bdeed8;letter-spacing:-3px;font-weight:550;white-space:nowrap}.result-score small{font-size:18px;letter-spacing:0;color:var(--muted)}.review-item{border-bottom:1px solid var(--line);padding:15px 0}.review-item .q-stem{font-size:var(--option);line-height:1.8;margin:14px 0}.review-item summary{cursor:pointer;line-height:1.6;list-style:none}.review-item summary:after{content:"展开原解析 +";color:#b6c6ff;font-size:12px;display:block;margin-top:7px}.review-item[open] summary:after{content:"收起原解析 −"}.review-item summary:hover .q-stem{color:#c4f0de}.review-options{font-size:var(--explain);color:#bdc9d6;margin:15px 0}.review-options p{margin:9px 0}
.practical-grid{display:grid;grid-template-columns:275px minmax(0,1fr);gap:24px;align-items:start}.practical-grid>aside{position:sticky;top:24px}.task-list{display:grid;gap:8px;max-height:670px;overflow:auto}.task-list button{background:#151f2b;border:1px solid #2f3d4c;color:#a8b7c8;border-radius:8px;padding:13px;text-align:left;line-height:1.7;font-size:13px;min-height:65px}.task-list button.selected{background:#243932;border-color:#709e8c;color:#dff7ec}.practical-text{font-size:var(--explain);line-height:2;white-space:pre-line;overflow-wrap:anywhere;color:#dce4ed}.task-image{width:100%;height:auto;display:block;border-radius:10px;margin:20px 0}.form-row{margin:22px 0}.form-row label{display:block;font-size:14px;color:#c1ceda;margin-bottom:9px}details>summary{font-size:13px;cursor:pointer;padding:15px 0;color:#b1c1fa}#q-panel>details{margin-top:24px;border-top:1px solid var(--line)}#q-panel>details>summary{font-size:13px;color:#b5c5d3}#q-panel>details textarea{margin:12px 0}.dialog{position:fixed;inset:0;z-index:90;background:#05090fd4;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:24px}.dialog .panel{width:100%;max-width:460px;box-shadow:0 25px 90px #0007;margin:0}.dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:25px}.dialog .q-map{max-height:50vh;margin-bottom:20px}.dialog .q-map button{min-height:44px}
body[data-page=login] .nav{display:none}body[data-page=login] main{padding-top:10px;padding-bottom:28px}.login-shell{display:grid;grid-template-columns:1.15fr 1fr;gap:70px;align-items:center;margin:30px 0 35px}.login-story{min-width:0;position:relative;padding:0 15px 0 0}.login-story .eyebrow{color:#a2bac2;margin-bottom:21px}.login-story h1{font-size:57px;line-height:1.23;margin:0 0 18px;letter-spacing:-2px}.login-story p{color:#a5b5c6;font-size:14px;line-height:1.9;max-width:370px}.login-art{margin:-7px 0 -14px -23px;position:relative;max-width:430px}.login-art img{width:100%;display:block}.login-facts{display:flex;align-items:center;gap:24px;color:#aabec9;font-size:11px}.login-facts b{font-size:20px;color:#d5e7ee;font-weight:550;letter-spacing:-.3px;display:block;line-height:1.4}.login-facts span+span{border-left:1px solid #34414d;padding-left:24px}.login{max-width:none;margin:0;padding:33px 32px;background:linear-gradient(155deg,#1c2831,#131b25 66%);border:1px solid #3e4c58;box-shadow:0 20px 60px #0002}.login h2{font-size:26px;letter-spacing:-.6px;margin-bottom:10px}.login .login-caption{font-size:13px;line-height:1.85;color:#a7b8c7;margin-bottom:26px}.login form label{display:block;font-size:12px;color:#b9c7d1;margin:18px 0 8px}.login input{width:100%;margin:0;min-height:49px;background:#101820;border-color:#485762;font-size:16px;padding:12px 14px}.login button.primary{margin-top:25px;min-height:50px}.login .login-note{display:flex;align-items:flex-start;gap:8px;border-top:1px solid #34424d;padding-top:20px;margin:23px 0 0;font-size:11px;line-height:1.9;color:#a1b1c1}.login-note .icon{width:16px;height:16px;flex-shrink:0;margin-top:2px}.login form #login-error{margin:14px 0 0}.inline-error{color:var(--red);font-size:13px}.loading{text-align:center;color:#9eafbf;padding:95px 20px;font-size:14px}footer{max-width:1120px;margin:8px auto 0;border-top:1px solid var(--line);padding:22px 0 32px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px;color:#93a3b4}footer b{font-weight:500;color:#bac6d4}#toast{display:none;position:fixed;bottom:28px;left:50%;transform:translateX(-50%);z-index:100;max-width:90vw;background:#243c38;border:1px solid #75a99a;border-radius:9px;padding:12px 19px;color:#e0f2e9;box-shadow:0 12px 45px #0005;font-size:13px}#toast.show{display:block}.question-list{margin-top:24px}.question-list button{display:block;width:100%;border:0;border-bottom:1px solid var(--line);background:none;color:#dbe5ef;padding:17px 5px;text-align:left;font-size:16px}.question-list small{color:var(--muted);margin-right:10px}
body.focus-mode .top,body.focus-mode .nav,body.focus-mode footer,body.focus-mode .page-head,body.focus-mode .filters{display:none}body.focus-mode main{max-width:900px;padding-top:25px}body.focus-mode .q-layout{grid-template-columns:1fr}body.focus-mode[data-page=practice] .sidebar{display:none}body.focus-mode[data-page=exam] .sidebar{grid-row:1;position:static;display:grid;grid-template-columns:1fr 150px;gap:15px;align-items:center}body.focus-mode[data-page=exam] .sidebar .panel{display:flex;justify-content:space-between;align-items:center;margin-bottom:0;padding:12px 20px}body.focus-mode[data-page=exam] .aside-detail{display:none}body.focus-mode .ambient{opacity:.15}
@media(max-width:1000px){.top{gap:22px}.course-identity{padding-left:22px;font-size:14px}.private-label{display:none}.nav-caption{display:none}.login-shell{gap:36px}.login-story h1{font-size:50px}.q-layout{grid-template-columns:minmax(0,1fr) 205px;gap:20px}.practical-grid{grid-template-columns:240px minmax(0,1fr);gap:20px}.q-layout>#q-panel{padding:25px}}
@media(max-width:760px){
 body{padding-bottom:83px}.top{padding:23px 20px 20px;display:grid;grid-template-columns:1fr auto;gap:17px 12px;border-bottom:1px solid #29343e}.brand{gap:11px;min-height:42px}.brand-mark{width:42px;height:42px}.brand-copy strong{font-size:21px;letter-spacing:1px}.course-identity{grid-row:2;grid-column:1/-1;border-left:0;padding-left:0;display:flex;align-items:center;flex-direction:row;gap:10px;font-size:14px;letter-spacing:.1px}.identity-label{font-size:10px;background:#22322f;color:#aacbbf;padding:2px 6px;border-radius:3px}.level{font-size:12px;margin-left:2px}.private-badge{font-size:12px;gap:7px;margin-left:0}.avatar{width:28px;height:28px;font-size:11px}.private-label{display:none}
 .nav{position:fixed;inset:auto 0 0;z-index:50;max-width:none;border-bottom:0;border-top:1px solid #3b4855;background:#111923f5;backdrop-filter:blur(14px);padding:7px max(8px,env(safe-area-inset-right)) max(7px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));gap:0;display:grid;grid-template-columns:repeat(5,1fr)}.nav a{flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:8px 4px 6px;border-radius:9px;min-height:55px;font-size:11px;line-height:1.4}.nav a.active{color:#c8f9e7;background:#233a34}.nav-icon{width:20px;height:20px}.nav-icon .icon{width:20px;height:20px}.nav-caption{display:none}
 main{padding:24px 20px;min-height:65vh}.eyebrow{font-size:9px;letter-spacing:1.4px}.hero{grid-template-columns:1fr;min-height:0;padding:10px 0 27px;display:block}.hero-copy{max-width:100%}.hero h1{font-size:38px;line-height:1.24;letter-spacing:-1px;margin:0 0 14px;max-width:235px}.hero .hero-intro{max-width:230px;font-size:13px;line-height:1.9}.hero-art{position:absolute;right:-17px;top:59px;width:175px;height:195px;opacity:.75;pointer-events:none;z-index:0}.hero-art img{width:245px;max-width:none}.hero-art:after{display:none}.exam-chip{font-size:10px;gap:8px;padding:5px 8px;margin-bottom:19px}.hero-actions{margin-top:22px;gap:9px}.hero-actions .primary{padding:12px 17px;font-size:14px}.hero-actions .secondary{padding:11px 13px;font-size:13px}.stats{grid-template-columns:1fr 1fr;margin:3px 0 24px;border-radius:12px}.stat{padding:17px 19px}.stat strong{font-size:28px;letter-spacing:-.7px;margin:8px 0 4px}.stat span,.stat>small{font-size:11px}.stat+.stat:before{top:19px;bottom:19px}.stat:nth-child(3),.stat:nth-child(4){border-top:1px solid var(--line)}.stat:nth-child(3):before{display:none}.grid,.q-layout,.practical-grid{grid-template-columns:1fr;gap:0}.panel{padding:22px 19px;border-radius:13px;margin-bottom:19px}.section-head{margin-bottom:18px}.section-head h2{font-size:20px}.section-heading .eyebrow{font-size:9px}.progress-row{grid-template-columns:64px 1fr 56px;gap:12px;margin:10px 0;font-size:13px}.quick-row{padding:16px 0}.quick-row b{font-size:14px}.quick-row p,.route-step p{font-size:12px}.route-step{padding:17px 0}.route-step b{font-size:14px}.route-step .step-n{font-size:11px}.cloud-line{font-size:11px;gap:7px}.page-head{margin:5px 0 21px}.page-head .eyebrow{font-size:9px;margin-bottom:10px}.page-head h1{font-size:29px;letter-spacing:-.6px;margin-bottom:9px}.page-head p{font-size:12px;line-height:1.9}.filters{padding:12px;gap:8px;border-radius:10px;margin-bottom:19px}.filters select{flex:1;min-width:120px;padding:9px;font-size:12px}.filters label{margin-left:0;font-size:11px}.filters input{width:60px;padding:7px 9px;font-size:13px}.filters button{font-size:12px;padding:7px 12px;min-height:42px}.q-controls{margin-bottom:13px;font-size:11px;gap:8px}.q-controls button{min-height:40px;padding:6px 9px;font-size:11px}.q-controls .tool-actions{gap:6px}.q-controls .icon{width:14px;height:14px}.q-layout>#q-panel{padding:23px 18px}.q-top{margin-bottom:21px;gap:10px}.q-type{font-size:11px;gap:8px}.q-type .chip{font-size:10px}.q-top .ghost{font-size:11px;padding:6px 10px;min-height:38px}.q-stem{font-size:var(--reading);line-height:1.85;font-weight:550;letter-spacing:.1px;margin-bottom:23px}.option{padding:16px 35px 16px 12px;gap:11px;font-size:var(--option);line-height:1.8;border-radius:10px}.option .letter{min-width:26px;height:26px;font-size:12px;margin-top:3px}.option.chosen:after{right:12px;top:19px;font-size:14px}.options{gap:12px}.q-actions{padding-top:21px;gap:12px}.q-actions .primary{min-width:0;flex:1;font-size:14px;padding:12px 14px}.q-actions>div{display:flex;gap:9px;justify-content:space-between;width:100%}.q-actions .ghost{font-size:12px;padding:7px 12px}.feedback{padding:19px 16px;margin-top:23px;border-radius:10px}.feedback strong{font-size:15px}.answer-grid{gap:9px;margin-bottom:18px}.answer-grid>div{padding:10px 12px}.answer-grid span{font-size:10px}.answer-grid b{font-size:17px}.source-text{font-size:var(--explain);line-height:1.95}.source{font-size:10px}.explanation-label{font-size:10px}.note{font-size:11px}.sidebar{grid-row:1;position:static}.sidebar .panel{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 17px;background:#131b23;margin-bottom:13px;border-radius:10px}.sidebar .aside-detail{display:none}.sidebar .q-map{display:none}.side-number{font-size:22px;line-height:1.45}.sidebar .small{font-size:11px}.sidebar .saved{font-size:10px;margin:0}.time{font-size:25px}.sidebar>#submit-exam{width:auto;display:flex;margin:-2px 0 18px auto;background:transparent;color:#b5c3d0;border-color:#3e4a55;min-height:38px;padding:7px 12px;font-size:11px}.rule-list li{font-size:13px;gap:14px}.rule-list b{white-space:nowrap}label.check{font-size:12px;line-height:1.85}.result-hero{gap:22px;padding:6px 0;align-items:flex-start;flex-direction:column}.result-score{font-size:66px;line-height:1}.result-hero h2{font-size:19px;margin-bottom:9px}.result-hero p{margin-bottom:0}.review-item .q-stem{font-size:var(--option);font-weight:500}.history button{padding:15px 13px;gap:8px;flex-wrap:wrap;font-size:13px}.history button small{display:block;font-size:10px}.score{font-size:24px}.empty{padding:35px 20px}.empty h2{font-size:21px}.empty p{font-size:13px}.practical-grid>aside{position:static}.task-list{max-height:190px;padding-right:4px;margin-bottom:0}.task-list button{font-size:12px;min-height:63px}.practical-text{font-size:var(--explain);line-height:2}.form-row{margin:20px 0}.form-row label{font-size:13px}.dialog{padding:20px}.dialog .panel{max-height:90dvh;overflow-y:auto;padding:23px 20px}.dialog h2{font-size:21px}.dialog p{font-size:14px}.dialog-actions{gap:10px}.dialog-actions button{font-size:13px;padding:10px 14px;min-height:45px}.dialog .q-map{grid-template-columns:repeat(5,1fr);gap:8px;max-height:52dvh}.dialog .q-map button{min-height:44px}.dialog .q-map+.secondary{font-size:13px;min-height:45px}
 body[data-page=login]{padding-bottom:0}body[data-page=login] main{padding-top:16px}.login-shell{display:block;margin:12px 0 0}.login-story{padding:0;margin-bottom:24px;min-height:165px}.login-story .eyebrow{font-size:8px;letter-spacing:1.7px;margin-bottom:15px}.login-story h1{font-size:35px;line-height:1.26;letter-spacing:-1px;margin:0 0 11px;position:relative;z-index:1;max-width:210px}.login-story p{display:none}.login-art{position:absolute;width:215px;right:-28px;top:6px;margin:0;opacity:.9}.login-facts{gap:17px;font-size:10px;margin-top:19px;position:relative;z-index:1}.login-facts b{display:inline;font-size:13px;margin-right:3px}.login-facts span+span{padding-left:17px}.login-facts span:last-child{display:none}.login{padding:24px 22px;border-radius:14px;margin:0;box-shadow:0 10px 50px #0002}.login h2{font-size:24px;margin-bottom:9px}.login .eyebrow{font-size:9px;letter-spacing:1.5px;margin-bottom:11px}.login .login-caption{font-size:12px;margin-bottom:19px}.login form label{font-size:11px;margin:15px 0 7px}.login input{min-height:46px;font-size:16px;padding:10px 12px}.login button.primary{min-height:47px;margin-top:21px;font-size:14px}.login .login-note{font-size:10px;padding-top:17px;margin-top:20px;gap:7px}.login .login-note .icon{width:14px;height:14px}.inline-error{font-size:12px}footer{margin:4px 20px 0;padding:20px 0 24px;flex-direction:column;align-items:flex-start;gap:5px;font-size:10px}.loading{padding:80px 20px}#toast{bottom:calc(90px + env(safe-area-inset-bottom));font-size:12px;padding:11px 16px}body[data-page=login] #toast,body.focus-mode #toast{bottom:22px}body.focus-mode{padding-bottom:0}body.focus-mode main{padding:18px 15px}body.focus-mode[data-page=exam] .sidebar{display:block}body.focus-mode[data-page=exam] .sidebar .panel{padding:10px 16px;margin-bottom:13px}body.focus-mode[data-page=exam] .sidebar>#submit-exam{margin-bottom:15px}body.focus-mode .q-controls{margin-top:3px}
}
@media(max-width:360px){.top{padding-left:17px;padding-right:17px}.brand{gap:10px;min-height:40px}.brand-copy strong{font-size:20px;letter-spacing:.8px}.brand-mark{width:40px;height:40px}.private-badge{font-size:11px}.course-identity{font-size:12px;gap:8px}.level{font-size:11px}.identity-label{font-size:9px}main{padding-left:17px;padding-right:17px}.hero h1{font-size:34px;max-width:210px}.hero-art{right:-22px;opacity:.6;width:145px;top:73px}.hero .hero-intro{max-width:208px}.stat{padding:15px}.stat strong{font-size:26px}.login-story h1{font-size:32px}.login-art{width:195px;right:-32px;top:8px}.login{padding:22px 19px}.q-controls .control-label{font-size:10px}.q-controls button{padding:5px 7px}.filters select{min-width:108px}.q-layout>#q-panel{padding:22px 15px}.option{font-size:var(--option)}footer{margin-left:17px;margin-right:17px}}
@media(min-width:761px) and (hover:hover){.option:hover:not(:disabled){transform:translateX(2px)}.quick-row:hover .icon,.route-step:hover .icon{transform:translateX(3px)}.quick-row .icon,.route-step .icon{transition:transform .18s}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.btn:hover,button.primary:hover,.option:hover:not(:disabled){transform:none!important}}
@media(max-width:760px){.hero-art{overflow:hidden;right:-12px}.hero-art img{width:215px}.login-art{right:-10px;width:200px}}
.practice-settings>summary{display:none}.practice-settings{margin-bottom:0}.settings-current{font-weight:400;color:#9eb2bf;font-size:11px;margin-left:10px}
@media(max-width:760px){.hero-art{max-width:calc(100% - 200px)}.practice-settings{border:1px solid #35434e;border-radius:9px;background:#161f28;margin-bottom:17px}.practice-settings>summary{display:flex;align-items:center;justify-content:space-between;padding:12px 13px;font-size:12px;list-style:none;color:#d0dde7;gap:10px;min-height:47px}.practice-settings>summary>span:last-child{font-size:10px;color:#a8b9c7;white-space:nowrap}.practice-settings>summary .icon{width:13px;height:13px;margin-left:3px}.practice-settings[open]>summary .icon{transform:rotate(90deg)}.practice-settings .filters{margin:0;border:none;border-top:1px solid #35434e;border-radius:0;background:none}.settings-current{font-size:10px;margin-left:6px}body[data-page=practice] .page-head .eyebrow,body[data-page=practice] .page-head p,body[data-page=practice] .sidebar{display:none}body[data-page=practice] .page-head h1{font-size:25px}body[data-page=practice] .page-head{margin:0 0 16px}body.focus-mode .practice-settings{display:none}}
@media(max-width:360px){.settings-current{margin-left:5px;font-size:9px}.practice-settings>summary{padding:11px;font-size:11px}}
@media(max-width:760px){.hero-art{max-width:170px}}

/* Final learner review: explicit answer feedback, independent of color. */
.option.incorrect.chosen:after{content:"×";color:#f4a9ac}.option.incorrect.chosen .letter{background:#f4a9ac;border-color:#f4a9ac;color:#3c1b22}

/* Course first, platform signature second; reusable across providers and subjects. */
.top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 28px;padding:25px 40px 23px;align-items:center}
.brand{grid-column:1;grid-row:1;display:block;width:max-content;min-height:0;font-size:13px;line-height:1.5;font-weight:500;letter-spacing:.8px;color:#9cabbc}
.brand:hover{color:#d4dfe9}.brand-mark{display:none}
.course-identity{grid-column:1;grid-row:2;border:0;padding:0;display:flex;flex-direction:row;align-items:center;gap:12px;margin:2px 0 0;min-width:0}
.course-title{font-size:27px;line-height:1.45;font-weight:600;letter-spacing:.2px;color:#edf2f7}
.level{font-size:12px;font-weight:500;line-height:1.6;letter-spacing:.2px;color:#bed9cc;background:#22342f;border:1px solid #3a5148;border-radius:5px;padding:2px 8px;margin:0;white-space:nowrap}
.course-issuer{grid-column:1;grid-row:3;display:flex;align-items:baseline;flex-wrap:wrap;gap:5px;margin:0;font-size:11.5px;line-height:1.7;color:#9aa9ba}
.course-issuer>span:first-child{color:#8797a8}.issuer-divider{color:#64758a}
.private-badge{grid-column:2;grid-row:1/4;justify-self:end;margin:0;min-height:44px;padding:7px 8px;display:flex;align-items:center;gap:9px;border:1px solid transparent;border-radius:9px;background:none;color:#d0dbe6;text-align:left;font-size:13px;line-height:1.4}
.private-badge:hover{background:#18232e;border-color:#344451}.private-badge .avatar{width:30px;height:30px;font-size:12px;background:#202b36;border-color:#3c4b59;color:#c8d5df}
#learner-name{display:block;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.private-label{display:block;font-size:10px;font-weight:400;margin-top:3px;color:#8e9fb1}
.profile-name-input{display:block;width:100%;margin:10px 0;font-size:18px}.profile-help{line-height:1.9;margin:12px 0 0}.profile-signout{border-top:1px solid var(--line);margin-top:24px;padding-top:12px}.profile-signout .link{color:#9cabbc}
@media(max-width:760px){.top{padding:18px 20px 18px;gap:6px 12px}.brand{font-size:12px;letter-spacing:.6px;line-height:1.7}.course-identity{grid-column:1/-1;margin-top:5px;gap:10px}.course-title{font-size:23px;letter-spacing:0;line-height:1.45}.level{font-size:11px;padding:2px 7px}.course-issuer{grid-column:1/-1;font-size:11px;gap:4px;line-height:1.65}.private-badge{grid-row:1;grid-column:2;min-height:35px;padding:3px 0 3px 5px;gap:6px;font-size:11px}.private-badge .avatar{width:24px;height:24px;font-size:10px}.private-label{display:none}#learner-name{max-width:85px}.profile-name-input{font-size:17px}.profile-help{font-size:12px}}
@media(max-width:360px){.top{padding-left:17px;padding-right:17px}.course-title{font-size:22px}.course-identity{gap:8px}.course-issuer{font-size:10.5px;column-gap:4px}.brand{font-size:12px}}

/* Platform entrance -> enrolled courses -> course workspace. */
.header-platform{grid-row:1;grid-column:1;display:flex;align-items:center;gap:18px;min-height:21px}
#course-switch{font-size:11px;line-height:1.6;color:#b5c7d5;border-left:1px solid #3c4855;padding:2px 0 2px 15px}#course-switch:hover{color:#b6f3df}
body[data-page=login] .nav,body[data-page=courses] .nav{display:none}
.login-story h1{max-width:540px}.login-facts{font-size:13px;color:#bbcdd3}.login-facts span:last-child{display:block}
body[data-page=courses] main{min-height:66vh}.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;align-items:start}
.enrolled-course{padding:0;overflow:hidden;margin:0;background:linear-gradient(135deg,#17232a,#131b24)}
.course-card-visual{position:relative;height:180px;overflow:hidden;background:radial-gradient(ellipse at 60% 90%,#31595744,transparent 70%),linear-gradient(115deg,#122129,#17242e);border-bottom:1px solid #2c4148}
.course-card-visual>span{position:absolute;left:27px;top:21px;z-index:1;font-size:11px;letter-spacing:2px;color:#a2c7bf}
.course-card-visual img{display:block;width:320px;height:235px;object-fit:contain;position:absolute;right:0;top:-21px}
.course-card-body{padding:25px 27px}.course-card-heading{display:flex;align-items:center;gap:12px;margin-bottom:8px}.course-card-heading h2{margin:0;font-size:24px;line-height:1.5}
.course-card-provider{font-size:12px;color:#9cadbb;line-height:1.8;margin-bottom:26px}.course-card-progress{display:flex;justify-content:space-between;font-size:12px;color:#b9cbd1;margin-bottom:9px}.course-card-bottom{margin-top:24px;display:flex;justify-content:space-between;gap:15px;align-items:center}.course-card-bottom>span{font-size:11px;color:#98aab8}.course-card-bottom .btn{font-size:13px;padding:10px 15px;min-height:44px;white-space:nowrap}
.no-courses{max-width:650px;padding:35px}.no-courses p{margin:0;font-size:14px}
@media(max-width:760px){
 .header-platform{min-height:22px;gap:13px}#course-switch{font-size:10px;padding-left:11px}
 .course-issuer{font-size:12px;line-height:1.8}
 .login-story h1{font-size:33px;max-width:270px;letter-spacing:-.8px;line-height:1.3}.login-art{width:173px;right:-13px;top:7px;opacity:.8}
 .login-facts{font-size:11px;gap:13px;margin-top:18px}.login-facts span+span{padding-left:13px}
 body[data-page=courses]{padding-bottom:0}body[data-page=courses] #toast{bottom:22px}
 .course-grid{grid-template-columns:1fr;gap:20px}.course-card-visual{height:150px}.course-card-visual>span{left:21px;top:18px;font-size:10px}.course-card-visual img{width:265px;height:200px;right:-5px;top:-20px}
 .course-card-body{padding:22px 20px}.course-card-heading{gap:8px}.course-card-heading h2{font-size:21px}.course-card-provider{font-size:11px;margin-bottom:22px}.course-card-bottom{margin-top:22px;gap:9px}.course-card-bottom>span{font-size:10px}.course-card-bottom .btn{font-size:12px;padding:10px 12px}.no-courses{padding:25px 20px}
}
@media(max-width:360px){.login-story h1{font-size:29px;max-width:235px}.login-art{width:144px;right:-13px;top:13px;opacity:.65}.course-issuer{font-size:11px}.course-card-heading h2{font-size:20px}.course-card-bottom{align-items:flex-start;flex-direction:column}.course-card-bottom .btn{width:100%}}
