:root{color-scheme:dark;--ivory:#eee2c5;--gold:#d7b877;--muted:#a6b5aa;--line:#b1965b40;font-family:Segoe UI,sans-serif;color:var(--ivory);background:#171e19}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a,input{font:inherit}button{cursor:pointer;color:inherit;background:#142923;border:1px solid var(--line);border-radius:9px;padding:10px 16px;transition:background .15s}button:hover:not(:disabled){background:#2c4235}button:disabled{opacity:.35;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:3px}#app{height:100dvh;min-height:480px;display:grid;grid-template-rows:84px minmax(0,1fr) 98px 32px;background:radial-gradient(ellipse at 50% 35%,#4b3a27aa,transparent 72%),linear-gradient(100deg,#1c201a,#28372b 50%,#1c201a)}header{padding:10px 26px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;border-bottom:1px solid var(--line)}h1{font:28px Georgia,serif;letter-spacing:.14em;margin:0}.brand span,.eyebrow{font-size:10px;letter-spacing:.19em;color:var(--gold)}.brand span{display:block;margin-top:6px}.scoreboard{display:flex;align-items:center;gap:24px}.scoreboard>div{text-align:center;min-width:90px;border-bottom:2px solid transparent;padding:2px 6px 5px}.scoreboard>div.active{border-color:var(--gold)}.scoreboard span{font-size:10px;letter-spacing:.14em;color:var(--muted)}.scoreboard strong{display:block;font:34px/1.1 Georgia,serif}.scoreboard>b{color:#aa9568;font:22px Georgia}.scoreboard .active span{color:var(--gold)}nav{display:flex;gap:7px;justify-content:flex-end}nav button{font-size:12px}.square{width:36px;height:36px;padding:0;font-size:19px;color:var(--gold)}#arena{position:relative;min-height:0}#stage{position:absolute;inset:0;touch-action:none}canvas{display:block}#piece-buttons{position:absolute;inset:0;pointer-events:none}.piece-hit{position:absolute;transform:translate(-50%,-50%);border-radius:50%;pointer-events:auto;border:0;background:transparent!important;padding:0;touch-action:none}.piece-hit:disabled{opacity:1}#foul-marker{position:absolute;transform:translate(-50%,-50%);pointer-events:none;color:#ffc0a0;font:48px Georgia;text-shadow:0 2px 12px #000;z-index:3}#loading{position:absolute;inset:0;display:grid;place-items:center;background:#142524;z-index:9}#loading[hidden],[hidden]{display:none!important}footer{display:grid;grid-template-columns:1fr 340px;align-items:center;gap:30px;padding:14px 36px;border-top:1px solid var(--line);background:#141d18bf}.turn-area{display:grid;gap:5px}#turn-label{font-size:10px;letter-spacing:.2em;color:var(--gold)}#instruction{font:21px Georgia,serif;font-weight:400}#detail{font-size:12px;color:var(--muted)}.power-caption{display:flex;justify-content:space-between;color:var(--gold);font-size:11px;letter-spacing:.15em;margin-bottom:7px}.power-caption output{font-size:15px;letter-spacing:0}.shot-controls{display:flex;align-items:center;gap:20px}.shot-controls input{width:100%;min-width:70px;accent-color:var(--gold)}.gold{background:linear-gradient(135deg,#efdaa4,#c69e58);border:1px solid #e7cf94;color:#34291a;font-weight:700;letter-spacing:.09em;box-shadow:0 3px 12px #0003}.gold:hover:not(:disabled){background:linear-gradient(135deg,#ffe9b8,#d8b270)}.gold small{display:block;font-size:8px;margin-top:2px;opacity:.7;letter-spacing:.12em}.bottom-bar{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:0 26px;font-size:10px;color:#a7aa97}.bottom-bar a{color:#bca573;text-decoration:none}dialog{color:var(--ivory);background:linear-gradient(140deg,#253c35,#12221f);border:1px solid #a88d58;border-radius:18px;padding:32px;max-width:min(570px,94vw);box-shadow:0 20px 90px #0009}dialog::backdrop{background:#07110ed4;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}dialog h2{font:29px Georgia,serif;margin:12px 0 22px}dialog p{color:#bdc6b8;line-height:1.6;font-size:14px}.rules-list p{display:flex;gap:18px;margin:18px 0}.rules-list b{color:var(--gold);font:24px Georgia}.rules-list span{color:var(--ivory)}.rules-list small{display:block;color:#aebbaf;line-height:1.5;margin-top:5px;font-size:12px}.controls-note{font-size:12px!important;border-top:1px solid var(--line);padding-top:15px}.wide{display:block;width:100%;margin-top:12px;padding:13px}#end{text-align:center;min-width:350px}#end-score{font:54px Georgia;color:var(--gold)}@media(max-width:900px){header{padding:9px 16px;gap:10px}h1{font-size:22px}.brand span{font-size:8px}.scoreboard{gap:8px}.scoreboard>div{min-width:67px}footer{padding:12px 22px;grid-template-columns:1fr 270px;gap:20px}#instruction{font-size:18px}.bottom-bar{font-size:9px;padding:0 16px}nav button{padding:8px}nav .square{width:30px}#fullscreen{display:none}}@media(max-height:620px){#app{grid-template-rows:68px minmax(0,1fr) 84px 28px}header{padding-block:5px}.scoreboard strong{font-size:28px}footer{padding-block:8px}dialog{padding:20px;max-height:95dvh;overflow:auto}.rules-list p{margin:12px 0}dialog h2{margin:8px 0 14px}}@media(max-width:600px){.brand span{display:none}.brand h1{font-size:17px}#new-game{font-size:0;width:32px}#new-game:after{content:"↻";font-size:20px}footer{grid-template-columns:1fr 180px;padding-inline:14px;gap:12px}#detail{font-size:10px}#instruction{font-size:16px}.bottom-bar>span{max-width:67%;font-size:8px}.bottom-bar a,.scoreboard span{font-size:8px}.scoreboard>div{min-width:48px}.scoreboard{gap:3px}.shot-controls{gap:8px}.gold{padding:10px}.scoreboard strong{font-size:25px}}
