*{box-sizing:border-box}body{margin:0;font-family:var(--ks-font-sans);font-size:18px;line-height:1.65}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button{min-height:46px;padding:10px 20px;border-radius:12px;border:1px solid var(--border);background:var(--card);color:var(--text);cursor:pointer;font-weight:650}button:hover{border-color:var(--accent);background:var(--card-soft)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--primary);color:var(--ks-bg);border-color:transparent}html:not([data-theme=dark]) button.primary{color:white}button.quiet{background:transparent}a{color:var(--primary)}:focus-visible{outline:3px solid var(--ks-gold);outline-offset:4px}input,textarea,select{width:100%;padding:13px;border:1px solid var(--border);border-radius:12px;color:var(--text);background:var(--bg);min-height:48px}textarea{resize:vertical;min-height:190px;line-height:1.8}input[type=checkbox],input[type=radio]{width:22px;height:22px;min-height:22px;accent-color:var(--primary);flex-shrink:0}label{display:block}h1{font:clamp(36px,5vw,64px)/1.12 var(--ks-font-serif);letter-spacing:-.035em}h2{font:clamp(26px,3vw,36px)/1.25 var(--ks-font-serif)}h3{font-size:20px;line-height:1.4}p{margin:0 0 20px}fieldset{min-width:0;margin:0;border:0;padding:0}legend{font-weight:650;margin-bottom:16px}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:750;color:var(--muted)}.muted,.small{color:var(--muted);font-size:15px}.top-actions,.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.site-topbar-inner{max-width:1260px}.site-topbar{position:relative}#main{max-width:1220px;margin:auto;padding:42px 28px 90px}.landing{display:grid;grid-template-columns:1.2fr 1fr;gap:54px;align-items:center;padding-top:26px}.intro h1{margin:18px 0 22px}.intro .lead{font-size:21px;max-width:540px}.gold{color:var(--ks-gold)}.pills{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.pill{font-size:13px;border:1px solid var(--border);border-radius:99px;padding:6px 12px;color:var(--muted)}.start-card,.panel,.source,.summary-card{background:var(--card);border:1px solid var(--border);border-radius:24px;padding:28px;box-shadow:var(--ks-shadow-sm)}.start-card{border-top:3px solid var(--ks-gold)}.form-row{display:grid;grid-template-columns:1fr 110px;gap:14px}.form-row label{font-size:14px;font-weight:650}.form-row input{margin-top:8px}.start-card .primary{width:100%;margin-top:20px}.start-card .quiet{width:100%;margin-top:8px}.journey{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:18px;overflow:hidden;margin-top:52px}.journey div{padding:24px;background:var(--card)}.journey b{display:block;color:var(--ks-gold);font:26px var(--ks-font-serif);margin-bottom:10px}.journey span{font-size:15px;color:var(--muted)}.workspace-head{display:flex;justify-content:space-between;gap:16px;align-items:start;margin-bottom:22px}.workspace-head h1{font-size:34px;margin:5px 0 0}.steps{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.steps button{font-size:14px;padding:9px 14px}.steps [aria-current=step]{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.work-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}.panel{min-height:480px}.task-heading{margin:16px 0 24px}.task-quote{font-family:var(--ks-font-serif);font-size:21px;line-height:1.7;border-left:3px solid var(--ks-gold);padding:0 0 0 20px;margin:20px 0;color:var(--text)}.pair{display:grid;gap:12px;margin:20px 0}.pair>div{padding:18px;border:1px solid var(--border);border-radius:14px;background:var(--bg2)}.pair>div:last-child{border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}.pair p{margin:8px 0 0;font-family:var(--ks-font-serif);font-size:20px}.options{display:grid;gap:12px}.option{display:flex;align-items:flex-start;gap:13px;padding:15px;border:1px solid var(--border);border-radius:13px;cursor:pointer}.option input{margin-top:4px}.option:has(:checked){background:var(--primary-soft);border-color:var(--primary)}.option:hover{border-color:var(--primary)}.question-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.feedback{margin-top:18px;padding:16px 18px;border-radius:12px;background:var(--primary-soft);border-left:3px solid var(--primary)}.feedback:empty{display:none}.hint{color:var(--text);padding:15px;background:var(--card-soft);border-radius:12px;margin-top:15px}.source{position:sticky;top:20px;padding:22px;max-height:calc(100vh - 40px);overflow:auto}.source summary{font-size:17px;font-weight:700;cursor:pointer}.source p{font:18px/1.75 var(--ks-font-serif);color:var(--text);margin-top:18px}.source .source-part{border-top:1px solid var(--border);margin-top:20px;padding-top:12px}.source-part small{font:12px var(--ks-font-sans);letter-spacing:.1em;color:var(--ks-gold)}.source cite{font-size:12px;color:var(--muted);font-style:normal}.nav-bottom{display:flex;justify-content:space-between;gap:14px;margin-top:28px;padding-top:20px;border-top:1px solid var(--border)}.progress-track{height:5px;background:var(--border);border-radius:5px;overflow:hidden;margin-top:16px}.progress-track span{display:block;height:100%;background:var(--accent)}.counter{font-size:13px;color:var(--muted);text-align:right;margin-top:6px}.rubric{font-size:15px;color:var(--muted)}.rubric li{margin:8px 0}.rubric summary{cursor:pointer;color:var(--text);font-weight:650}.word-note{font-size:14px;color:var(--muted);margin-top:12px}.review-list{list-style:none;padding:0}.review-list li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border);align-items:center}.review-list button{font-size:14px}.score-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:26px 0}.score-big{font:48px var(--ks-font-serif);color:var(--primary);margin:10px 0}.score-big small{font-size:24px;color:var(--muted)}.summary-card h3{margin:0}.paper{white-space:pre-wrap;font:21px/1.85 var(--ks-font-serif);padding:24px;background:var(--bg2);border-radius:16px;margin:20px 0;overflow-wrap:anywhere}.version{font-size:14px;margin:15px 0}.select-row{display:grid;gap:8px;margin:15px 0}.order-list{padding:0;list-style:none}.order-list li{border:1px solid var(--border);border-radius:12px;margin:10px 0;padding:12px;display:flex;gap:10px;align-items:center}.order-list span{flex:1}.order-list button{padding:8px 12px}#save-status{max-width:1164px;margin:-55px auto 20px;padding:10px 20px;color:var(--muted);font-size:13px}#save-status.error{color:var(--ks-danger)}.skip{position:absolute;left:10px;top:-100px;z-index:100;background:var(--card);padding:10px}.skip:focus{top:5px}.loading{padding:50px}.warning{padding:15px;border:1px solid var(--ks-gold);border-radius:12px;margin:20px 0}.checklist .option{border:0;padding:10px 0}.source a{font-size:13px}.preview-tag{color:var(--ks-gold);font-size:14px}.timer{font-variant-numeric:tabular-nums;color:var(--muted);font-size:14px}.row-spread{display:flex;gap:15px;justify-content:space-between;align-items:center;flex-wrap:wrap}.badge{font-size:12px;background:var(--primary-soft);color:var(--primary);border-radius:6px;padding:3px 8px}.drafts details{margin:15px 0}.drafts summary{cursor:pointer}.assignment-note{max-width:700px;margin-top:30px}
.work-grid.full-text{grid-template-columns:minmax(0,1fr)}.full-text .source{display:none}.inline-source{margin:22px 0 26px;padding:22px;border:1px solid var(--border);border-left:3px solid var(--ks-gold);border-radius:14px;background:var(--bg2)}.inline-source p{max-width:80ch;font:20px/1.8 var(--ks-font-serif);color:var(--text)}.inline-source p.small{font:14px/1.6 var(--ks-font-sans);color:var(--muted)}
html,body{height:auto;min-height:100%}html{background:var(--bg)}body{min-height:100vh;background-attachment:scroll;background-repeat:no-repeat}
@media(max-width:1000px){.work-grid{grid-template-columns:minmax(0,1fr) 290px}.landing{gap:28px}.source{padding:18px}.panel{padding:22px}}
@media(max-width:760px){#main{padding:24px 16px 80px}.landing{grid-template-columns:1fr;gap:22px;padding-top:0}.intro .lead{font-size:18px}.journey{grid-template-columns:1fr 1fr;margin-top:28px}.journey div{padding:20px}.work-grid{display:flex;flex-direction:column}.source{position:static;width:100%;max-height:none;order:-1}.panel{width:100%;min-height:0;padding:20px}.source[open]{max-height:65vh;overflow:auto}.workspace-head h1{font-size:28px}.workspace-head{flex-direction:column}.steps{gap:6px}.steps button{font-size:13px;padding:8px 10px}.top-actions .eyebrow{display:none}.start-card{padding:22px}.score-grid{grid-template-columns:1fr}.form-row{grid-template-columns:1fr 85px;gap:10px}.nav-bottom button{padding:10px 13px}.question-actions button{flex:1}.site-topbar-inner{padding:10px 16px}.paper{padding:16px}.task-quote{font-size:19px}.pair p{font-size:19px}.row-spread{align-items:flex-start}}
@media print{.site-topbar,.steps,.nav-bottom,button,.source,#save-status,.skip{display:none!important}body{background:white;color:black}#main{padding:0}.panel,.summary-card,.paper{background:white;color:black;border:1px solid #ddd;box-shadow:none}.work-grid{display:block}.paper{white-space:pre-wrap}p,h1,h2,h3{color:black}}

/* Preserve verse lines while allowing long lines to wrap on small screens. */
.verse-material .source-part p,.verse-material .task-quote{white-space:pre-wrap;overflow-wrap:anywhere}
.verse-material .source-part p{line-height:1.65}
.verse-material .inline-source .source-part{min-width:0}
.verse-material .inline-source .source-part p{font-size:20px}
.verse-material .source-fragments{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 32px}
.verse-material .inline-source cite{display:block;font-size:14px;line-height:1.6;color:var(--muted);font-style:normal;margin-top:18px}
.verse-material .source-link{font:14px/1.6 var(--ks-font-sans)}
.glossary{margin-top:20px;font-size:16px;line-height:1.6}
.glossary summary{cursor:pointer;font-weight:650}
.glossary dt{font-weight:650;margin-top:12px}
.glossary dd{margin:4px 0 12px;color:var(--muted)}
@media(max-width:760px){.verse-material .source-fragments{grid-template-columns:minmax(0,1fr)}.verse-material .inline-source{padding:16px}.verse-material .inline-source .source-part p{font-size:18px}}

.task-context{white-space:pre-line}
.feedback{white-space:pre-line;overflow-wrap:anywhere}
.work-grid.exam-work{grid-template-columns:minmax(0,1fr)}
.exam-work .source{position:static;max-height:none}
.exam-reference{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);gap:28px;margin-bottom:26px}
.exam-reference section{min-width:0;padding:20px;border:1px solid var(--border);border-radius:16px;background:var(--bg2)}
.exam-reference h3{margin:0 0 18px}
.exam-errors{list-style:none;padding:0;margin:0}
.exam-errors li,.exam-sentences li{margin-bottom:14px;overflow-wrap:anywhere}
.exam-errors b,.exam-sentences li::marker{color:var(--ks-gold);font-weight:750}
.exam-sentences{margin:0;padding-left:28px}
.exam-work .select-row input{max-width:260px;font-size:28px;letter-spacing:.2em}
@media(max-width:760px){.exam-reference{grid-template-columns:minmax(0,1fr);gap:16px}.exam-reference section{padding:16px}.exam-work .source{order:0}.exam-work .panel{padding:16px}}
