/* Medieval Literature (Jugami School, High School English) — v1
   Illuminated-manuscript palette: vellum, lapis blue, vermilion rubric, gold leaf, verdigris. */
:root{--ink:#221a12;--ink2:#4f4334;--paper:#f7f0df;--paper2:#ece1c6;--card:#fffaf0;
--lapis:#1f2f5c;--lapisL:#dfe4f2;--rubric:#a8301d;--gold:#b88a1e;--goldL:#f6e7b8;--verd:#3d6b55;--verdL:#dceadf;
--line:#d8c9a6;--wrong:#9b2d2d;--radius:12px;
--display:"Goudy Bookletter 1911","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
--serif:Georgia,"Iowan Old Style","Palatino Linotype",Palatino,serif;
--sans:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:18px;line-height:1.65}
a{color:var(--lapis);text-underline-offset:2px}a:hover{color:var(--rubric)}
img,svg{max-width:100%;height:auto}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:var(--goldL);color:var(--ink);padding:6px 10px;z-index:9}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{max-width:1060px;margin:0 auto;padding:0 18px}
.read,.prose p,.prose ul{max-width:40em}
.site-head{background:var(--lapis);color:#fff}
.site-head:after{content:"";display:block;height:6px;background:repeating-linear-gradient(90deg,var(--gold) 0 10px,var(--rubric) 10px 20px,var(--paper) 20px 24px)}
.site-head .bar{display:flex;align-items:center;gap:14px;padding:10px 18px;flex-wrap:wrap;max-width:1060px;margin:0 auto}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-family:var(--display);font-size:1.25rem;letter-spacing:.04em}
.brand:hover{color:var(--goldL)}
.head-nav{margin-left:auto;display:flex;flex-wrap:wrap;gap:6px;font-family:var(--sans)}
.head-nav a{color:#fff;text-decoration:none;font-size:.85rem;padding:5px 11px;border:1px solid rgba(246,231,184,.6);border-radius:999px}
.head-nav a:hover,.head-nav a:focus{background:var(--goldL);color:var(--ink)}
.crumbs ol{list-style:none;padding:0;margin:14px 0 0;display:flex;flex-wrap:wrap;gap:6px;font-family:var(--sans);font-size:.85rem;color:var(--ink2)}
.crumbs li+li:before{content:"›";margin-right:6px;color:var(--gold)}
.hero{display:grid;gap:24px;align-items:center;padding:12px 0 8px}
@media(min-width:860px){.hero{grid-template-columns:1.25fr 1fr}}
.hero-art{margin:0;border:6px double var(--gold);border-radius:var(--radius);background:var(--card);padding:6px}
.kicker{font-family:var(--sans);text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;color:var(--rubric);margin:18px 0 0;font-weight:700}
h1,h2,h3{font-family:var(--display);line-height:1.2;color:var(--lapis)}
h1{font-size:clamp(2.2rem,7vw,3.4rem);margin:.2em 0 .1em}
h2{font-size:clamp(1.6rem,4.5vw,2.2rem);margin:1.8em 0 .4em;padding-top:.3em;border-top:2px solid var(--line)}
h3{font-size:1.3rem;margin:1.2em 0 .3em}
.sub{font-size:1.15rem;color:var(--ink2);font-style:italic}
.small{font-size:.9rem;color:var(--ink2)}
.drop:first-letter{float:left;font-family:var(--display);font-size:3.4em;line-height:.85;padding:4px 8px 0 0;color:var(--rubric)}
.btns{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.btn,button{font-family:var(--sans);font-size:1rem;padding:10px 16px;border-radius:999px;border:2px solid var(--lapis);background:var(--card);color:var(--lapis);text-decoration:none;cursor:pointer;min-height:44px}
.btn.primary,button.primary{background:var(--lapis);color:#fff}
.btn:hover,button:hover{background:var(--goldL);color:var(--ink)}
.toc{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:12px 18px;font-family:var(--sans);font-size:.95rem}
.toc ol{columns:2 14em;margin:6px 0 0;padding-left:1.2em}
.cards{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:12px 0}
.card{background:var(--card);border:1px solid var(--line);border-top:5px solid var(--rubric);border-radius:var(--radius);padding:14px 18px}
.card h3{margin-top:.2em}
.card.soon{border-top-color:var(--line);opacity:.9}
.badge{display:inline-block;font-family:var(--sans);font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--verdL);color:var(--verd);padding:2px 8px;border-radius:999px}
.estate{font-family:var(--sans);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--verd)}
.me{display:grid;gap:12px;background:var(--card);border:1px solid var(--line);border-left:6px solid var(--gold);border-radius:var(--radius);padding:14px 18px}
@media(min-width:760px){.me{grid-template-columns:1fr 1fr}}
.me ol{margin:0;padding-left:2.2em}.me li{margin:0 0 .15em}
.me .orig{font-style:italic}
blockquote{margin:1em 0;padding:10px 18px;background:var(--goldL);border-left:5px solid var(--rubric);border-radius:0 var(--radius) var(--radius) 0}
blockquote p{margin:.2em 0}blockquote footer{font-family:var(--sans);font-size:.85rem;color:var(--ink2)}
.callout{background:var(--lapisL);border-radius:var(--radius);padding:12px 18px;margin:1em 0}
.callout.care{background:var(--verdL)}
.timeline{list-style:none;padding:0;border-left:3px solid var(--gold);margin-left:8px}
.timeline li{padding:4px 0 10px 18px;position:relative}
.timeline li:before{content:"";position:absolute;left:-9px;top:12px;width:14px;height:14px;border-radius:50%;background:var(--rubric);border:2px solid var(--paper)}
.timeline b{font-family:var(--sans);color:var(--lapis)}
details{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:10px 16px;margin:10px 0}
summary{cursor:pointer;font-weight:700;color:var(--lapis)}
fieldset{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);margin:0 0 14px;padding:12px 16px}
legend{font-weight:700;padding:0 6px}
.opts label{display:block;padding:8px 10px;margin:4px 0;border-radius:8px;cursor:pointer;border:1px solid transparent}
.opts label:hover{border-color:var(--line)}
.opts .right{background:var(--verdL);border-color:var(--verd)}
.opts .wrongpick{background:#f5dcdc;border-color:var(--wrong)}
.fb{font-family:var(--sans);font-size:.92rem;margin:4px 0 0;min-height:1.2em}
.score{font-family:var(--sans);font-weight:700;font-size:1.1rem;color:var(--lapis)}
.game{background:var(--card);border:2px solid var(--gold);border-radius:var(--radius);padding:14px 18px}
.game .clue{font-size:1.15rem;font-style:italic;background:var(--paper2);padding:10px 14px;border-radius:8px}
.game .choices{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.game .choices button{border-radius:8px}
.game .choices button.ok{background:var(--verd);color:#fff;border-color:var(--verd)}
.game .choices button.no{background:#f5dcdc;border-color:var(--wrong);color:var(--wrong)}
.noscript{background:#fff3cd;border:1px solid var(--gold);padding:10px 14px;border-radius:8px;font-family:var(--sans)}
.pager{display:grid;gap:10px;grid-template-columns:1fr;margin:34px 0 10px;font-family:var(--sans)}
@media(min-width:700px){.pager{grid-template-columns:1fr 1fr 1fr}}
.pager a,.pager span{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:10px 14px;text-decoration:none}
.pager small{display:block;color:var(--ink2)}.pager .mid{text-align:center}.pager .next{text-align:right}
.pager .soon{color:var(--ink2)}
.site-foot{background:var(--lapis);color:#f4ecd8;margin-top:40px;padding:22px 0;font-family:var(--sans);font-size:.92rem}
.site-foot a{color:var(--goldL)}
.jugami-more{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(246,231,184,.35)}
.jugami-more span{font-weight:700}
.sources li{margin-bottom:.4em}

/* round 1 review: tap targets and non-colour cues */
.brand,.head-nav a,.crumbs a,.toc a,.jugami-more a,.skip,.card h3 a,.sources a,.small a{display:inline-flex;align-items:center;min-height:44px}
.opts label{min-height:44px}
.opts label.right::after{content:" ✓ Correct answer";font-family:var(--sans);font-weight:700;color:var(--verd)}
.opts label.wrongpick::after{content:" ✗ Your answer";font-family:var(--sans);font-weight:700;color:var(--wrong)}
.game .choices button.ok::after{content:" ✓"}
.game .choices button.no::after{content:" ✗"}
.crumbs ol{align-items:center}
