/* Compact reading layout. Keep full illustrations available through their links. */
.shell{max-width:1480px;padding:0 28px}
header{height:60px}
.mark{width:34px;height:34px;font-size:25px;line-height:32px}
.brand{gap:10px;font-size:14px;letter-spacing:2px}
.layout{grid-template-columns:185px minmax(0,1fr);gap:28px;padding:20px 0 24px;align-items:start}
aside{padding-right:20px}
aside>h2,.forest{display:none}
.side-section{padding-top:12px;margin-top:12px}
.side-section p{margin-top:6px;font-size:12px;line-height:1.5}
.item{margin-top:6px;font-size:12px}
.checkpoint{min-height:36px;padding:6px 0}
main{max-width:none}
h1{font-size:clamp(26px,2.6vw,36px);line-height:1.15;letter-spacing:-.6px;margin:10px 0}
.chapter{font-size:9px;letter-spacing:1.2px}
.divider{height:10px;margin-bottom:12px;gap:10px}
.location-art{margin-bottom:14px}
.location-art img{height:auto;aspect-ratio:3/2;object-fit:contain}
.location-art figcaption{padding:4px 10px;font-size:10px;letter-spacing:.5px}
.narrative{font-size:16px;line-height:1.55}
.narrative p{margin:0 0 12px}
.choices{margin-top:16px}
.choices>.eyebrow{margin-bottom:6px}
.choice{min-height:44px;gap:12px;padding:9px 12px;margin:6px 0;font-size:14px;line-height:1.4}
.number{min-width:25px;height:25px}
.key-hint{margin:6px 0;font-size:10px}
.notice{padding:8px 12px;margin:8px 0;font-size:13px}
.help{margin-top:16px;padding-top:10px}
.restart{margin-top:10px}
footer{padding:12px 0;gap:8px;letter-spacing:.5px}
.in-combat .location-art{display:none}
.in-combat .layout{padding-top:12px}
#round-panel[data-combat]{scroll-margin-top:8px}
#round-panel[data-combat] .combatants{margin:8px 0}
#round-panel[data-combat] .notice{padding:7px 10px;min-height:36px;margin-bottom:8px}
#round-panel[data-combat] .choice{min-height:44px;padding:8px 12px;margin:5px 0}
@media(min-width:1100px){
    .location-art{float:right;width:48%;margin:0 0 14px 22px}
    .location-art img{height:auto}
    .choices{clear:both}
    .help{clear:both}
}
@media(max-width:850px){
    .shell{padding:0 18px}
    .layout{grid-template-columns:155px minmax(0,1fr);gap:20px}
    aside{padding-right:14px}
}
@media(max-width:650px){
    .shell{padding:0 14px}
    header{height:52px}
    .brand{font-size:12px;letter-spacing:1.5px}
    .mark{width:30px;height:30px;line-height:28px;font-size:22px}
    .layout{display:flex;padding:12px 0 16px;gap:16px}
    h1{font-size:26px;margin:8px 0}
    .location-art{margin-bottom:10px}
    .location-art img{height:auto}
    .location-art figcaption{padding:3px 8px;font-size:9px}
    .narrative{font-size:16px;line-height:1.5}
    .choice{gap:10px}
    aside{padding:10px 12px;gap:10px 16px;width:100%}
    .side-section{padding:0;margin:0}
    .side-section:first-of-type{display:none}
    footer{font-size:8px;gap:4px}
}
