html,body{margin:0;width:100%;height:100%;background:#080e0d;color:#fff8e6;overflow:hidden}
#game{position:fixed;inset:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);box-sizing:border-box;display:grid;place-items:center;background:#000}
#canvas{display:block;border:0;outline:none;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
#status{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 34%,#304940,#14241d 52%,#091511);font:1rem/1.6 Georgia,serif;text-align:center;padding:1.5rem;overflow:auto}
[hidden],#status[hidden]{display:none!important}.duck-stage{position:relative;width:min(210px,30vh);height:min(220px,32vh);margin-bottom:1rem}.loader-duck{position:relative;width:100%;height:100%;object-fit:contain;z-index:1;animation:hop 1.6s ease-in-out infinite;transform-origin:50% 90%}.duck-shadow{position:absolute;bottom:-3px;left:22%;width:56%;height:12px;border-radius:50%;background:#0006;filter:blur(5px);animation:shadow 1.6s ease-in-out infinite}.eyebrow{font:10px/1.4 system-ui,sans-serif;letter-spacing:.3em;color:#d0bd8f;margin:.3rem 0}#notice{font-size:clamp(20px,3vw,30px);margin:.7rem 0 1.3rem}#progress{appearance:none;-webkit-appearance:none;width:min(22rem,76vw);height:7px;border:none;border-radius:10px;overflow:hidden;background:#ffffff20;accent-color:#e8c884}#progress::-webkit-progress-bar{background:#ffffff20;border-radius:10px}#progress::-webkit-progress-value{background:linear-gradient(90deg,#b7c793,#f2d49a);border-radius:10px}#progress::-moz-progress-bar{background:#e8c884}#percentage{font:13px/1.5 system-ui,sans-serif;letter-spacing:.08em;margin-top:14px;color:#efdfb7}#preparing{font:13px system-ui,sans-serif;color:#c6cdbb}.back{margin-top:2rem;color:#c0c8b7;font:12px system-ui,sans-serif;text-underline-offset:4px}#retry{color:#fff0c4;margin-top:1rem}.failed .loader-duck,.failed .duck-shadow{animation:none}@keyframes hop{0%,60%,100%{transform:translateY(0) rotate(-2deg)}25%{transform:translateY(-18px) rotate(3deg)}43%{transform:translateY(0) scale(1.02,.97)}}@keyframes shadow{0%,60%,100%{transform:scale(1);opacity:.6}25%{transform:scale(.7);opacity:.3}}@media(prefers-reduced-motion:reduce){.loader-duck,.duck-shadow{animation:none}}

/* Touch-only entry to the existing pause/settings menu; never a consent choice. */
#game-pause{position:fixed;top:max(7px,env(safe-area-inset-top));right:max(7px,env(safe-area-inset-right));z-index:7;min-width:52px;min-height:44px;padding:8px;border:1px solid #7a8e7c;border-radius:7px;background:#1d302bcc;color:#f4f0df;font:12px system-ui,sans-serif;touch-action:manipulation;cursor:pointer}
#game-pause[hidden]{display:none!important}
#game-pause:focus-visible{outline:3px solid #ebce92;outline-offset:2px}
