:root{color-scheme:dark;background:#161329;color:#f5efff;font-family:system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}main{max-width:1120px;margin:auto;padding:24px}h1{font-family:Georgia,serif;font-size:clamp(2rem,4vw,2.8rem);font-weight:400;color:#ffd89b;margin:.25em 0}h2{font-size:1.25rem;margin:0 0 16px}p{line-height:1.6}.eyebrow,.small{font-size:.875rem;color:#c9bddb}.eyebrow{letter-spacing:.08em}.desk{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.editor{display:grid;gap:9px}label,legend{font-size:1rem}input,select,textarea,button{font:inherit;font-size:1rem;color:#fff;background:#252038;border:1px solid #8c799e;border-radius:3px;padding:10px;min-height:44px;width:100%}textarea{resize:vertical}button{cursor:pointer;width:auto}button:hover{background:#443252}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #72e6fa;outline-offset:3px}fieldset{margin:0;padding:12px;display:grid;grid-template-columns:1fr;gap:7px;border:1px solid #685276}.buttons{display:flex;gap:8px;flex-wrap:wrap}#apply{background:#ffd89b;color:#241b28;font-weight:700}.reader{border-top:4px solid #ffd89b;padding:22px;background:#241d32}.reader h2{font-family:Georgia,serif;font-size:1.6rem}#story-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:1.125rem;min-height:105px}.choices{display:grid;gap:9px}.choices button{text-align:left;border-color:#c987ad}hr{border:0;border-top:1px solid #685276;margin:26px 0}#edit-status,#check-result{min-height:26px;color:#ffe5b9;overflow-wrap:anywhere}@media(max-width:740px){main{padding:16px}.desk{grid-template-columns:1fr}.reader{padding:18px}} .story-map{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px;margin:12px 0 20px} .map-card{border:1px solid #685276;border-radius:3px;padding:12px;background:#1d1830} .map-card[data-reachable="false"]{border-style:dashed} .map-scene{text-align:left;background:#332642;border-color:#c987ad;font-weight:700} .map-card ul{margin:.75rem 0 0;padding-left:1.25rem} #story-map-text{padding-left:1.5rem} #story-map-text li{margin:.5rem 0;line-height:1.5} .map-card{min-width:0;overflow-wrap:anywhere}.map-scene{max-width:100%;overflow-wrap:anywhere}#story-map-text{overflow-wrap:anywhere}