.dab{gap:var(--space-8);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}@media (width>=56rem){.dab{grid-template-columns:minmax(0,2fr) minmax(16rem,1fr)}}.dab-play{background:var(--color-sheet);border-radius:var(--radius-lg);padding:var(--space-4)}.dab-panel{gap:var(--space-2) var(--space-6);margin-bottom:var(--space-4);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.dab-turn{align-items:center;gap:var(--space-2);font-size:var(--text-body-lg-size);margin:0;font-weight:500;display:flex}.dab-scores{gap:var(--space-2) var(--space-6);flex-wrap:wrap;margin:0;display:flex}.dab-score{align-items:center;gap:var(--space-2);display:flex}.dab-score dt,.dab-score dd{align-items:center;gap:var(--space-2);margin:0;display:flex}.dab-score dd{font-weight:500;font-size:var(--text-body-lg-size)}.dab-icon{flex:none}.dab-p0{stroke:var(--color-player-1)}.dab-p1{stroke:var(--color-player-2)}.dab-svg{-webkit-tap-highlight-color:transparent;width:100%;height:auto;max-height:70vh;margin:0 auto;display:block}.dab-help{margin:var(--space-3) 0 0;font-size:var(--text-body-sm-size);line-height:var(--text-body-sm-line);color:var(--color-ink-muted)}.dab-dot{fill:var(--color-ink);pointer-events:none}.dab-line{cursor:pointer;outline:none}.dab-stroke{stroke:var(--color-grid-line);stroke-width:4px;stroke-linecap:round;stroke-dasharray:1 7}.dab-hit{stroke:#0000;stroke-width:26px;stroke-linecap:butt}.dab-ring{stroke:var(--color-focus);stroke-width:12px;stroke-linecap:round;opacity:0}.dab-line:focus-visible .dab-ring{opacity:1}.dab-line[data-drawn=false]:hover .dab-stroke{stroke:var(--color-ink-muted)}.dab-line[data-drawn=true]{cursor:default}.dab-line[data-drawn=true] .dab-stroke{stroke:var(--color-ink);stroke-dasharray:none}.dab-line[data-last=true] .dab-stroke{stroke:var(--color-focus);stroke-width:6px}.dab-svg[data-over=true] .dab-line{cursor:default}.dab-box-fill{fill:#0000}.dab-mark{stroke-width:4px;stroke-linecap:round;display:none}.dab-box[data-owner="0"] .dab-box-fill{fill:var(--color-player-1-fill)}.dab-box[data-owner="0"] .dab-mark-0{stroke:var(--color-player-1);display:inline}.dab-box[data-owner="1"] .dab-box-fill{fill:var(--color-player-2-fill)}.dab-box[data-owner="1"] .dab-mark-1{stroke:var(--color-player-2);display:inline}.dab-form{background:var(--color-sheet);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-6) var(--space-6)}.dab-form h2{font-size:var(--text-h3-size);line-height:var(--text-h3-line);font-weight:var(--text-h3-weight);margin:0 0 var(--space-3)}.dab-form fieldset{margin:0 0 var(--space-4);border:0;min-width:0;padding:0}.dab-form legend{margin-bottom:var(--space-2);font-size:var(--text-label-size);line-height:var(--text-label-line);font-weight:var(--text-label-weight);letter-spacing:var(--text-label-tracking);padding:0}.dab-form fieldset:disabled{opacity:.55}.dab-choice{align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-2);cursor:pointer;display:flex}.dab-choice input{width:20px;height:20px;accent-color:var(--color-brand);flex:none}.dab-choice:has(input:disabled){cursor:not-allowed;opacity:.55}.dab-button{min-height:44px;padding:var(--space-2) var(--space-6);border-radius:var(--radius-full);background:var(--color-brand);color:var(--color-brand-on);font:inherit;cursor:pointer;border:0;font-weight:500}.ttt{gap:var(--space-8);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}@media (width>=56rem){.ttt{grid-template-columns:minmax(0,2fr) minmax(16rem,1fr)}}.ttt-play{background:var(--color-sheet);border-radius:var(--radius-lg);padding:var(--space-4)}.ttt-panel{gap:var(--space-2) var(--space-6);margin-bottom:var(--space-2);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.ttt-turn{align-items:center;gap:var(--space-2);font-size:var(--text-body-lg-size);margin:0;font-weight:500;display:flex}.ttt-scores{gap:var(--space-2) var(--space-6);flex-wrap:wrap;margin:0;display:flex}.ttt-score{align-items:center;gap:var(--space-2);display:flex}.ttt-score dt,.ttt-score dd{align-items:center;gap:var(--space-2);margin:0;display:flex}.ttt-score dd{font-weight:500;font-size:var(--text-body-lg-size)}.ttt-icon{flex:none}.ttt-p0{stroke:var(--color-player-1)}.ttt-p1{stroke:var(--color-player-2)}.ttt-first{margin:0 0 var(--space-4);font-size:var(--text-body-sm-size);line-height:var(--text-body-sm-line);color:var(--color-ink-muted)}.ttt-svg{-webkit-tap-highlight-color:transparent;width:100%;max-width:28rem;height:auto;max-height:70vh;margin:0 auto;display:block}.ttt-help{margin:var(--space-3) 0 0;font-size:var(--text-body-sm-size);line-height:var(--text-body-sm-line);color:var(--color-ink-muted)}.ttt-next-row{margin:var(--space-3) 0 0;min-height:44px}.ttt-grid{stroke:var(--color-ink);stroke-width:3px;stroke-linecap:round}.ttt-cell{cursor:pointer;outline:none}.ttt-hit{fill:#0000}.ttt-ring{stroke:var(--color-focus);stroke-width:4px;opacity:0}.ttt-cell:focus-visible .ttt-ring{opacity:1}.ttt-svg[data-over=false] .ttt-cell[data-owner=""]:hover .ttt-hit{fill:var(--color-player-1-fill);opacity:.4}.ttt-svg[data-over=true] .ttt-cell,.ttt-cell[data-owner="0"],.ttt-cell[data-owner="1"]{cursor:default}.ttt-mark{stroke-width:6px;stroke-linecap:round;display:none}.ttt-cell[data-owner="0"] .ttt-mark-0{stroke:var(--color-player-1);display:inline}.ttt-cell[data-owner="1"] .ttt-mark-1{stroke:var(--color-player-2);display:inline}.ttt-cell[data-win=true][data-owner="0"] .ttt-hit{fill:var(--color-player-1-fill)}.ttt-cell[data-win=true][data-owner="1"] .ttt-hit{fill:var(--color-player-2-fill)}.ttt-cell[data-last=true] .ttt-mark{stroke-width:8px}.ttt-form{background:var(--color-sheet);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-6) var(--space-6)}.ttt-form h2{font-size:var(--text-h3-size);line-height:var(--text-h3-line);font-weight:var(--text-h3-weight);margin:0 0 var(--space-3)}.ttt-form fieldset{margin:0 0 var(--space-4);border:0;min-width:0;padding:0}.ttt-form legend{margin-bottom:var(--space-2);font-size:var(--text-label-size);line-height:var(--text-label-line);font-weight:var(--text-label-weight);letter-spacing:var(--text-label-tracking);padding:0}.ttt-form fieldset:disabled{opacity:.55}.ttt-choice{align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-2);cursor:pointer;display:flex}.ttt-choice input{width:20px;height:20px;accent-color:var(--color-brand);flex:none}.ttt-choice:has(input:disabled){cursor:not-allowed;opacity:.55}.ttt-button{min-height:44px;padding:var(--space-2) var(--space-6);border-radius:var(--radius-full);background:var(--color-brand);color:var(--color-brand-on);font:inherit;cursor:pointer;border:0;font-weight:500}.ttt-button[hidden]{display:none}.game-page{gap:var(--space-8);display:grid}.prose{max-width:46rem}.prose h2{font-size:var(--text-h2-size);line-height:var(--text-h2-line);font-weight:var(--text-h2-weight);margin:var(--space-8) 0 var(--space-3)}.prose h3{font-size:var(--text-h3-size);line-height:var(--text-h3-line);font-weight:var(--text-h3-weight);margin:var(--space-6) 0 var(--space-2)}.prose p,.prose ul,.prose ol{margin:0 0 var(--space-4)}.prose li{margin-bottom:var(--space-2)}.prose .store-soon{color:var(--color-ink-muted)}
