:root{--green:#173f36;--accent:#287561;--muted:#7d8981;--paper:#f7f7f0;--line:#e2e6df;--ink:#263a32;--shadow:0 12px 45px #143b2912;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;transition:background .15s,transform .15s;color:inherit}button:active{transform:translateY(1px)}button:disabled{opacity:.35;cursor:default}button:focus-visible{outline:3px solid #d5ab58;outline-offset:3px}input,textarea,select{border:1px solid var(--line);border-radius:9px;padding:10px;background:white;color:var(--ink);min-width:0}input:focus,textarea:focus{outline:2px solid #6b9b83}small{font-size:12px;color:var(--muted)}.sidebar{width:232px;position:fixed;inset:0 auto 0 0;background:#eef1e8;padding:32px 22px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:13px}.brand{display:flex;gap:12px;align-items:center}.brandmark{width:45px;height:45px;background:var(--green);color:white;border-radius:15px;display:grid;place-items:center;font-size:26px;font-weight:700}.brand b{display:block;font-size:20px;letter-spacing:2px}.brand small{display:block;margin-top:4px;letter-spacing:2px}.sidecaption{font-size:12px;color:var(--muted);margin:15px 0 22px}.primary{background:var(--green);color:#fff;border-radius:11px;padding:12px 18px;font-weight:600}.primary:hover{background:#28634f}.full{width:100%}.subtle{background:#eef1e9;border-radius:10px;padding:11px 16px}.textbtn{background:transparent;color:var(--accent);font-size:12px;padding:7px 0}.large{padding:16px 28px}.navitem{text-align:left;background:transparent;padding:15px 12px;border-radius:10px;font-size:14px}.navitem.active{background:#dfe7d8}.navitem span{float:right;opacity:.5}.sidebottom{margin-top:auto;display:grid;gap:14px}.statusdot{font-size:11px;color:var(--accent);line-height:1.5}.statusdot:before{content:'●';margin-right:6px}.sidebottom small{font-size:10px}main{margin-left:232px;height:100dvh;display:flex;flex-direction:column}header{height:100px;padding:22px 35px;background:#fffdf8;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px}.eyebrow{display:block;font-size:10px;letter-spacing:2px;color:var(--muted);font-weight:500}.titlebutton{font-size:22px;font-weight:650;background:none;padding:8px 0 0;max-width:42vw;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:left}.headtools{display:flex;align-items:center;gap:8px;font-size:13px}.reading-toolbar{padding:9px 35px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);font-size:11px;gap:15px}.reading-toolbar>span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.reading-toolbar>div{display:flex;align-items:center;gap:8px;flex-shrink:0}.reading-toolbar button{background:transparent;padding:5px 8px}.reader-scroll{overflow:auto;flex:1;min-height:0;overscroll-behavior:contain;padding:24px 24px 160px;position:relative;background:#f0f1ec}.empty{max-width:680px;margin:15px auto 25px;text-align:center}.paper-art{position:relative;width:170px;height:191px;background:#fffefa;border:1px solid #dddccc;margin:0 auto 32px;padding:17px 24px;text-align:left;transform:rotate(-7deg);box-shadow:9px 12px 0 #dfe5d7}.art-label{font-size:9px;letter-spacing:2px}.paper-art strong{display:block;font-size:64px;font-family:Georgia,serif;line-height:1.3;color:var(--green);font-weight:400}.art-lines{height:21px;background:repeating-linear-gradient(transparent 0 6px,#d8dfd4 6px 7px);margin-bottom:8px}.paper-art>span{font-size:9px}.art-tag{position:absolute;right:-48px;bottom:8px;background:#ddbd79;color:#413c21;padding:9px;font-size:11px;transform:rotate(11deg)}h1{font-size:48px;letter-spacing:-1px;line-height:1.18;font-weight:500;margin:15px 0}p{font-size:14px;color:var(--muted);line-height:1.9}.empty>.textbtn{display:block;margin:12px auto}.empty-notes{display:flex;gap:24px;justify-content:center;margin:32px 0;color:var(--muted);font-size:11px}#pages{max-width:1100px;margin:auto}.pdf-page{margin:0 auto 20px;max-width:100%;overflow:auto}canvas{display:block;max-width:none;margin:auto}.answerbar{position:fixed;bottom:20px;left:264px;right:32px;max-width:1000px;margin:auto;background:#fffefaee;backdrop-filter:blur(15px);border:1px solid #d4ded0;border-radius:19px;box-shadow:0 12px 45px #1c403322;padding:10px 22px 12px}.bar-top{display:flex;gap:12px;align-items:center;color:var(--muted);font-size:11px}.bar-top #groupLabel{margin-right:auto}.bar-top .textbtn{font-size:10px;padding:2px}.bar-main{display:flex;align-items:center;gap:16px;margin:6px 0}.arrows{display:flex;flex-direction:column}.arrows button{background:transparent;font-size:20px;height:22px;width:25px;line-height:18px}.question{background:transparent;font-weight:650;font-size:26px;min-width:100px;text-align:left;padding:0;white-space:nowrap}.choices{display:flex;gap:10px}.choices button{border:1px solid #d9dfd4;border-radius:12px;background:#f9faf6;width:52px;height:47px;font-size:22px;font-weight:600}.choices button.selected{background:var(--green);color:white;border-color:var(--green)}.bar-tools{display:flex;margin-left:auto;gap:8px}.bar-tools button{background:transparent;font-size:24px;width:31px;height:38px}.bar-tools button.marked{color:#a57624;background:#faf0cc;border-radius:8px}.bar-hint{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:var(--muted);min-height:14px}.bar-hint span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact .bar-hint{display:none}.mobile{display:none}.icon{font-size:25px;border-radius:9px;width:36px;height:36px;background:#edf0e9}.hidden{display:none!important}dialog{border:1px solid var(--line);border-radius:22px;width:min(800px,95vw);max-height:88dvh;padding:26px;background:#fffefa;color:var(--ink);box-shadow:var(--shadow)}dialog::backdrop{background:#0b292466;backdrop-filter:blur(4px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.dialog-head h2{margin:8px 0;font-size:24px}#modalBody{overflow:visible}.dialog-actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.field{display:grid;gap:8px;margin:15px 0;font-size:12px}.session-row{display:flex;align-items:center;gap:15px;padding:15px;border:1px solid var(--line);border-radius:12px;margin:9px 0}.session-row .session-text{flex:1;min-width:0}.session-row strong{display:block;font-size:14px;overflow-wrap:anywhere}.session-row small{display:block;margin-top:6px}.pill{font-size:10px;border-radius:20px;background:#e5ecde;color:var(--accent);padding:5px 9px}.stats{display:flex;gap:24px;margin:15px 0 23px}.stats b{font-size:30px;font-weight:500;display:block}.stats small{font-size:11px}.grid-group h3{font-size:12px;margin:24px 0 10px;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:8px}.cell{border:1px solid var(--line);border-radius:10px;padding:7px 4px;background:#f3f5ee;position:relative}.cell small{display:block;font-size:10px}.cell b{display:block;font-size:20px;margin-top:5px}.cell.current{outline:2px solid var(--accent)}.cell.answered{background:#e8efe3;color:var(--green)}.cell.flagged:after{content:'⚑';position:absolute;right:2px;top:2px;color:#ad752b;font-size:12px}.template-row{display:grid;grid-template-columns:1fr 100px;gap:8px;background:#f3f5ee;border:1px solid var(--line);padding:12px;border-radius:10px;margin:10px 0}.template-row label{display:grid;gap:4px;font-size:10px;color:var(--muted)}.row-labels{grid-column:1}.remove-row{color:#9c4e34;background:none;font-size:11px;align-self:end}.template-preview{height:260px;overflow:auto;background:#e5e6df;border-radius:10px;padding:8px;margin:15px 0}.helpbox{padding:14px;border:1px solid var(--line);border-radius:11px;background:#f2f5ee;font-size:12px;line-height:1.9;color:#627268}.helpbox.warning{background:#fff1dc;color:#775029}.export-text{width:100%;height:220px;font-size:12px;line-height:1.7}.toggles{display:grid;gap:17px;margin:20px 0}.toggles label{display:flex;gap:10px;font-size:14px}#toast{position:fixed;bottom:170px;left:50%;transform:translateX(-50%);max-width:90vw;background:var(--green);color:white;padding:12px 18px;border-radius:12px;font-size:13px;z-index:10;box-shadow:var(--shadow);display:none;line-height:1.5}.error{color:#9c4e34}.install-steps{padding-left:22px;line-height:2.2;font-size:14px}.template-select{width:100%}.pdf-loading{text-align:center;padding:30px;color:var(--muted)}
@media(min-width:1400px){.empty{margin-top:40px}.paper-art{margin-bottom:40px}}
@media(max-width:900px){.sidebar{width:190px;padding:25px 15px}main{margin-left:190px}header{padding:20px}.answerbar{left:206px;right:16px;padding:10px 14px}.bar-main{gap:10px}.choices{gap:6px}.choices button{width:43px}.question{font-size:22px;min-width:86px}.bar-tools{gap:0}.headtools .desktop{display:none}}
@media(max-width:650px){.sidebar,.desktop{display:none!important}.mobile{display:block}main{margin-left:0;height:100dvh}header{height:80px;padding:calc(10px + env(safe-area-inset-top)) 16px 10px}.headtitle .eyebrow{font-size:8px;letter-spacing:1px}.titlebutton{font-size:18px;max-width:44vw}.headtools{gap:6px;font-size:11px}.headtools .primary{padding:10px 11px}.headtools .subtle{padding:10px}.reading-toolbar{padding:7px 15px;font-size:10px}.reader-scroll{padding:15px 10px 145px}.empty{margin:25px auto}.paper-art{width:143px;height:160px;padding:13px 18px;margin-bottom:28px}.paper-art strong{font-size:51px}.art-tag{right:-27px;font-size:9px}h1{font-size:39px}.empty p{font-size:12px}.empty-notes{gap:17px;font-size:10px;margin:25px 0}.answerbar{left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));border-radius:16px;padding:9px 12px}.bar-top{font-size:9px;gap:6px}.bar-main{gap:8px;margin:5px 0}.question{font-size:21px;min-width:68px;max-width:90px}.choices{gap:5px;flex:1;min-width:0}.choices button{width:auto;flex:1;min-width:27px;height:42px;font-size:19px;border-radius:10px}.bar-tools{gap:0}.bar-tools button{font-size:21px;width:25px}.bar-tools button[data-action=undo]{display:none}.arrows button{width:19px;font-size:20px}.bar-hint{font-size:9px}.bar-top #compactBtn{display:none}.bar-main.many .choices{flex-wrap:wrap}.bar-main.many .choices button{flex-basis:19%;height:30px}.bar-main.many .question{font-size:17px;min-width:54px}.bar-main.many .bar-tools{display:none}dialog{padding:20px 16px;border-radius:18px;max-height:90dvh}.dialog-head h2{font-size:22px}.template-row{grid-template-columns:1fr 90px}#toast{bottom:150px;min-width:220px;text-align:center}.empty>.large{font-size:13px}.stats{gap:24px}}
@media(max-width:370px){.headtools>.subtle{display:none}.bar-main{gap:4px}.question{font-size:18px;min-width:62px}.bar-tools button{width:21px}.choices{gap:4px}.choices button{min-width:24px}}

.headtitle{min-width:0;flex:1}.headtools{flex-shrink:0}.headtools button{white-space:nowrap}.headtitle .eyebrow{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:650px){.titlebutton{max-width:100%}.headtitle .eyebrow{letter-spacing:0}}
