.game-host{width:fit-content;max-width:100%;min-width:0;margin-inline:auto;padding-bottom:.75rem;--game-accent: var(--brand)}.game-host-nonogram{--game-accent: var(--accent-nonogram)}.game-host-number-link{--game-accent: var(--accent-number-link)}.game-host-binary-puzzle{--game-accent: var(--accent-binary)}.game-status{display:flex;align-items:center;justify-content:center;gap:.4rem;flex-wrap:wrap;margin:0 0 .4rem;color:var(--ink-muted);font-size:.9rem}.game-status label{display:inline-flex;align-items:center;gap:.5rem;min-height:2.75rem}.game-status select,.game-status button,.game-actions>button,.game-result button,.game-result a{min-height:2.75rem;border:1px solid var(--control-border);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-weight:700}.game-status select,.game-status button,.game-actions>button,.game-result button,.game-result a{padding:.55rem .8rem}.game-status button,.game-actions>button,.game-result button,.game-result a{cursor:pointer}.game-status button:hover:not(:disabled),.game-actions>button:hover:not(:disabled),.game-result button:hover,.game-result a:hover{border-color:var(--brand-strong);background:var(--surface-soft)}.game-status output{min-width:4.7rem;color:var(--ink);font-family:SFMono-Regular,Roboto Mono,ui-monospace,monospace;font-size:1rem;font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:.04em;text-align:center}.game-board-frame{width:fit-content;max-width:100%;margin-inline:auto;padding:clamp(.35rem,.8vw,.65rem);overflow:auto;min-width:0;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);box-shadow:0 10px 28px #10261d14;overscroll-behavior:contain}.game-board-frame>p{margin:0;padding:2rem 1rem;color:var(--ink-muted);text-align:center}.game-actions{display:flex;align-items:center;justify-content:center;gap:.4rem;flex-wrap:wrap;margin-block:.5rem}.game-actions button:disabled,.game-status button:disabled,.game-status select:disabled{cursor:not-allowed;opacity:.48}.game-restart-dialog{width:min(calc(100% - 2rem),28rem);padding:1.1rem;border:1px solid var(--control-border);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-float)}.game-restart-dialog::backdrop{background:#12231d6b;backdrop-filter:blur(2px)}.game-restart-dialog p{margin:0 0 1rem;font-size:1rem;font-weight:750;line-height:1.45}.game-restart-actions{display:flex;justify-content:flex-end;gap:.55rem}.game-restart-actions button{min-width:5.5rem;min-height:2.75rem;padding:.55rem .85rem;border:1px solid var(--control-border);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-weight:750}.game-restart-actions button:last-child{border-color:var(--danger);background:var(--danger);color:var(--surface)}.game-restart-actions button:last-child:hover{background:color-mix(in srgb,var(--danger) 84%,black)}.game-result{display:grid;gap:.65rem;margin-block:.5rem;padding:.75rem;border:1px solid color-mix(in srgb,var(--game-accent) 38%,var(--line));border-radius:var(--radius-md);background:color-mix(in srgb,var(--game-accent) 8%,var(--surface))}.game-result-summary{display:flex;align-items:center;gap:.65rem}.game-result-mark{display:grid;width:2.25rem;height:2.25rem;place-items:center;border-radius:50%;background:var(--game-accent);color:var(--surface);font-weight:900}.game-result h2,.game-result p{margin:0}.game-result h2{font-size:1rem}.game-result p{margin-top:.1rem;color:var(--ink-muted);font-size:.9rem}.game-result-actions{display:flex;flex-wrap:wrap;gap:.4rem}.game-result-actions>*{flex:1 1 auto}.game-result button,.game-result a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.game-result button:first-child{border-color:var(--brand-strong);background:var(--brand-strong);color:var(--surface)}.game-result button:first-child:hover{background:var(--ink)}.game-notice[aria-live]{min-height:1.5rem;color:var(--ink-muted);font-size:.9rem;text-align:center}.game-notice[aria-live]:empty{min-height:0}.game-how-to-play{margin-block:.5rem;border-top:1px solid var(--line)}.game-how-to-play h2{display:flex;align-items:center;margin:0;min-height:2.75rem;color:var(--ink);font-size:1rem;font-weight:700}.game-how-to-play ul{margin:0;padding:0 0 0 1.25rem;color:var(--ink-muted);line-height:1.5}@media(max-width:44rem){.game-host{padding-bottom:1rem}.game-status{justify-content:space-between;row-gap:.35rem}.game-status label{flex:1 1 auto}.game-status output{margin-inline-start:auto}.game-actions{position:sticky;z-index:18;bottom:0;margin-inline:-.35rem;padding:.5rem max(.5rem,env(safe-area-inset-right)) calc(.5rem + env(safe-area-inset-bottom)) max(.5rem,env(safe-area-inset-left));border:1px solid var(--line);border-bottom:0;border-radius:var(--radius-md) var(--radius-md) 0 0;background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:0 -10px 30px #16392b14}.game-actions>button{flex:1 1 auto;min-width:max-content;white-space:nowrap}}@media(max-width:24rem){.game-status label{width:100%;justify-content:space-between}.game-status select,.game-status button{flex:1}.game-actions{gap:.35rem}.game-actions>button{padding-inline:.55rem}}@media(prefers-reduced-motion:no-preference){.game-status button,.game-actions>button,.game-result button,.game-result a{transition:background-color .14s ease,border-color .14s ease,color .14s ease}}@media(forced-colors:active){.game-board-frame,.game-result,.game-actions{border-color:CanvasText}.game-result button:first-child{border:2px solid ButtonText}}
