:root{color-scheme:dark;--paper:#e5dfd0;--gold:#c3a778;--textsize:17px;--subsize:21px}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#080b0c;color:var(--paper);font-family:Arial,sans-serif;font-size:var(--textsize)}body{touch-action:none}button,input,select{font:inherit}button{min-height:45px;background:#172024;border:1px solid #617075;color:#eee9df;padding:10px 18px;cursor:pointer;border-radius:3px}button:hover,button:focus-visible{background:#ffe1a3;color:#111111;outline:2px solid var(--gold);outline-offset:2px}.primary{background:#c6b18d;color:#14191a;border-color:#e1cba4}.quiet{background:transparent}a{color:var(--gold)}canvas{display:block;width:100%;height:100%}#vignette{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse,transparent 30%,#02030588 100%)}#shade{position:fixed;inset:0;background:#020304;opacity:0;pointer-events:none;transition:opacity 1.2s}#hud{position:fixed;left:32px;right:28px;top:26px;display:flex;align-items:start;justify-content:space-between;text-shadow:0 2px 6px black}#chapterTag,.eyebrow{font-size:11px;letter-spacing:3px;color:var(--gold);text-transform:uppercase}h2{font-family:Georgia,serif;font-weight:normal;font-size:24px;margin:9px 0}#objective{position:fixed;left:32px;top:101px;max-width:400px;font-size:13px;line-height:1.5;color:#b9c4c5;text-shadow:0 2px 5px black}#crosshair{position:fixed;left:50%;top:50%;font-size:28px;transform:translate(-50%,-50%);text-shadow:0 0 2px #000;color:#fff}#prompt{position:fixed;top:59%;left:50%;transform:translateX(-50%);padding:10px 18px;border:1px solid #c6b18d90;background:#081013d9;max-width:90%;text-align:center;font-size:14px;display:none}#subtitle{position:fixed;bottom:115px;left:50%;transform:translateX(-50%);width:min(800px,85%);text-align:center;font-size:var(--subsize);line-height:1.5;background:#040809dc;padding:12px 20px;display:none}#status{position:fixed;bottom:40px;left:32px;right:32px;display:flex;gap:25px;font-size:10px;letter-spacing:2px;color:#afbab7}#status span:last-child{margin-left:auto}#desktopHelp{position:fixed;bottom:17px;left:32px;font-size:10px;color:#869594;letter-spacing:1px}#toast{position:fixed;right:25px;top:100px;font-size:13px;background:#10201fdc;padding:12px;display:none;max-width:300px}#overlay{position:fixed;inset:0;background:linear-gradient(90deg,#050b10f5,#081017dc 60%,#02050788);display:flex;align-items:center;justify-content:center;padding:24px;overflow:auto;touch-action:pan-y}#panel{width:min(840px,100%);max-height:94vh;overflow:auto;padding:30px 40px;border-left:1px solid #a99c7255;background:#080f14a6;scrollbar-width:thin;touch-action:pan-y}#panel.home{max-width:900px;background:transparent}h1{font:normal clamp(37px,6vw,74px)/1.03 Georgia,serif;letter-spacing:-2px;margin:24px 0;color:#eee8db}h3{font:normal 29px Georgia,serif;margin:18px 0;color:#e4d8bf}p{line-height:1.7;color:#bcc6c7;white-space:pre-line}small{color:#9aa9a9;line-height:1.6}.intro{max-width:530px;font-size:17px;margin:26px 0}.line{width:70px;height:1px;background:#b99f73;margin:25px 0}.buttons{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.setting{border-bottom:1px solid #455055;padding:10px 0;display:flex;flex-direction:column;gap:10px}input[type=range]{width:100%;accent-color:#ceb788;min-height:30px}select,input[type=text],input[type=number]{background:#152027;color:#fff;border:1px solid #718181;border-radius:3px;padding:12px;max-width:100%}input[type=checkbox]{width:20px;height:20px;accent-color:#cfb583}.paper{padding:20px 24px;background:#d4cbb5;color:#262c2c;border-left:4px solid #8b7955;font-family:Georgia,serif;line-height:1.8;white-space:pre-line}.paper p{color:#263030}.readout{padding:18px;background:#030a0d;border:1px solid #586565;font-family:monospace;color:#bcdfc9;font-size:22px;min-height:64px;letter-spacing:2px}.note{border-left:2px solid #baa57e;padding:4px 18px;font-size:14px}details{padding:15px 0;border-bottom:1px solid #354449}summary{cursor:pointer;line-height:1.5}.map{font-family:monospace;font-size:13px;line-height:1.05;white-space:pre;color:#b5c6b9;letter-spacing:3px;background:#080d10;padding:15px;width:max-content}.badge{font-size:12px;border:1px solid #546666;padding:6px 10px;display:inline-block;margin-right:8px}.slot{display:flex;gap:10px;align-items:center;border-bottom:1px solid #394545;padding:14px 0;flex-wrap:wrap}.slot span{flex:1;min-width:180px}#touch{display:none;position:fixed;inset:0;pointer-events:none}#stick{position:absolute;bottom:66px;left:28px;width:130px;height:130px;border-radius:50%;border:1px solid #e1e4d64d;background:#14242645;pointer-events:auto;touch-action:none}#nub{position:absolute;left:43px;top:43px;width:44px;height:44px;border-radius:50%;background:#c1ccbc80}#touchActions{position:absolute;right:24px;bottom:70px;display:grid;grid-template-columns:repeat(2,70px);gap:9px;pointer-events:auto}#touchActions button{padding:8px 3px;font-size:12px;height:51px;background:#182729ba}#touchActions button.primary{background:#c6b18ddd}body.playing #overlay{display:none}body.menu #hud,body.menu #status,body.menu #desktopHelp,body.menu #objective,body.menu #crosshair{display:none}body.contrast #prompt{border:3px solid #fff;color:#fff;background:#000}body.touch #touch{display:block}body.touch #desktopHelp{display:none}body.menu #touch{display:none}@media(max-width:650px){#panel{padding:20px 17px}#overlay{padding:12px}h1{font-size:42px}.grid{grid-template-columns:1fr}#hud{left:18px;top:15px;right:16px}#objective{left:18px;top:88px;max-width:70%;font-size:12px}#location{font-size:20px}#status{left:18px;bottom:20px;font-size:9px;gap:14px}#status span:last-child{display:none}#subtitle{bottom:225px;font-size:var(--subsize);width:90%;padding:8px 12px}#toast{top:135px}#prompt{top:54%;font-size:12px;width:max-content}#stick{left:18px;width:115px;height:115px}#nub{left:36px;top:36px}#touchActions{right:16px}.map{font-size:10px;letter-spacing:2px}}@media(max-height:500px){#panel{max-height:95vh;padding:10px 25px}h1{font-size:35px;margin:10px 0}.intro{margin:10px 0}.line{margin:10px 0}#subtitle{bottom:70px;width:55%}#stick{bottom:35px}#touchActions{bottom:35px}#objective{top:74px}#desktopHelp{display:none}}

/* Button readability fix: works with both original and upgraded index.html. */
button:hover,button:focus-visible,button:active,
button.primary:hover,button.primary:focus-visible,button.primary:active,
button.selected:hover,button.selected:focus-visible,button.selected:active,
#wayfinder:hover,#wayfinder:focus-visible,#wayfinder:active,
#touchActions button:hover,#touchActions button:focus-visible,#touchActions button:active,
#touchActions button.primary:hover,#touchActions button.primary:focus-visible,#touchActions button.primary:active{
 background:#ffe1a3!important;color:#111111!important;border-color:#fff3d9!important;text-shadow:none!important;
}
button:hover *,button:focus-visible *,button:active *{color:inherit!important}
button:disabled,button:disabled:hover{background:#343c41!important;color:#d8dee1!important;opacity:1;cursor:default}
