*{box-sizing:border-box}:root{color-scheme:dark;--gold:#ecc988}body{margin:0;background:#08151b;color:#f6e8cc;font:14px system-ui,sans-serif}.shell{max-width:1700px;margin:auto}header{height:56px;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 24px;background:#0c1c24}.brand{font:20px Georgia,serif;letter-spacing:.14em;text-decoration:none;color:var(--gold)}header>span{font-size:10px;letter-spacing:.2em}button{font:inherit;cursor:pointer;color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}header button{border:1px solid #ecc98855;background:transparent;border-radius:25px;padding:9px 14px;font-size:10px;min-height:36px}.arena{position:relative;min-height:420px;height:calc(100svh - 94px);max-height:1000px;overflow:hidden;isolation:isolate;touch-action:none;background:#08151b}canvas{width:100%;height:100%;display:block;touch-action:none;outline:none}.hud{position:absolute;inset:18px 26px auto;display:grid;grid-template-columns:1fr 1fr 1fr 42px;gap:16px;pointer-events:none;text-shadow:0 2px 8px #000}.hud>div:nth-child(2){text-align:center}.hud>div:nth-child(3){text-align:right}.hud small{display:block;font:17px Georgia,serif}.hud strong{font:44px Georgia,serif;display:block}.hud button{width:42px;height:42px;pointer-events:auto;border:1px solid var(--gold);border-radius:50%;background:#06131bb0;font:24px Georgia,serif}.action{position:absolute;right:25px;bottom:25px;border:1px solid var(--gold);border-radius:50%;width:105px;height:105px;background:#07141db8;display:flex;align-items:center;justify-content:center;flex-direction:column;user-select:none;touch-action:none;box-shadow:0 0 30px #eec67b15}.action b{font-size:43px;font-weight:400;line-height:1}.action span{font:12px Georgia,serif;margin-top:5px}.action:active{background:#70512a99}.action:disabled{opacity:.45}.overlay{position:absolute;inset:0;background:#07141c44;backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:5}.card{width:min(440px,100%);text-align:center;background:linear-gradient(135deg,#102b30f5,#08151bf5);padding:30px;border:1px solid #ecc98888;border-radius:5px;box-shadow:0 10px 60px #0008}.card>small{font-size:9px;letter-spacing:.2em;color:#d6b77e}h1{font:37px/1.1 Georgia,serif;font-weight:400;margin:14px 0}.card p{color:#c1d0cd;font-size:13px;line-height:1.7}.card button{background:var(--gold);color:#102126;border:0;border-radius:3px;min-width:180px;min-height:48px;margin:8px 0;font-weight:600}.card a{display:block;color:#ead0a0;font-size:12px;text-decoration:none;margin-top:16px}.card>span{display:block;color:#9eb5b0;font-size:10px;margin-top:15px;line-height:1.7}.feedback{position:absolute;bottom:35px;left:25px;max-width:65%;color:#f1d192;font:15px Georgia,serif;text-shadow:0 1px 8px #000;pointer-events:none}.loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#08151bf5;z-index:10;margin:0;font:22px Georgia,serif}footer{display:flex;align-items:center;justify-content:space-between;gap:15px;height:38px;padding:0 25px;color:#a4bbb9;font-size:9px;letter-spacing:.07em;background:#0c1c24}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:2px solid var(--gold);outline-offset:4px}[hidden]{display:none!important}@media(max-width:700px){header{padding:0 13px;height:49px}.brand{font-size:17px}header>span{font-size:8px;letter-spacing:.08em}header button{font-size:9px;padding:7px 10px}.arena{height:calc(100svh - 95px)}.hud{inset:17px 14px auto;grid-template-columns:1fr 1fr 1fr 34px;gap:8px}.hud small{font-size:10px}.hud strong{font-size:27px}.hud button{width:34px;height:34px;font-size:19px}.action{width:90px;height:90px;right:16px;bottom:24px}.action b{font-size:36px}.action span{font-size:10px}.card{padding:25px 22px}h1{font-size:31px}footer{height:46px;padding:0 13px;font-size:8px;letter-spacing:0}.feedback{font-size:13px;left:16px;max-width:60%}}@media(max-height:500px) and (min-width:700px){header{height:35px}.arena{height:calc(100svh - 63px);min-height:260px}footer{height:28px}.hud strong{font-size:29px}.hud small{font-size:11px}.action{width:75px;height:75px;bottom:14px}.action b{font-size:30px}.card{padding:16px 25px}.card p{margin:10px 0}h1{font-size:25px;margin:10px 0}.card>span{margin-top:7px}}.arena.hit{box-shadow:inset 0 0 90px #f0934580}