:root{--ink:#fff;--muted:#d2dceb;--paper:#0b1420;--gold:#ffbd59;--line:#415574;--white:#1b3252;--font:Arial,Helvetica,system-ui,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:19px;line-height:1.5}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0}button:focus-visible,a:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}button:disabled{cursor:default;background:#46556b;color:#e2e8f0;border-color:#8797af}a{color:var(--gold)}header{max-width:1440px;margin:auto;padding:22px 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{color:white;text-decoration:none;display:flex;align-items:center;gap:12px;font-size:25px;font-weight:750;letter-spacing:-.7px}.brand-icon{font-size:25px;color:var(--gold)}.edition{font-size:14px;font-weight:bold;letter-spacing:1px;color:var(--gold)}main{max-width:1440px;margin:auto;padding:25px 28px 0}.heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}h1{font-size:clamp(30px,3.5vw,44px);line-height:1.15;margin:0;letter-spacing:-1px}h1 em{font-style:normal}.heading p{font-size:18px;color:var(--muted);margin:0}.eyebrow{font-size:14px;font-weight:700;letter-spacing:.8px;margin:0 0 10px;color:var(--gold)}nav{display:flex;gap:12px;margin-bottom:24px}nav button{color:#fff;background:#172940;border:1px solid var(--line);border-radius:6px;padding:12px 20px;font-size:18px;font-weight:600;min-height:52px}nav button.selected{background:var(--gold);color:#101822;border-color:var(--gold)}#count{display:inline-block;font-size:15px;margin-left:5px}.layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(330px,1fr);gap:24px;align-items:start}.map-shell{height:600px;position:relative;border-radius:12px;overflow:hidden;border:2px solid #65778e;background:#dbe2e9}#map{height:100%;width:100%;background:#dbe2e9;color:#13243b}.map-tag{position:absolute;top:16px;left:16px;z-index:500;background:#1b3252;color:#fff;border-radius:5px;font-size:13px;letter-spacing:.5px;font-weight:700;padding:9px 13px;pointer-events:none}.locate{position:absolute;bottom:30px;right:14px;background:#1b3252;color:white;border:2px solid white;border-radius:7px;width:52px;height:52px;z-index:500;font-size:29px}.card{background:var(--white);border:1px solid var(--line);padding:27px;border-radius:12px;scroll-margin-top:15px}.card h2,.panel h2{font-size:30px;font-weight:750;line-height:1.2;letter-spacing:-.7px;margin:15px 0}.card p{font-size:20px;color:#fff;margin:16px 0}.card .primary,.card .secondary{width:100%;margin-top:12px}.primary{background:var(--gold);color:#0b1420;border-radius:6px;padding:15px 20px;font-size:19px;font-weight:750;min-height:56px}.primary:hover{background:#ffcd80}.secondary{color:#fff;background:#14243b;border:1px solid #8093ae;border-radius:6px;padding:12px 16px;min-height:52px;font-size:18px;font-weight:600}.secondary:hover{background:#294668}.text-button{background:none;color:#fff;text-decoration:underline;text-underline-offset:4px;font-size:17px;padding:12px 6px;min-height:48px}.badge{display:inline-block;color:var(--gold);font-size:14px;font-weight:700;letter-spacing:.6px}.role{display:flex;gap:12px;align-items:flex-start;background:#102139;border-left:4px solid var(--gold);padding:15px;border-radius:5px;margin:15px 0}.role span{font-size:27px}.role strong{display:block;font-size:16px;color:var(--gold)}.role p{margin:5px 0 0;font-size:20px}.distance{padding:10px 0;font-size:19px;font-weight:650}.choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.choice{border:2px solid #8999b0;background:#102139;border-radius:8px;padding:14px 5px;font-size:18px;min-height:95px;color:#fff;font-weight:600;overflow-wrap:anywhere}.choice .emoji{display:block;font-size:33px;margin-bottom:7px}.choice:hover{border-color:var(--gold);background:#2c4669}.success{background:#102139;border-left:4px solid var(--gold);border-radius:5px;padding:16px;font-size:19px}.reward{font-size:64px;text-align:center;padding:15px}.journey{text-align:center;margin:28px 0 15px;padding:24px 10px;border-top:1px solid var(--line)}#pieces{display:flex;justify-content:center;gap:16px;margin:12px 0}.piece{display:grid;place-items:center;width:52px;height:52px;border-radius:8px;border:1px solid #8190a7;background:#182a44;color:#d7e1f0;font-size:28px}.piece.found{background:#34415a;border:2px solid var(--gold)}#gps-panel{margin-top:16px;padding:15px;border-radius:8px;border:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;background:#14243b}#gps-panel strong{font-size:18px}#gps-status{font-size:16px;color:#e4eaf3;margin:5px 0}.small{font-size:16px;color:var(--muted)}.map-note{padding:0 2px;margin:12px 0}.panel{max-width:850px;margin:auto;background:var(--white);border:1px solid var(--line);border-radius:12px;padding:28px}.panel h3{font-size:22px;margin-top:25px}.panel p,.panel li{font-size:19px}.panel summary{cursor:pointer;font-weight:600;padding:12px 0}.panel details{margin:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.inventory{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:20px 0}.inventory div{padding:15px 5px;border-radius:8px;background:#102139;text-align:center;font-size:16px}.inventory span{display:block;font-size:34px}.panel textarea{width:100%;padding:14px;border:2px solid #94a5bf;border-radius:6px;min-height:105px;background:#fff;color:#102139;font-size:19px}.panel label{font-size:18px;display:block;margin-bottom:10px}footer{max-width:1440px;margin:auto;padding:8px 28px 24px;text-align:right}footer button{background:none;color:#fff;font-size:16px;min-height:48px;text-decoration:underline}dialog{border:1px solid #879ab4;border-radius:12px;padding:25px;background:#1b3252;color:#fff;max-width:470px;width:calc(100% - 30px)}dialog::backdrop{background:#000b}dialog h2{font-size:27px}dialog p{font-size:20px}dialog button{margin-top:12px}#test-banner{background:var(--gold);color:#0b1420;padding:10px 18px;text-align:center;font-size:16px;font-weight:600}#test-banner button{margin-left:10px;background:none;color:#0b1420;text-decoration:underline;min-height:44px}.pin{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#1b3252;color:#fff;border:3px solid #ffbd59;box-shadow:0 2px 7px #0006;font-size:21px;font-weight:bold}.pin.done{background:#ffbd59;color:#102139;border-color:#1b3252}.leaflet-control-attribution{font:12px Arial!important;background:#fff!important;color:#111!important}.leaflet-control-attribution a{color:#133b69!important}.leaflet-top.leaflet-left{top:68px}.leaflet-touch .leaflet-bar a{width:40px;height:40px;line-height:40px;color:#102139;background:#fff}.answer-status{font-size:18px;color:#ffd28b;min-height:25px}.answer-status:empty{display:none}.sequence{display:flex;gap:10px;min-height:64px;justify-content:center;background:#102139;padding:12px;border-radius:8px}.sequence span{font-size:30px}.art{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
@media(max-width:850px){header{padding:17px 18px}.brand{font-size:22px}.edition{display:none}main{padding:20px 16px 0}.heading{display:block;margin-bottom:18px}h1{font-size:32px}.heading p{font-size:17px;margin-top:6px}nav{gap:7px;margin-bottom:18px}nav button{flex:1;padding:12px 6px;font-size:16px;white-space:nowrap;min-height:50px}#count{font-size:14px;margin-left:2px}.layout{display:flex;flex-direction:column;gap:20px}.map-column,.card{width:100%}.map-shell{height:clamp(400px,58svh,570px)}.intro .card{order:-1;padding:20px}.intro .card h2{font-size:26px;margin:0 0 10px}.intro .badge{display:none}.intro .card p{font-size:19px;margin:8px 0}.intro .primary{margin-top:12px}.intro .text-button{display:block;margin:4px auto 0}.card{padding:22px}.card h2{font-size:28px}.card p,.role p{font-size:20px}#gps-panel{padding:12px}#gps-panel strong{display:none}#gps-status{font-size:16px}#gps-button{font-size:16px;padding:12px 10px;flex-shrink:0}.map-tag{font-size:12px}.panel{padding:21px}.panel p,.panel li{font-size:19px}.inventory{gap:5px}.inventory div{font-size:13px}.inventory span{font-size:30px}.journey{padding-top:18px}.piece{width:48px;height:48px}#pieces{gap:12px}.map-note{font-size:16px}footer{padding:5px 16px 18px}.choice{font-size:18px}.badge{font-size:14px}}
@media(max-width:360px){nav button{font-size:14px}.brand{font-size:20px}.choices{gap:6px}.choice{font-size:16px}}
@media(max-width:360px){nav{gap:5px}nav button{padding-inline:4px;min-width:0}#count{font-size:12px}}
