#cribbage-app{--cb-you:#0b5394;--cb-cpu:#b3261e;margin:12px 0 0}.cb-game{gap:12px;min-width:0;display:grid}.cb-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.cb-info{flex-wrap:wrap;gap:4px 16px;font-size:1.1rem;display:flex}.cb-tally strong{font-variant-numeric:tabular-nums}.cb-board{border:1px solid var(--border-strong);border-top:6px solid var(--brass);border-radius:var(--radius);background:linear-gradient(180deg, var(--surface), var(--surface-2));box-shadow:var(--shadow-md);padding:8px 12px 10px}.cb-score-line{font-family:var(--font-display);font-variant-numeric:tabular-nums lining-nums;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 14px;margin:0;font-size:clamp(1.5rem,5vw,2.1rem);font-weight:700;display:flex}.cb-score strong{font-weight:900}.cb-score-0 strong{color:var(--cb-you)}.cb-score-1 strong{color:var(--cb-cpu)}.cb-dot{color:var(--muted)}.cb-score-sub{text-align:center;color:var(--muted);margin:2px 0 6px;font-size:1rem}.cb-board-holder{width:100%}.cb-board-svg{filter:drop-shadow(0 2px 2px #28190a59)drop-shadow(0 6px 8px #28190a40);width:100%;height:auto;display:block}.cb-wood{stroke:#2f1a0a;stroke-width:3px}.cb-grain{pointer-events:none}.cb-wood-edge{fill:none;stroke:#ffe1aa38;stroke-width:1.5px}.cb-screw path{fill:none;stroke:#5e440c;stroke-width:1.3px}.cb-screw circle,.cb-plate,.cb-game-ring{stroke:#5e440c;stroke-width:1px}.cb-band{stroke:#2f1a0a;stroke-width:2px}.cb-turn{fill:none;stroke:var(--brass-light);stroke-width:3px;stroke-dasharray:4 4}.cb-arrow{fill:none;stroke:#2f1a0a;stroke-width:2.5px}.cb-hole{fill:#1c0f05;stroke:#46280c8c;stroke-width:1.4px}.cb-hole-5{fill:#000;stroke:#281405e6}.cb-start-hole{fill:#120903;stroke:#ffe1aa73}.cb-game-hole{fill:#120903;stroke:#5e440c;stroke-width:1.5px}.cb-mark,.cb-label,.cb-skunk-label{font:700 11px var(--font);fill:#2a1a0b}.cb-label{fill:#fbe9c0;font-size:12px;font-weight:800}.cb-label-plate{fill:#231a05}.cb-skunk-under{stroke:#2f1a0a;stroke-width:5px;stroke-linecap:round}.cb-skunk{stroke:var(--brass-light);stroke-width:2.4px;stroke-linecap:round}.cb-peg{stroke:#fff;stroke-width:2px;paint-order:stroke;transition:transform .6s ease-in-out}.cb-peg-0{fill:var(--cb-you)}.cb-peg-1{fill:var(--cb-cpu)}.cb-peg-back{fill:#fff;stroke-width:3px}.cb-peg-0.cb-peg-back{stroke:var(--cb-you)}.cb-peg-1.cb-peg-back{stroke:var(--cb-cpu)}.reduce-motion .cb-peg{transition:none}.cb-peg-key{vertical-align:.02em;border:2px solid #fff;width:.75em;height:.75em;margin-right:.3em;display:inline-block;box-shadow:0 0 0 1px #0006}.cb-peg-key-0{background:var(--cb-you);border-radius:50%}.cb-peg-key-1{background:var(--cb-cpu);transform:rotate(45deg)scale(.85)}.cb-status .game-status{min-height:4.5em}.cb-table{--card-w:clamp(46px, 11vw, 74px);--cb-inlay:#e8c87380;gap:10px;padding:12px;display:grid}.cb-seat-name{flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0 0 6px;font-size:1.2rem;display:flex}.cb-table .cb-seat-name{color:#fff}.cb-owner{white-space:nowrap;font-weight:800}.cb-seat-name .cb-owner{border:2px solid var(--brass-dark);color:var(--text);font-family:var(--font-display);background:linear-gradient(#fffdf6,#f1e4c6);border-radius:10px;padding:1px 14px 2px 10px;font-size:1.3rem;font-weight:700;box-shadow:inset 0 0 0 1px #fff9,0 2px #0000004d}.cb-dealer{background:linear-gradient(180deg, #f4d98d, var(--brass));color:#231a05;font-family:var(--font);border:2px solid #5e440c;border-radius:999px;padding:2px 12px;font-size:.95rem;font-weight:800;box-shadow:inset 0 1px #ffffff80,0 2px 3px #0000004d}.cb-opp-cards{min-height:calc(var(--card-w) * 1.4);flex-wrap:wrap;gap:4px;display:flex}.cb-none{color:inherit;opacity:.85;margin:0}.cb-center{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}@media (width<=560px){.cb-center{grid-template-columns:minmax(0,1fr)}.cb-side-piles{order:-1}}.cb-side-piles{align-items:flex-start;gap:14px;display:flex}.cb-starter,.cb-crib{border:2px solid var(--cb-inlay);background:#00000038;border-radius:12px;padding:6px 10px 10px;box-shadow:inset 0 2px 8px #00000059}.cb-pile-label{color:#fbe9c0;font-family:var(--font-display);margin:0 0 4px;font-size:1.1rem;font-weight:700}.cb-table .card-slot rect{fill:#00000029;stroke:var(--cb-inlay);stroke-width:2px;stroke-dasharray:none}.cb-starter .cb-deck{filter:drop-shadow(1px 1px #cfc3a6)drop-shadow(1px 1px #6f6350)drop-shadow(1px 1px #e9dfc6)drop-shadow(1px 1px #6f6350)drop-shadow(2px 3px 3px #00000080)}.cb-crib-cards{display:flex}.cb-crib-cards:not(.is-open) .card+.card{margin-left:calc(var(--card-w) * -.82)}.cb-crib-cards.is-open{max-width:calc(var(--card-w) * 2 + 6px);flex-wrap:wrap;gap:3px}.cb-count-area{min-width:0}.cb-count{border:2px solid var(--brass);background:#0f090480;border-radius:16px;align-items:baseline;gap:12px;margin:0 0 8px;padding:4px 20px 6px 16px;display:inline-flex;box-shadow:inset 0 3px 10px #00000080,0 1px #ffffff1f}.cb-count-label{color:var(--brass-light);font-family:var(--font-display);font-size:1.4rem;font-weight:700}@media (width<=767px){.cb-count{margin-bottom:6px;padding:0 14px 2px 12px}.cb-starter,.cb-crib{padding:2px 8px 6px}.cb-seat-name .cb-owner{padding:0 10px 0 8px;font-size:1.2rem}}.cb-count-num{font-variant-numeric:tabular-nums;color:#fff6d6;font-size:clamp(3.4rem,13vw,5.5rem);font-weight:900;line-height:1}.cb-pile{gap:8px;display:grid}.cb-pile-old,.cb-pile-now{flex-wrap:wrap;gap:6px;display:flex}.cb-pile-old{--card-w:clamp(34px, 7vw, 46px)}.cb-played{text-align:center;margin:0}.cb-played figcaption{font-size:.9rem}.cb-played.is-old{opacity:.7}.cb-played.is-old figcaption{display:none}.cb-new-count{opacity:.9;font-size:1.15rem}.cb-big-help{margin:0;font-size:1.4rem;font-weight:800}.cb-small-help{margin:6px 0 0}.cb-show{border-top:6px solid var(--brass);border-radius:var(--radius);background:var(--surface);color:var(--text);--card-w:clamp(50px, 13vw, 84px);padding:12px 14px;box-shadow:0 3px 10px #00000059}.cb-show-order{color:var(--muted);margin:0;font-weight:700}.cb-show-title{margin:0 0 8px}.cb-show-cards{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.cb-show-card{text-align:center;margin:0}.cb-show-starter{border-left:3px dashed var(--border);margin-left:10px;padding-left:10px}.cb-show-card figcaption{font-size:.95rem;font-weight:700}.cb-sentence{margin:0 0 8px;font-size:1.35rem;font-weight:700}.cb-steps{gap:6px;margin:0 0 8px;padding-left:1.6em;display:grid}.cb-step{border:2px solid var(--border);background:var(--surface);width:100%;min-height:48px;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:10px;padding:6px 12px}.cb-step.is-active{border-color:var(--text);box-shadow:0 0 0 3px var(--highlight);background:#fff6d6}.cb-step-text{font-weight:800}.cb-step-detail{color:var(--muted)}.cb-step-nav{flex-wrap:wrap;gap:8px;display:flex}.cb-show-total{margin:10px 0 0;font-size:1.3rem}.cb-muggins{border-left:6px solid var(--cb-cpu);background:#fde8e6;padding:8px 12px}.cb-correct{border-left:6px solid var(--success);background:#e6f4ea;padding:8px 12px}.cb-count-q{font-weight:700;display:block}.cb-count-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.cb-count-input{max-width:120px;font-size:1.6rem}.cb-count-msg{color:var(--cb-cpu);font-weight:700}.cb-controls{flex-wrap:wrap;gap:10px;min-height:56px;display:flex}.cb-controls .btn{min-height:60px;font-size:1.25rem}.cb-hand{border:3px solid var(--felt-edge);border-radius:var(--radius);background:var(--tex-noise), linear-gradient(180deg, var(--felt-dark), var(--felt) 55%, var(--felt-light));background-color:var(--felt);box-shadow:var(--shadow-md), inset 0 0 0 2px #00000059, inset 0 10px 18px #0000004d;color:#fff;--card-w:clamp(52px, 14.5vw, 100px);padding:10px 12px 16px}.cb-hand.is-your-turn{border-color:var(--highlight);box-shadow:0 0 0 2px #00000059,0 0 16px 3px #ffc80080,inset 0 0 0 2px #00000059,inset 0 10px 18px #0000004d}.cb-hand-label{font-family:var(--font);color:#f3ead8;font-size:1.05rem;font-weight:600}.cb-hand-cards{min-height:calc(var(--card-w) * 1.4 + 24px);flex-wrap:wrap;gap:6px;padding-top:24px;display:flex}.cb-card-btn,.cb-card-static{cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0;display:block}.cb-card-static{cursor:default}.cb-card-btn:focus-visible{outline:4px solid var(--focus);outline-offset:2px}.cb-hand .card{transition:transform .15s}.cb-hand .card.is-dim{opacity:1;filter:brightness(.6)saturate(.55)}.cb-all-hands{margin:12px 0}.cb-all-hands summary{cursor:pointer;min-height:48px;padding:10px 0;font-weight:800}.cb-show-summary{padding-left:1.2em}.cb-final{font-size:1.3rem}.cb-settings .choice a{font-weight:600}#cribbage-app .btn:disabled{opacity:.5;cursor:not-allowed;border-style:dashed}@media (width<=560px){.cb-peg-help{display:none}.cb-status .game-status .turn{font-size:1.3rem}}@media (width<=767px){.cb-table{max-height:calc(100svh - var(--dock-h,400px) - 12px);overflow-y:auto}.play-dock .cb-controls:empty{display:none}}
