:root{color-scheme:dark;font-family:system-ui,sans-serif;color:#f7eed9;background:#1d3b34}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer;background:#1e4036;color:#f6e8cc;border:1px solid #71917c;border-radius:8px;padding:10px 15px}button:hover{background:#385c47}button:disabled{opacity:.4;cursor:default}button:focus-visible{outline:3px solid #efd59a;outline-offset:2px}a{color:#dfc58d}#world{position:fixed;inset:0;width:100%;height:100%;touch-action:none}#hud{position:fixed;inset:0 0 auto;display:flex;justify-content:space-between;align-items:start;gap:20px;padding:22px 28px;background:linear-gradient(#102b2bea,transparent);pointer-events:none}#hud nav{display:flex;gap:8px;pointer-events:auto;flex-wrap:wrap}h1{font:32px Georgia,serif;margin:6px 0}small{letter-spacing:2px;color:#e1ca95}#chapter{color:#c7d6c8;font-size:13px}#objective{position:fixed;left:26px;top:128px;width:285px;padding:18px;background:#14382ddd;border:1px solid #73876b;border-radius:12px;pointer-events:none}#objective strong{display:block;margin:6px 0;font:21px Georgia,serif}#objective p{margin:7px 0;font-size:13px;line-height:1.5;color:#d6dece}#objective .collars{letter-spacing:4px;color:#e8ca79}#toast{position:fixed;top:115px;left:50%;transform:translateX(-50%);max-width:500px;background:#18382eea;padding:12px 22px;border-radius:12px;opacity:0;transition:opacity .2s;pointer-events:none}#toast.on{opacity:1}#controls{position:fixed;bottom:0;left:0;right:0;padding:12px;text-align:center;background:#14352edc;font-size:12px;pointer-events:none}#interact{position:fixed;bottom:55px;left:50%;transform:translateX(-50%);max-width:650px;background:#e1c68b;color:#163b32;border:2px solid #f1e4b6;font-weight:bold;box-shadow:0 5px 28px #0a292777}#touch{display:none;position:fixed;bottom:60px;left:20px;text-align:center}#touch button{width:45px;padding:12px;touch-action:none}#touch span{display:block}dialog{color:#f7eed9;border:1px solid #b7a779;background:#112f2c;border-radius:18px;box-shadow:0 25px 100px #001a17aa}dialog::backdrop{background:#09241bad;backdrop-filter:blur(3px)}#panel{width:min(1100px,94vw);max-height:88vh;padding:25px}#panel>header{display:flex;align-items:center;justify-content:space-between;position:sticky;top:-25px;padding:12px 0;background:#112f2c;z-index:2}h2{font:32px Georgia,serif;margin:8px 0 18px}h3{font:23px Georgia,serif;margin:8px 0}p{line-height:1.6}#dialogue{width:min(1100px,95vw);margin:auto auto 35px;padding:20px}#dialogueActions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap;margin-top:16px}#speech .cx-dialogue-card{max-height:55vh;overflow:auto}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:15px}.card{border:1px solid #4c7060;background:#1d4036;padding:20px;border-radius:12px;display:flex;flex-direction:column;gap:10px}.card img{height:170px;max-width:100%;object-fit:contain}.card p{font-size:13px;margin:0}.card small{font-size:11px}.card button{margin-top:auto}.actions{display:flex;gap:8px;flex-wrap:wrap}.card input{width:65px;background:#14392d;color:inherit;border:1px solid #8da48b;border-radius:5px;padding:8px}.muted{color:#b7cdc2;font-size:13px}.search{display:flex;gap:12px;margin:16px 0;flex-wrap:wrap}.search input,.search select{background:#254c3f;color:inherit;border:1px solid #9bb095;border-radius:8px;padding:12px;flex:1}.map-wrap{overflow:auto;max-height:60vh;border:1px solid #6a8473;border-radius:12px;background:radial-gradient(ellipse at 30% 30%,#425d48,#152c2d)}.map-wrap svg{width:1400px;height:750px}.map-wrap text{font-size:12px;fill:#f4e5c5;pointer-events:none}.map-wrap .zone{cursor:pointer}.map-wrap .zone:hover circle{stroke-width:5}.map-wrap line{stroke:#b69e6c;stroke-width:2;stroke-dasharray:5 5}.progress{height:7px;border-radius:8px;background:#112e28;overflow:hidden}.progress span{display:block;height:100%;background:#aacb9c}.entry{border-bottom:1px solid #426859;padding:12px 0}.entry.done{color:#9bbea6}.credits{text-align:center;padding:40px 8%;line-height:2}.credits h2{font-size:50px}.service-banner{padding:20px;border-radius:14px;background:#3b5e4c;margin-bottom:20px}.hero-card img{height:250px}#loading{position:fixed;inset:0;background:#102f2a;display:grid;place-content:center;text-align:center;z-index:200}#loading h1{letter-spacing:14px;font-size:55px}kbd{border:1px solid #b5a785;border-radius:4px;padding:2px 6px}#saveImport{display:none}@media(max-width:700px){#hud{padding:12px;gap:8px;flex-direction:column}#hud h1{font-size:24px}#hud nav{gap:5px}#hud button{padding:7px;font-size:11px}#objective{top:140px;left:12px;width:220px;padding:12px;font-size:12px}#objective strong{font-size:17px}#controls{font-size:9px}#touch{display:block}#interact{bottom:45px;left:auto;right:12px;transform:none;max-width:190px;font-size:12px}#dialogue{margin-bottom:15px;padding:12px}#panel{padding:15px}.grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.card{padding:12px}.hero-card img{height:160px}.card img{height:120px}.map-wrap{max-height:48vh}.credits h2{font-size:32px}}

.starter-choice{display:block;height:110px;width:140px;object-fit:contain;margin:auto}#dialogueActions button:has(.starter-choice){flex:1;min-width:120px;max-width:240px}

.map-wrap svg{width:1400px;height:1400px}.map-wrap text{font-size:34px;paint-order:stroke;stroke:#15352e;stroke-width:7px;stroke-linejoin:round;fill:#fff0c8}.map-wrap line{stroke-width:7px;stroke-dasharray:14 10}.map-wrap .zone:hover circle{stroke-width:14px}

#radar{position:fixed;right:22px;bottom:60px;width:190px;height:168px;border:1px solid #9c9b70;border-radius:12px;cursor:crosshair}@media(max-width:700px){#radar{right:12px;bottom:125px;width:115px;height:102px}}

.collar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:25px 0}.collar-card{display:flex;flex-direction:column;align-items:center;gap:20px;padding:15px}.collar-card.locked{opacity:.25;filter:grayscale(1)}.necklace{display:block;position:relative;width:45px;height:50px;border:5px solid var(--collar);border-top-width:3px;border-radius:48%;box-shadow:inset 0 0 5px #fff3,0 0 15px #0004;margin:0 auto 10px}.necklace:after{content:"";position:absolute;bottom:-12px;left:9px;width:18px;height:18px;background:var(--collar);border:2px solid #e6d4aa;transform:rotate(45deg);box-shadow:0 3px 8px #0018}.necklace.large{transform:scale(2);margin:40px auto 60px}@media(max-width:500px){.collar-grid{grid-template-columns:repeat(2,1fr)}}

.pill-icon{width:100%;height:160px;display:block}.search label{display:flex;align-items:center;gap:8px}.search input[type=checkbox]{flex:none}
