/* A pocket-sized game. All rules are scoped; the site remains the site. */
.buddy-launch{display:inline-flex;align-items:center;gap:7px;margin-top:9px;padding:5px 9px;min-height:44px;border:2px solid currentColor;background:var(--wow-acid);color:#07080a;font:600 .72rem var(--wow-mono);text-transform:uppercase;cursor:pointer}
.buddy-launch[hidden]{display:none}
.buddy-launch:hover{box-shadow:3px 3px 0 var(--wow-blue);transform:translate(-1px,-1px)}
/* ids outrank wow.css's .wow-home button ring (acid, 1:1 on ice); blue is 6.5:1 on ice, acid 17:1 on the dark notes scene */
#buddy-launch:focus-visible,#buddy-game button:focus-visible,#buddy-game input:focus-visible{outline:3px solid #2537ef;outline-offset:4px}
:root[data-theme="dark"] #buddy-launch:focus-visible{outline-color:var(--wow-acid)}
.buddy-game{box-sizing:border-box;width:min(860px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:0;border:3px solid #07080a;background:#f5f2e8;color:#07080a;box-shadow:10px 10px 0 #ecff3f;overflow:auto;overscroll-behavior:contain;font-family:var(--wow-sans,sans-serif)}
.buddy-game::backdrop{background:rgba(7,8,10,.85);backdrop-filter:blur(5px)}
.buddy-game *{box-sizing:border-box}
.buddy-header{display:flex;justify-content:space-between;align-items:start;gap:16px;padding:22px 26px 15px}
.buddy-kicker{margin:0 0 9px;font:500 .7rem var(--wow-mono);letter-spacing:.1em;text-transform:uppercase}
.buddy-header h2{margin:0;font:900 clamp(2.5rem,7vw,4.3rem)/.9 var(--wow-display);letter-spacing:-.065em;text-transform:uppercase}
.buddy-header h2 em{color:#2537ef;font-family:var(--wow-serif);font-weight:600;text-transform:none}
.buddy-close{flex:none;min-width:44px;min-height:44px;padding:0;border:2px solid #07080a;background:transparent;color:#07080a;font:400 2rem/1 sans-serif;cursor:pointer}
.buddy-close:hover{background:#ecff3f}
.buddy-scoreboard{display:grid;grid-template-columns:1fr 1.3fr 1fr;margin:0 26px 16px;border:2px solid #07080a;background:#07080a;color:#f5f2e8}
.buddy-scoreboard>div{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:9px}
.buddy-scoreboard>div:first-child{background:#2537ef}
.buddy-scoreboard>div:last-child{background:#ecff3f;color:#07080a}
.buddy-scoreboard span{font:500 .7rem var(--wow-mono);text-transform:uppercase;letter-spacing:.08em}
.buddy-scoreboard strong{font:900 2.4rem/.95 var(--wow-display)}
.buddy-round{gap:8px!important}
.buddy-court-wrap{position:relative;margin:0 26px;border:2px solid #07080a;background:#2537ef}
#buddy-court{display:block;width:100%;height:auto;aspect-ratio:9/5;touch-action:none;user-select:none;cursor:grab}
#buddy-court:active{cursor:grabbing}
.buddy-court-tag{position:absolute;left:12px;top:12px;padding:4px 6px;background:#ecff3f;color:#07080a;font:600 .58rem var(--wow-mono);letter-spacing:.06em;text-transform:uppercase;pointer-events:none}
.buddy-comment{min-height:1.5em;margin:15px 26px 7px;font:600 clamp(.9rem,2.5vw,1.1rem)/1.4 var(--wow-serif)}
.buddy-instructions{margin:0 26px 15px;font-size:.78rem;line-height:1.5;max-width:75ch}
.buddy-controls{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:20px;margin:0 26px 19px}
.buddy-control{font:600 .7rem var(--wow-mono);letter-spacing:.05em;text-transform:uppercase}
.buddy-controls output{float:right;color:#2537ef}
.buddy-controls input{display:block;width:100%;height:44px;margin:3px 0 0;accent-color:#2537ef;cursor:pointer}
.buddy-action{min-height:48px;padding:10px 16px;border:2px solid #07080a;background:#ecff3f;color:#07080a;font:600 .75rem var(--wow-mono);text-transform:uppercase;cursor:pointer}
.buddy-action:hover:not(:disabled){background:#07080a;color:#ecff3f}
.buddy-action:disabled,.buddy-controls input:disabled{opacity:.55;cursor:default}
.buddy-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:12px 26px;border-top:2px solid #07080a;font:400 .7rem/1.5 var(--wow-mono)}
.buddy-footer>span:last-child{flex-basis:100%;color:#444}
.buddy-footer button{min-height:44px;border:0;padding:4px 0;background:transparent;color:#07080a;font:600 .75rem var(--wow-mono);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
@media(max-width:560px){
 .buddy-game{width:calc(100% - 20px);max-height:calc(100dvh - 20px);box-shadow:5px 5px 0 #ecff3f}
 .buddy-header{padding:18px 14px 13px}
 .buddy-kicker{max-width:24ch;line-height:1.5}
 .buddy-scoreboard{margin:0 14px 12px}
 .buddy-scoreboard span{letter-spacing:.02em}
 .buddy-scoreboard strong{font-size:2rem}
 .buddy-court-wrap{margin:0 14px}
 .buddy-court-tag{top:6px;left:6px;font-size:.48rem}
 .buddy-comment{margin:13px 14px 6px}
 .buddy-instructions{margin:0 14px 10px;font-size:.73rem}
 .buddy-controls{grid-template-columns:1fr 1fr;gap:7px 18px;margin:0 14px 15px}
 .buddy-action{grid-column:1/-1;width:100%}
 .buddy-footer{padding:9px 14px}
}
@media(prefers-reduced-motion:reduce){.buddy-launch:hover{transform:none}.buddy-game::backdrop{backdrop-filter:none}}
@media(max-height:600px) and (orientation:landscape){.buddy-court-wrap{max-width:calc((100dvh - 160px)*1.8);margin-inline:auto}}
@media(forced-colors:active){.buddy-game,.buddy-scoreboard,.buddy-close,.buddy-action,.buddy-launch{border:2px solid CanvasText}.buddy-controls output{color:CanvasText}}
@media print{.buddy-launch,.buddy-game{display:none!important}}
