:root{--ink:#243c33;--muted:#859087;--green:#234c3a;--lime:#ddedb0;--line:#e5e9e0;--paper:#f7f8f4;--sans:"Segoe UI","Microsoft YaHei","PingFang SC",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{border:0}button:disabled{cursor:default;opacity:.5}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}button:focus-visible,a:focus-visible{outline:3px solid #8ea96a;outline-offset:3px}input:focus,textarea:focus{outline:2px solid #9bb786;outline-offset:0}button{transition:background .16s,transform .16s}button:not(:disabled):active{transform:translateY(1px)}.app-shell{min-height:100vh}.sidebar{width:228px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);padding:34px 22px 20px;display:flex;flex-direction:column;z-index:30}.brand{display:flex;align-items:center;gap:12px;font-size:29px;font-weight:750;line-height:1.2;letter-spacing:2px}.brand-icon{width:43px;height:47px;border-radius:15px 15px 18px 18px;background:var(--green);color:#e7f2d0;display:grid;place-items:center}.brand-sub{display:block;font-size:10px;font-weight:400;letter-spacing:1.2px;color:var(--muted);margin-top:9px}.side-label{color:#a1a69f;font-size:10px;letter-spacing:1.3px;margin:50px 13px 15px}.sidebar nav{display:grid;gap:7px}.sidebar nav button{display:flex;align-items:center;gap:12px;padding:13px 15px;background:transparent;text-align:left;border-radius:8px;color:#7b887f;font-size:13px;white-space:nowrap}.sidebar nav button:hover{background:#f7f9f3}.sidebar nav button.active{background:#eaf0df;color:var(--green);font-weight:650}.nav-count{margin-left:auto;background:#dce7cb;border-radius:5px;padding:0 6px;font-size:10px}.sidebar-card{margin-top:auto;border:1px solid #e9eddf;background:linear-gradient(140deg,#f7f9f0,#eef3e4);border-radius:12px;padding:20px 15px;color:#69825a}.sidebar-card strong{display:block;color:#466044;font-size:12px;margin:10px 0 7px}.sidebar-card p{font-size:11px;line-height:1.9;color:#8a9681}.sidebar-card>span{display:block;margin-top:16px;border-top:1px solid #e3e9d9;padding-top:13px;font-size:10px;letter-spacing:.7px}.sidebar-bottom{margin-top:22px}.sidebar-bottom button{display:flex;align-items:center;gap:9px;color:#78877c;background:none;font-size:11px;margin:0 4px 15px}.sidebar-bottom button svg:last-child{margin-left:6px}.sidebar-bottom>div{font-size:9px;color:#a2aaa1;display:flex;align-items:center;gap:6px;white-space:nowrap}.status-dot{width:5px;height:5px;background:#92ab72;border-radius:50%;display:inline-block}.main-shell{margin-left:228px}.topbar{height:78px;border-bottom:1px solid var(--line);background:#fafbf7;display:flex;align-items:center;justify-content:space-between;padding:0 42px;gap:20px}.breadcrumb{display:flex;align-items:center;gap:12px;color:#9aa198;font-size:11px}.breadcrumb b{color:#5f7063;font-weight:500}.top-actions{display:flex;align-items:center;gap:22px}.scope-pill{display:flex;align-items:center;gap:7px;font-size:10px;color:#87947f}.scope-pill>span{height:5px;width:5px;background:#97ab7a;border-radius:50%}.tutor-trigger{display:flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--line);padding:8px 12px;font-size:11px;border-radius:7px;color:#556a57}.avatar{display:grid;place-items:center;width:31px;height:31px;background:#eceee2;color:#7b8765;border:3px solid white;border-radius:50%;font-size:11px}.top-left{display:flex;align-items:center;gap:12px}.mobile-menu{display:none!important}main{max-width:1450px;margin:auto;padding:35px 42px 0}.page-eyebrow{font-size:9px;letter-spacing:2.5px;color:#8f9b86;font-weight:600;margin-bottom:15px}.hero{display:flex;position:relative;min-height:344px;background:#eaf0df;border:1px solid #e1e8d5;border-radius:14px;overflow:hidden}.hero-copy{padding:33px 39px;z-index:2;flex:1}.eyebrow{font-size:10px;letter-spacing:1.5px;color:#7a9068;display:flex;align-items:center;gap:10px}.small-line{display:inline-block;width:21px;height:1px;background:#8aa174}.hero h1{font-size:clamp(27px,2.8vw,39px);font-weight:600;line-height:1.5;letter-spacing:1.5px;margin-top:13px}.hero h1>span{color:#65834c}.hero p{font-size:12px;color:#84917a;line-height:1.9;margin:14px 0 21px}.primary{background:var(--green);color:#fff;border:1px solid var(--green);border-radius:7px;display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:10px 17px;white-space:nowrap;font-size:12px;font-weight:500;line-height:1.5}.primary:not(:disabled):hover{background:#345f49}.hero .primary{font-size:11px;padding:11px 17px;gap:26px}.hero-foot{font-size:9px;color:#8a9a7e;margin-top:14px;display:flex;align-items:center;gap:6px}.hero-art{position:relative;width:42%;min-width:260px;overflow:hidden}.orbit{position:absolute;border:1px solid #d5dec5;border-radius:50%;height:250px;width:250px;top:58px;left:35px}.orbit-two{transform:rotate(22deg);height:314px;width:314px;top:25px;left:3px;border-style:dashed;opacity:.6}.art-label{position:absolute;z-index:4;border:1px solid #d8e3c8;background:#f6f8eebd;border-radius:6px;padding:8px 13px;color:#6b805b;font-size:11px;box-shadow:0 7px 24px #54693f06}.label-one{left:5%;top:81px;transform:rotate(-5deg);letter-spacing:1px}.label-two{right:5%;bottom:75px;transform:rotate(3deg);font-size:12px}.label-two span{font-size:9px}.burette{position:absolute;left:49%;top:24px;width:17px;height:147px;border:2px solid #849d78;border-top:0;border-radius:0 0 4px 4px;background:#fcfff58a;z-index:3}.burette-ticks{position:absolute;right:0;top:10px;width:8px;height:115px;background:repeating-linear-gradient(to bottom,transparent 0px,transparent 8px,#8b9e7e 8px,#8b9e7e 9px)}.burette-fluid{position:absolute;bottom:2px;left:2px;right:2px;height:71px;background:#b3c488b0}.burette-valve{position:absolute;top:151px;width:33px;height:5px;left:-11px;background:#758b68;border-radius:2px}.burette-tip{position:absolute;left:4px;top:145px;width:5px;height:27px;border:1px solid #758b68;border-radius:0 0 50% 50%}.drop{position:absolute;width:7px;height:10px;background:#8da169;top:187px;left:3px;border-radius:60% 30% 60% 60%;transform:rotate(-30deg)}.flask{position:absolute;left:38%;top:210px;width:100px;height:100px;z-index:2}.flask-neck{position:absolute;left:36px;width:28px;top:-10px;height:34px;border:2px solid #8b9b7b;border-top-width:3px;background:#f4f8e77a}.flask-body{position:absolute;width:100px;height:81px;top:18px;border:2px solid #8b9b7b;clip-path:polygon(33% 0,67% 0,100% 88%,97% 100%,3% 100%,0 88%);background:#f7f9ee99;border-radius:0 0 11px 11px;overflow:hidden}.flask-body:after{content:"";position:absolute;inset:0;background:linear-gradient(112deg,transparent 25%,#fff8 26%,#fff8 29%,transparent 30%)}.flask-liquid{position:absolute;inset:39px 0 0;background:#d7bf8d99;border-top:1px solid #b7a575;border-radius:45% 20% 0 0}.flask-body i,.flask-body b{position:absolute;border:1px solid #c0af83;border-radius:50%;width:5px;height:5px;top:52px;left:30px}.flask-body b{width:3px;height:3px;top:64px;left:55px}.art-caption{position:absolute;bottom:16px;left:19%;font-size:9px;letter-spacing:2px;color:#99a388}.art-caption span{display:inline-block;width:20px;height:1px;background:#a2b18a;vertical-align:middle;margin-right:8px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:23px}.stat{background:white;border:1px solid var(--line);border-radius:10px;padding:20px;display:flex;align-items:center;gap:15px;position:relative}.stat-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:11px;flex-shrink:0}.green{background:#eef3e6;color:#75925c}.peach{background:#f8ede3;color:#bc9779}.purple{background:#efedf5;color:#a197b5}.stat>div>span{font-size:10px;color:#8a9589}.stat strong{display:block;font-size:26px;line-height:1.6;font-weight:550;letter-spacing:1px}.stat strong small{font-size:11px;color:#9aa393;letter-spacing:0;font-weight:400}.stat-note{font-size:9px;color:#9aa290;margin-left:auto;align-self:flex-end;margin-bottom:5px;white-space:nowrap}.stat .icon-button{margin-left:auto;color:#9aa290}.section{margin-top:33px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.section-heading h2,.panel h2{font-size:16px;font-weight:600;letter-spacing:.4px}.section-heading p{font-size:10px;color:#929b8c;margin-top:6px}.small-badge{font-size:8px;letter-spacing:1px;font-weight:500;padding:3px 7px;background:#edf0e6;color:#97a187;border-radius:4px;margin-left:8px;vertical-align:middle}.mode-block{display:flex;flex-direction:column;align-items:flex-end;gap:5px}.segmented{display:flex;gap:2px;padding:3px;background:#ecefe5;border:1px solid #e4e8dc;border-radius:7px}.segmented button{background:transparent;border-radius:4px;padding:6px 11px;color:#919b87;font-size:10px;white-space:nowrap}.segmented button.selected{background:white;box-shadow:0 2px 4px #243c3309;color:#506646}.mode-note{font-size:10px;color:#8d9785}.paper-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.paper-card{border:1px solid var(--line);background:white;border-radius:11px;overflow:hidden;padding:20px 23px 0;position:relative}.paper-card:before{position:absolute;content:"";inset:0 auto 0 0;width:3px;background:#acbd93}.paper-card.peach:before{background:#d3b99f}.paper-card.lavender:before{background:#b6acc8}.paper-top{display:flex;align-items:center;justify-content:space-between;gap:5px}.paper-n{font-size:34px;line-height:1;font-weight:300;color:#ccd7bb;letter-spacing:-1px}.peach .paper-n{color:#e3ccba}.lavender .paper-n{color:#d7cfe4}.tiny-tag{font-size:9px;color:#8b9e75;background:#f1f5e9;padding:4px 7px;border-radius:4px;white-space:nowrap}.peach .tiny-tag{background:#fbf2e9;color:#b39a80}.lavender .tiny-tag{background:#f3f0f8;color:#a094b4}.paper-card h3{font-size:18px;font-weight:600;margin-top:20px}.paper-card>p{font-size:10px;color:#929b8c;margin-top:7px;white-space:nowrap}.paper-meta{display:flex;gap:16px;font-size:9px;color:#8d9886;margin-top:25px}.paper-meta span{display:flex;gap:5px;align-items:center;white-space:nowrap}.paper-footer{border-top:1px solid #edf0e7;display:flex;align-items:center;justify-content:space-between;margin-top:22px;padding:14px 0 15px}.paper-footer small{font-size:9px;color:#a0a995}.round-button{width:31px;height:31px;border:1px solid #e5eadd;border-radius:50%;background:#fafcf6;color:#7d9166;display:grid;place-items:center}.round-button:hover{background:#e7eedb}.grading-note{color:#9ca591;font-size:9px;margin-top:12px}.bottom-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:20px;margin-top:29px}.panel{background:#fff;border:1px solid var(--line);border-radius:11px}.scope-panel{padding:21px 25px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.panel-head>span{font-size:9px;color:#96a087}.scope-row{display:flex;align-items:center;gap:15px;padding:16px 0;border-top:1px solid #eff1e9}.scope-row>span{font-size:10px;color:#a4ae97;font-weight:600;width:22px}.scope-row strong{font-size:11px;font-weight:500}.scope-row p{color:#a0a793;font-size:9px;margin-top:4px}.scope-row>svg{margin-left:auto;color:#a7b696}.review-note{background:#f2f3e9;padding:28px 28px 24px;position:relative}.note-icon{position:absolute;right:24px;top:27px;color:#b2bba0}.review-note .page-eyebrow{font-size:8px;color:#a0aa8d;margin:0 0 16px;letter-spacing:1.5px}.review-note h2{font-size:22px;line-height:1.6;font-weight:500;color:#677b54}.review-note p{color:#98a08b;font-size:10px;line-height:1.9;margin:12px 0 17px;max-width:310px}.text-button{background:none;display:inline-flex;align-items:center;gap:7px;color:#66804e;font-size:11px;padding:0}.text-button:hover{color:#234c3a}.footer{margin-top:44px;padding:21px 0 24px;border-top:1px solid var(--line);color:#a4ad9c;font-size:9px;display:flex;align-items:center;gap:18px}.footer>span:nth-child(2){margin-left:auto}.footer button{display:flex;align-items:center;gap:4px;font-size:9px;color:#8f9c80;background:none}.page-heading{margin:10px 0 30px}.page-heading h1{font-size:29px;line-height:1.6;font-weight:550;letter-spacing:1px}.page-heading p{font-size:12px;color:#8c9785;margin-top:10px}.page-heading .page-eyebrow{margin-bottom:9px}.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #dde5d6;border-radius:7px;background:#fff;color:#708061;font-size:11px;padding:10px 15px;white-space:nowrap;line-height:1.5}.secondary:not(:disabled):hover{background:#f3f7ed}.icon-button{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:#87947d;padding:5px;border-radius:5px}.button-row{display:flex;gap:10px;flex-wrap:wrap}.history{padding:23px}.history .panel-head{margin-bottom:5px}.history-list>button{display:flex;align-items:center;gap:14px;padding:16px 0;background:none;border-bottom:1px solid #eef1e8;width:100%;text-align:left}.history-list>button:last-child{border-bottom:0}.history-list>button>div{flex:1}.history-list strong{font-size:12px;font-weight:500}.history-list small{display:block;font-size:9px;color:#9ca690;margin-top:3px}.history-list b{font-weight:500;font-size:18px;color:#678254}.history-list b small{display:inline;font-size:10px;font-weight:400}.history-icon{background:#f1f5e9;color:#9eae8b;width:36px;height:40px;display:grid;place-items:center;border-radius:6px}.history-list>button>svg{color:#9eab8e}.empty-inline{padding:29px 0 20px;color:#9ba58f;font-size:11px}.wrong-toolbar{display:flex;align-items:center;gap:18px}.wrong-toolbar>span{font-size:11px;color:#95a084;margin-left:auto}.search-box{display:flex;align-items:center;gap:9px;border:1px solid #e0e6d7;border-radius:7px;padding:10px 13px;background:white;color:#9ca88d;min-width:280px}.search-box input{border:0;background:transparent;color:#556a47;width:100%;font-size:11px;outline:none}.search-box input:focus{outline:none}.search-box:focus-within{outline:2px solid #b7c99f}.search-box input::placeholder{color:#abb3a0}.topic-tabs{display:flex;gap:9px;flex-wrap:wrap;margin:22px 0}.topic-tabs button{font-size:10px;border:1px solid var(--line);border-radius:20px;padding:5px 12px;background:#fff;color:#8c9980}.topic-tabs button.active{background:#e8efdb;color:#5a7545;border-color:#d9e4c9}.wrong-list{display:grid;gap:16px}.wrong-card{padding:21px 25px}.question-meta{display:flex;align-items:center;gap:13px;color:#9daa91;font-size:10px;flex-wrap:wrap}.question-meta>span+span{border-left:1px solid #e1e7d8;padding-left:13px}.wrong-card h3{font-size:13px;line-height:1.9;font-weight:500;margin:14px 0}.wrong-bottom{display:flex;gap:15px;justify-content:space-between;align-items:center;border-top:1px solid #f0f2eb;padding-top:12px}.wrong-bottom p{font-size:10px;color:#a2ab96;flex:1}.wrong-bottom .text-button{white-space:nowrap}.empty-state{display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:330px;text-align:center;gap:15px;color:#8ca270;background:#fff;border:1px dashed #dce5cf;border-radius:12px;margin-top:27px;padding:35px}.empty-state h2{font-size:18px;font-weight:500;color:#657a52}.empty-state p{font-size:11px;color:#99a38d}.empty-state .primary{margin-top:8px}.empty-icon{background:#f1f5e9;border:1px solid #e6edda;border-radius:50%;width:76px;height:76px;display:grid;place-items:center}.formula-search{max-width:400px;margin-bottom:25px}.formula-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:19px}.formula-card{padding:24px}.formula-card h2{font-size:16px;margin:13px 0 17px}.formula-display{background:#f4f6ee;color:#708357;padding:18px 15px;border:1px solid #e7eddd;border-radius:7px;font-size:15px;line-height:1.8;letter-spacing:.3px;overflow-wrap:anywhere}.formula-card p{font-size:11px;line-height:2;color:#8c9980;margin:17px 0}.source-line{font-size:9px;color:#a4ad98;line-height:1.8;overflow-wrap:anywhere}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.info-card{padding:25px}.info-card h2{display:flex;align-items:center;gap:9px;margin-bottom:20px}.info-card p,.info-card li{font-size:11px;color:#8b987f;line-height:2}.info-card p{margin:15px 0}.info-card ul{margin:0;padding-left:18px}.info-card li{padding-left:3px;margin-bottom:7px}.status-label{display:inline-flex;background:#f3f0e9;color:#a79575;border:1px solid #eae5d9;border-radius:5px;font-size:10px;padding:5px 8px}.exam-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:21px}.timer{display:flex;align-items:center;gap:8px;background:#eef2e5;padding:8px 12px;border-radius:6px;color:#788b61;font-size:11px;font-variant-numeric:tabular-nums}.timer.urgent{background:#fbece6;color:#b67861}.exam-title{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:26px}.exam-title h1{font-size:25px;letter-spacing:1px;font-weight:550}.exam-title .page-eyebrow{margin-bottom:5px;font-size:9px}.exam-title>span{font-size:10px;color:#96a087}.exam-layout{display:grid;grid-template-columns:minmax(0,1fr) 235px;gap:22px;align-items:start}.question-card{padding:27px 30px}.question-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.question-index{font-size:26px;font-weight:400;color:#adbc98;line-height:1}.flag-button{background:transparent;display:flex;align-items:center;gap:6px;color:#a7b098;font-size:10px;padding:5px;white-space:nowrap}.flag-button.flagged{color:#bd9770}.topic-label{display:inline-block;font-size:9px;color:#90a277;background:#f4f7ed;border:1px solid #e9eddf;padding:3px 8px;border-radius:4px;margin-top:24px}.question-text{font-size:16px;font-weight:500;line-height:2;letter-spacing:.2px;margin-top:13px;white-space:pre-line;overflow-wrap:anywhere}.answer-area{margin-top:25px}.options{display:grid;gap:12px}.option{display:flex;align-items:center;gap:14px;padding:14px 17px;border:1px solid #e4e9db;border-radius:8px;background:#fff;color:#7f8e72;font-size:12px;text-align:left;width:100%}.option>span{display:grid;place-items:center;flex-shrink:0;font-size:11px;color:#97a58a;width:26px;height:26px;border:1px solid #e1e8d6;border-radius:50%}.option>div{flex:1}.option.selected{border-color:#8ca874;background:#f3f7ec;color:#526f3c}.option.selected>span{background:#708b55;color:white;border-color:#708b55}.option.correct{border-color:#8ca874;background:#f0f7e9;color:#587b40;opacity:1}.option.incorrect{border-color:#d0a190;background:#fdf3ef;color:#b17a64;opacity:1}.option:disabled{opacity:1}.option:not(:disabled):hover{background:#f5f8ef}.option.incorrect>span{background:#c49782;border-color:#c49782;color:white}.numeric-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:15px}.number-field>span{display:block;color:#8a987c;font-size:11px;margin-bottom:7px}.number-field>div{display:flex;border:1px solid #dce5d0;border-radius:7px;overflow:hidden;align-items:center;min-width:0}.number-field input{width:100%;min-width:0;border:0;background:#fefefb;padding:13px 11px;color:#647c4c;font-size:14px;font-variant-numeric:tabular-nums}.number-field input:disabled{background:#f5f7ef;color:#9ca88e}.number-field>div>span{padding:0 10px;font-size:10px;color:#9caa8b;white-space:nowrap}.input-note{font-size:9px;color:#a6b095;margin-top:10px;line-height:1.9}.workings-label{display:block;margin-top:26px;color:#859573;font-size:11px}.workings-label>span{font-size:9px;color:#a8b29b;margin-left:8px}.workings-label textarea{display:block;width:100%;height:125px;resize:vertical;border:1px solid #e0e7d5;border-radius:7px;background:#fcfdf9;margin-top:9px;padding:12px;font-size:11px;color:#708460;line-height:1.9}.workings-label textarea::placeholder{color:#b0baa1}.question-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:28px;padding-top:22px;border-top:1px solid #edf0e6;min-height:62px}.answer-sheet{padding:23px 20px;position:sticky;top:22px}.answer-sheet h2{font-size:14px}.sheet-progress{height:3px;background:#eef2e5;border-radius:2px;margin-bottom:23px;overflow:hidden}.sheet-progress i{display:block;background:#8da774;height:100%;transition:width .2s}.sheet-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.sheet-grid button{height:31px;border:1px solid #e4e9db;background:#fcfdf9;border-radius:5px;color:#a1ad94;font-size:10px;position:relative}.sheet-grid button.answered{background:#edf1e3;color:#7f9367;border-color:#dce6cc}.sheet-grid button.right{background:#e3edda;color:#63824b;border-color:#ccdcb9}.sheet-grid button.wrong{background:#f8e9e1;color:#b58c73;border-color:#ead4c6}.sheet-grid button.current{outline:2px solid #879f6c;outline-offset:2px}.sheet-grid button.marked:after{content:"";width:5px;height:5px;border-radius:50%;position:absolute;top:2px;right:2px;background:#c2a06e}.sheet-legend{display:flex;gap:10px;flex-wrap:wrap;font-size:8px;color:#a0ab93;margin-top:20px}.sheet-legend>span{display:flex;align-items:center;gap:4px}.sheet-legend i{width:7px;height:7px;border-radius:2px;background:#eef2e5;display:inline-block}.sheet-legend i.right{background:#cfdfbc}.sheet-legend i.wrong{background:#e8cdbd}.sheet-legend b{color:#c2a06e;font-size:13px;font-weight:400}.answer-sheet>p{font-size:9px;line-height:1.9;color:#a0ac92;border-top:1px solid #edf1e5;padding-top:15px;margin:16px 0}.full{width:100%}.save-caption{display:flex;align-items:center;justify-content:center;gap:4px;font-size:8px;color:#a5b097;margin-top:12px}.question-pagination{display:flex;align-items:center;justify-content:space-between;margin:22px 0}.question-pagination>span{font-size:10px;color:#9aa88c}.feedback{border:1px solid #dfebd3;border-radius:10px;margin-top:18px;padding:23px 25px;background:#f1f7ea}.feedback.needs-work{background:#fcf8ee;border-color:#eee1c9}.feedback-title{display:flex;align-items:center;gap:9px;font-size:12px;color:#759256}.feedback-title strong{font-size:12px;font-weight:500;flex:1}.feedback-title>span{font-size:10px;white-space:nowrap}.needs-work .feedback-title{color:#b29b6c}.correct-answer{margin-top:17px;font-size:11px;color:#788a64;line-height:2;display:flex;gap:7px;flex-wrap:wrap}.field-correct,.field-incorrect{padding-right:8px}.field-incorrect{color:#b0976a}.feedback ol{padding-left:19px;margin:13px 0;font-size:11px;color:#8c9a7b;line-height:2}.feedback li{margin-bottom:5px;white-space:pre-line}.pitfall{display:flex;align-items:flex-start;gap:7px;border-top:1px solid #dce6ce;padding:13px 0 9px;font-size:10px;color:#9a9e7d}.pitfall svg{flex-shrink:0;margin-top:2px}.feedback .text-button{margin-top:14px}.result-hero{display:flex;justify-content:space-between;align-items:center;gap:35px;background:#eaf1df;border:1px solid #e0e9d3;border-radius:14px;padding:35px 38px;margin:20px 0 25px}.result-hero h1{font-size:27px;font-weight:550;line-height:1.6;letter-spacing:.7px}.result-hero p{font-size:11px;color:#90a07d;margin:11px 0 25px}.result-hero .page-eyebrow{font-size:9px;letter-spacing:2px}.score-circle{border:1px solid #cdddb8;border-radius:50%;width:145px;height:145px;flex-shrink:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#f9fcf288;box-shadow:0 0 0 9px #e4ecd8}.score-circle strong{font-size:43px;color:#6c8b4f;font-weight:400;line-height:1.3}.score-circle>span{font-size:10px;color:#9aac86;margin-top:4px}.result-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:21px}.topic-report{padding:25px}.topic-progress{margin-top:22px}.topic-progress>div:first-child{display:flex;justify-content:space-between;gap:12px;font-size:11px}.topic-progress strong{font-weight:400;color:#89997a}.topic-progress span{color:#a3af95;font-size:10px}.topic-progress>div:last-child{height:5px;background:#f0f4e7;border-radius:5px;margin-top:8px;overflow:hidden}.topic-progress i{height:100%;display:block;background:#a7bc8c;border-radius:5px}.next-step{padding:27px;background:#f6f6ee;color:#99a97f}.next-step h2{font-size:18px;font-weight:500;margin-top:14px}.next-step p{font-size:11px;color:#9da78d;line-height:2;margin:14px 0 22px}.result-details{margin-top:23px;padding:25px}.result-details .panel-head{margin-bottom:3px}.result-rows>button{display:flex;align-items:center;gap:13px;width:100%;background:none;padding:16px 0;text-align:left;border-bottom:1px solid #edf1e6}.result-rows>button:last-child{border:0}.row-correct{color:#92ad75}.row-wrong{color:#c1a087}.result-qnum{font-size:10px;color:#b3bea5}.result-rows>button>div{flex:1;min-width:0}.result-rows strong{font-size:11px;font-weight:400;display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:#7e9070}.result-rows small{font-size:9px;color:#a8b19a}.result-rows>button>svg{color:#adba9b;flex-shrink:0}.result-rows b{color:#869d6e;font-weight:400;font-size:15px;white-space:nowrap}.result-rows b small{font-size:10px}.hidden{display:none}.toast{position:fixed;bottom:24px;left:calc(50% + 90px);transform:translateX(-50%);background:#284c39;color:#f5f9ef;box-shadow:0 4px 24px #17312420;padding:13px 23px;font-size:12px;border-radius:8px;z-index:110;max-width:85vw;min-width:220px;text-align:center}.modal-backdrop{position:fixed;inset:0;background:#20302555;z-index:70;display:grid;place-items:center;backdrop-filter:blur(3px);padding:25px}.submit-modal{background:white;border:1px solid #e4eada;border-radius:15px;padding:32px;max-width:450px;box-shadow:0 10px 70px #13201930}.submit-modal h2{font-size:22px;font-weight:500;margin:20px 0 13px}.submit-modal p{font-size:12px;line-height:2;color:#96a18b}.submit-modal .input-note{font-size:10px;margin-top:11px}.submit-modal .button-row{margin-top:27px;justify-content:flex-end}.tutor-backdrop{position:fixed;inset:0;background:#20302520;border:0;z-index:80;backdrop-filter:blur(1px)}.tutor-panel{position:fixed;right:0;top:0;bottom:0;width:425px;max-width:100vw;z-index:90;background:#fbfcf7;border-left:1px solid #dfe7d4;box-shadow:-10px 0 45px #21301b12;display:flex;flex-direction:column}.tutor-panel>header{display:flex;align-items:center;justify-content:space-between;padding:22px 23px;border-bottom:1px solid #e6ecdd;background:#fff}.tutor-panel>header>div{display:flex;align-items:center;gap:11px}.tutor-panel h2{font-size:16px;font-weight:550}.tutor-icon{display:grid;place-items:center;width:37px;height:37px;border-radius:10px;background:#ecf2e1;color:#8aa66c}.tutor-panel>header>div>div>span{font-size:9px;color:#a1ae92;display:flex;align-items:center;gap:5px;margin-top:2px}.tutor-panel header i{width:4px;height:4px;border-radius:50%;background:#bbc7a8}.tutor-context{margin:16px 18px 0;padding:13px 15px;background:#f0f4e7;border:1px solid #e6ecdc;border-radius:8px}.tutor-context>span{font-size:9px;color:#8ea774}.tutor-context p{font-size:11px;color:#829770;line-height:1.9;margin-top:6px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.chat-body{flex:1;overflow-y:auto;padding:21px 18px}.chat-message{padding:15px 16px;border:1px solid #e5ecdb;background:white;border-radius:10px 10px 10px 2px;margin-bottom:16px;max-width:97%}.chat-message>span{display:block;font-size:9px;color:#9eb389;letter-spacing:.6px;margin-bottom:6px}.chat-message p{white-space:pre-wrap;font-size:12px;line-height:1.95;color:#7e936d;overflow-wrap:anywhere}.chat-message.user{background:#ebf1df;border-color:#e0e8d2;margin-left:25px;border-radius:10px 10px 2px 10px}.quick-questions{display:flex;gap:6px;padding:0 18px 12px}.quick-questions button{display:flex;align-items:center;gap:4px;background:#f5f8ed;border:1px solid #dfe8d2;border-radius:20px;padding:5px 10px;font-size:10px;color:#8ca476}.quick-questions button:hover{background:#e6efd8}.chat-compose{position:relative;margin:0 18px;border:1px solid #dae5cb;border-radius:9px;background:#fff;overflow:hidden}.chat-compose textarea{display:block;border:0;width:100%;resize:none;min-height:90px;padding:13px 48px 13px 14px;font-size:11px;line-height:1.9;color:#81986d}.chat-compose textarea::placeholder{color:#b0bea3}.send-button{position:absolute;bottom:12px;right:11px;width:30px;height:30px;display:grid;place-items:center;background:#78975d;color:#fff;border-radius:7px}.copy-question{display:flex;align-items:center;justify-content:center;gap:7px;background:#f1f5e9;border:1px solid #e2ead7;padding:8px;margin:10px 18px 0;border-radius:6px;font-size:10px;color:#91a57c}.chat-foot{font-size:8px;color:#acb89d;text-align:center;margin:9px 10px 15px}.loading-message{font-size:11px;color:#a7b397;padding:6px}.save-warning{position:fixed;bottom:0;left:228px;right:0;z-index:60;background:#f4e7cf;border-top:1px solid #e0ccaa;padding:9px 20px;text-align:center;color:#a28a62;font-size:11px}.save-warning button{color:#7f704b;text-decoration:underline;background:none;font-size:11px;margin-left:7px}.resume-banner{display:flex;align-items:center;gap:12px;border:1px solid #dce7cd;background:#f0f5e6;padding:12px 17px;border-radius:8px;margin-top:18px;color:#829a6b;font-size:11px}.resume-banner strong{font-weight:500;color:#6b8455}.resume-banner>span{flex:1}.resume-banner button{font-size:10px}.saved-top{font-size:9px;color:#9daa8f;display:flex;gap:5px;align-items:center;white-space:nowrap}
@media(min-width:1500px){main{padding-top:40px}.hero{min-height:370px}.hero-copy{padding:40px 45px}.hero-art{margin-right:30px}.hero h1{font-size:43px}.hero p{margin-top:18px}.stats-grid{gap:22px}.paper-card{padding-top:26px}.paper-card h3{margin-top:25px}.paper-grid{gap:23px}.paper-card>p{font-size:11px}.paper-meta{margin-top:29px;font-size:10px}.paper-footer{margin-top:28px}.hero-art{min-width:370px}.flask{top:225px}.burette{top:39px}.orbit-one{top:73px}.orbit-two{top:40px}}
@media(max-width:1200px){.sidebar{width:205px;padding-left:15px;padding-right:15px}.main-shell{margin-left:205px}main{padding:28px 28px 0}.topbar{padding:0 28px}.top-actions{gap:14px}.scope-pill{display:none}.hero-copy{padding:28px}.hero-art{min-width:225px}.hero h1{font-size:31px}.paper-card{padding:20px 17px 0}.paper-card>p{font-size:9px;white-space:normal;min-height:30px}.paper-meta{gap:10px}.paper-footer small{font-size:8px}.stat{padding:17px 14px;gap:11px}.stat-icon{width:39px;height:39px}.stat-note{display:none}.exam-layout{grid-template-columns:minmax(0,1fr) 210px;gap:17px}.question-card{padding:23px}.answer-sheet{padding:20px 15px}.question-text{font-size:15px}.label-two{right:8px;bottom:67px;font-size:10px}.label-one{left:0;font-size:10px}.save-warning{left:205px}.saved-top{display:none}}
@media(max-width:1000px){.sidebar{width:180px;padding-left:12px;padding-right:12px}.brand{font-size:25px;gap:9px}.brand-icon{width:37px;height:43px}.brand-sub{font-size:8px}.main-shell{margin-left:180px}.sidebar nav button{padding:12px;gap:10px;font-size:12px}.sidebar-card{padding:17px 12px}.sidebar-card strong{font-size:10px}.sidebar-card p{font-size:9px}.sidebar-bottom>div{font-size:8px}.sidebar-bottom button{font-size:10px;gap:5px}.hero{min-height:330px}.hero-art{min-width:185px;width:37%}.hero h1{font-size:28px}.hero-copy{padding:25px}.orbit-one{left:-30px}.orbit-two{left:-62px}.label-one{display:none}.label-two{font-size:9px;right:10px;padding:7px;bottom:60px}.burette{left:49%;top:15px}.flask{left:27%;top:200px}.art-caption{display:none}.hero p{font-size:11px}.section-heading{gap:12px}.section-heading h2{font-size:15px}.section-heading p{max-width:230px;line-height:1.8}.small-badge{display:none}.mode-note{font-size:9px}.paper-grid{gap:11px}.paper-card{padding:17px 13px 0}.paper-n{font-size:28px}.paper-top{align-items:flex-start;flex-direction:column;gap:10px}.tiny-tag{font-size:8px}.paper-card h3{font-size:16px;margin-top:18px}.paper-meta{gap:7px;font-size:8px;flex-wrap:wrap}.paper-meta svg{width:12px;height:12px}.paper-footer{margin-top:17px;gap:4px}.paper-footer small{max-width:95px;line-height:1.8}.round-button{width:26px;height:26px;flex-shrink:0}.bottom-grid{gap:14px;grid-template-columns:1.2fr 1fr}.scope-panel{padding:20px}.review-note{padding:23px}.review-note h2{font-size:20px}.note-icon{display:none}.scope-row{gap:9px}.scope-row p{font-size:8px}.stat strong{font-size:23px}.stat>div>span{font-size:9px}.stat{gap:8px;padding:15px 10px}.stat-icon{width:33px;height:36px;border-radius:8px}.stat-icon svg{width:19px}.stat strong small{font-size:9px}.exam-layout{grid-template-columns:1fr}.answer-sheet{position:static;grid-row:1}.answer-sheet .panel-head{margin-bottom:10px}.sheet-grid{grid-template-columns:repeat(10,1fr);gap:8px}.sheet-progress{margin-bottom:15px}.sheet-legend{margin-top:12px}.answer-sheet>p,.answer-sheet .save-caption{display:none}.answer-sheet .primary{margin-top:15px}.question-card{padding:24px}.result-hero{padding:28px;gap:20px}.result-hero h1{font-size:23px}.score-circle{width:115px;height:115px}.score-circle strong{font-size:34px}.result-grid{grid-template-columns:1fr}.info-grid{grid-template-columns:1fr}.save-warning{left:180px}.formula-grid{gap:13px}.formula-card{padding:20px}.formula-card h2{font-size:14px}.formula-display{font-size:13px;padding:13px}.formula-card p{font-size:10px}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:228px;z-index:65;padding:30px 22px 20px}.sidebar.open{transform:translateX(0)}.main-shell{margin-left:0}.menu-backdrop{position:fixed;inset:0;background:#243c3338;z-index:60;border:0}.mobile-menu{display:flex!important}.topbar{height:66px;padding:0 20px}.breadcrumb{font-size:10px;gap:8px}.top-actions{gap:11px}.avatar{width:28px;height:28px;font-size:10px}.tutor-trigger{font-size:10px;padding:7px 9px}.tutor-trigger svg{width:15px}.topbar .top-left{gap:10px}.brand{font-size:29px}.brand-sub{font-size:10px}.sidebar nav button{font-size:13px}.sidebar-card strong{font-size:12px}.sidebar-card p{font-size:11px}.sidebar-bottom>div{font-size:9px}main{padding:25px 20px 0}.hero{min-height:310px}.hero-copy{padding:25px}.hero h1{font-size:29px}.hero-art{width:35%;min-width:175px}.hero p{font-size:11px}.hero .primary{font-size:10px}.page-eyebrow{font-size:8px;letter-spacing:2px}.stats-grid{gap:10px;margin-top:16px}.stat{padding:15px 12px}.stat-icon{width:34px;height:37px}.stat>div>span{font-size:9px}.section{margin-top:27px}.section-heading{margin-bottom:18px}.paper-card>p{font-size:9px}.paper-footer small{font-size:8px}.bottom-grid{margin-top:23px}.footer{font-size:8px;gap:10px}.footer>span:nth-child(2){display:none}.footer button{margin-left:auto;font-size:8px}.page-heading h1{font-size:26px}.page-heading p{font-size:11px}.formula-grid{grid-template-columns:1fr 1fr}.formula-card h2{font-size:15px}.wrong-toolbar{flex-wrap:wrap;gap:12px}.wrong-toolbar .search-box{flex:1;min-width:200px}.wrong-toolbar>span{font-size:10px}.wrong-toolbar>.primary{font-size:10px;margin-left:auto}.wrong-bottom{align-items:flex-start}.question-text{font-size:16px}.exam-title h1{font-size:25px}.timer{font-size:10px}.info-card{padding:23px}.result-hero h1{font-size:23px}.result-hero .button-row{gap:8px}.result-hero .primary,.result-hero .secondary{font-size:10px;padding:9px 12px;gap:7px}.toast{left:50%}.save-warning{left:0}.hero-foot{font-size:8px}.resume-banner{font-size:10px;padding:11px}.saved-top{display:none}}
@media(max-width:540px){main{padding:21px 15px 0}.topbar{padding:0 15px}.top-actions{gap:9px}.breadcrumb{font-size:9px;gap:6px}.tutor-trigger span{display:none}.tutor-trigger{padding:7px}.avatar{display:none}.hero{min-height:325px}.hero-copy{padding:26px 21px;flex:auto;max-width:78%;width:100%}.hero h1{font-size:27px;letter-spacing:.7px;white-space:nowrap;position:relative;z-index:3}.hero p{font-size:10px;line-height:2.1;position:relative;z-index:3}.hero-art{position:absolute;right:-28px;bottom:0;height:100%;width:140px;min-width:140px;opacity:.55}.hero-art .burette{left:49%;top:30px}.hero-art .flask{left:15%;top:215px}.hero-art .orbit-one{left:-50px;width:205px;height:205px;top:75px}.hero-art .orbit-two{left:-77px;width:260px;height:260px;top:48px}.label-two{display:none}.hero .eyebrow{font-size:8px;letter-spacing:1px}.hero-foot{font-size:7px}.hero .primary{padding:10px 12px;gap:17px;font-size:10px}.stats-grid{gap:7px}.stat{padding:13px 9px;display:block}.stat-icon{width:29px;height:30px;border-radius:8px;margin-bottom:9px}.stat-icon svg{width:17px;height:17px}.stat>div>span{font-size:8px;white-space:nowrap}.stat strong{font-size:23px;margin-top:3px}.stat strong small{font-size:9px}.stat .icon-button{position:absolute;right:7px;top:13px;padding:0}.stat .icon-button svg{width:17px}.section-heading{align-items:flex-start;flex-direction:column;gap:14px}.section-heading p{max-width:none;font-size:9px}.section-heading h2{font-size:16px}.mode-block{align-items:flex-start;flex-direction:row;align-items:center;gap:12px}.segmented button{font-size:10px;padding:5px 10px}.mode-note{font-size:8px;line-height:1.7}.paper-grid{grid-template-columns:1fr;gap:13px}.paper-card{padding:22px 21px 0}.paper-top{flex-direction:row;align-items:center}.paper-n{font-size:34px}.tiny-tag{font-size:9px}.paper-card h3{font-size:20px;margin-top:18px}.paper-card>p{font-size:11px;min-height:0;margin-top:8px}.paper-meta{font-size:10px;gap:20px;margin-top:23px}.paper-meta svg{width:14px;height:14px}.paper-footer{margin-top:20px;padding:13px 0}.paper-footer small{font-size:9px;max-width:none}.round-button{width:32px;height:32px}.grading-note{font-size:8px;line-height:1.9}.bottom-grid{grid-template-columns:1fr;gap:15px}.scope-panel{padding:23px}.scope-row p{font-size:9px}.review-note{padding:26px}.review-note h2{font-size:24px}.review-note p{font-size:11px}.note-icon{display:block;top:25px}.review-note .page-eyebrow{font-size:8px}.page-heading{margin:8px 0 24px}.page-heading h1{font-size:24px}.page-heading p{font-size:11px;line-height:1.9}.formula-grid{grid-template-columns:1fr}.formula-card{padding:23px}.formula-card h2{font-size:16px}.formula-card p{font-size:11px}.formula-display{font-size:15px;padding:16px}.wrong-toolbar .search-box{min-width:100%;padding:11px 12px}.wrong-toolbar>span{margin-left:0}.topic-tabs{gap:7px;margin:20px 0}.topic-tabs button{font-size:9px}.wrong-card{padding:19px}.wrong-card h3{font-size:12px}.wrong-bottom{gap:14px;flex-direction:column}.empty-state{padding:25px 18px;min-height:310px}.empty-state h2{font-size:17px}.history{padding:19px}.history-list strong{font-size:11px}.history-list small{font-size:8px}.history-list>button{gap:10px}.history-icon{width:29px;height:35px}.history-list b{font-size:15px}.exam-heading{margin-bottom:17px}.exam-title{margin-bottom:22px}.exam-title h1{font-size:23px}.exam-title>span{font-size:9px}.question-card{padding:23px 20px}.question-text{font-size:15px}.question-meta{gap:10px;font-size:9px}.question-meta>span+span{padding-left:10px}.question-index{font-size:25px}.flag-button{font-size:9px}.option{padding:12px 13px;gap:11px;font-size:11px}.option>span{width:24px;height:24px;font-size:10px}.numeric-fields{grid-template-columns:1fr}.number-field input{font-size:14px}.input-note{font-size:8px}.workings-label{font-size:10px}.workings-label>span{font-size:8px}.answer-sheet{padding:19px}.sheet-grid{gap:7px}.sheet-grid button{font-size:9px;height:28px}.sheet-legend{font-size:8px}.answer-sheet .primary{font-size:11px;padding:8px}.feedback{padding:20px}.feedback-title{flex-wrap:wrap;gap:7px}.feedback-title strong{font-size:11px}.feedback-title>span{font-size:9px}.feedback ol{font-size:10px}.correct-answer{font-size:10px}.source-line{font-size:8px}.pitfall{font-size:9px}.result-hero{padding:26px 22px;align-items:flex-start;gap:12px}.result-hero h1{font-size:20px;max-width:230px}.result-hero>div:first-child{min-width:0}.result-hero .page-eyebrow{font-size:7px;letter-spacing:1px}.result-hero p{font-size:9px;line-height:1.9;max-width:230px}.score-circle{width:84px;height:84px;margin-top:20px;box-shadow:0 0 0 5px #e4ecd8}.score-circle strong{font-size:27px}.score-circle>span{font-size:8px}.result-hero .button-row{flex-direction:column;align-items:flex-start}.result-hero .primary,.result-hero .secondary{font-size:9px;padding:8px 10px}.result-details{padding:20px}.result-rows>button{gap:9px}.result-qnum{font-size:8px}.result-rows b{font-size:12px}.result-rows b small{font-size:8px}.result-rows strong{font-size:10px}.result-rows small{font-size:8px}.result-rows>button>svg{width:13px}.result-details h2{font-size:14px}.result-details .panel-head>span{font-size:8px}.info-card{padding:22px}.info-card h2{font-size:15px}.info-card p,.info-card li{font-size:11px}.button-row .secondary{font-size:10px}.submit-modal{padding:27px}.submit-modal h2{font-size:21px}.submit-modal p{font-size:11px}.submit-modal .button-row{flex-wrap:nowrap}.submit-modal .primary,.submit-modal .secondary{font-size:11px;padding:9px 14px}.resume-banner{flex-wrap:wrap;font-size:10px}.resume-banner button{margin-left:auto}.toast{font-size:11px;padding:12px 18px}.chat-foot{font-size:8px}.tutor-panel>header{padding:19px 20px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Readable education content on both desktop and phones. */
.section-heading p,.paper-card>p,.hero p,.review-note p,.scope-row p{color:#718166;font-size:12px}
.paper-meta,.paper-footer small,.tiny-tag,.mode-note,.stat>div>span,.scope-row strong,.input-note,.source-line,.grading-note{font-size:11px;color:#748166}
.hero-foot,.scope-pill,.breadcrumb,.sidebar-bottom button,.footer,.footer button,.sidebar-bottom>div{font-size:10px}
.question-text{font-size:18px}.option{font-size:14px}.feedback ol,.correct-answer,.feedback-title strong{font-size:13px}.feedback ol,.pitfall{color:#6c7e5d}
.formula-card p,.info-card p,.info-card li,.next-step p{font-size:13px;color:#6d7e60}.source-line,.input-note,.chat-foot{color:#7e8b71}
.question-meta,.number-field>span,.workings-label,.chat-message>span{font-size:11px}.chat-message p{font-size:13px;color:#617a50}.question-pagination>span{font-size:12px}
@media(max-width:540px){.hero p,.hero-foot{font-size:10px}.section-heading p{font-size:11px}.paper-card>p{font-size:12px}.scope-row p{font-size:10px}.mode-note{font-size:9px}.question-text{font-size:16px}.option{font-size:13px}.feedback ol,.correct-answer,.feedback-title strong{font-size:12px}.source-line,.input-note,.grading-note{font-size:10px}.paper-meta{font-size:11px}.tiny-tag{font-size:10px}}
button{line-height:1.5}svg{vertical-align:middle}.brand-icon svg{width:23px;height:23px}.save-warning:empty{display:none}.sheet-grid button{min-width:0}.app-status{min-height:50vh;display:grid;place-items:center;padding:30px;color:#708460}.study-home-link{display:block;text-align:center;color:#788968;padding:18px;font-size:11px}.tutor-backdrop{cursor:default}

.glyph{display:inline-flex;align-items:center;justify-content:center;font-size:18px;line-height:1;min-width:17px}.stat-icon .glyph{font-size:24px}.sidebar nav .glyph{width:20px}.scope-row>span:last-child{margin-left:auto;width:auto}

.glyph{font-style:normal}@media(max-width:540px){.tutor-trigger .glyph{display:inline-flex}}

/* Focused study layout: collapsible navigation and persistent question controls. */
html{scrollbar-gutter:stable;scroll-padding-bottom:120px}
.app-shell{--study-sidebar-width:228px}
.ui-icon{display:inline-block;vertical-align:middle;flex-shrink:0}
.desktop-nav-toggle{position:fixed;left:calc(var(--study-sidebar-width) - 40px);top:12px;z-index:46;width:28px;height:28px;border:1px solid #e4e9dc;background:#fff;color:#7c8e6b;border-radius:7px;display:grid;place-items:center;padding:5px}
.desktop-nav-toggle:hover{background:#edf3e3;color:#36583e}
.sidebar-collapsed .desktop-nav-toggle{left:17px;top:23px;width:32px;height:32px;box-shadow:0 2px 9px #243c3308}
@media(min-width:761px){.sidebar-collapsed .sidebar{transform:translateX(-100%);visibility:hidden;pointer-events:none}.sidebar-collapsed .main-shell{margin-left:0}.sidebar-collapsed .top-left{padding-left:35px}.sidebar-collapsed .save-warning{left:0}}
.is-answering main{padding-bottom:110px}
.question-card,.feedback{scroll-margin-top:20px;scroll-margin-bottom:110px}
.question-actions{min-height:0;margin-top:23px;padding-top:17px}
.exam-dock{position:fixed;left:var(--study-sidebar-width);right:0;bottom:0;z-index:40;background:#fbfcf8f5;border-top:1px solid #dde5d4;box-shadow:0 -7px 25px #2b412c06;backdrop-filter:blur(12px);padding-bottom:env(safe-area-inset-bottom,0px)}
.exam-dock-inner{max-width:1450px;margin:0 auto;min-height:80px;padding:13px 42px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.sidebar-collapsed .exam-dock{left:0}
.dock-progress{display:flex;align-items:center;gap:14px;white-space:nowrap}.dock-progress strong{font-weight:550;color:#526d43;font-size:13px}.dock-progress>span{font-size:11px;color:#8a9a7c;border-left:1px solid #dee7d3;padding-left:14px}
.dock-buttons{display:flex;align-items:center;gap:10px}.dock-buttons>button{min-height:43px;padding:10px 19px;font-size:12px;gap:8px}.dock-next{min-width:110px}.dock-check{background:#e9f0df;color:#4b6a38;border-color:#cbdaba}.dock-check:not(:disabled):hover{background:#dfeacb;color:#365928}.dock-mode{font-size:11px;color:#8a9b7c;padding:0 12px}.dock-prev:disabled{opacity:.38}
.toast-above-dock{bottom:103px}.is-answering .save-warning{bottom:82px}
/* The tutor is a compact reading panel with adjacent controls, not empty chat space. */
.tutor-panel{right:20px;top:20px;bottom:auto;width:470px;max-width:calc(100vw - 40px);max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);border:1px solid #e0e7d8;border-radius:16px;overflow:hidden;box-shadow:0 20px 80px #22342129;background:#fff}
.tutor-panel>header{padding:20px 22px 17px;flex-shrink:0;gap:12px;border-color:#edf0e7}.tutor-panel h2{font-size:18px;line-height:1.5}.tutor-panel>header>div{gap:11px}.tutor-icon{width:37px;height:37px;background:#edf3e4;border-radius:11px;color:#789862}.tutor-icon .ui-icon{width:21px;height:21px}.tutor-panel>header>div>div>span{font-size:11px;color:#87967b;margin-top:3px}.tutor-panel>header>.icon-button{width:32px;height:32px;border-radius:50%;border:1px solid #e6ebdf;color:#839475;background:#fbfcf8;padding:7px}.tutor-panel>header>.icon-button:hover{background:#f0f4e9;color:#31583b}
.tutor-context{margin:17px 22px 0;padding:13px 15px;background:#f5f7f0;border:1px solid #e7ecde;border-radius:9px;flex-shrink:0}.tutor-context>span{display:flex;align-items:center;gap:8px;font-size:11px;color:#83956e}.tutor-context>span b{font-weight:400;color:#b0bba2}.tutor-context p{font-size:13px;color:#506c42;line-height:1.8;margin-top:6px;-webkit-line-clamp:3}
.quick-questions{padding:14px 22px 0;gap:0;flex-shrink:0}.quick-questions .explanation-tab{display:flex;justify-content:center;flex:1;background:#f5f7f0;color:#819270;border:1px solid #e3e9d9;border-right-width:0;border-radius:0;padding:9px 8px;font-size:12px;line-height:1.4}.quick-questions .explanation-tab:first-child{border-radius:7px 0 0 7px}.quick-questions .explanation-tab:last-child{border-right-width:1px;border-radius:0 7px 7px 0}.quick-questions .explanation-tab.active{background:#e6efda;border-color:#ceddbb;color:#426534;font-weight:600}.quick-questions .explanation-tab:hover{background:#edf3e3}
.chat-body{flex:0 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:17px 22px 19px;scrollbar-width:thin;scrollbar-color:#c8d5b8 transparent}.explanation-content{padding:0 2px;color:#526f43}.explanation-content h3{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:550;line-height:1.6;margin:0 0 11px;color:#557744}.explanation-content h3 .ui-icon{width:16px;height:16px}.explanation-content>p,.explanation-content li{font-size:13px;line-height:1.95;color:#5e7450}.explanation-content ol{padding-left:22px;margin:0}.explanation-content li{padding-left:3px;margin-bottom:9px}.explanation-content li::marker{color:#9db487;font-weight:500}.explanation-content .source-line{font-size:10px;line-height:1.7;padding-top:12px;margin-top:15px;border-top:1px dashed #e1e8d5;color:#8b9a7b}
.chat-message{margin:15px 0 0;border-radius:8px;padding:11px 13px;background:#f7f9f2;font-size:12px;max-width:100%}.chat-message>span{font-size:10px;margin-bottom:5px}.chat-message p{font-size:12px;line-height:1.85}.chat-message.user{margin-left:30px;border-radius:8px;background:#edf3e3}
.tutor-compose-section{flex-shrink:0;background:#fafbf7;border-top:1px solid #e8eddf;padding:15px 22px 17px}.compose-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.compose-heading label{font-size:11px;color:#758965}.compose-heading>span{font-size:9px;line-height:1.5;color:#a08e6b;background:#f4f0e7;border:1px solid #e9e1d1;padding:2px 6px;border-radius:4px;white-space:nowrap}.chat-compose{margin:0;background:#fff;border-radius:8px;border-color:#dce5d0}.chat-compose textarea{min-height:74px;height:74px;padding:12px 64px 12px 12px;font-size:12px;line-height:1.8;background:#fff}.chat-compose textarea::placeholder{color:#a1af93}.send-button{bottom:11px;right:10px;width:auto;height:29px;padding:0 10px;font-size:11px;line-height:1.4;background:#6d8d53;border-radius:5px}.send-button:disabled{opacity:.42}.compose-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:11px}.compose-footer>span{font-size:9px;line-height:1.6;color:#99a58c}.compose-footer .copy-question{display:flex;align-items:center;gap:4px;margin:0;padding:0;white-space:nowrap;border:0;background:transparent;color:#6c8656;font-size:11px}.copy-question .ui-icon{width:14px;height:14px}
@media(max-width:1200px){.app-shell{--study-sidebar-width:205px}.exam-dock-inner{padding-left:28px;padding-right:28px}.dock-progress>span{display:none}}
@media(max-width:1000px){.app-shell{--study-sidebar-width:180px}.dock-buttons>button{padding:10px 14px}.dock-next{min-width:95px}}
@media(max-width:760px){.app-shell{--study-sidebar-width:0px}.desktop-nav-toggle{display:none}.exam-dock,.sidebar-collapsed .exam-dock{left:0}.exam-dock-inner{padding:12px 20px;min-height:78px;gap:12px}.dock-progress strong{font-size:11px}.dock-buttons{gap:8px}.dock-buttons>button{font-size:11px;padding:10px 13px;min-height:42px}.dock-mode{font-size:10px}.tutor-panel{top:12px;right:12px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.tutor-panel>header>div>div>span{font-size:11px}.tutor-backdrop{backdrop-filter:blur(2px)}}
@media(max-width:540px){.exam-dock-inner{display:block;padding:9px 15px 11px}.dock-progress{margin-bottom:6px;justify-content:center;gap:8px}.dock-progress strong{font-size:10px;line-height:1.4}.dock-progress>span{display:block;font-size:9px;border:0;padding-left:0}.dock-buttons{display:grid;grid-template-columns:1fr 1.12fr 1fr;gap:7px}.dock-buttons>button{font-size:12px;padding:10px 8px;min-height:43px;gap:4px;min-width:0}.dock-buttons .ui-icon{width:15px;height:15px}.dock-mode{display:grid;place-items:center;font-size:10px;padding:0}.dock-next{min-width:0}.is-answering main{padding-bottom:119px}.toast-above-dock{bottom:111px}.is-answering .save-warning{bottom:94px}.tutor-panel{top:8px;right:8px;width:calc(100vw - 16px);max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:13px}.tutor-panel>header{padding:16px 17px 14px}.tutor-panel h2{font-size:17px}.tutor-context{margin:14px 17px 0;padding:11px 12px}.tutor-context p{font-size:12px}.quick-questions{padding:12px 17px 0}.quick-questions .explanation-tab{font-size:11px;padding:9px 6px}.chat-body{padding:16px 17px 17px}.explanation-content>p,.explanation-content li{font-size:12px}.explanation-content .source-line{font-size:10px}.tutor-compose-section{padding:13px 17px 15px}.compose-heading label{font-size:10px}.compose-heading>span{font-size:9px}.compose-footer{gap:8px}.compose-footer>span{font-size:9px}.compose-footer .copy-question{font-size:10px}.chat-compose textarea{font-size:12px;min-height:70px;height:70px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

@media(min-width:1201px){.exam-dock-inner{padding-right:299px}}
@media(min-width:1001px) and (max-width:1200px){.exam-dock-inner{padding-right:255px}}

/* ---------- AI 答疑连接状态徽标（状态由 /api/tutor 驱动） ---------- */
.ai-badge{font-weight:650;transition:color .2s,background .2s,border-color .2s}
.ai-badge[data-status="connected"]{color:#1f5c3a!important;background:#e8f3e4!important;border-color:#c3ddb4!important}
.ai-badge[data-status="configured"]{color:#7a5f14!important;background:#fbf4e0!important;border-color:#ecdfb8!important}
.ai-badge[data-status="not_connected"]{color:#8a5a5a!important;background:#f9eeee!important;border-color:#eed6d6!important}
.ai-badge[data-status="unknown"]{color:#7c8a72!important}

/* Saved per-question tutor conversations. */
.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}
.tutor-history-bar{display:flex;align-items:center;gap:9px;padding:10px 22px;background:#fafbf7;border-bottom:1px solid #edf1e5;flex-shrink:0}
.tutor-history-bar select{flex:1;min-width:0;max-width:100%;border:1px solid #dfe7d4;border-radius:5px;background:#fff;color:#6f865b;padding:6px 7px;font-size:10px;line-height:1.6}
.tutor-history-bar [data-tutor-save]{font-size:9px;color:#91a67b;white-space:nowrap}
.tutor-history-bar [data-tutor-save][data-state="error"]{color:#b48e64}
.tutor-export{width:27px;height:27px;padding:5px;border-radius:5px;border:1px solid #e1e8d7;background:#fff;color:#8a9f74;display:grid;place-items:center;flex-shrink:0}
.tutor-export .ui-icon{width:15px;height:15px}.tutor-export:hover{background:#edf4e1}
.chat-message>span{display:flex;align-items:center;justify-content:space-between;gap:9px}
.chat-message time{font-size:9px;font-weight:400;color:#a4b394;white-space:nowrap}
.chat-message.user>span{color:#93a97e}
@media(max-width:540px){.tutor-history-bar{padding:9px 17px;gap:7px}.tutor-history-bar select{font-size:11px;padding:6px}.tutor-history-bar [data-tutor-save]{font-size:8px}}

/* Wrong-question removal keeps attempts intact and offers immediate undo. */
.wrong-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:16px;flex-shrink:0}
.wrong-remove{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:9px 10px;min-height:38px;border:1px solid #e5e8df;border-radius:6px;background:#fff;color:#8a8173;font-size:11px;white-space:nowrap}
.wrong-remove:hover{background:#f8f3ed;border-color:#ddcdbc;color:#8b6546}.wrong-remove .ui-icon{width:14px;height:14px}
.toast-undo{margin-left:14px;padding:3px 5px;background:none;color:inherit;font-weight:650;text-decoration:underline;text-underline-offset:3px}
@media(max-width:540px){.wrong-bottom{flex-wrap:wrap;gap:12px}.wrong-card-actions{width:100%;justify-content:space-between;gap:10px}.wrong-remove{min-height:42px}.wrong-card-actions .text-button{min-height:42px}}

/* Saved flags share the question-card rhythm; original attempts remain intact. */
.marked-card{padding:23px}.marked-card h3{font-size:14px;font-weight:550;line-height:1.9;margin:14px 0 17px}.marked-card .empty-icon .ui-icon{width:26px;height:26px}
@media(max-width:540px){.marked-card{padding:18px}.marked-card h3{font-size:13px}.sidebar nav{gap:3px}.sidebar nav button{padding-top:11px;padding-bottom:11px}}

.precision-rule{display:block;color:#879875;font-size:10px;font-weight:400;margin-top:2px}.precision-warning{padding:12px 15px;margin:15px 0;border:1px solid #e4d6b7;background:#fcf8ed;border-radius:7px;color:#806b44}.precision-warning strong{font-size:12px}.precision-warning p{font-size:12px;margin-top:5px}.precision-warning small{display:block;font-size:10px;margin-top:7px;color:#92805f}
