*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#101b19;color:#f6e9d0;font-family:Arial,sans-serif;touch-action:none}canvas,#shade{position:fixed;inset:0;width:100%;height:100%}#shade{pointer-events:none;background:linear-gradient(#06171460,transparent 28%,transparent 65%,#061714aa)}header{position:absolute;top:24px;left:30px;right:30px;display:flex;gap:10px;align-items:center}.brand{font:bold 28px Georgia;letter-spacing:5px;flex:1}.brand small{font:9px Arial;display:block;letter-spacing:2.4px;margin-top:7px}button{cursor:pointer;color:inherit;border:1px solid #e6cca648;background:#15312be8;border-radius:14px;padding:14px 18px;font-size:17px;touch-action:none}button:active{background:#9b7439}#mission{position:absolute;left:30px;top:110px;width:310px;background:#102e29ec;padding:22px;border:1px solid #bca67655;border-radius:18px;box-shadow:0 15px 35px #0003}.eyebrow{font-size:10px;letter-spacing:2.2px;color:#e6bc78}h2{font:25px Georgia;margin:12px 0}p{font-size:13px;line-height:1.7;color:#d2d7ca}.track{height:4px;background:#ffffff22;margin:17px 0}.track i{display:block;height:100%;width:0;background:#e8b35f;transition:width .3s}small{font-size:11px;line-height:1.5}#reticle{position:absolute;top:49%;left:49%;color:#ffedc7aa;font-size:24px;pointer-events:none}#hint{position:absolute;bottom:190px;left:50%;transform:translateX(-50%);text-align:center;background:#10251fe6;border:1px solid #d4b47766;border-radius:12px;padding:12px 22px;max-width:85%;font-size:13px}#hint:empty{display:none}#controls{position:absolute;bottom:48px;left:30px;right:30px;display:flex;align-items:end;justify-content:space-between}.pad{display:grid;grid-template-columns:repeat(3,58px);gap:7px}.pad button{height:55px;padding:0;font-size:24px}.pad button:last-child{grid-column:2}#action{background:linear-gradient(145deg,#f5d99a,#b8813f);color:#1e3026;font-weight:bold;font-size:12px;padding:24px;border-color:#fff0b5}#action b{font-size:25px;margin-left:15px}footer{position:absolute;bottom:15px;width:100%;text-align:center;font-size:9px;letter-spacing:1px;color:#c7c5b4}#bag{position:absolute;right:30px;top:120px;display:flex;flex-direction:column;gap:8px}.chip{background:#15342be8;padding:10px 15px;border:1px solid #ae9c6b66;border-radius:9px;font-size:11px}#toast{position:absolute;top:38%;left:50%;transform:translateX(-50%);background:#fff0c9;color:#21392b;padding:16px 25px;border-radius:30px;max-width:85%;text-align:center;opacity:0;transition:opacity .2s;pointer-events:none}#toast.show{opacity:1}#overlay{position:fixed;inset:0;background:#071813b8;backdrop-filter:blur(8px);display:grid;place-items:center;padding:20px}#overlay:empty{display:none}.panel{max-width:560px;width:100%;padding:36px;background:linear-gradient(145deg,#183d32,#0b211e);border:1px solid #c2a77388;border-radius:24px;box-shadow:0 30px 100px #0007}.panel h1{font:46px/1.05 Georgia;margin:16px 0}.panel h3{font:30px Georgia;margin:15px 0}.panel .primary{display:block;width:100%;background:linear-gradient(120deg,#f4d79a,#c9954f);color:#19362a;font-weight:bold;margin-top:18px}.panel .secondary{margin-top:10px;width:100%;font-size:13px}.details{padding:14px;border-left:2px solid #c8a76d;background:#ffffff06;font-size:13px;line-height:1.7}.tag{display:inline-block;padding:6px 10px;border:1px solid #c1aa7544;border-radius:20px;font-size:10px;margin-right:5px}.panel img{width:150px;display:block;margin:0 auto 20px}.score{font:65px Georgia;color:#e8c884}@media(max-width:600px){header{top:18px;left:18px;right:18px}.brand{font-size:22px}.brand small{font-size:7px;letter-spacing:1px}header button{padding:10px 13px}#mission{top:88px;left:18px;width:calc(100% - 36px);padding:14px 18px}#mission h2{font-size:20px;margin:6px 0}#mission p{font-size:11px;margin:5px 0}.track{margin:10px 0}#bag{top:250px;right:18px;gap:4px}.chip{padding:5px 9px;font-size:9px}#controls{left:18px;right:18px;bottom:42px}.pad{grid-template-columns:repeat(3,47px);gap:5px}.pad button{height:48px}#action{padding:19px 15px;font-size:10px}#action b{margin-left:5px}#hint{bottom:175px;font-size:11px;width:80%}.panel{padding:24px}.panel h1{font-size:37px}footer{font-size:7px}#reticle{top:53%}}@media(max-height:550px){#mission{top:80px;padding:12px}#mission p{display:none}.panel{padding:20px;max-width:650px}.panel h1{font-size:30px}.panel img{display:none}#controls{bottom:30px}.pad button{height:40px}#bag{top:90px}}

/* Game surface: holding touch controls must never select interface text. */
html,body,body *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}button,canvas{touch-action:none}img{-webkit-user-drag:none;user-select:none}
