:root{color-scheme:light;--paper:#f7f4eb;--ink:#75574d;--coral:#e75b49;--yellow:#f2cd53;--soft:#f0e5d1;font-family:"Chiron GoRound TC",sans-serif;color:var(--ink);font-weight:800}
*{box-sizing:border-box;letter-spacing:0}body{margin:0;background:var(--paper);overflow:hidden}button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:0;background:none;font-weight:900}button:disabled{cursor:default;filter:grayscale(.85);opacity:.52}
button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #419dd8;outline-offset:5px}button:not(:disabled){transition:transform .16s ease,background .16s ease}button:not(:disabled):active{transform:translateY(3px)}
button svg{width:24px;height:24px;stroke-width:3;flex-shrink:0;pointer-events:none}[hidden]{display:none!important}
.stage{position:relative;isolation:isolate;width:100%;height:100dvh;min-height:280px;overflow:hidden;background:var(--paper)}#game{position:absolute;inset:0;width:100%;height:100%;display:block}
#roundTitle{position:absolute;top:29.5%;left:0;right:0;margin:0;text-align:center;font-family:Bungee,cursive;font-size:80px;font-weight:400;line-height:1.15;color:#9f8b81;pointer-events:none}
.home-btn{position:absolute;top:clamp(24px,16.67dvh,120px);left:20px;height:48px;padding:0 20px 0 14px;border-radius:28px;background:var(--coral);color:white;display:flex;align-items:center;gap:6px;font-size:16px;font-weight:900;text-decoration:none;touch-action:manipulation}.home-btn svg{width:18px;height:18px;stroke-width:3;pointer-events:none}.home-btn:focus-visible{outline:3px solid #419dd8;outline-offset:5px}
.top-actions{position:absolute;right:20px;top:clamp(24px,16.67dvh,120px);display:flex;gap:8px}.tool{width:48px;height:48px;display:grid;place-items:center;background:var(--soft);border-radius:50%}.tool.coral,.tool[aria-pressed=true]{background:var(--coral);color:#fff}
.round{border:5px solid var(--ink);border-radius:50%;display:grid;place-items:center;box-shadow:0 4px 0 #75574d35}.reset{position:absolute;bottom:20px;left:20px;width:70px;height:70px;background:#fffdf7}.reset svg{width:29px;height:29px;stroke-width:3.5}
.bottom-actions{position:absolute;right:20px;bottom:20px;display:flex;gap:10px;align-items:flex-end}.config{width:70px;height:70px;background:var(--yellow);font-size:17px}.start{width:80px;height:80px;background:var(--coral);color:white;font-size:18px}.start.running{background:#64a9df}
.player-targets{position:absolute;inset:0;pointer-events:none}.player-hit{position:absolute;border-radius:45%;pointer-events:auto;background:transparent;transform:translate(-50%,-100%);padding:0}.player-hit:active:not(:disabled){transform:translate(-50%,-100%)}.player-hit:focus-visible{outline-offset:3px}.player-hit:hover{background:#ffffff16}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
dialog{color:var(--ink);font-family:inherit;border:4px solid var(--ink);border-radius:8px;background:var(--paper);padding:0;max-width:calc(100% - 32px);max-height:calc(100dvh - 40px);box-shadow:0 15px 45px #75574d25}dialog::backdrop{background:#f7f4ebc9}dialog header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:2px solid #e7ded2;gap:16px}dialog h2{font-size:26px;line-height:1.35;margin:0;font-weight:900}
.icon-btn{width:36px;height:36px;display:grid;place-items:center;padding:0;border-radius:50%;flex-shrink:0}.icon-btn:hover{background:var(--soft)}.settings{width:660px}.settings form{display:flex;flex-direction:column;max-height:calc(100dvh - 48px)}.settings-body{padding:20px 24px;overflow:auto}.count-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;font-size:17px}
select{padding:8px 16px;border:2px solid #d6c5b8;border-radius:6px;background:#fffdf8;min-width:100px}.settings-columns{display:grid;grid-template-columns:1.25fr 1fr;gap:28px}h3{font-size:18px;margin:0 0 12px}.player-editor{display:grid;grid-template-columns:24px 30px 1fr;gap:8px;align-items:center;margin:0 0 10px;font-size:14px}
input[type=color]{width:30px;height:30px;cursor:pointer;border:0;background:none;padding:0;overflow:hidden;border-radius:50%}input[type=color]::-webkit-color-swatch-wrapper{padding:0}input[type=color]::-webkit-color-swatch{border:3px solid var(--ink);border-radius:50%}input[type=text],textarea{min-width:0;width:100%;border:2px solid #ded0c2;border-radius:6px;background:#fffdf8;padding:8px 10px;font-size:16px;font-weight:700}textarea{resize:vertical;line-height:1.8;min-height:170px;max-height:360px}
dialog footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:2px solid #e7ded2}.text-btn,.primary{padding:10px 24px;min-height:46px;border-radius:28px;font-size:17px}.text-btn{background:var(--soft)}.primary{background:var(--coral);border:4px solid var(--ink);color:white;box-shadow:0 3px 0 #75574d25}.error{font-size:14px;color:#b53d30;margin:8px 0 0;min-height:20px}
.results{background:transparent;box-shadow:none;border:0;text-align:center;width:470px;max-height:calc(100dvh - 80px);padding:12px 12px 20px}.results h2{font-size:32px;margin-bottom:30px}#resultList{max-height:calc(100dvh - 280px);overflow:auto;margin:0 auto 30px;padding:5px 12px;scrollbar-width:thin}.result-row{display:grid;grid-template-columns:32px minmax(65px,1fr) 24px 32px minmax(70px,1fr);gap:12px;align-items:center;text-align:left;margin-bottom:20px;font-size:25px;font-weight:900}.result-row span{overflow-wrap:anywhere}.result-row .swatch{width:32px;height:32px;border:4px solid var(--ink);background:var(--swatch);border-radius:50%}.result-row .prize-swatch{border-radius:7px}.result-row .arrow{width:20px;height:20px;color:var(--coral)}.result-row.no-prize{opacity:.5}.results>.primary{min-width:118px;min-height:68px;border-width:5px;font-size:20px}
.help{width:460px;padding-bottom:24px}.help p{margin:20px 24px;font-size:17px;line-height:1.9}.help>.primary{display:block;margin:24px auto 0}
@media(max-width:700px){#roundTitle{top:25%;font-size:56px}.home-btn{left:14px;top:24px;height:42px;padding:0 14px 0 10px;font-size:14px}.top-actions{right:14px;top:24px;gap:6px}.tool{width:40px;height:40px}.tool svg{width:20px;height:20px}.reset{left:14px;bottom:20px;width:58px;height:58px;border-width:4px}.bottom-actions{right:14px;bottom:20px;gap:9px}.config{width:58px;height:58px;border-width:4px;font-size:15px}.start{width:68px;height:68px;border-width:4px;font-size:16px}dialog header{padding:16px}.settings-body{padding:16px}.settings-columns{gap:18px;grid-template-columns:1fr}.settings-columns section+section{padding-top:8px}dialog footer{padding:14px 16px}.results h2{font-size:28px}.result-row{font-size:20px;gap:8px;grid-template-columns:27px minmax(50px,1fr) 16px 27px minmax(50px,1fr)}.result-row .swatch{width:27px;height:27px}}
@media(max-height:500px){#roundTitle{top:17%;font-size:48px}.home-btn,.top-actions{top:14px}.reset,.bottom-actions{bottom:12px}.results h2{font-size:24px;margin-bottom:12px}#resultList{max-height:calc(100dvh - 180px);margin-bottom:12px}.results>.primary{min-height:48px}.result-row{font-size:18px;margin-bottom:12px}}
@media(min-width:701px) and (min-height:501px){.results{width:390px}.result-row{font-size:28px;gap:10px}}
@media(prefers-reduced-motion:reduce){button{transition:none!important}}
