@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400;1,700&family=Noto+Serif:ital,wght@0,400;0,600;0,700;0,800;1,400;1,700&display=swap');
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:#143b32;color:#ffedc4;font:14px Arial,sans-serif}button{font:inherit;color:inherit;cursor:pointer}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #ffe3a0;outline-offset:3px}main{height:100dvh;min-height:560px;display:flex;flex-direction:column;overflow:hidden}header{display:flex;justify-content:space-between;align-items:center;padding:15px 25px;gap:12px;border-bottom:1px solid #d5c18b66}header a{font-size:12px;color:#e8d8b3;text-decoration:none}h1{font-size:23px;letter-spacing:4px;margin:0}h1 small{font-size:10px;color:#afc0a8;vertical-align:middle}nav{display:flex;gap:7px}nav button{background:#ffffff08;border:1px solid #dfcb9640;padding:9px 11px;border-radius:6px;font-size:12px}#sound{font-size:17px;padding:5px 10px}#sound[aria-pressed=true]{color:#f1ca7a}#stage{flex:1;min-height:0;position:relative}canvas{width:100%;height:100%;display:block;touch-action:none;cursor:crosshair}.hud{position:absolute;top:20px;left:50%;transform:translateX(-50%);width:min(570px,90%);display:flex;align-items:center;justify-content:space-between;pointer-events:none}.hud>div:not(.shots){background:#143b32e8;border:1px solid #d9c28b88;border-radius:8px;padding:10px 20px;min-width:95px;text-align:center}.hud span{font-size:9px;letter-spacing:2px;display:block}.hud b{font-size:25px;display:block;margin-top:4px}.shots{color:#e4ca86;letter-spacing:5px;text-shadow:0 2px 3px #153b32}.dock{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);width:min(400px,calc(100% - 30px));padding:14px 18px;background:#143b32ed;border:1px solid #d7bd7d99;border-radius:9px;pointer-events:none}.dock>div:first-child{display:flex;justify-content:space-between;gap:10px;font-size:11px}.bar{height:7px;background:#092b23;margin-top:10px;border-radius:3px;overflow:hidden}.bar i{display:block;height:100%;width:0;background:#eac884}.bar i.shaky{background:#d98c61}#reticle{position:absolute;width:26px;height:26px;border:1px solid #fff2c999;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;filter:drop-shadow(0 1px 1px #24412a)}#reticle:before,#reticle:after{content:'';position:absolute;background:#fff1c2}#reticle:before{width:38px;height:1px;left:-7px;top:12px}#reticle:after{height:38px;width:1px;top:-7px;left:12px}#message{position:absolute;top:24%;width:100%;text-align:center;font-size:28px;font-weight:bold;color:#fff0bd;text-shadow:0 2px 4px #243a2d;pointer-events:none}#overlay{position:absolute;inset:0;display:grid;place-items:center;background:#143b3255;backdrop-filter:blur(5px);padding:20px}.panel{width:min(410px,100%);text-align:center;background:#153e34f5;border:1px solid #d6ba7b;border-radius:13px;padding:32px;box-shadow:0 20px 60px #173b3266}h2{font:normal 38px/1.15 'Noto Serif','Times New Roman',serif;margin:0 0 20px}.panel p{font-size:14px;line-height:1.8;color:#d1d9bf}#start{width:100%;padding:15px;margin-top:18px;background:#ebcb88;color:#214132;border:1px solid #ffe5a6;border-radius:6px;box-shadow:0 4px #997a43;font-weight:bold;font-size:16px}dialog{width:min(450px,calc(100% - 30px));background:#153e34;border:1px solid #d6ba7b;border-radius:12px;color:#e5dfc6;line-height:1.8;padding:28px}dialog h2{font-size:30px}dialog::backdrop{background:#0b2e28bb}#close-help{float:right;font-size:24px;background:none;border:0}#error{position:absolute;inset:0;background:#143b32;display:grid;align-content:center;text-align:center;padding:25px}#error a{color:#e9c983}@media(max-width:600px){header{padding:13px 10px;gap:7px}h1{font-size:17px;letter-spacing:2px}h1 small{display:none}header a{font-size:10px}nav button{font-size:10px;padding:7px}.hud{top:15px}.hud>div:not(.shots){min-width:76px;padding:9px 12px}.shots{font-size:11px;letter-spacing:2px}.hud b{font-size:22px}.panel{padding:25px}h2{font-size:33px}.dock>div:first-child{font-size:10px}#message{font-size:23px}}
.hud>.shot-info{background:none!important;border:0!important;padding:0!important;min-width:0!important;text-align:center;color:#173e32;text-shadow:0 1px 2px #edf0c6}.shot-info>b{font-size:12px;letter-spacing:1px}.shot-info .shots{margin:9px 0}.shot-info>span{font-size:11px;letter-spacing:0;font-weight:bold}
canvas{cursor:none}
.dock{width:auto;max-width:calc(100% - 30px);white-space:nowrap;text-align:center;font-size:12px;padding:12px 20px}
