@import url('./style.css');
/* Game gestures must not select interface text or open iPad copy/image callouts.
   Keep normal editing available in genuinely editable fields; never block touch
   events globally, since the joystick and matching cards use pointer gestures. */
html,body,body *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
body img{-webkit-user-drag:none}
body input:not([readonly]),body textarea:not([readonly]),body [contenteditable="true"]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}
:root{--pine:#193f35;--gold:#cfaf70;--paper:#f3f0e6;--muted:#71806f;font-family:Segoe UI,system-ui,sans-serif}
body{font:14px Segoe UI,system-ui,sans-serif;color:#214334;background:linear-gradient(#9ebfc9,#d7d9cb 42%,#e9d0a5)}button{border-radius:10px;border:1px solid #d8dfcf;padding:13px 18px;transition:background .18s,box-shadow .18s;background:#fffdf4;color:#244333}button:hover{background:#e6eddc;box-shadow:0 5px 18px #183c3218}button:focus-visible{outline:3px solid #d1a658;outline-offset:3px}.primary{background:#275a46;color:#fff8df;border:0;padding:16px 23px}.primary:hover{background:#347257}header{inset:23px 30px auto;align-items:center;z-index:8}.brand{font-size:36px;letter-spacing:7px;color:#fff5df}.brand small{font-size:8px;letter-spacing:3px}nav{padding:5px;background:#14392fe0;border:1px solid #e7d5a32b;backdrop-filter:blur(14px);border-radius:15px;gap:3px}nav button{background:transparent;border:0;color:#fff3d7;padding:11px 16px}nav button:hover{background:#ffffff18}nav span{display:inline-grid;place-items:center;margin-left:8px;font-size:10px;width:21px;height:21px;border-radius:50%;background:#d7b775;color:#1a3d2d}#hud{top:120px;left:30px;width:235px;border:1px solid #e0c38738;border-radius:15px;background:#183c32ed;color:#f6f1dc;backdrop-filter:blur(12px);padding:20px}#hud small{font-size:8px;color:#d6bc80}#hud h2{font-size:27px;margin:12px 0}#hud p{color:#c7d4bf;font-size:11px;line-height:1.7}#objective{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.track{background:#ffffff20;height:4px;margin-top:17px}.track i{background:linear-gradient(90deg,#be9653,#ead59c)}#missionTracker{position:absolute;top:120px;right:30px;width:255px;padding:20px;background:#faf7eaf0;border-top:3px solid #ba9657;border-radius:15px;box-shadow:0 7px 30px #1a382a20}#missionTracker small{font-size:8px;letter-spacing:2px;color:#9b7b44}#missionTracker h3{font-size:24px;margin:10px 0}#missionTracker p{font-size:12px;color:#71806d;line-height:1.65}#trackBtn{padding:0;border:0;background:transparent;font-size:11px;color:#386c50;box-shadow:none}
#mapFrame{position:absolute;bottom:25px;right:30px;width:180px;background:#183c32e8;border:1px solid #d7bf8055;padding:12px;border-radius:15px;box-shadow:0 8px 35px #15372a33}.mapcaption{color:#e0c17b;font-size:11px;display:flex;gap:16px;margin-bottom:8px}.mapcaption span{font-size:8px;letter-spacing:2px;color:#e7e8d2}#map{position:static;display:block;width:154px;height:154px;border:0;border-radius:8px;box-shadow:none}footer{left:30px;bottom:25px;font-size:10px;color:#f8f0d5;background:#173c32c9;border:1px solid #ecdcad26;padding:11px 15px;border-radius:9px}#interact{padding:15px 24px;border:1px solid #ccac68;background:#fff4d5;color:#244633;border-radius:11px}#toast{background:#163e34f5;border:1px solid #d9bf7866;border-radius:11px;padding:15px 24px;font-size:12px;box-shadow:0 10px 35px #183a2a30}.marker{font-size:10px;font-weight:600;padding:7px 10px;border:1px solid #b8a57488;border-radius:6px;background:#f8f2dfed}.marker.done{background:#2f6049}
#panel,#overlay{background:#09272566;backdrop-filter:blur(6px)}section{width:min(880px,94vw);padding:38px;border:1px solid #fffff499;border-radius:22px;background:var(--paper);box-shadow:0 24px 100px #102f2855;animation:panel-in .22s ease-out}#panel section:before{content:'NAHLA / EXPEDITION';display:block;padding-bottom:17px;margin-bottom:24px;border-bottom:1px solid #d3ddca;color:#8a9b85;font-size:8px;letter-spacing:3px}#panelKicker{color:#a3844f;font-size:9px}#panelTitle{font-size:37px;max-width:92%;letter-spacing:-.5px}p{line-height:1.75}.lead{font-size:16px;color:#657b69;line-height:1.7}.close{right:16px;top:14px;padding:8px 13px;font-size:17px}.card{background:#e5e9d9;border-left:3px solid #bb9a57;border-radius:0 10px 10px 0;padding:17px 20px;margin:20px 0}.feedback{font-size:13px;color:#8a6b34;line-height:1.7;min-height:25px}.success-card{padding:17px 20px;background:#e0ecd5;border:1px solid #9bb68e;border-radius:11px;color:#376142;font-size:14px}#panelBody>button{margin:8px 8px 0 0}.choices{gap:10px;margin:24px 0}.choices button{padding:17px 20px;background:#fffcf4}.stationlist,.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.stationlist button,.menu-grid button{text-align:left;padding:20px}.waterrow{padding:13px;background:#e1e8d8;border-radius:10px}.waterrow span{flex:1}.waterrow b{min-width:30px;font-size:21px;text-align:center}.note{font-size:12px;color:#788773}.summary{color:#376849}
#overlay{justify-content:flex-start;padding:30px 7vw;background:linear-gradient(90deg,#102e2ae8,#102e2a88 58%,#102e2a18);backdrop-filter:blur(2px)}#intro{width:min(550px,95vw);border:0;background:none;color:#fff5d9;box-shadow:none;padding:25px 0;max-height:95dvh}.edition{font-size:9px;color:#d8c18d;letter-spacing:2px;line-height:1.8}h1{font:400 clamp(46px,5.2vw,76px)/1.04 Georgia,serif;letter-spacing:-2px;margin:24px 0}h1 em{color:#e4c788;font-weight:400}#intro .lead{color:#d4dfc9;max-width:440px;font-size:17px}.chips{gap:8px;margin:22px 0}.chips span{font-size:9px;letter-spacing:.4px;background:transparent;border:1px solid #f7e7b738;border-radius:20px;padding:8px 12px;color:#ebd7a8}.intro-mission{border-left:2px solid #c8ab67;padding-left:18px;margin:24px 0;max-width:460px}.intro-mission b{font-size:13px}.intro-mission p{font-size:12px;line-height:1.7;color:#bbcdb8;margin:7px 0}#start{width:100%;max-width:460px;text-align:left;background:#dcc18a;color:#213f2e;border:0;padding:18px 22px;font-size:14px}#start span{float:right}#start:hover{background:#f1dca8}#reset{display:block;margin:0;background:none;border:0;color:#bbc9b4;text-decoration:underline;font-size:10px;padding:14px 0}details{font-size:11px;color:#bfceb8;max-width:460px}summary{cursor:pointer;padding:8px 0;color:#e0d0a8}details p{font-size:11px;line-height:1.8}
.quest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:26px 0}.quest-card{padding:23px 19px;border:1px solid #d7e0cb;border-radius:14px;background:#fffcf4}.quest-number{font:52px Georgia,serif;color:#e4e6d4;margin-bottom:22px}.quest-card small{font-size:8px;letter-spacing:1px;color:#a08046}.quest-card h3{font-size:25px;min-height:60px}.quest-card p{font-size:12px;color:#71816b;min-height:110px}.quest-card button{width:100%;font-size:11px;padding:11px 8px}.inventory-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:25px 0}.inventory-card{padding:24px;border:1px solid #cedcc3;border-radius:14px;background:#fdfbef}.inventory-card.empty{background:#e9ecde;opacity:.7}.item-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:15px;background:#e7e6cf;color:#95753d;font:34px Georgia,serif;margin-bottom:16px}.inventory-card small{font-size:8px;color:#7a8b70}.inventory-card h3{margin:8px 0}.inventory-card p{font-size:12px;color:#78846f}.inventory-card button{font-size:11px}.requirements{display:flex;gap:12px;margin:24px 0;flex-wrap:wrap}.requirement{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;flex:1;min-width:230px;padding:14px;border:1px solid #d1ddc5;border-radius:12px;background:#fffcf2}.requirement .item-icon{margin:0;width:42px;height:42px;font-size:25px}.requirement b{font-size:13px}.requirement>span:last-child{font-size:12px;color:#75896e}
.sort-board{display:grid;grid-template-columns:1fr 1.35fr;gap:24px;padding:24px;margin:25px 0;background:#e5ead8;border:1px solid #d3ddc6;border-radius:16px}.token-bank{display:flex;flex-direction:column;gap:10px;justify-content:center}.drag-token{padding:16px;text-align:left;border:1px solid #d6c18c;background:#fff4d4;color:#70532a;user-select:none;cursor:grab;box-shadow:0 3px 9px #7a653014}.drag-token:before{content:'⠿';margin-right:8px;color:#baa16e}.drag-token.selected{border:2px solid #a98640;background:#efdaa6}.drop-zones{display:grid;gap:10px}.drop-zone{display:flex;align-items:center;gap:14px;background:#ffffff66;border:1px dashed #a9b99b;text-align:left;padding:15px}.drop-index{font:27px Georgia,serif;color:#9eaf90}.drop-zone b{display:block;font-size:12px}.drop-value{display:block;font-size:11px;color:#8a9a7f;margin-top:5px}.drop-zone.filled{background:#d9e6ca;border-style:solid;border-color:#a2bc91}.drop-zone.filled .drop-value{font-weight:600;color:#3a683e}.drag-ghost{position:fixed;z-index:1000;transform:translate(-50%,-50%) rotate(-3deg);background:#fff0c7;border:1px solid #b7954e;border-radius:10px;padding:15px;pointer-events:none;box-shadow:0 10px 30px #173b2b44;max-width:250px;font-size:13px}
.previewing #missionTracker,.previewing footer{display:none}.previewing #hud{width:180px}.previewing #mapFrame{width:140px}.previewing #map{width:114px;height:114px}.previewing .mapcaption span{font-size:6px}@keyframes panel-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media(pointer:coarse){#mapFrame{bottom:112px}#touch button{background:#183c32cc;color:#fff4d2;border:1px solid #e6ce9255;backdrop-filter:blur(8px)}}
@media(max-width:850px){header{inset:15px 17px auto}.brand{font-size:28px;letter-spacing:4px}.brand small{font-size:7px;letter-spacing:1.5px}nav{max-width:none;gap:0}nav button{padding:9px 10px;font-size:11px}nav span{width:17px;height:17px;font-size:8px;margin-left:4px}#hud{top:98px;left:17px;width:195px;padding:15px}#hud h2{font-size:23px}#missionTracker{right:17px;top:98px;width:212px;padding:15px}#missionTracker h3{font-size:21px}#mapFrame{right:17px;width:150px}#map{width:124px;height:124px}.mapcaption span{font-size:7px}.quest-grid{grid-template-columns:1fr}.quest-card{display:grid;grid-template-columns:55px 1fr;column-gap:15px}.quest-number{grid-row:1/5;font-size:38px;margin:0}.quest-card h3{min-height:0;font-size:24px}.quest-card p{min-height:0}.quest-card button{width:auto;justify-self:start}.sort-board{gap:12px;padding:15px}section{padding:28px}#panelTitle{font-size:31px}#overlay{padding:20px 7vw}h1{font-size:56px}#intro .lead{font-size:15px}footer{left:17px;max-width:65vw;line-height:1.7}}
@media(max-width:570px){header{inset:12px}.brand{font-size:23px}.brand small{font-size:6px}nav{padding:3px}nav button{font-size:10px;padding:9px 8px}nav span{display:none}#hud{top:88px;left:12px;width:155px;padding:12px}#hud h2{font-size:21px}#hud #objective{display:none}#hud small{font-size:7px}#hud #score{font-size:10px}#missionTracker{top:88px;right:12px;width:155px;padding:12px}#missionTracker h3{font-size:18px}#missionTracker p{font-size:10px}#missionTracker small{font-size:7px}#trackBtn{font-size:9px}#mapFrame{right:12px;padding:8px;width:126px}#map{width:108px;height:108px}.mapcaption{font-size:9px;gap:8px}.mapcaption span{font-size:6px}section{padding:25px 20px;border-radius:16px}#panelTitle{font-size:28px}.inventory-grid,.menu-grid,.stationlist{grid-template-columns:1fr}.sort-board{grid-template-columns:1fr}.token-bank{flex-direction:row;flex-wrap:wrap}.drag-token{flex:1;min-width:100px;padding:12px;font-size:11px}.drop-zone{min-height:66px}.lead{font-size:14px}.requirement{min-width:180px}h1{font-size:46px}.edition{font-size:8px}.intro-mission{margin:16px 0}#intro .lead{font-size:14px}#intro .chips{margin:16px 0}#toast{top:75px;max-width:90vw;width:90vw}.quest-card{padding:17px}.previewing #hud{width:145px}.previewing #mapFrame{width:126px}.previewing #map{width:108px;height:108px}}
@media(max-height:550px){#hud,#missionTracker{top:85px;padding:12px}#hud #objective{display:none}#missionTracker p{margin:6px 0}#mapFrame{width:112px;bottom:92px}#map{width:86px;height:86px}.mapcaption{display:none}section{max-height:94dvh}#intro{max-height:95dvh;padding:10px 0}h1{font-size:38px;margin:12px 0}#intro .lead{font-size:13px}.intro-mission{margin:12px 0}.intro-mission p{font-size:11px}#intro .chips{margin:12px 0}#start{padding:13px}#interact{bottom:75px}header{top:10px}}

.touch-actions{display:flex;gap:8px;align-items:end}.touch-actions button{font-size:12px!important;padding:10px!important;min-width:60px!important}#jump{margin-right:0}
