@import "https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;500;600;700&display=swap";
:root{--paper:#f7f7f1;--ink:#253d35;--green:#285446;--muted:#81877e;--line:#e0e4da;--rust:#b96547;--pale:#edf0e8;--serif:"Noto Serif SC","Songti SC",SimSun,serif;--ok:#2f6b4f;--ok-bg:#e7f0e9;--ok-line:#b9d4c2;--bad:#a8503a;--bad-bg:#f6e9e4;--bad-line:#e2bfb2;--partial:#a07a2c;--partial-bg:#f5efdf;--partial-line:#e3d3a8;--flag:#b96547;--surface:#fffffd;--shadow-1:0 1px 2px #253d350f,0 4px 16px #253d350d;--r-card:16px;--r-pill:999px;--ease:cubic-bezier(.2,.8,.2,1);--safe-b:env(safe-area-inset-bottom);--safe-t:env(safe-area-inset-top)}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;font-size:14px}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;background:0 0;border:0;justify-content:center;align-items:center;gap:8px;display:inline-flex}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit;text-decoration:none}input,textarea,select{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:7px;outline:none;padding:12px}input:focus,textarea:focus,select:focus{border-color:#678675;box-shadow:0 0 0 3px #2854460b}button:focus-visible,a:focus-visible{outline:2px solid var(--rust);outline-offset:4px}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:500}p{line-height:1.9}small{font-size:11px}svg{flex-shrink:0}.app{min-height:100vh}.rail{border-right:1px solid var(--line);z-index:20;background:#f1f3ea;flex-direction:column;align-items:center;width:84px;display:flex;position:fixed;inset:0 auto 0 0}.brand{background:var(--green);color:#fff;width:40px;height:44px;font-family:var(--serif);border-radius:5px 5px 15px;margin-top:24px;font-size:25px}.rail-links{flex-direction:column;gap:22px;margin-top:64px;display:flex}.rail-links button,.rail-settings{color:#90978d;border-radius:8px;flex-direction:column;gap:8px;width:64px;padding:13px 2px;font-size:10px}.rail-links .selected{color:var(--green);background:#e2e8dc}.rail-settings{margin-top:auto}.avatar{background:#dbe2d3;border-radius:50%;place-items:center;width:30px;height:30px;margin:20px 0 26px;font-size:12px;display:grid}.shell{margin-left:84px}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:82px;padding:0 44px;display:flex}.wordmark{font-family:var(--serif);letter-spacing:4px;align-items:center;gap:18px;font-size:23px;display:flex}.wordmark i{color:#b7bdb0;font-family:sans-serif;font-size:18px;font-style:normal}.wordmark span{letter-spacing:3px;font:12px sans-serif}.top-right{color:var(--muted);align-items:center;gap:9px;font-size:11px;display:flex}.status-dot{background:#7b9664;border-radius:50%;flex-shrink:0;width:5px;height:5px;display:inline-block}.key-button{color:var(--ink);border:1px solid #d9dfd2;border-radius:6px;margin-left:17px;padding:9px 13px;font-size:11px}.home{max-width:1380px;margin:auto;padding:0 64px}.hero{grid-template-columns:1.2fr 1fr;align-items:center;gap:30px;min-height:414px;padding:44px 0 38px;display:grid}.eyebrow{letter-spacing:2.2px;color:#7d8879;align-items:center;gap:10px;font-size:10px;font-weight:600;display:flex}.eyebrow>span:empty{background:var(--rust);border-radius:50%;width:6px;height:6px}.hero h1{letter-spacing:2px;margin:20px 0 18px;font-size:clamp(34px,3.8vw,55px);line-height:1.5}.hero h1 em{color:var(--green);font-style:normal}.hero p{color:#7c8579;font-size:12px;line-height:2.1}.hero-meta{color:#7c8579;gap:14px;margin-top:22px;font-size:10px;display:flex}.hero-meta b{color:#c1c7b7}.hero-art{perspective:900px;justify-self:end;width:100%;max-width:470px;height:305px;position:relative}.art-paper{background:#fffefa;border:1px solid #d9dfcf;width:245px;height:284px;padding:28px;position:absolute;top:7px;left:26%;box-shadow:8px 18px 35px #36492d0a}.art-paper.back{background:#e9eddf;top:0;left:34%;transform:rotate(12deg)}.art-paper.back span{letter-spacing:3px;font-size:8px;line-height:1.8}.art-paper.front{background:#fffefa;transform:rotate(-6deg)}.mini-label{letter-spacing:2px;color:#8b927d;font-size:8px}.art-paper svg{width:100%;height:105px;margin:16px 0 8px}.art-paper h3{white-space:nowrap;font-size:14px}.paper-lines{border-top:1px solid #e1e5d6;border-bottom:1px solid #e1e5d6;width:76%;height:13px}.paper-no{letter-spacing:1.6px;color:#9ba38f;font-size:7px;position:absolute;bottom:18px}.orbit{border:1px solid #dfe3d4;border-radius:50%;width:330px;height:200px;position:absolute;top:40px;left:0;transform:rotate(-32deg)}.orbit-b{width:290px;height:160px;top:72px;left:13px;transform:rotate(29deg)}.art-tag{background:var(--green);color:#eef2e5;border-radius:4px;align-items:center;gap:12px;padding:13px 17px;font-size:10px;display:flex;position:absolute;bottom:20px;left:2%;transform:rotate(2deg);box-shadow:0 8px 16px #213b2417}.collection{border-top:1px solid var(--line);padding:25px 0 0}.section-heading{justify-content:space-between;align-items:center;margin-bottom:23px;display:flex}.section-heading .eyebrow{letter-spacing:2px;font-size:9px}.section-heading h2{margin:9px 0 0;font-size:22px}.subtle{color:#7b8674;padding:10px 0;font-size:11px}.paper-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.paper-card{background:#fdfdf8;border:1px solid #dce2d3;border-radius:9px;padding:24px 28px 0;position:relative;overflow:hidden}.card-top{justify-content:space-between;align-items:center;display:flex}.tag{color:#69775e;background:#f2f4eb;border:1px solid #dde2d4;border-radius:4px;padding:5px 9px;font-size:10px;display:inline-flex}.volume{letter-spacing:2px;color:#9da68e;font:10px Georgia,serif}.book-mark{color:#a4b296;background:#edf1e4;border-radius:7px;padding:16px;position:absolute;top:78px;right:30px;transform:rotate(-8deg)}.paper-card h3{letter-spacing:1px;margin:29px 0 12px;font-size:23px}.paper-card p{color:#858b7b;max-width:76%;min-height:42px;margin-bottom:18px;font-size:11px;line-height:1.9}.card-spec{color:#7e8773;gap:22px;padding-bottom:23px;font-size:10px;display:flex}.card-spec span+span{border-left:1px solid #dce1d2;padding-left:22px}.card-action{border-top:1px solid #e1e5d7;align-items:center;gap:15px;display:flex}.card-action>button:first-child{width:100%;color:var(--green);justify-content:space-between;padding:17px 0;font-size:12px;font-weight:600}.paper-card:hover{border-color:#aab99c;transition:all .2s;transform:translateY(-2px);box-shadow:0 5px 20px #1c402007}.exam-card{background:#ecf0e5}.exam-card .tag{background:#e4eadc}.exam-card .book-mark{color:#769164;background:#dfe7d5}.home-bottom{grid-template-columns:1fr 1fr;gap:55px;padding:35px 0;display:grid}.tiny-number{letter-spacing:3px;color:#a77556;font:11px Georgia,serif}.home-bottom h3{margin:12px 0 10px;font-size:17px}.home-bottom p{color:#929787;font-size:10px;line-height:1.9}.scope{border-left:1px solid var(--line);padding-left:28px}.scope strong{font-size:11px;font-weight:500}.scope p{margin:9px 0}.scope small{color:#a29d88;font-size:9px}footer{border-top:1px solid var(--line);color:#949d89;justify-content:space-between;padding:22px 0 25px;font-size:10px;display:flex}.primary,.outline{border-radius:5px;justify-content:center;align-items:center;gap:10px;padding:12px 18px;font-size:12px;display:inline-flex}.primary{background:var(--green);color:#fff}.primary:hover{background:#1a4032}.outline{background:#ffffff80;border:1px solid #d4ddcc}.wide{width:100%;margin-top:12px}.dark-small{background:var(--green);color:#fff;border-radius:4px;padding:9px 12px;font-size:11px}.back{color:#828b7a;justify-content:flex-start;padding:0;font-size:11px}.workspace{grid-template-columns:245px minmax(360px,1fr) 350px;height:calc(100vh - 82px);display:grid}.question-nav{border-right:1px solid var(--line);background:#f1f3eb;flex-direction:column;min-height:0;padding:24px 17px 0;display:flex}.nav-title{margin-top:28px}.nav-title .eyebrow{letter-spacing:1.5px;font-size:8px}.nav-title h2{margin:10px 0 23px;font-size:17px;line-height:1.5}.progress-row{color:#7a8672;justify-content:space-between;align-items:center;font-size:10px;display:flex}.progress-row strong{color:var(--green);font:19px Georgia,serif}.progress-row small{color:#929b84;font:10px sans-serif}.progress-track{background:#dde4d3;border-radius:3px;height:3px;margin:11px 0 22px;overflow:hidden}.progress-track i{background:#91a578;height:100%;transition:width .3s;display:block}.search{color:#a0a892;background:#fafbf6;border:1px solid #dfe4d6;border-radius:5px;align-items:center;gap:6px;margin-bottom:10px;padding-left:10px;display:flex}.search input{width:100%;box-shadow:none;background:0 0;border:0;padding:10px 4px;font-size:10px}.question-nav select{background:#fafbf6;border-radius:5px;width:100%;padding:9px 6px;font-size:10px}.nav-filters{border-bottom:1px solid var(--line);gap:18px;padding:15px 3px 0;display:flex}.nav-filters button{color:#909884;border-bottom:2px solid #0000;padding:0 0 9px;font-size:10px}.nav-filters button.on{color:var(--green);border-color:var(--green)}.question-list{flex:1;margin:12px -7px 0;padding:0 3px;overflow:auto}.question-list>button{text-align:left;border-radius:5px;justify-content:flex-start;align-items:center;gap:10px;width:100%;margin-bottom:3px;padding:12px 8px}.question-list>button>span{color:#a9b19b;font:12px Georgia,serif}.question-list>button>div{flex:1;font-size:11px;line-height:1.5}.question-list small{color:#a0a791;margin-top:5px;font-size:9px;display:block}.question-list button.current{color:#264f3e;background:#e0e7d6}.question-list button.done:not(.current){color:#7c8d6a}.answer-dot{background:#c78c5f;border-radius:50%;width:5px;height:5px}.sync{border-top:1px solid var(--line);color:#8d977e;align-items:center;gap:7px;padding:16px 0;font-size:9px;display:flex}.answer-area{background:#fdfdf9;min-width:0;overflow:auto}.session-toolbar{border-bottom:1px solid var(--line);color:#8a927e;z-index:2;background:#fdfdf9;justify-content:space-between;align-items:center;height:64px;padding:0 30px;font-size:10px;display:flex;position:sticky;top:0}.session-toolbar>div{align-items:center;gap:14px;display:flex}.timer{color:var(--green);align-items:center;gap:6px;font:14px monospace;display:flex}.timer.urgent{color:var(--rust)}.question-page{max-width:850px;margin:auto;padding:35px 40px 20px}.question-meta{color:#939c85;letter-spacing:1px;justify-content:space-between;font-size:10px;display:flex}.question-meta b{color:var(--rust);letter-spacing:0;margin-left:12px;font-weight:500}.question-page h2{margin:25px 0 16px;font-size:24px;line-height:1.6}.question-prompt{white-space:pre-wrap;color:#465541;margin-bottom:30px;font-size:15px;line-height:2.1}.options{flex-direction:column;gap:12px;display:flex}.options button{text-align:left;background:#fff;border:1px solid #e0e5d7;border-radius:7px;justify-content:flex-start;padding:17px 18px;font-size:13px;line-height:1.65}.options button>span{border:1px solid #dee4d4;border-radius:4px;flex-shrink:0;place-items:center;width:29px;height:29px;margin-right:6px;font:12px Georgia,serif;display:grid}.options .chosen{color:var(--green);background:#edf2e5;border-color:#789568}.options .chosen span{background:var(--green);color:#fff;border-color:var(--green)}.options .chosen svg{margin-left:auto}.options button:disabled{opacity:1}.answer-heading{color:#99a18d;justify-content:space-between;margin-bottom:12px;font-size:10px;display:flex}.answer-heading span:first-child{color:var(--green);font-weight:600}.answer-input{resize:vertical;background:repeating-linear-gradient(#fff,#fff 31px,#f2f4ec 32px);border-radius:5px;width:100%;height:275px;min-height:150px;padding:14px 17px;font-size:13px;line-height:2}.answer-input::placeholder{color:#b0b7a5}.answer-input.blank{background:#fff;height:70px;min-height:70px}.answer-input:disabled{color:#55654a;opacity:1;background:#f4f6ef}.answer-hint{color:#9fa68f;justify-content:space-between;align-items:center;min-height:44px;margin-top:10px;font-size:9px;display:flex}.question-footer{border-top:1px solid var(--line);color:#949e86;justify-content:space-between;align-items:center;margin-top:34px;padding-top:21px;font-size:10px;display:flex}.question-footer button{color:var(--green);font-size:11px}.completed-bar{color:#5d7b4c;background:#edf2e4;border-radius:5px;align-items:center;gap:9px;margin-top:22px;padding:14px;font-size:10px;line-height:1.7;display:flex}.completed-bar button{white-space:nowrap;margin-left:auto;font-size:10px;text-decoration:underline}.insight{border-left:1px solid var(--line);background:#f5f6ef;flex-direction:column;min-height:0;display:flex;overflow:auto}.insight-tabs{border-bottom:1px solid var(--line);z-index:3;background:#f5f6ef;gap:23px;min-height:64px;padding:0 23px;display:flex;position:sticky;top:0}.insight-tabs button{color:#88947c;border-bottom:2px solid #0000;padding:0;font-size:11px}.insight-tabs .on{color:var(--green);border-color:var(--green)}.insight-tabs span{color:#7b8c68;background:#e5eadc;border-radius:3px;padding:2px 4px;font:8px sans-serif}.insight-empty{text-align:center;color:#8fa07b;flex-direction:column;justify-content:center;align-items:center;padding:80px 28px;display:flex}.insight-empty h3{color:#65785a;margin:22px 0 12px;font-size:15px}.insight-empty p{color:#9ba48d;font-size:11px;line-height:2}.quiet-lines{background:repeating-linear-gradient(#0000,#0000 9px,#e1e7d6 10px,#0000 11px);width:85px;height:21px;margin-top:28px}.solution-content{padding:26px 23px 35px}.solution-content .eyebrow{letter-spacing:1.4px;font-size:8px}.solution-content h3{margin:12px 0 16px;font-size:16px}.rubric{padding:0;list-style:none}.rubric li{margin-bottom:15px}.rubric li>div{align-items:flex-start;gap:9px;display:flex}.rubric li>div>span{color:#a0ad8d;font:11px/1.8 Georgia,serif}.rubric p{flex:1;margin:0;font-size:11px;line-height:1.9}.rubric b{color:#9ca68d;white-space:nowrap;font-size:9px;font-weight:400;line-height:2.3}.rubric small{color:#9b754e;margin:6px 0 0 24px;font-size:10px;line-height:1.8;display:block}.solution-content h4{margin:25px 0 10px;font-size:11px;font-weight:600}.solution-content>p{color:#7f8b71;font-size:11px;line-height:2}.pitfall{background:#efece0;border-left:2px solid #c49b73;margin:23px 0;padding:15px 14px}.pitfall>span{color:#9b7451;font-size:10px}.pitfall p{color:#96876e;margin:7px 0 0;font-size:10px;line-height:1.9}.source-note{color:#9da58f;margin:21px 0;font-size:9px;line-height:1.9}.grade-box{background:#e6eddd;border-radius:6px;margin-bottom:24px;padding:17px}.grade-box>div{justify-content:space-between;align-items:center;font-size:10px;display:flex}.grade-box strong{color:var(--green);font:29px Georgia,serif}.grade-box small{color:#99a387;font-size:12px}.grade-box p{color:#778467;margin:10px 0 0;font-size:10px;line-height:1.9}.solution-figure{border:1px solid var(--line);background:#fff;width:100%;margin:10px 0}.drawing{border:1px solid var(--line);background:#fff;border-radius:5px;margin:10px 0 16px;overflow:hidden}.drawing .row{color:#869576;background:#f1f4e9;justify-content:space-between;align-items:center;padding:8px 12px;font-size:9px;display:flex}.drawing button{font-size:9px}.drawing svg{touch-action:none;background-image:radial-gradient(#e0e6d8 .65px,#0000 .65px);background-size:15px 15px;width:100%;display:block}.drawing small{color:#a0a68f;border-top:1px solid var(--line);padding:8px 10px;font-size:9px;line-height:1.6;display:block}.chat-panel{flex-direction:column;flex:1;min-height:0;display:flex}.chat-intro{border-bottom:1px solid var(--line);padding:21px 22px 12px}.chat-intro p{color:#9ba68b;margin:10px 0;font-size:9px}.chat-log{flex:1;padding:20px;overflow:auto}.chat-starters{flex-direction:column;gap:11px;display:flex}.chat-starters button{text-align:left;background:#fafbf5;border:1px solid #dde4d2;border-radius:5px;justify-content:space-between;padding:12px;font-size:10px;line-height:1.7}.message{overflow-wrap:anywhere;margin-bottom:20px;font-size:11px;line-height:1.95}.message strong{color:#89987a;margin-bottom:8px;font-size:9px;display:block}.message>div{white-space:pre-wrap}.message.user>div{background:#e5ecdb;border-radius:6px;padding:10px 13px}.chat-compose{border-top:1px solid var(--line);background:#f5f6ef;gap:8px;padding:14px;display:flex}.chat-compose textarea{resize:vertical;width:100%;height:75px;font-size:11px}.chat-compose button{background:var(--green);color:#fff;border-radius:5px;align-self:end;width:35px;height:35px}.loading-line{color:#94a37f;align-items:center;gap:8px;font-size:10px;display:flex}.muted{color:#8b9480;font-size:12px;line-height:2}.listing-page,.result-page{max-width:1300px;margin:auto;padding:50px 64px}.listing-page h1,.result-page h1,.login-view h1{margin:19px 0;font-size:36px;line-height:1.7}.history-list,.rank-list{border-top:1px solid var(--line);margin-top:40px}.history-list>button{border-bottom:1px solid var(--line);text-align:left;justify-content:flex-start;gap:22px;width:100%;padding:24px 0;display:flex}.history-icon{color:#889c6d;background:#e6ecdc;border-radius:7px;padding:14px}.history-list>button>div:nth-child(2){flex:1}.history-list strong{font-size:13px;font-weight:500}.history-list small{color:#a0a890;margin-top:8px;font-size:10px;display:block}.history-list>button>span{color:#879779;font-size:11px}.rank-head,.rank-row{border-bottom:1px solid var(--line);grid-template-columns:80px 1fr 150px;align-items:center;padding:22px 20px;display:grid}.rank-head{color:#929d85;font-size:10px}.rank-row>span{color:#a5ae93;font:23px Georgia,serif}.rank-row strong{font-size:14px;font-weight:500}.rank-row b{color:var(--green);font:25px Georgia,serif}.empty{text-align:center;color:#9aa68a;padding:70px 20px;font-size:12px}.empty-small{color:#9ba38e;padding:22px 12px;font-size:10px}.result-grid{grid-template-columns:1fr 1fr;align-items:start;gap:55px;margin-top:40px;display:grid}.result-stats{gap:50px;margin:25px 0;display:flex}.result-stats strong{font:44px Georgia,serif}.result-stats small{color:#b0b89e;font-size:16px}.result-stats span{color:#94a083;margin-top:10px;font-size:10px;display:block}.small{font-size:10px}.result-actions{gap:14px;margin-top:22px;display:flex}.rank-opt{border-top:1px solid var(--line);margin-top:30px;padding-top:22px}.rank-opt h3{font-size:16px}.rank-opt p{color:#93a082;font-size:10px}.rank-opt input{max-width:220px;font-size:11px}.rank-opt button{margin-left:10px;font-size:11px}.rank-opt small{color:#929c85;margin-top:12px;display:block}.award-stage{perspective:1000px;justify-content:center;align-items:center;min-height:470px;padding-top:30px;display:flex;position:relative}.award-card{text-align:center;width:340px;height:400px;transform-style:preserve-3d;z-index:1;background:linear-gradient(125deg,#fffdf2,#f3eddc 60%,#fffef5);border:1px solid #bbac85;border-radius:4px;padding:29px;transition:transform .15s;position:relative;transform:rotateY(-12deg)rotateX(7deg)rotate(-3deg);box-shadow:1px 1px #b3a789,2px 2px #bfb391,3px 3px #d2c6a5,4px 4px #bdb08f,5px 5px #c3b999,18px 30px 35px #293c221a}.award-card:before{content:"";pointer-events:none;border:1px solid #d1c5a4;position:absolute;inset:10px}.award-top{letter-spacing:1.7px;color:#a69a79;font:6px Georgia,serif}.seal{color:#9c8050;background:linear-gradient(140deg,#f5eac8,#dcc78e);border:1px solid #c0a771;border-radius:50%;place-items:center;width:75px;height:75px;margin:27px auto 18px;display:grid;transform:translateZ(15px);box-shadow:0 0 0 5px #eae0c7,0 0 0 6px #cdbb90}.award-line{letter-spacing:2px;color:#ab9770;margin-bottom:14px;font-size:8px}.award-card h2{letter-spacing:6px;color:#516745;margin:0 0 14px;font-size:31px}.award-card p{color:#aa9f80;font-size:9px}.award-score{color:#93724b;font:42px Georgia,serif;transform:translateZ(20px)}.award-score span{color:#baaa83;font-size:14px}.award-footer{color:#b2a382;letter-spacing:1px;border-top:1px solid #ded4bc;justify-content:space-between;margin-top:25px;padding-top:13px;font-size:7px;display:flex}.pedestal{background:linear-gradient(#e1e6d6,#f5f6ee);border-radius:50%;height:75px;position:absolute;bottom:5px;left:10%;right:7%;transform:rotateX(65deg);box-shadow:0 35px 35px #33421e0d}.import-page>.back{margin-bottom:35px}.import-box{text-align:center;color:#7f9468;background:#f1f5e9;border:1px dashed #bdcbb0;border-radius:10px;flex-direction:column;align-items:center;margin-top:34px;padding:45px;display:flex}.import-box h3{color:var(--ink);margin:20px 0 10px;font-size:21px}.import-box p{color:#95a083;font-size:12px}.import-box label{cursor:pointer;margin:12px 0}.login-view{padding:100px 65px}.login-view p{color:#89967b;margin:20px 0 35px}.modal-backdrop{z-index:80;background:#25382bc0;justify-content:center;align-items:center;padding:25px;display:flex;position:fixed;inset:0}.modal{background:#fafbf5;border:1px solid #d8dfcb;border-radius:12px;width:100%;max-width:510px;max-height:90vh;padding:35px;position:relative;overflow:auto;box-shadow:0 25px 90px #14291d45}.modal h2{margin:14px 0;font-size:25px;line-height:1.6}.modal>p{color:#879879;font-size:12px}.modal .close{color:#8fa180;position:absolute;top:18px;right:18px}.modal label{color:#758965;flex-direction:column;gap:9px;margin:20px 0;font-size:11px;display:flex}.modal label input,.modal select{width:100%;padding:12px;font-size:12px}.modal .checkbox{flex-direction:row;align-items:center}.checkbox input{accent-color:var(--green);width:14px!important}.input-with-button{gap:7px;display:flex}.input-with-button input{min-width:0}.input-with-button button{white-space:nowrap;border:1px solid var(--line);border-radius:5px;padding:8px;font-size:10px}.privacy-note{color:#98a888;background:#edf1e5;border-radius:5px;gap:11px;padding:13px;display:flex}.privacy-note p{margin:0;font-size:9px;line-height:1.9}.modal-actions{flex-wrap:wrap;gap:10px;margin-top:25px;display:flex}.settings-bottom{border-top:1px solid var(--line);color:#9caa8a;justify-content:space-between;margin-top:23px;padding-top:16px;font-size:10px;display:flex}.settings-bottom button,.settings-bottom a{align-items:center;gap:6px;font-size:10px;display:flex}.exam-notes{color:#899c76;padding-left:18px;font-size:11px;line-height:2.2}.toast{color:#fff;z-index:110;background:#294b3c;border-radius:8px;align-items:center;gap:20px;max-width:90vw;padding:15px 17px;font-size:12px;line-height:1.7;display:flex;position:fixed;bottom:25px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #132b2544}.toast button{color:#c7d8b4}.busy-badge{z-index:100;color:#7c9567;background:#f6f9ef;border:1px solid #d6e2c7;border-radius:30px;align-items:center;gap:9px;padding:10px 16px;font-size:10px;display:flex;position:fixed;bottom:20px;right:20px}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-box{color:#ae7952;background:#f5ebe1;border:1px solid #e8d5bf;border-radius:5px;margin-top:15px;padding:12px;font-size:11px;line-height:1.8}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-thumb{background:#cdd6bd;border-radius:5px}@media (min-width:1650px){.workspace{grid-template-columns:270px minmax(500px,1fr) 410px}.question-page{padding:45px 55px}.solution-content{padding:30px}.home{max-width:1450px}.hero{min-height:455px}}@media (max-width:1200px){.home{padding:0 35px}.workspace{grid-template-columns:205px minmax(300px,1fr) 290px}.question-page{padding:28px 24px}.question-prompt{font-size:13px}.question-page h2{font-size:21px}.session-toolbar{padding:0 20px}.solution-content{padding:23px 18px}.topbar{padding:0 30px}.paper-card{padding:22px 22px 0}.hero-art{transform-origin:100%;transform:scale(.9)}.result-page{padding:40px}.result-grid{gap:20px}.award-card{width:300px}}@media (max-width:1000px){.workspace{grid-template-columns:180px minmax(0,1fr);height:auto;min-height:calc(100vh - 82px)}.question-nav{grid-row:1/3;height:calc(100vh - 82px);position:sticky;top:0}.insight{border-top:1px solid var(--line);border-left:0;grid-column:2;min-height:350px;max-height:none}.answer-area{overflow:visible}.insight-empty{padding:35px}.chat-log{min-height:250px;max-height:500px}.hero-art{transform:scale(.8)}.home-bottom{gap:25px}.top-right>span:not(.status-dot){display:none}.result-grid{grid-template-columns:1fr}.award-stage{grid-row:1;min-height:450px;padding-top:0}.result-page{padding:30px}.paper-card h3{font-size:20px}.book-mark{padding:11px;right:18px}.paper-card p{max-width:85%}.card-spec{flex-wrap:wrap;gap:8px}.card-spec span+span{padding-left:8px}}@media (max-width:700px){.rail{width:58px}.brand{width:32px;height:37px;font-size:21px}.rail-links button,.rail-settings{width:47px;font-size:9px}.rail-links{gap:17px;margin-top:40px}.shell{margin-left:58px}.topbar{height:67px;padding:0 18px}.wordmark{gap:10px;font-size:20px}.wordmark span{letter-spacing:1px;font-size:10px}.key-button{margin-left:0;padding:7px;font-size:9px}.home{padding:0 22px}.hero{min-height:auto;padding:40px 0 30px;display:block}.hero h1{font-size:34px}.hero-art{display:none}.paper-grid{grid-template-columns:1fr}.section-heading h2{font-size:20px}.subtle{font-size:9px}.home-bottom{grid-template-columns:1fr;gap:20px}.scope{border-left:0;border-top:1px solid var(--line);padding:20px 0 0}footer span{display:none}.workspace{min-height:calc(100vh - 67px);display:block}.question-nav{height:auto;padding:15px;position:static}.question-nav .back,.nav-title,.progress-row,.progress-track{display:none}.question-nav .search{margin-bottom:8px;display:flex}.question-nav select{margin-bottom:8px}.nav-filters{gap:0;padding:0 0 4px;overflow:auto}.nav-filters button{white-space:nowrap;min-height:44px;padding:0 12px}.sync{padding:8px 0}.question-list{max-height:50px;margin:0;padding:0;display:flex;overflow:auto}.question-list>button{justify-content:center;width:42px;min-width:42px;margin:0 3px 0 0;padding:10px}.question-list>button>div{display:none}.question-list>button>span{font-size:14px}.question-list>button>svg,.answer-dot{display:none}.session-toolbar{height:56px;padding:0 16px;font-size:9px}.question-page{padding:23px 19px}.question-page h2{font-size:21px}.question-prompt{font-size:13px}.insight{min-height:280px}.insight-tabs{min-height:55px}.solution-content{padding:23px}.solution-content>p,.rubric p{font-size:12px}.listing-page{padding:35px 22px}.listing-page h1,.result-page h1{font-size:27px}.history-list>button{flex-wrap:wrap;gap:10px}.history-list>button>span{width:100%;padding-left:48px}.history-icon{padding:10px}.rank-row,.rank-head{grid-template-columns:45px 1fr 85px;padding:18px 8px}.rank-head{font-size:8px}.modal{padding:28px 22px}.modal-backdrop{padding:15px}.modal h2{font-size:22px}.award-card{width:270px}.result-page{padding:25px 20px}.result-grid{margin-top:10px}.result-stats{gap:30px}.import-box{padding:30px 20px}.top-right .status-dot{display:none}.scope p{font-size:10px}.toast{font-size:11px}.primary,.outline{padding:11px 14px;font-size:11px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}.award-card{transform:none!important}}.auth-card{background:#fdfdf8;border:1px solid #dce2d3;border-radius:16px;flex-direction:column;gap:14px;max-width:400px;margin-top:8px;padding:22px;display:flex;box-shadow:0 10px 40px #1c40200a}.auth-tabs{background:#eef1e8;border-radius:10px;grid-template-columns:1fr 1fr;padding:3px;display:grid}.auth-tabs button{color:#7c8579;border-radius:8px;min-height:40px;font-size:13px;transition:background .2s,color .2s}.auth-tabs button.on{color:var(--green);background:#fff;font-weight:600;box-shadow:0 1px 4px #1c402014}.auth-card label{color:#758965;flex-direction:column;gap:7px;font-size:12px;display:flex}.auth-card input{border-radius:10px;width:100%;min-height:46px;font-size:16px}.pw-field{position:relative}.pw-field input{padding-right:64px}.pw-toggle{min-height:36px;color:var(--green);padding:0 10px;font-size:12px;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.auth-card .primary.wide{min-height:48px;font-size:14px}.auth-card .error-box{margin-top:0}.auth-note{color:#9aa68a;text-align:center}.app.guest .rail,.app.guest .tabbar{display:none}.app.guest .shell{margin-left:0}.tabbar{display:none}@media (max-width:700px){.rail{display:none}.shell{padding-bottom:calc(64px + env(safe-area-inset-bottom));margin-left:0}.topbar{z-index:30;-webkit-backdrop-filter:saturate(180%)blur(16px);backdrop-filter:saturate(180%)blur(16px);height:56px;padding:0 max(16px,env(safe-area-inset-left)) 0 max(16px,env(safe-area-inset-right));padding-top:env(safe-area-inset-top);box-sizing:content-box;background:#f7f7f1e6;position:sticky;top:0}.tabbar{z-index:60;-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);padding:4px max(6px,env(safe-area-inset-left)) env(safe-area-inset-bottom) max(6px,env(safe-area-inset-right));background:#fbfbf7e8;border-top:.5px solid #d6dccd;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar button{color:#959c8f;border-radius:12px;flex-direction:column;gap:3px;min-height:56px;font-size:10.5px;transition:color .15s,transform .1s}.tabbar button:active{transform:scale(.94)}.tabbar button.selected{color:var(--green);font-weight:600}.toast{bottom:calc(76px + env(safe-area-inset-bottom));width:auto;left:16px;right:16px;transform:none}.busy-badge{bottom:calc(76px + env(safe-area-inset-bottom));right:16px}input:not([type=checkbox]):not([type=radio]),textarea,select{min-height:44px;font-size:16px!important}button,select,.question-list>button{min-height:44px}.primary,.outline{border-radius:12px;min-height:46px}.key-button{border-radius:9px;min-width:44px;min-height:44px}.login-view{padding:36px 20px 40px}.login-view h1{font-size:30px}.auth-card{max-width:none;padding:18px}.paper-card{border-radius:16px}.card-action{flex-wrap:wrap}.card-action>button:first-child{min-height:52px}.card-action>button:not(:first-child){min-height:44px;padding:0 4px 12px}.options button{border-radius:12px;min-height:52px}.answer-input{border-radius:12px;min-height:180px}.answer-input.blank{height:72px;min-height:48px}.question-nav{background:var(--paper);border-bottom:1px solid var(--line);padding:10px 12px;position:static}.question-list{top:calc(56px + env(safe-area-inset-top));z-index:21;background:var(--paper);-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scrollbar-width:none;gap:6px;max-height:none;padding-bottom:6px;position:sticky}.question-list::-webkit-scrollbar{display:none}.question-list>button{scroll-snap-align:center;border-radius:12px;min-width:44px}.question-footer{margin-top:8px;padding:12px 0 4px;position:static}.insight{scroll-margin-top:calc(108px + env(safe-area-inset-top))}.question-footer button{min-height:44px;padding:0 14px}.insight-tabs button,.chat-compose textarea{min-height:48px}.modal-backdrop{align-items:flex-end;padding:0}.modal{max-height:88vh;padding:26px 20px calc(22px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;animation:.28s cubic-bezier(.2,.8,.2,1) sheet-up}.modal .close{min-width:44px;min-height:44px;top:8px;right:8px}.settings-bottom button,.auth-tabs button{min-height:44px}.pw-toggle{min-width:44px;min-height:44px}.checkbox{min-height:44px}button{min-width:44px}.history-list>button{min-height:64px}}@keyframes sheet-up{0%{opacity:.4;transform:translateY(40px)}to{opacity:1;transform:none}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.kbd{border:1px solid var(--line);min-width:18px;height:18px;color:inherit;opacity:.7;background:0 0;border-radius:5px;justify-content:center;align-items:center;margin-left:6px;padding:0 4px;font-family:inherit;font-size:10px;display:inline-flex}.review-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-1);margin:8px 0 28px;padding:22px 24px}.review-cols{grid-template-columns:1fr 1fr;gap:16px;display:grid}.review-cols>div{background:var(--pale);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.review-cols span{font-size:14px}.quiet-empty{color:var(--muted);margin:0 0 12px;font-size:13px}.workspace{grid-template-columns:280px minmax(0,1fr) 400px}.question-nav.folded{width:64px;padding-left:8px;padding-right:8px}.question-nav.folded .nav-title,.question-nav.folded .search,.question-nav.folded select,.question-nav.folded .nav-filters,.question-nav.folded .legend,.question-nav.folded .nav-stats,.question-nav.folded .sync,.question-nav.folded .question-list>button>div,.question-nav.folded .back{font-size:0}.fold{min-height:36px;color:var(--muted);align-self:flex-end}.answer-area{flex-direction:column;min-height:0;display:flex;overflow:hidden}.work-bar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:4;background:#fdfdf9f5;align-items:center;gap:8px;min-height:48px;padding:0 16px;display:flex;position:relative}.work-bar.scrolled{border-bottom:1px solid var(--line)}.work-bar .mode-label{color:var(--muted);white-space:nowrap;font-size:12px}.bar-actions{align-items:center;gap:4px;margin-left:auto;display:flex}.icon-btn,.flag-btn,.ghost{border-radius:12px;min-width:44px;min-height:44px}.flag-btn{color:var(--muted);gap:6px;padding:0 10px;font-size:13px}.flag-btn.on{color:var(--flag)}.flag-btn.on svg{fill:var(--flag)}.progress-btn,.leave{display:none}.question-scroll{flex:1;min-height:0;overflow:auto}.question-page{max-width:720px}.question-page h2{font-family:var(--serif);font-weight:500}.question-prompt{font-family:var(--serif);color:var(--ink);font-size:18px;font-weight:500;line-height:1.7}.question-meta b{color:var(--muted);letter-spacing:0;font-weight:500}.options{gap:10px}.options .option{border-radius:var(--r-card);border:1px solid var(--line);background:var(--surface);min-height:56px;transition:transform .16s var(--ease),border-color .16s var(--ease),background .16s var(--ease);-webkit-user-select:text;user-select:text;align-items:center;gap:12px;padding:14px 16px}.options .option>span{border-radius:8px;width:28px;height:28px;margin:0}.options .option>em{flex:1;font-size:16px;font-style:normal;line-height:1.5}.options .option:hover{border-color:var(--muted)}.options .option:active{transform:scale(.985)}.options .option.selected{background:var(--pale);border:2px solid var(--ink)}.options .option.selected>span{background:var(--ink);color:#fff;border-color:var(--ink)}.options .option.correct{background:var(--ok-bg);border:2px solid var(--ok);animation:pop .16s var(--ease)}.options .option.correct>span{background:var(--ok);color:#fff;border-color:var(--ok)}.options .option.correct svg{color:var(--ok);margin-left:auto}.options .option.incorrect{background:var(--bad-bg);border:2px solid var(--bad);animation:shake .24s var(--ease)}.options .option.incorrect>span{background:var(--bad);color:#fff;border-color:var(--bad)}.options .option.incorrect svg{color:var(--bad);margin-left:auto}.options .option.reveal-correct{background:var(--ok-bg);border:1px dashed var(--ok-line)}.options .option.reveal-correct>span{border-color:var(--ok);color:var(--ok)}.options .option.dimmed{opacity:.55}.options .option.eliminated em{color:var(--muted);text-decoration:line-through}.answer-pill{border-radius:var(--r-pill);background:var(--ok);color:#fff;white-space:nowrap;margin-left:auto;padding:4px 8px;font-size:11px;font-style:normal}.action-dock{padding:10px 16px calc(10px + var(--safe-b));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fdfdf9f5;align-items:center;gap:8px;display:flex}.action-dock .grow{flex:1}.action-dock .ghost{border:1px solid var(--line);background:0 0;border-radius:12px}.feedback-dock{min-height:112px;animation:dock-in .18s var(--ease);flex-direction:column;align-items:stretch;gap:8px;position:relative}.feedback-dock.ok{background:var(--ok-bg)}.feedback-dock.bad{background:var(--bad-bg)}.feedback-dock.partial{background:var(--partial-bg)}.feedback-dock.neutral{background:var(--pale)}.feedback-dock .primary.grow{background:var(--ink)}.feedback-dock.ok .primary.grow{background:var(--ok)}.dock-head{justify-content:space-between;align-items:center;gap:8px 12px;min-width:0;display:flex}.dock-title{flex-wrap:wrap;flex:auto;align-items:center;gap:8px;min-width:0;font-size:17px;display:flex}.dock-title strong{font-weight:600}.dock-title em{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:13px;font-style:normal}.dock-title svg{color:inherit}.feedback-dock.ok .dock-title{color:var(--ok)}.feedback-dock.bad .dock-title{color:var(--bad)}.feedback-dock.partial .dock-title{color:var(--partial)}.dock-note{color:var(--ink);margin:0;font-size:13px;line-height:1.6}.dock-note .link{min-height:32px;color:var(--green);padding:0 4px;font-size:13px;text-decoration:none;display:inline-flex}.dock-actions{gap:8px;display:flex}.dock-actions .ghost.emphasis{border-color:var(--bad);position:relative}.dock-actions .ghost.emphasis:after{content:"";background:var(--bad);border-radius:50%;width:4px;height:4px;position:absolute;top:8px;right:8px}.feedback-dock .redo,.dock-actions button,.dock-note .link{text-decoration:none}.feedback-dock .redo{color:var(--muted);white-space:nowrap;flex:none;min-height:36px;padding:0 2px;font-size:13px;position:static}.half{background:linear-gradient(90deg,var(--partial) 50%,transparent 50%);border:2px solid var(--partial);border-radius:50%;width:22px;height:22px}.pending-bar{background:linear-gradient(90deg,transparent,var(--green),transparent);background-size:200% 100%;border-radius:3px;height:3px;animation:1s linear infinite slide;display:block}@keyframes dock-in{0%{opacity:.4;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}50%{transform:translate(4px)}75%{transform:translate(-4px)}}@keyframes slide{0%{background-position:100% 0}to{background-position:-100% 0}}.timer.urgent{color:var(--bad);animation:1.6s ease-in-out infinite breathe}@keyframes breathe{50%{opacity:.55}}.legend{color:var(--muted);align-items:center;gap:10px;margin:8px 0;font-size:12px;display:flex}.legend .dot,.cell-dot,.dot{border-radius:50%;width:6px;height:6px;display:inline-block}.dot.ok,.cell-dot.ok{background:var(--ok)}.dot.bad,.cell-dot.bad{background:var(--bad)}.dot.partial,.cell-dot.partial{background:var(--partial)}.dot.flag{background:var(--flag)}.dot.self,.cell-dot.self{background:var(--ink)}.q-grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:48px;align-content:start;justify-items:stretch;gap:8px;padding:8px 0;display:grid;overflow:auto}.nav-sheet .q-grid{scroll-snap-type:none;align-content:start;max-height:none;position:static}.q-grid button{border:1px solid var(--line);background:var(--surface);width:100%;height:48px;min-height:48px;max-height:48px;font-family:var(--serif);scroll-snap-align:none;border-radius:12px;justify-content:center;align-self:start;margin:0;padding:0;position:relative}.q-grid button.current{border:2px solid var(--ink)}.q-grid button.ok{background:var(--ok-bg)}.q-grid button.bad{background:var(--bad-bg)}.q-grid button.partial{background:var(--partial-bg)}.q-grid button.pending{background:var(--pale)}.q-grid .flag-corner{color:var(--flag);position:absolute;top:4px;right:4px}.q-grid .cell-dot{position:absolute;bottom:6px;right:6px}.nav-stats,.sync-foot{color:var(--muted);padding:8px 0;font-size:12px}.sheet-overlay{z-index:70;background:#253d3533;position:fixed;inset:0}.sheet{z-index:71;background:var(--paper);outline:none;flex-direction:column;display:flex;position:fixed}.nav-sheet{height:70vh;padding:8px 16px calc(16px + var(--safe-b));border-radius:20px 20px 0 0;bottom:0;left:0;right:0}.explain-sheet{border-radius:20px 20px 0 0;height:88vh;bottom:0;left:0;right:0}.nav-sheet.from-left{border-radius:0;width:min(320px,92vw);height:100%;padding:16px;inset:0 auto 0 0}.explain-sheet.from-right{border-radius:0;width:min(420px,92vw);height:100%;inset:0 0 0 auto}.sheet-scroll{flex:1;min-height:0;overflow:auto}.sheet-close{min-height:44px;color:var(--muted);align-self:flex-end;padding:0 12px}.sheet-next{margin:8px 16px calc(12px + var(--safe-b))}.nav-sheet-body,.nav-body{flex-direction:column;flex:1;min-height:0;display:flex}.nav-sheet-body .question-list,.nav-body .question-list{flex:1}.submit-review{padding:8px 0 12px}.mini-pills{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.mini-pills button{border:1px solid var(--line);border-radius:999px;min-height:36px;padding:0 10px;font-size:12px}.more-menu{z-index:80;background:var(--surface);border:1px solid var(--line);width:min(260px,100vw - 24px);box-shadow:var(--shadow-1);border-radius:16px;flex-direction:column;padding:6px;display:flex;position:fixed;top:96px;right:16px}.more-menu button{border-radius:10px;justify-content:flex-start;min-height:44px;padding:0 12px;font-size:13px}.more-menu .sync{padding:8px 12px}.grade-box strong{font-family:var(--serif);font-size:36px;font-weight:500}.method-pill{background:var(--pale);color:var(--muted);border-radius:999px;padding:4px 8px;font-size:11px}.score-track{background:var(--line);border-radius:4px;height:4px;margin:10px 0;overflow:hidden}.score-track i{height:100%;display:block}.score-track.ok i{background:var(--ok)}.score-track.partial i{background:var(--partial)}.score-track.bad i{background:var(--bad)}.compare{color:var(--ink);margin-bottom:12px;font-size:13px}.compare .clamp{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.rubric li.hit{background:color-mix(in srgb,var(--ok-bg) 50%,transparent);border-radius:8px}.rubric li.miss{opacity:.72}.figure-btn{border-radius:12px;width:100%;padding:0;display:block}.explain-actions{flex-direction:column;gap:8px;margin-top:12px;display:flex}.tab-dot{background:var(--green);border-radius:50%;width:6px;height:6px;margin-left:6px;display:inline-block}.swipe-hint{background:var(--ink);color:#f7f7f1;border-radius:999px;width:fit-content;margin:8px auto 0;padding:8px 12px;font-size:12px;display:none;position:sticky;bottom:8px}html[data-swipe] .swipe-hint{display:block}@keyframes fadehint{0%,70%{opacity:1}to{opacity:0}}.summary-page{max-width:760px;margin:0 auto;padding:48px 28px 80px}.summary-hero{align-items:center;gap:24px;margin:24px 0;display:flex}.ring-svg{width:140px;height:140px;transform:rotate(-90deg)}.ring-bg{fill:none;stroke:var(--line);stroke-width:8px}.ring{fill:none;stroke:var(--ok);stroke-width:8px;stroke-linecap:round}.summary-hero strong{font-family:var(--serif);font-size:56px;font-weight:500}.summary-hero small{color:var(--muted);font-size:20px}.summary-hero span,.summary-counts{color:var(--muted);font-size:13px}.summary-counts{gap:16px;margin-bottom:24px;display:flex}.chapter-bars div{grid-template-columns:minmax(0,1fr) 120px 40px;align-items:center;gap:8px;margin:8px 0;font-size:12px;display:grid}.chapter-bars i{background:var(--line);border-radius:6px;height:6px;display:block;overflow:hidden}.chapter-bars b{background:var(--green);height:100%;display:block}.summary-wrongs{margin:20px 0}.summary-wrongs p{color:var(--muted);font-size:13px}.wrong-book{margin-top:36px}.wrong-group{margin-top:18px}.wrong-group h3{font-size:16px}.wrong-row{border-bottom:1px solid var(--line);align-items:flex-start;gap:12px;padding:14px 0;display:flex}.wrong-row p{color:var(--muted);margin:4px 0;font-size:12px;line-height:1.6}.wrong-row small{color:var(--muted)}.status-pill{background:var(--pale);white-space:nowrap;border-radius:999px;padding:4px 8px;font-size:11px;font-style:normal}.status-pill.active{background:var(--bad-bg);color:var(--bad)}.status-pill.mastered{background:var(--ok-bg);color:var(--ok)}.pref-toggle{min-height:44px;color:var(--ink);align-items:center;gap:8px;font-size:13px;display:flex}.help-keys{padding-left:0;line-height:2;list-style:none}.lightbox{z-index:120;background:#253d35cc;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.lightbox img{background:#fff;border-radius:12px;max-width:100%;max-height:100%}.tutor{flex-direction:column;flex:1;height:100%;min-height:0;display:flex;position:relative}.tutor-tools{flex-wrap:wrap;gap:8px;padding:12px 16px 0;display:flex}.chip{border:1px solid var(--line);min-height:32px;color:var(--muted);background:var(--surface);border-radius:999px;padding:0 10px;font-size:12px}.tutor-context,.tutor-threads{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:12px;margin:8px 16px;padding:12px;font-size:12px}.tutor-context span{background:var(--pale);border-radius:999px;margin:0 6px 6px 0;padding:3px 8px;display:inline-flex}.tutor-threads button{text-align:left;justify-content:flex-start;width:100%;min-height:40px;display:flex}.tutor-threads button.on{color:var(--green)}.tutor-log{flex:1;min-height:180px;padding:8px 16px 16px;overflow:auto}.tutor-empty{text-align:center;color:var(--muted);padding:32px 12px}.tutor-mark{background:var(--pale);width:44px;height:44px;color:var(--green);font-family:var(--serif);border-radius:14px;place-items:center;margin:0 auto 12px;display:grid}.tutor-suggest{flex-direction:column;gap:8px;margin-top:16px;display:flex}.tutor-suggest button{text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:14px;min-height:44px;padding:12px 14px;line-height:1.5}.tutor-turn{margin:0 0 20px}.tutor-user{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.tutor-user>div:first-child{background:var(--pale);border-radius:18px;max-width:85%;padding:10px 14px;line-height:1.6}.tutor-assistant{margin-top:12px;font-size:15px;line-height:1.75}.tutor-actions{color:var(--muted);align-items:center;gap:4px;display:flex}.tutor-actions button{border-radius:8px;min-width:36px;min-height:36px}.tutor-actions .ver{align-items:center;gap:2px;font-size:12px;display:inline-flex}.tutor-dots{gap:5px;padding:8px 0;display:flex}.tutor-dots i{background:var(--muted);border-radius:50%;width:6px;height:6px;animation:1s ease-in-out infinite breathe}.tutor-dots i:nth-child(2){animation-delay:.15s}.tutor-dots i:nth-child(3){animation-delay:.3s}.tutor-flag,.tutor-slow,.tutor-note{color:var(--muted);font-size:12px}.tutor-error{background:var(--bad-bg);color:var(--bad);border-radius:12px;align-items:center;gap:8px;margin-top:8px;padding:10px 12px;font-size:13px;display:flex}.tutor-jump{background:var(--ink);color:#fff;border-radius:999px;min-height:36px;padding:0 12px;font-size:12px;position:absolute;bottom:78px;right:16px}.tutor-compose{padding:10px 12px calc(10px + var(--safe-b));border-top:1px solid var(--line);background:var(--paper);align-items:flex-end;gap:8px;display:flex}.tutor-compose textarea{resize:none;border-radius:18px;flex:1;min-height:44px;max-height:144px;padding:12px 14px;font-size:15px;line-height:1.5}.tutor-compose button{background:var(--green);color:#fff;border-radius:50%;flex-shrink:0;width:44px;height:44px}.tutor-stop{background:var(--ink)!important}.md{font-size:15px;line-height:1.75}.md h1,.md h2,.md h3,.md h4{font-family:var(--serif);margin:16px 0 8px;font-weight:500;line-height:1.4}.md h1{font-size:22px}.md h2{font-size:18px}.md h3{font-size:16px}.md h4{font-size:15px}.md p{margin:0 0 10px}.md ul,.md ol{margin:0 0 10px;padding-left:1.2em}.md blockquote{border-left:2px solid var(--line);color:var(--muted);margin:0 0 10px;padding-left:12px}.md a{color:var(--green);text-decoration:underline}.md-inline{background:var(--pale);border-radius:5px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em}.md-code{border:1px solid var(--line);background:#fbfbf8;border-radius:12px;margin:0 0 12px;position:relative;overflow:hidden}.md-code-bar{color:var(--muted);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:6px 10px;font-size:11px;display:flex}.md-code-bar button{min-height:28px;color:var(--green);font-size:11px}.md-code pre{margin:0;padding:12px;font-size:13px;line-height:1.6;overflow:auto}.md-table-wrap{border:1px solid var(--line);border-radius:12px;margin:0 0 12px;overflow:auto}.md table{border-collapse:collapse;min-width:100%;font-size:13px}.md th,.md td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:8px 10px}.md thead th{background:var(--pale);position:sticky;top:0}.md .katex-display{overflow:auto}@media (min-width:1200px){.workspace{grid-template-columns:280px minmax(0,1fr) 400px;height:calc(100vh - 82px)}.question-page h2{font-size:22px}}@media (max-width:1199px){.question-nav,.insight{display:none}.workspace{height:calc(100dvh - 82px);display:block}.answer-area{height:100%}.leave,.progress-btn{display:inline-flex}.mode-label{display:none}.progress-btn{flex-direction:column;flex:1;align-items:stretch;gap:4px;min-width:0;padding:6px 8px;display:flex}.p-track{background:var(--line);border-radius:3px;height:3px;display:block;overflow:hidden}.p-track i{background:var(--green);height:100%;transition:width .3s var(--ease);border-radius:3px;display:block}.progress-btn small{color:var(--muted);text-align:center;font-size:12px}}@media (max-width:700px){.app.in-work .topbar,.app.in-work .tabbar{display:none!important}.app.in-work .shell{padding-bottom:0}.app.in-work .workspace{flex-direction:column;height:100dvh;min-height:100dvh;display:flex}.app.in-work .answer-area{flex:1;height:auto}.app.in-work .action-dock{z-index:6;position:sticky;bottom:0}.app.in-work .toast{bottom:calc(128px + var(--safe-b))}.work-bar{min-height:52px;padding:0 8px;padding-top:var(--safe-t);background:#f7f7f1eb;position:sticky;top:0}.question-page{padding:16px 20px 24px}.question-prompt{margin-bottom:16px;font-size:17px;line-height:1.65}.question-page h2{margin:8px 0;font-size:17px}.more-menu{top:calc(56px + var(--safe-t))}.q-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.review-cols{grid-template-columns:1fr}.chapter-bars div{grid-template-columns:minmax(0,1fr) 72px 36px}.tutor-actions button,.md-code-bar button{min-width:44px;min-height:44px}.dock-note .link,.feedback-dock .redo{min-height:44px}}@media (max-width:360px){.flag-btn span{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}}@media (max-width:340px){.q-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.options .option.incorrect,.options .option.correct,.feedback-dock,.swipe-hint,.timer.urgent{animation:none!important}}
