@import url('/fonts.css');
:root{--ink:#071719;--panel:#0a2025f2;--mint:#b6f7c3;--muted:#92a6a5;--line:#ffffff22;--orange:#ffc487;--white:#f3f5de}*{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--white);font-family:Arial,"Nirmala UI",sans-serif;overflow:hidden}button,select,input{font:inherit}button,select{color:inherit;border:1px solid var(--line);background:#102c30;padding:12px 17px;border-radius:4px;cursor:pointer}button:hover{border-color:var(--mint);background:#254442}button:active{transform:translateY(1px)}button:disabled{opacity:.35;cursor:not-allowed}button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid var(--orange);outline-offset:4px}a{color:inherit;text-decoration:none}#world{position:fixed;inset:0;width:100%;height:100%;touch-action:none}.vignette{position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,#061619dd,transparent 70%),linear-gradient(0deg,#06161988,transparent 35%)}header{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:25px 36px;z-index:4;pointer-events:none}.brand,.toolbar{pointer-events:auto}.brand{font-size:26px;letter-spacing:-2px;font-weight:900}.brand span{color:var(--mint)}.brand small{display:block;font-size:9px;letter-spacing:2.4px;margin-top:8px;color:var(--muted)}.toolbar{display:flex;gap:8px}.toolbar button,.toolbar select{padding:9px 12px;background:#071719aa;font-size:12px}#ui{position:fixed;inset:0;z-index:3;pointer-events:none;display:flex;align-items:center;padding:100px 7vw 65px}.hero{max-width:670px;pointer-events:auto;animation:enter .8s ease both}.eyebrow{color:var(--mint);font-size:11px;letter-spacing:3px;line-height:2;text-transform:uppercase}.hero h1{font-size:clamp(60px,8vw,120px);line-height:.83;letter-spacing:-5px;margin:23px 0 12px;font-weight:900}.hero h1 span{display:block;color:var(--mint)}.subtitle{font-size:clamp(19px,2vw,28px);letter-spacing:4px;color:var(--orange);margin:24px 0}.hero p{max-width:450px;color:#c2cec9;line-height:1.8;font-size:15px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:27px}.primary{background:var(--mint);color:#092329;font-weight:700;border-color:var(--mint);padding:15px 25px}.primary:hover{background:#d8ffdf;color:#092329}.tagrow{display:flex;gap:20px;margin-top:35px;font-size:10px;color:var(--muted);letter-spacing:1.6px}.herofooter{position:fixed;bottom:22px;left:36px;font-size:10px;letter-spacing:2px;color:var(--muted)}.coordinates{position:fixed;right:36px;bottom:24px;text-align:right;font:11px monospace;color:var(--orange);line-height:1.7}.modalwrap{position:fixed;inset:0;background:#041013ab;display:flex;align-items:center;justify-content:center;padding:85px 20px 25px;pointer-events:auto;backdrop-filter:blur(7px)}.panel{width:min(920px,100%);max-height:calc(100dvh - 120px);overflow:auto;background:var(--panel);border:1px solid #71989255;padding:32px;box-shadow:0 25px 80px #0007;border-radius:8px;animation:enter .3s ease}.panel h1,.panel h2{margin:8px 0 18px;font-size:clamp(26px,3vw,40px);letter-spacing:-1px}.panel p{color:#c2cec9;line-height:1.65}.panel .speaker{color:var(--orange);font-size:12px;letter-spacing:2px}.dialogue{font-size:18px!important;max-width:740px;border-left:2px solid var(--mint);padding-left:18px}.split{display:grid;grid-template-columns:1fr 1fr;gap:22px}.evidence{border:1px solid var(--line);background:#173139;padding:15px;margin-bottom:10px;border-radius:4px;text-align:left;width:100%}.evidence.selected{border-color:var(--mint);background:#264b43}.evidence small{display:block;color:var(--muted);line-height:1.5;margin-top:8px}.evidence strong{font-size:14px}.choices{display:grid;gap:10px}.choice{padding:17px;text-align:left;display:flex;gap:14px;align-items:flex-start;background:#0b2328}.choice .glyph{font-size:27px;color:var(--mint)}.choice strong{display:block;font-size:15px}.choice small{display:block;line-height:1.5;color:#9fb7b1;margin-top:7px}.choice .cost{margin-left:auto;color:var(--orange);white-space:nowrap}.caption{font-size:11px!important;color:var(--muted)!important}.close{float:right}.statgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stat{border:1px solid var(--line);padding:18px}.stat b{font-size:29px;display:block;color:var(--mint);margin-bottom:5px}.check{padding:10px;border-bottom:1px solid var(--line);font-size:14px}.pass{color:var(--mint)}.fail{color:#ff9f89}.budgethead{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.budgethead b{font-size:30px;color:var(--mint)}#hud{position:fixed;inset:0;pointer-events:none;z-index:2}#hud button{pointer-events:auto}.missionbox{position:absolute;top:105px;left:30px;max-width:290px;background:linear-gradient(90deg,#071719e8,#07171950);padding:16px}.missionbox small{font:10px monospace;color:var(--orange);letter-spacing:2px}.missionbox h2{font-size:20px;margin:10px 0}.missionbox p{font-size:12px;color:#a9c3b8;line-height:1.6}.missionbox button{padding:8px 12px;font-size:11px}.meters{position:absolute;top:106px;right:30px;width:180px;background:#071719bf;padding:14px}.meter{margin-bottom:14px}.meter:last-child{margin:0}.meter label{font-size:10px;display:flex;justify-content:space-between;letter-spacing:1px}.meter .track{height:3px;background:#ffffff22;margin-top:8px}.meter .fill{height:100%;background:var(--mint);transition:width 1s}.meter:first-child .fill{background:var(--orange)}#corebar{position:absolute;bottom:72px;left:30px;display:flex;gap:9px}.core{width:28px;height:28px;border:1px solid #9cb8ae66;display:grid;place-items:center;transform:rotate(45deg);background:#071719aa}.core span{transform:rotate(-45deg);font:11px monospace}.core.active{background:var(--mint);color:#08282b;box-shadow:0 0 20px #a7f1a477}.bottom{position:absolute;bottom:0;width:100%;display:flex;align-items:center;gap:14px;padding:18px 30px;background:linear-gradient(0deg,#061719,transparent);font-size:11px;color:#b9c9bf}.bottom button{font-size:11px;padding:7px 11px}.bottom #fps{margin-left:auto;font:11px monospace;color:var(--mint)}#prompt{position:absolute;bottom:115px;left:50%;transform:translateX(-50%);background:#071719e8;border:1px solid var(--mint);padding:12px 20px;white-space:nowrap;font-size:13px;pointer-events:auto;cursor:pointer}#prompt:empty{display:none}#toast{position:fixed;bottom:90px;left:50%;transform:translateX(-50%);z-index:8;background:var(--mint);color:#082629;padding:13px 20px;border-radius:4px;max-width:80%;opacity:0;pointer-events:none;transition:opacity .2s}#toast.show{opacity:1}.touch{display:none}.settingsrow{display:flex;align-items:center;justify-content:space-between;margin:20px 0;gap:18px}.settingsrow input{accent-color:var(--mint)}.endtitle{font-size:clamp(35px,5vw,65px)!important;color:var(--mint)}.ledgerrow{padding:14px 0;border-bottom:1px solid var(--line)}.ledgerrow strong{color:var(--mint)}.ledgerrow p{margin:6px 0;font-size:13px}.roofs{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.roof{min-height:135px;background:repeating-linear-gradient(90deg,#184445 0 22px,#102b31 22px 25px);border:1px solid #70968c;padding:15px;display:flex;align-items:flex-end;font-size:12px}.roof.shaded{background:linear-gradient(140deg,#020b0fd9 60%,transparent 61%),repeating-linear-gradient(90deg,#184445 0 22px,#102b31 22px 25px)}.choice.selected{border-color:var(--mint);background:#21483d}.choice.selected::before{content:'✓';color:var(--mint)}.textmode #world{opacity:.1}.textmode .vignette{background:#071719aa}[dir=rtl] .dialogue{border-left:0;border-right:2px solid var(--mint);padding-right:18px}.kbd{border:1px solid #ffffff33;padding:2px 5px;border-radius:3px} @keyframes enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(max-width:760px){header{padding:18px}.brand small{display:none}.toolbar{gap:5px}.toolbar button,.toolbar select{padding:8px;font-size:10px}#ui{padding:90px 25px}.hero h1{font-size:73px}.hero p{font-size:13px}.tagrow{gap:12px;font-size:8px}.herofooter{left:25px;font-size:8px;max-width:55%;line-height:1.7}.coordinates{right:20px;font-size:9px}.split{grid-template-columns:1fr}.panel{padding:22px;max-height:calc(100dvh - 100px)}.modalwrap{padding-top:75px}.missionbox{top:73px;left:12px;max-width:210px;padding:10px}.missionbox h2{font-size:16px}.missionbox p{display:none}.meters{top:75px;right:12px;width:110px;padding:10px}.meter label{font-size:8px}.bottom{padding:14px 12px;gap:7px}.bottom #controls{display:none}.touch{display:flex;position:absolute;bottom:105px;left:18px;right:18px;justify-content:space-between;align-items:flex-end}.dpad{display:grid;grid-template-columns:repeat(3,42px);gap:4px}.dpad button{padding:11px;background:#0b2328bb;touch-action:none}.dpad button:first-child{grid-column:2}.dpad button:nth-child(2){grid-column:1}.touch #interactTouch{border-radius:50%;width:55px;height:55px;background:#b6f7c3bb;color:#082629}#corebar{bottom:68px;left:15px}#prompt{bottom:220px;max-width:90%;white-space:normal;text-align:center}.statgrid{grid-template-columns:repeat(2,1fr)}.roofs{grid-template-columns:1fr}.roof{min-height:65px}}

/* Adventure interface: diegetic field HUD, third-person framing and cinematic assembly. */
:root{--mint:#b5e5db;--orange:#f5c57f;--ink:#0a1720;--panel:#0b1924f5}#world{cursor:grab}#world:active{cursor:grabbing}.vignette{background:radial-gradient(ellipse at center,transparent 40%,#05111b66 100%);mix-blend-mode:multiply}body:has(.hero) .vignette{background:linear-gradient(90deg,#071723ed,transparent 85%),linear-gradient(0deg,#05131daa,transparent 40%)}header{padding:24px 30px}.hero h1{font-size:clamp(62px,8vw,118px);text-shadow:0 4px 30px #0004}.hero .eyebrow{color:#f5c57f}.hero p{font-size:16px;max-width:440px;text-shadow:0 2px 12px #000}.subtitle{font-size:23px;letter-spacing:4px}.tagrow{letter-spacing:3px;line-height:2}.herofooter{color:#d3c5ab}.missionbox{top:103px;left:28px;max-width:320px;background:#0a1720c9;border-left:2px solid var(--orange);padding:16px 19px;backdrop-filter:blur(5px)}.missionbox h2{font-size:18px;letter-spacing:1px}.missionbox small{letter-spacing:1px;line-height:1.7}.missionbox p{display:block;font-size:13px;color:#e0d2ba;margin-bottom:6px}.meters{top:103px;right:28px;background:#0a1720c9;width:165px;border:1px solid #d5c8ad22;backdrop-filter:blur(5px)}.meter:nth-child(4) .fill{background:#e79669}#tasktrack{font:11px monospace;color:#bf94ff;margin-top:13px}#crosshair{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#fff9;font:15px monospace;text-shadow:0 0 4px #000}#navigation{position:absolute;top:90px;left:50%;transform:translateX(-50%);text-align:center;display:flex;flex-direction:column;gap:5px;color:#f5d5a0;text-shadow:0 2px 10px #000;max-width:280px}#navigation #bearing{font-size:22px}#navigation b{font-size:11px;letter-spacing:1px}#navigation small{font:11px monospace}#minimap{position:absolute;bottom:74px;left:28px;width:144px;height:144px;opacity:.9;border:1px solid #dbbe8844;border-radius:50%;box-shadow:0 4px 22px #0006}#corebar{left:auto;right:28px;bottom:75px;gap:13px}.stonebadge{position:relative;display:grid;place-items:center;width:34px;height:42px;color:var(--stone);opacity:.3}.stonebadge span{font-size:30px;text-shadow:0 0 15px var(--stone)}.stonebadge small{font:9px monospace;position:absolute;bottom:-4px;color:#fff}.stonebadge.assembled{opacity:1}.stonebadge.carrying{opacity:1;animation:stonePulse 1.2s ease infinite}#carrylabel{position:absolute;right:28px;bottom:136px;font:10px monospace;letter-spacing:1px;color:#f0d19e;background:#0a1720bb;padding:8px}#carrylabel:empty{display:none}#radio{position:absolute;bottom:93px;left:50%;transform:translateX(-50%);width:min(570px,calc(100% - 400px));background:#0a1720de;border-top:1px solid #f0c48d66;padding:15px 20px;color:#e5decb;font-size:13px;line-height:1.6;opacity:0;transition:opacity .3s;backdrop-filter:blur(4px)}#radio.visible{opacity:1}#prompt{display:block;opacity:0;pointer-events:none;bottom:195px;padding:14px 19px;max-width:580px;white-space:normal;text-align:center;background:#0a1720e5;border:1px solid #e0bf8566;border-radius:3px}#prompt.visible{opacity:1}.worktrack{height:3px;width:100%;background:#f5cd8122;margin-top:10px}.worktrack #workfill{height:100%;width:0;background:#f5cf87;box-shadow:0 0 8px #f5cf87}#damage{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse,transparent 45%,#c6381688);opacity:0;z-index:1}#cinematic{position:fixed;inset:0;pointer-events:none;z-index:5;display:none;border-top:75px solid #030a12;border-bottom:90px solid #030a12}#cinematic.on{display:block}#cinematic #cineTitle{position:absolute;bottom:-48px;width:100%;text-align:center;font-size:17px;letter-spacing:5px;color:#f1d8aa}#cinematic #cineSubtitle{position:absolute;bottom:-73px;width:100%;text-align:center;font-size:10px;letter-spacing:2px;color:#8da9ab}#cinematic.intro{border-top-width:35px;border-bottom-width:65px}#cinematic.intro #cineTitle{bottom:-33px;font-size:11px;letter-spacing:2px}#cinematic.intro #cineSubtitle{bottom:-53px;font-size:9px}.bottom{background:linear-gradient(0deg,#08131cf0,transparent);padding:19px 28px}.bottom #controls{font-size:10px;letter-spacing:.2px}.panel{border-radius:3px;background:#0b1924f5}.panel h2{font-size:32px}.primary{background:#ead2a4;border-color:#ead2a4}.primary:hover{background:#f9e6c1}#bigmap{width:100%;max-height:360px;object-fit:contain;border:1px solid #ffffff22}.waypoints{display:flex;flex-wrap:wrap;gap:10px;font-size:11px;color:#e6c998}.waypoints span{padding:9px;border:1px solid #e6c99833} .textmode .touch,.textmode #navigation,.textmode #crosshair{display:none}.touchactions{display:grid;grid-template-columns:repeat(2,40px);gap:5px}.touchactions button{padding:8px;background:#0b202ccc;touch-action:none}.touchactions #interactTouch{grid-column:2;grid-row:2/4;width:48px;height:66px;border-radius:6px;background:#ead2a4df}.touch{z-index:2}.coordinates{color:#ead2a4}@keyframes stonePulse{50%{filter:brightness(1.7);transform:translateY(-3px)}}@media(max-width:760px){header{padding:16px}.hero h1{font-size:73px}.hero p{font-size:14px}.hero .subtitle{font-size:17px;line-height:1.6;letter-spacing:2px}.tagrow{font-size:9px}.missionbox{top:74px;left:12px;max-width:190px;padding:10px 12px}.missionbox h2{font-size:13px;line-height:1.4}.missionbox small{font-size:8px;letter-spacing:.4px}.missionbox p{font-size:10px;line-height:1.4;max-width:170px}.meters{top:74px;right:12px;width:106px;padding:9px}.meter{margin-bottom:10px}.meter label{font-size:8px}#navigation{top:230px;max-width:210px}#navigation b{font-size:10px}#navigation small{font-size:10px}#minimap{width:86px;height:86px;left:14px;bottom:76px}#corebar{right:15px;bottom:77px;gap:5px}.stonebadge{width:25px;height:28px}.stonebadge span{font-size:24px}#carrylabel{right:15px;bottom:118px;max-width:150px;font-size:8px;padding:6px}#radio{width:calc(100% - 32px);bottom:250px;font-size:11px;padding:12px}#prompt{bottom:196px;width:calc(100% - 150px);min-width:210px;font-size:11px;max-width:300px;padding:10px} .touch{bottom:162px;left:14px;right:14px}.dpad{grid-template-columns:repeat(3,35px)}.dpad button{padding:9px 5px} .touchactions{grid-template-columns:repeat(2,34px)}.touchactions button{padding:8px 3px;font-size:11px}.touchactions #interactTouch{width:42px;height:60px}.bottom{padding:16px 12px}.bottom button{font-size:9px}#cinematic{border-top-width:45px;border-bottom-width:65px}#cinematic #cineTitle{font-size:11px;letter-spacing:3px;bottom:-35px}#cinematic #cineSubtitle{font-size:8px;bottom:-54px}.panel .settingsrow{flex-wrap:wrap}.statgrid{grid-template-columns:repeat(3,1fr)}.stat{padding:12px}.stat b{font-size:24px}.stat{font-size:9px}}

body:has(#cinematic.on) #prompt,body:has(#cinematic.on) #navigation,body:has(#cinematic.on) .touch,body:has(#cinematic.on) #radio,body:has(#cinematic.on) header,body:has(#cinematic.on) .bottom{visibility:hidden}body:has(#cinematic.on) .missionbox,body:has(#cinematic.on) .meters{opacity:.35}body[data-screen=ending] #prompt,body[data-screen=ending] #navigation,body[data-screen=ending] .touch,body[data-screen=ending] #radio{visibility:hidden}

.panel{overflow-x:hidden;overflow-wrap:anywhere}.settingsrow{min-width:0}.settingsrow select{max-width:100%;text-overflow:ellipsis}.bottom{padding-bottom:max(16px,env(safe-area-inset-bottom))}@media(max-width:760px){.settingsrow select{width:100%;min-width:0}.panel h2{font-size:26px}.touch{bottom:calc(162px + env(safe-area-inset-bottom))}}

/* V3: explicit task guidance and district progression */
#locationlabel{font:9px monospace;letter-spacing:1px;color:#87c9dd;margin-bottom:10px}.missionbox{max-width:265px;background:#101c25e8}.missionbox h2{font-size:18px;line-height:1.35}.missionbox p{margin-bottom:12px;color:#f0ce8f}#queststeps{border-top:1px solid #ffffff20;padding-top:10px;display:grid;gap:8px}.queststep{display:flex;gap:9px;font-size:11px;line-height:1.4;color:#b4c4cb}.queststep span{color:#e7c38b}.queststep.done{color:#6ead97}.queststep.done span{color:#74c6a1}#navigation{top:104px;left:50%;transform:translateX(-50%);width:480px;max-width:480px;background:#0b1723e8;border-left:2px solid #e7c58c;padding:14px 17px;display:grid;grid-template-columns:26px 1fr 50px;gap:8px;align-items:center;text-align:left}#navigation #bearing{font-size:23px;color:#ecd29e;display:block}#navigation b{font-size:14px;line-height:1.4}#navigation small{font-size:12px;text-align:right;color:#e8c285}#taskhelp{grid-column:1/4;font-size:12px;line-height:1.6;color:#bfcfd7;margin:3px 0 0}#unlock{position:fixed;z-index:7;top:34%;left:50%;transform:translate(-50%,-20px);background:#0e2432ee;border:1px solid #91d5df;padding:22px 32px;font-size:16px;letter-spacing:2px;max-width:85%;text-align:center;opacity:0;pointer-events:none;transition:opacity .4s,transform .4s}#unlock.visible{opacity:1;transform:translate(-50%,0)}body:has(#cinematic.on) #hud{opacity:.15}body:has(#cinematic.on) #queststeps{display:none}.meters{width:165px}.hero p{max-width:500px}#cinematic #cineSubtitle{font-size:11px;letter-spacing:1.6px}
@media(max-width:760px){.missionbox{max-width:190px}.missionbox h2{font-size:12px;margin:8px 0}.missionbox p{font-size:10px;margin-bottom:8px}#locationlabel{font-size:7px;letter-spacing:.2px;margin-bottom:6px}#queststeps{gap:4px;padding-top:6px;max-height:55px;overflow:hidden}.queststep{font-size:9px}.queststep.done{display:none}.meters{width:100px}#navigation{top:258px;width:calc(100% - 28px);max-width:450px;padding:10px 12px;grid-template-columns:20px 1fr 42px;gap:5px}#navigation b{font-size:11px}#navigation small{font-size:10px}#taskhelp{font-size:10px;line-height:1.45}#navigation #bearing{font-size:18px}#prompt{bottom:235px;width:calc(100% - 40px);max-width:380px;font-size:10px}#radio{bottom:325px;font-size:10px;max-height:90px;overflow:auto}.touch{bottom:145px}#unlock{font-size:12px;padding:16px}#cinematic #cineSubtitle{font-size:9px}}
@media(max-height:600px){#queststeps{display:none}.missionbox p{display:none}#navigation{top:77px}#taskhelp{font-size:10px}.touch{bottom:78px}#prompt{bottom:168px}#radio{bottom:208px}}
@media(max-width:760px) and (min-height:601px){.missionbox{max-height:174px;overflow:hidden}}
