:root{color-scheme:dark;--bg:#15110e;--panel:#211b16;--gold:#e1bd80;--text:#f5e8d3;--muted:#c0b5a4;--line:#574638}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top,#352619,var(--bg) 58%);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.65}a{color:var(--gold)}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}[hidden]{display:none!important}:focus-visible{outline:3px solid #f6d498;outline-offset:4px}.skip{position:absolute;left:12px;top:-100px;background:var(--text);color:#211b16;padding:12px;z-index:3}.skip:focus{top:12px}header{max-width:1120px;margin:auto;padding:25px 24px;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:center}.logo{font:bold 24px/1.2 Georgia,serif;letter-spacing:.03em;text-decoration:none;color:var(--text)}.logo span{color:var(--gold)}.header-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px;font-size:.9rem}.header-actions button{background:transparent;border:1px solid var(--line);border-radius:9px;padding:8px 12px;color:var(--text);min-height:44px}main{max-width:1000px;margin:auto;padding:0 22px}#home{text-align:center;padding:65px 0}.eyebrow,label{font-size:.75rem;font-weight:bold;letter-spacing:.14em;color:var(--gold)}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:normal;line-height:1.2}h1{font-size:clamp(2.6rem,7vw,5rem);letter-spacing:-.035em;margin:25px 0}h1 em{color:var(--gold)}.intro,.notice{max-width:640px;margin:0 auto 24px;color:var(--muted)}.intro{font-size:1.1rem}.notice{font-size:.9rem}.form{max-width:570px;margin:30px auto;text-align:left;padding:28px;background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:0 20px 65px #0003}label{display:block;margin:0 0 10px}input,select{width:100%;min-width:0;border:1px solid #77624f;border-radius:8px;padding:13px;background:#17130f;color:var(--text);min-height:48px}select{margin-bottom:20px}#character-field{margin-bottom:20px}.primary,.secondary{width:100%;border:0;border-radius:8px;padding:15px;background:var(--gold);color:#21170e;font-weight:bold;min-height:48px}.secondary{background:transparent;color:var(--gold);border:1px solid var(--line);margin-top:12px}.small{font-size:.85rem;color:var(--muted);margin-bottom:0}details{max-width:570px;margin:30px auto}summary{color:var(--gold);cursor:pointer;min-height:44px;padding:10px}#reader{max-width:760px;margin:45px auto 75px}#chapter{text-align:center}#scene-title{text-align:center;font-size:clamp(2rem,5vw,3.5rem);overflow-wrap:anywhere}.art{margin:0;aspect-ratio:3/2;border:5px solid #49392b;border-radius:14px;overflow:hidden;background:#211b16;box-shadow:0 15px 55px #0004}.art img{display:block;width:100%;height:100%;object-fit:cover}#noimage{height:100%;display:flex;align-items:center;justify-content:center;padding:30px;text-align:center;color:var(--muted)}.scene{font:1.25rem/1.9 Georgia,serif;white-space:pre-wrap;overflow-wrap:anywhere;margin:35px 2px}.disclosure{font-size:.86rem;color:var(--muted);border-left:3px solid var(--gold);padding:8px 15px}.sources{border:1px solid var(--line);border-radius:10px;padding:18px 22px;background:var(--panel);font-size:.92rem}.sources ul{padding-left:20px}.sources li{margin:10px 0}.sources p{font-size:.8rem;color:var(--muted);margin-bottom:0}h3{font-size:1.8rem;text-align:center;margin-top:38px}#choices{display:grid;gap:12px;margin-bottom:30px}.choice{min-height:54px;padding:17px;text-align:left;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);overflow-wrap:anywhere}.choice:hover{border-color:var(--gold);background:#30251d}.custom{display:flex;gap:10px}.custom button{border:0;border-radius:8px;padding:12px 18px;background:var(--gold);color:#21170e;font-weight:bold}#loading{text-align:center;padding:100px 0}.spark{font-size:60px;color:var(--gold);animation:pulse 2s infinite}#progress{color:var(--muted)}@keyframes pulse{50%{opacity:.35}}#error{max-width:760px;margin:20px auto;padding:16px;border:1px solid #ce8170;border-radius:9px;background:#3c201d;color:#ffe5de}footer{border-top:1px solid var(--line);text-align:center;padding:30px 20px;font-size:.85rem;color:var(--muted)}footer p{margin-bottom:0}@media(max-width:520px){header{padding:20px}.logo{font-size:21px}#home{padding-top:38px}.form{padding:20px}.custom{flex-direction:column}.custom button{min-height:48px}.scene{font-size:1.15rem}main{padding:0 18px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important}}
