:root{--paper:#f7f4ee;--ink:#2a2521;--muted:#6f6760;--line:#e2dbd1;--accent:#7a3b4e;--accent-soft:#f3e4e9;--good:#2f6b4a;--warn:#8a5a1d;--bad:#9b3a2a;--focus:#c58b2e;--c-blue:#dbe9f7;--c-green:#dcefdf;--c-purple:#e9ddf3;--c-yellow:#f8efc4;--c-orange:#fbe3cf}
*{box-sizing:border-box}html{background:var(--paper)}body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.75 Georgia,"Times New Roman",serif}
main{max-width:860px;margin:auto;padding:40px 26px 90px}a{color:var(--accent)}
nav{display:flex;flex-wrap:wrap;gap:20px;font:600 14px/1.5 Arial,sans-serif;margin-bottom:34px}nav a{text-decoration:none}nav a:hover{text-decoration:underline}
h1{font-size:clamp(30px,5vw,44px);line-height:1.15;margin:10px 0 18px;font-weight:700}h2{font-size:25px;line-height:1.3;margin:28px 0 10px}h3{font-size:20px;line-height:1.4}
.eyebrow{font:700 12px/1.6 Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.lead{font-size:20px}.muted{color:var(--muted);font:15px/1.6 Arial,sans-serif}
.card,article,section.panel,section.card{background:#fff;border:1px solid var(--line);padding:24px;margin:22px 0;border-radius:12px}.card h2{margin-top:4px}
summary{cursor:pointer;font:600 15px/1.5 Arial,sans-serif;color:var(--accent);padding:8px 0}summary:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.button,button{display:inline-block;background:var(--accent);color:#fff;border:0;border-radius:8px;padding:11px 18px;font:600 15px/1.5 Arial,sans-serif;text-decoration:none;cursor:pointer}button.secondary,.button.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}.small-button{background:transparent;color:var(--accent);padding:4px 0;font-size:13px}button:disabled{opacity:.55;cursor:default}
.notice{background:#f1ece4;padding:16px 20px;border-radius:8px;margin:18px 0}.notice.good{background:#e2f3e7}.notice.info{background:var(--accent-soft)}
.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:18px 0}
footer{margin-top:50px;font:13px Arial,sans-serif;color:var(--muted)}
input[type=password],input[type=text]{width:100%;max-width:100%;font:17px/1.5 Georgia,serif;padding:10px 12px;border:1px solid #c9bfb1;border-radius:6px;background:#fffdf9}
.options{padding:0;list-style:none;margin:8px 0 0}.options li{margin:8px 0}.options label{display:block;padding:10px 14px;background:#f6f1e8;border-radius:6px;cursor:pointer;font-size:17px}.options input{margin-right:10px}fieldset{border:0;padding:0;margin:0}legend{font-weight:700;font-size:19px;margin-bottom:6px}
.item label>.item-label{display:block;font:700 15px/1.5 Arial,sans-serif;margin-bottom:8px;color:var(--ink)}.item>label{display:block;font:700 15px/1.5 Arial,sans-serif}.item>label input{margin-top:8px;font:17px Georgia,serif}
textarea.essay{display:block;width:100%;min-height:220px;font:19px/1.85 Georgia,"Times New Roman",serif;padding:18px 20px;border:1px solid #c9bfb1;border-radius:10px;background:#fffdf9;resize:vertical;color:var(--ink)}textarea.essay:focus{border-color:var(--accent)}
.counts{font:14px/1.6 Arial,sans-serif;color:var(--muted);margin:8px 0 0}
.table-input .table-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;padding:12px;margin:10px 0;border:1px solid var(--line);border-radius:8px;background:#fcfaf6}.table-input label{display:block;font:600 13px/1.4 Arial,sans-serif;color:var(--muted)}.table-input textarea{display:block;width:100%;min-height:56px;font:15px/1.5 Georgia,serif;padding:8px;border:1px solid #c9bfb1;border-radius:6px;background:#fffdf9;resize:vertical;margin-top:4px}
.passage .poem-line{display:flex;gap:12px;line-height:1.7}.passage .line-number{flex:0 0 2em;text-align:right;color:var(--muted);font:13px/2.2 Arial,sans-serif}
.feedback-block{background:#f8f1e4;border:1px solid #e6d7b8;border-radius:10px;padding:16px 18px;margin:14px 0}.feedback-block h3{margin:0 0 8px;font:700 15px/1.5 Arial,sans-serif;color:var(--accent)}.mark del{background:#fde2dd;text-decoration:line-through;color:var(--bad);padding:0 2px}.mark ins{background:#e2f3e7;text-decoration:none;color:var(--good);padding:0 2px}.mark sup{color:var(--accent);font-weight:700}ol.notes{font:15px/1.6 Arial,sans-serif;padding-left:22px}ol.notes li{margin:6px 0}
.result-item{font:600 14px/1.6 Arial,sans-serif;margin:8px 0 0}.result-item.correct{color:var(--good)}.result-item.incorrect{color:var(--bad)}.key-reason{font:15px/1.6 Arial,sans-serif;background:#f6f1e8;padding:10px 12px;border-radius:6px;margin-top:6px}
#save-status{min-height:24px}.entry-links h2{margin:26px 0 6px}a.entry-link{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:10px 0 0;padding:16px 18px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);text-decoration:none;font-weight:600;font-family:Arial,sans-serif;font-size:16px}a.entry-link span{flex:none;font-size:14px;font-weight:700;color:var(--accent)}a.entry-link:hover{border-color:var(--accent)}
[hidden]{display:none!important}
html.celia-site-locked main>:not(#account-panel){display:none!important}html.celia-site-locked #account-panel{max-width:520px;margin:8vh auto}#account-panel h2{font-size:28px;margin-top:0}#account-panel form label{display:block;margin-bottom:10px;font:600 15px Arial,sans-serif}#account-panel form input{margin-top:6px}#account-panel form button{margin:8px 0}#account-panel p{margin:8px 0}
body.focus nav,body.focus #assignment-head>.lead,body.focus #assignment-head>ul,body.focus footer,body.focus .passage{display:none}body.focus main{max-width:760px}body.focus textarea.essay{min-height:60vh;font-size:20px}
@media(max-width:600px){main{padding:28px 16px 70px}article,section.panel,.card{padding:18px}nav{gap:14px}textarea.essay{padding:14px;font-size:18px}.actions{gap:8px}.button,button{padding:10px 14px}}
@media print{body{background:#fff;color:#111;font-size:12pt}main{padding:0;max-width:none}nav,.actions,.small-button,.screen-only,#account-panel,#draft-conflict,button{display:none!important}article,.card{break-inside:avoid;border:1px solid #bbb;padding:12px}textarea.essay{border:1px solid #999;overflow:visible;height:auto;resize:none}.options label{padding:2px;background:none}footer{display:none}}
.rich{margin-top:6px}.rt-toolbar{display:flex;flex-wrap:wrap;gap:4px;padding:6px;border:1px solid #c9bfb1;border-bottom:0;border-radius:10px 10px 0 0;background:#f1ece4}.rt-btn{background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:5px 9px;font:600 13px/1.4 Arial,sans-serif;min-width:34px}.rt-btn.rt-b{font-weight:800}.rt-btn.rt-i{font-style:italic}.rt-btn.rt-u{text-decoration:underline}.rt-btn:hover{border-color:var(--accent)}.rt-btn:disabled{opacity:.5}
.rt-area.essay{min-height:220px;border-radius:0 0 10px 10px;outline:none;white-space:normal}.rt-area:empty:before{content:attr(data-placeholder);color:#9a9088;pointer-events:none}.rt-area.disabled{background:#f6f1e8;color:#4a433d}.rt-area h2,.essay-view h2{font-size:24px;margin:14px 0 6px}.rt-area h3,.essay-view h3{font-size:20px;margin:12px 0 4px}.rt-area p,.essay-view p{margin:0 0 12px}.rt-area blockquote,.essay-view blockquote{margin:8px 0;padding-left:14px;border-left:3px solid #d9b3c0;color:#4a433d}.rt-area ul,.rt-area ol,.essay-view ul,.essay-view ol{margin:0 0 12px;padding-left:28px}.rt-area:focus-within{border-color:var(--accent)}
body.focus .rt-area.essay{min-height:60vh;font-size:20px}
.gaps{font-size:19px;line-height:2.3}.gaps input.gap{display:inline-block;width:8.5em;max-width:46%;font:18px Georgia,serif;padding:2px 8px;margin:0 4px;border:0;border-bottom:2px solid var(--accent);border-radius:0;background:transparent;text-align:center}.gaps input.gap:focus{outline:none;border-bottom-width:3px}
details.feedback-answer{margin-top:6px}details.feedback-answer summary{font-size:14px}details.feedback-answer p{font:15px/1.6 Arial,sans-serif;background:#f6f1e8;padding:10px 12px;border-radius:6px;margin:6px 0 0}
@media print{.rt-toolbar{display:none}.rt-area.essay{border:1px solid #999;border-radius:6px}.gaps input.gap{border-bottom:1px solid #333}}
