:root{--green:#426554;--ink:#293e34;--muted:#6d7a71;--line:#dde3d8;--cream:#f7f8f2}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.6 system-ui,sans-serif;display:flex}button,input,select,textarea{font:inherit}button{background:var(--green);color:white;border:1px solid var(--green);padding:10px 19px;border-radius:8px;cursor:pointer}button:hover{filter:brightness(.94)}button:disabled{opacity:.4;cursor:default}.quiet{background:transparent;color:var(--green);border-color:var(--line)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #b48b48;outline-offset:3px}aside{width:282px;flex-shrink:0;background:#eef1e7;border-right:1px solid var(--line);height:100vh;position:sticky;top:0;display:flex;flex-direction:column;padding:30px 22px}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--ink);font:22px Georgia,serif;white-space:nowrap}.brand small{display:block;font:8px system-ui;letter-spacing:1.7px;margin-top:8px}.mark{font-size:34px;color:#6c8772}.course{font-size:10px;letter-spacing:2px;border-top:1px solid #d6dece;margin-top:30px;padding-top:25px}.course span{display:block;font-size:14px;letter-spacing:0;margin:6px 0 22px}label{display:block;font-size:12px}input,select{border:1px solid #d4ddce;background:#fffef9;border-radius:7px;padding:10px;color:var(--ink)}#search{width:100%;font-size:12px;margin:7px 0 16px}nav{overflow:auto;flex:1;margin-bottom:15px}nav button{display:block;text-align:left;width:100%;background:none;border:0;color:#637264;font-size:12px;padding:9px 11px;margin:3px 0}nav button.active{background:#dae4d3;color:#304f3a;font-weight:600}.wide{width:100%;font-size:12px;margin-top:8px}.local{font-size:10px;text-align:center;margin-top:14px;color:var(--muted)}main{max-width:1120px;flex:1;padding:28px 6vw}header{display:flex;align-items:center;justify-content:space-between;gap:20px}.eyebrow{font-size:9px;letter-spacing:1.7px;color:#74816f}header button{font-size:11px;border:0}.intro{margin:48px 0 42px}.pill{font-size:9px;letter-spacing:2px;background:#e8edde;color:#687a58;padding:7px 12px;border-radius:30px}h1{font:56px/1.1 Georgia,serif;letter-spacing:-1.5px;margin:20px 0 12px}.intro p{color:var(--muted);margin:0}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px}h2{font:25px/1.3 Georgia,serif;margin:7px 0}.toolbar button{background:transparent;color:var(--green);border-color:var(--line);white-space:nowrap;font-size:12px}.options{display:flex;align-items:center;gap:20px;margin:18px 0}.options label{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px}select{font-size:11px;padding:5px}.options>span{margin-left:auto;font-size:11px;color:var(--muted)}.paper{background:#fffefa;border:1px solid #e1e5db;border-radius:14px;padding:28px 32px;box-shadow:0 8px 35px #2f452b05}.paperhead{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.5px;color:#7d8979}.track{height:3px;background:#edf0e8;margin:14px 0 27px;border-radius:3px}#bar{height:100%;background:#7e9c72;width:0;transition:width .15s}#guide{font:22px/1.85 Georgia,serif;color:#b9c3b3;white-space:pre-wrap;overflow-wrap:anywhere;max-height:350px;overflow:auto;padding-bottom:22px}#guide .correct{color:#334e3e}#guide .wrong{color:#a34758;background:#f7e4e6}#guide .cursor{border-bottom:2px solid #587d57;background:#edf2e5}.inputlabel{font-size:10px;color:#7b8576;margin:5px 0 8px}textarea{width:100%;resize:vertical;border:1px solid #dde4d5;background:#f8faf4;border-radius:8px;padding:13px;color:var(--ink);font-size:16px}textarea:focus{border-color:#8caa7d;outline:2px solid #dfe9d4}.bottom{display:flex;justify-content:space-between;gap:15px;font-size:10px;color:#7b8577;margin-top:13px}.lessonnav{display:flex;justify-content:space-between;align-items:center;margin-top:18px}.lessonnav button{font-size:11px}.lessonnav span{font-size:9px;color:#8b9486}.tip{margin-top:36px;display:flex;gap:15px;align-items:center;background:#edf0e5;border-radius:10px;padding:18px 22px}.tip>span{font-size:34px;color:#8c9d7a}.tip strong{font:16px Georgia,serif}.tip p{font-size:11px;color:#7b8773;margin:5px 0 0}footer{font-size:9px;color:#8c9486;margin:25px 0}dialog{max-width:580px;width:90%;border:1px solid var(--line);border-radius:16px;padding:30px;background:var(--cream);color:var(--ink)}dialog::backdrop{background:#273c3166}dialog p{font-size:13px}dialog label{margin:15px 0}dialog input{width:100%}.dialogactions{display:flex;justify-content:flex-end;gap:10px}.importlabel{padding:12px;border:1px dashed #abb9a2;border-radius:8px}@media(max-width:900px){aside{width:230px;padding:22px 15px}main{padding:25px}h1{font-size:46px}.paper{padding:22px}.eyebrow{font-size:8px}}@media(max-width:650px){body{display:block}aside{position:relative;width:100%;height:auto;padding:18px}aside .course,aside .local{display:none}nav{max-height:120px}.brand{font-size:21px}#search{margin-bottom:8px}.wide{display:inline-block;width:auto;margin-right:8px}main{padding:24px 18px}header>.eyebrow{max-width:180px}.intro{margin:28px 0}.options{flex-wrap:wrap;gap:10px}h1{font-size:45px}.paper{padding:20px}#guide{font-size:21px}.lessonnav span{display:none}.toolbar h2{font-size:22px}}

.topic-row{border-bottom:1px solid #dfe5d8;padding:3px 0 7px}.topic-actions{display:flex;gap:6px;padding-left:10px}nav .topic-actions button{font-size:10px;width:auto;margin:0;padding:2px 6px;border:1px solid #d4ddce;border-radius:5px}nav .topic-actions button:hover{background:#dce5d3}.empty-list{font-size:12px;color:var(--muted);padding:12px 10px}

.animated-brand{display:block;width:9ch;min-height:27px;font:22px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace}.typing-word{display:inline-flex;align-items:center;color:#6c8772}.typing-letters{display:block;overflow:hidden;white-space:nowrap;width:8ch;animation:brand-type 7s steps(8,end) infinite}.typing-word::after{content:"";display:block;width:1.5px;height:23px;background:#6c8772;margin-left:3px;animation:brand-caret-blink 1.2s steps(1,end) infinite}@keyframes brand-type{0%,8%{width:0}48%,70%{width:8ch}95%,100%{width:0}}@keyframes brand-caret-blink{0%,60%{opacity:1}61%,100%{opacity:0}}@media(prefers-reduced-motion:reduce){.typing-letters{animation:none;width:8ch}.typing-word::after{animation:none}}

.topic-group{font:10px system-ui,sans-serif;text-transform:uppercase;letter-spacing:1.6px;color:#667e68;margin:18px 10px 8px;padding-top:14px;border-top:1px solid #d6dece}.topic-group:first-child{margin-top:0;padding-top:0;border:0}#noteGroup{display:block;width:100%;margin-top:6px}#paragraphPreview{font-size:11px;color:var(--muted)}

main,.toolbar>div{min-width:0}h2,.topic-title{overflow-wrap:anywhere}.toolbar{flex-wrap:wrap}.paperhead{gap:12px}.bottom{flex-wrap:wrap}.lessonnav{gap:12px}.lessonnav button{min-width:0}dialog{max-height:calc(100dvh - 32px);overflow-y:auto}#guide{position:relative;scroll-behavior:auto}#saved{max-width:40%;text-align:center}.topic-actions button{min-height:28px;min-width:40px}@media(max-width:650px){.toolbar{gap:10px}.options>span{width:100%;margin-left:0}.lessonnav{align-items:stretch}.paperhead{letter-spacing:1px}.dialogactions{flex-wrap:wrap}dialog{padding:22px}#helpDialog>button{margin-top:8px}}

:root{color-scheme:light}.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-shrink:0}#themeToggle{border:1px solid var(--line);white-space:nowrap;padding:8px 12px}a{color:var(--green)}
:root[data-theme="dark"]{color-scheme:dark;--green:#a9c5a5;--ink:#e1e9df;--muted:#a4b5a7;--line:#3b4c40;--cream:#18221d}
[data-theme="dark"] aside{background:#1e2a22}
[data-theme="dark"] .course,[data-theme="dark"] .topic-group{border-color:var(--line)}
[data-theme="dark"] button{color:#18221d}
[data-theme="dark"] .quiet,[data-theme="dark"] .toolbar button{color:var(--green)}
[data-theme="dark"] input,[data-theme="dark"] select,[data-theme="dark"] textarea{background:#25332a;border-color:#485d4c;color:var(--ink)}
[data-theme="dark"] input::placeholder,[data-theme="dark"] textarea::placeholder{color:#a4b5a7}
[data-theme="dark"] textarea:focus{border-color:#a9c5a5;outline-color:#48624c}
[data-theme="dark"] nav button{color:#b8c8b9}
[data-theme="dark"] nav button.active{background:#354b3a;color:#e5f2df}
[data-theme="dark"] .topic-row,[data-theme="dark"] nav .topic-actions button{border-color:var(--line)}
[data-theme="dark"] nav .topic-actions button:hover{background:#354b3a}
[data-theme="dark"] .pill,[data-theme="dark"] .tip{background:#2b3b2f;color:#b8cda9}
[data-theme="dark"] .paper{background:#202c24;border-color:var(--line);box-shadow:none}
[data-theme="dark"] .track{background:#3b4c40}
[data-theme="dark"] #bar{background:#a9c5a5}
[data-theme="dark"] #guide{color:#899b8b}
[data-theme="dark"] #guide .correct{color:#e1f2dc}
[data-theme="dark"] #guide .wrong{color:#ffc0cb;background:#58323e}
[data-theme="dark"] #guide .cursor{border-color:#b8d5ad;background:#354b3a}
[data-theme="dark"] .eyebrow,[data-theme="dark"] .paperhead,[data-theme="dark"] .inputlabel,[data-theme="dark"] .bottom,[data-theme="dark"] .lessonnav span,[data-theme="dark"] footer,[data-theme="dark"] .tip p,[data-theme="dark"] .topic-group{color:var(--muted)}
[data-theme="dark"] .typing-word,[data-theme="dark"] .tip>span{color:#a9c5a5}
[data-theme="dark"] .typing-word::after{background:#a9c5a5}
[data-theme="dark"] dialog::backdrop{background:#050b08b3}
[data-theme="dark"] .importlabel{border-color:#6e8b71}
@media(max-width:650px){header{flex-wrap:wrap;gap:12px}.header-actions{margin-left:auto}}

#installDialog h3{font-size:14px;margin:22px 0 6px}#installDialog #installUrl{margin:8px 0 12px}#installDialog #closeInstall{display:block;margin-top:20px}

#cloudStatus{display:block;font-size:.75rem;color:var(--muted);max-width:28rem}#accountDialog{max-width:650px}#accountDialog h3{margin:1.5rem 0 .6rem}#accountDialog input{width:100%;box-sizing:border-box}#accountDialog [hidden]{display:none!important}.workbook-list{display:grid;gap:.5rem;margin:.6rem 0}.workbook-list button{text-align:left}.account-hint{font-size:.85rem}#conflictArea{border:1px solid #b86b79;border-radius:14px;padding:1rem;margin-top:1rem}#inviteLinkArea{margin:1rem 0}.header-actions{flex-wrap:wrap}

#reviewDraft[hidden]{display:none!important} #draftComparison details{margin:1rem 0} #draftComparison summary{cursor:pointer;font-weight:600} #draftComparison p{white-space:pre-wrap;max-height:18rem;overflow:auto} #conflictArea h3{margin-top:0} #conflictArea button{margin:.3rem .2rem .3rem 0}

#signupArea,#emailCodeArea,#passwordSettings{margin:1.25rem 0;padding:1rem;border:1px solid var(--line);border-radius:14px} #signupArea summary,#emailCodeArea summary,#passwordSettings summary{cursor:pointer;font-weight:600} #passwordSignInForm button{margin:.3rem .2rem .3rem 0}

.visibility-area,.live-study-banner{border:1px solid var(--line, #cbd8cf);border-radius:12px;padding:16px;margin:16px 0}.live-study-banner p{margin:8px 0;font-size:.9rem}.visibility-area input{width:100%;box-sizing:border-box}#liveWorkbookList button{text-align:left;overflow-wrap:anywhere}

[hidden]{display:none!important}
