:root{color-scheme:dark;--cream:#eee5ce;--muted:#b8b9a4;--gold:#ddad4c}*{box-sizing:border-box}body{margin:0;background:#1b211b;color:var(--cream);font:14px/1.4 system-ui;overflow:hidden}button,input,textarea,select{font:inherit}button{color:var(--cream);background:#30372b;border:1px solid #ffffff30;padding:10px 15px;border-radius:5px;cursor:pointer}button:hover{background:#465039}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}button.primary{background:#ad442a}button.small{padding:7px 11px;font-size:11px}#game-view{width:100vw;height:100vh;display:block;outline:none;touch-action:none}.top{position:absolute;left:25px;top:20px;display:flex;gap:20px;align-items:center}.brand{font-size:27px;font-weight:950;letter-spacing:-1.4px}.brand span{color:var(--gold)}.mode{font-size:10px;letter-spacing:1px;border:1px solid #c2aa6540;padding:8px 11px;background:#20271de8;border-radius:4px}.mode strong{color:var(--gold)}.tools{position:absolute;right:23px;top:22px;display:flex;gap:7px}.ticket{position:absolute;left:25px;top:84px;width:265px;padding:18px 19px;background:#1d251bec;border:1px solid #e8cf832d;border-radius:7px}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:1.8px;color:var(--gold)}.ticket h2{font-size:18px;margin:6px 0 8px}.ticket p{font-size:12px;margin:5px 0;color:var(--muted)}.steps{display:flex;gap:5px;margin-top:15px}.steps i{height:4px;flex:1;background:#525643}.steps i.done{background:var(--gold)}#map{position:absolute;right:25px;bottom:108px;width:145px;height:185px;background:#172016d9;border:1px solid #e8cf832d;border-radius:6px}.map-label{position:absolute;right:29px;bottom:300px;font-size:9px;letter-spacing:1.8px;color:var(--muted)}.controls{position:absolute;left:25px;bottom:22px;display:flex;gap:12px;color:#ccc9b3;font-size:10px;background:#1d251bd9;padding:12px 15px;border:1px solid #ffffff20;border-radius:5px}.controls kbd{font:11px monospace;padding:1px 3px;border:1px solid #ffffff25}.subtitle{position:absolute;bottom:95px;left:50%;transform:translateX(-50%);width:min(600px,80vw);padding:13px 20px;background:#162014ed;border-left:3px solid var(--gold);pointer-events:none}.subtitle b{display:block;color:var(--gold);font-size:10px;letter-spacing:1.5px}.subtitle p{margin:5px 0 0}#interact{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);background:var(--gold);color:#292a1d;border:0;font-weight:700;padding:11px 24px}#crosshair{display:none;position:absolute;top:50%;left:50%;width:5px;height:5px;border:1px solid #fff;border-radius:50%;pointer-events:none}.modal{position:absolute;inset:0;background:#10180eb0;backdrop-filter:blur(4px);display:grid;place-items:center;padding:28px;z-index:10}[hidden]{display:none!important}.sheet{width:min(760px,95vw);max-height:88vh;overflow:auto;background:#242c20;border:1px solid #e5c98240;border-radius:10px;box-shadow:0 25px 100px #0008;padding:25px 28px}.sheet header{display:flex;justify-content:space-between;gap:15px;align-items:start}.sheet h1{font-size:28px;letter-spacing:-.8px;margin:5px 0 8px}.intro{color:var(--muted);margin:4px 0 20px;font-size:13px}.close{padding:7px 12px;background:transparent}.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:6px;font-size:11px;color:var(--muted)}.wide{grid-column:1/-1}input,textarea,select{width:100%;background:#172014;border:1px solid #ffffff25;border-radius:4px;color:var(--cream);padding:11px}textarea{resize:vertical;min-height:78px}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.notice{background:#c2a64a12;border:1px solid #c2a64a30;padding:12px 14px;color:#c9bb85;font-size:12px;margin:15px 0}.review-grid{display:grid;grid-template-columns:110px 1fr;gap:20px}.coin-art{width:110px;height:110px;object-fit:cover;border-radius:12px;border:1px solid #ffffff30}.review-row{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid #ffffff15;font-size:12px}.review-row span{color:var(--muted)}.card{background:#172014;border:1px solid #ffffff1c;padding:15px;border-radius:5px;margin:10px 0}.card h3{margin:0;font-size:16px}.card p{margin:6px 0;font-size:12px;color:var(--muted)}.bar{height:10px;background:#111b0f;margin:15px 0;overflow:hidden}.bar span{display:block;height:100%;background:var(--gold);transition:width .18s}.mini-game{text-align:center;padding:18px 0}.score{font-size:46px;font-weight:900;color:var(--gold)}.message{min-height:18px;color:#e4ae6c;font-size:12px;margin-top:12px}.intro-screen{position:absolute;inset:0;background:linear-gradient(90deg,#172014ef,#17201450);display:flex;align-items:center;padding:7vw;z-index:5}.intro-copy{max-width:480px}.intro-copy h1{font-size:76px;line-height:.98;letter-spacing:-4px;margin:16px 0 22px}.intro-copy h1 span{color:var(--gold)}.intro-copy p{color:#d6d1b7;font-size:16px;max-width:400px}.intro-copy .fine{font-size:12px;color:#aaa98d;margin-top:24px}.intro-copy button{padding:14px 26px;font-weight:700}#loading{position:absolute;inset:0;background:#172014;display:grid;place-content:center;text-align:center;z-index:20}#loading h2{font-size:30px}#loading p{color:var(--muted)}.touch{display:none;position:absolute;left:20px;bottom:65px;gap:4px}.toast{position:absolute;top:80px;left:50%;transform:translateX(-50%);background:#372f1a;border:1px solid #c9aa6c70;padding:12px 20px;border-radius:6px;z-index:15}@media(max-width:850px){.top{left:15px;top:15px}.brand{font-size:23px}.mode{font-size:8px;max-width:120px}.tools{right:15px}.tools button{font-size:9px;padding:7px}.ticket{left:15px;top:70px;width:220px;padding:12px}.controls{left:15px;bottom:15px;font-size:8px;gap:6px}.subtitle{bottom:105px}.subtitle p{font-size:12px}#map,.map-label{display:none}.touch{display:flex}.sheet{padding:18px}.fields{grid-template-columns:1fr}.wide{grid-column:auto}.intro-copy h1{font-size:58px}#interact{left:auto;right:18px;transform:none;font-size:12px}}
.modal.activity{background:transparent;backdrop-filter:none;justify-items:end}.modal.activity .sheet{width:min(420px,95vw);margin-right:20px}@media(max-width:850px){.modal.activity .sheet{margin-right:0}}
