.g-cribbage{--cw:60px;--ch:84px;--tw:40px;--th:56px;--card-face:#fbfaf6;--card-ink:#1d2320;--card-red:#c0392b;--cb-peg-you:#2b7de9;--cb-peg-comp:#d4572a;padding:6px;border-radius:8px;background:var(--accent-soft);outline-offset:2px;touch-action:manipulation}.g-cribbage .cb-svg{display:block;width:100%;height:auto;max-height:190px;margin:0 auto 6px}.g-cribbage .cb-wood{fill:#b98b54;stroke:#7d5a30;stroke-width:1.5}.g-cribbage .cb-hole{fill:#4a3218}.g-cribbage .cb-line{fill:#4a3218;stroke:#f6e3b4;stroke-width:1}.g-cribbage .cb-goal{fill:#4a3218;stroke:#f2c14e;stroke-width:1.4}.g-cribbage .cb-peg{stroke:#fff;stroke-width:.9}.g-cribbage .cb-peg-back{opacity:.7}.g-cribbage .cb-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.g-cribbage .cb-seat,.g-cribbage .cb-you{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:3px 8px;border-radius:8px;border:2px solid transparent;font-size:14px;color:var(--ink)}.g-cribbage .cb-seat{flex-direction:column;align-items:flex-start;gap:3px}.g-cribbage .cb-seat .cb-sc{font-weight:600}.g-cribbage .cb-seat.is-turn,.g-cribbage .cb-you.is-turn{border-color:var(--gold);background:rgba(242,193,78,.22)}.g-cribbage .cb-tag{margin-left:6px;font-size:11px;font-weight:600;padding:1px 6px;border-radius:999px;background:var(--ink);color:var(--surface);text-transform:uppercase;letter-spacing:.03em}.g-cribbage .cb-sc{font-variant-numeric:tabular-nums;font-weight:600}.g-cribbage .cb-yourturn{font-weight:700}.g-cribbage .cb-backs{position:relative}.g-cribbage .cb-backs .cb-back{position:absolute;top:0;width:var(--tw);height:var(--th)}.g-cribbage .cb-none{min-height:4px}.g-cribbage .cb-slots{display:flex;gap:10px;align-items:flex-start}.g-cribbage .cb-slot{display:grid;justify-items:center;gap:2px}.g-cribbage .cb-cap{font-size:11px;color:var(--ink-2);max-width:78px;text-align:center;line-height:1.1}.g-cribbage .cb-cribstack{position:relative}.g-cribbage .cb-cribstack .cb-back{position:absolute}.g-cribbage .cb-card{box-sizing:border-box;position:relative;border-radius:calc(var(--cw) * .1);border:1px solid #8e9791;font-weight:700;line-height:1;color:var(--card-ink);background:var(--card-face);box-shadow:0 1px 2px rgba(0,0,0,.3);overflow:hidden;user-select:none;-webkit-user-select:none}.g-cribbage .cb-card.red{color:var(--card-red)}.g-cribbage .cb-ix{position:absolute;left:.2em;top:.16em;white-space:nowrap;letter-spacing:-.04em;font-size:1.2em}.g-cribbage .cb-ix i{font-style:normal;margin-left:.04em}.g-cribbage .cb-mid{position:absolute;left:0;right:0;bottom:8%;text-align:center;font-size:2.1em;line-height:1}.g-cribbage .cb-back{background:repeating-linear-gradient(45deg,#2c6b8c 0 3px,#245a76 3px 6px);border:2px solid #f3f1ea}.g-cribbage .cb-small{width:var(--tw);height:var(--th);font-size:calc(var(--tw) * .3)}.g-cribbage .cb-small.cb-back{width:var(--tw);height:var(--th)}.g-cribbage .cb-middle{display:flex;flex-direction:column;align-items:center;gap:4px;margin:6px 0 2px}.g-cribbage .cb-count{display:flex;align-items:baseline;gap:8px;font-size:14px;color:var(--ink)}.g-cribbage .cb-count b{font-size:26px;line-height:1;font-variant-numeric:tabular-nums}.g-cribbage .cb-pilewrap{display:flex;justify-content:center;width:100%}.g-cribbage .cb-pile{position:relative}.g-cribbage .cb-pile .cb-card{position:absolute;top:0}.g-cribbage .cb-pile .cb-card.is-mine{box-shadow:0 0 0 2px var(--cb-peg-you),0 1px 2px rgba(0,0,0,.3)}.g-cribbage .cb-pile .cb-card.is-theirs{box-shadow:0 0 0 2px var(--cb-peg-comp),0 1px 2px rgba(0,0,0,.3)}.g-cribbage .cb-show{margin:8px auto;max-width:440px;padding:10px 12px;border-radius:10px;background:var(--surface);border:1px solid var(--line);color:var(--ink);text-align:center}.g-cribbage .cb-show h3{margin:0 0 8px;font-size:16px}.g-cribbage .cb-showcards{display:flex;justify-content:center;align-items:center;gap:4px;flex-wrap:wrap}.g-cribbage .cb-showcards .cb-card{position:relative;flex:none}.g-cribbage .cb-plus{font-size:20px;padding:0 2px}.g-cribbage .cb-showcards .is-starter{box-shadow:0 0 0 2px var(--gold),0 1px 2px rgba(0,0,0,.3)}.g-cribbage .cb-items{list-style:none;margin:10px 0 4px;padding:0;font-size:14px;display:grid;gap:2px}.g-cribbage .cb-total{margin:4px 0 8px;font-weight:700;font-size:16px}.g-cribbage .cb-continue{min-height:44px}.g-cribbage .cb-you{margin:6px auto 2px;width:fit-content}.g-cribbage .cb-hand{display:flex;justify-content:center;padding-top:14px;min-height:calc(var(--ch) + 14px)}.g-cribbage .cb-row{position:relative}.g-cribbage .cb-hand .cb-card{position:absolute;top:0;width:var(--cw);height:var(--ch);font-size:calc(var(--cw) * .27);cursor:pointer;transition:transform .08s;touch-action:manipulation}.g-cribbage .cb-hand .cb-card:hover{transform:translateY(-4px)}.g-cribbage .cb-hand .cb-card.is-dim{filter:brightness(.62)saturate(.7);cursor:default}.g-cribbage .cb-hand .cb-card.is-dim:hover,.g-cribbage .cb-hand .cb-card.is-wait:hover{transform:none}.g-cribbage .cb-hand .cb-card.is-wait{cursor:default}.g-cribbage .cb-hand .cb-card.is-sel{transform:translateY(-14px);box-shadow:0 0 0 3px var(--focus),0 3px 6px rgba(0,0,0,.35);z-index:3}.g-cribbage .cb-hand .cb-card.is-hint{box-shadow:0 0 0 3px var(--gold),0 3px 6px rgba(0,0,0,.35);transform:translateY(-8px);z-index:4}.g-cribbage .cb-hand .cb-card.is-cursor{outline:3px solid var(--focus);outline-offset:-1px;z-index:5}.g-cribbage .is-shake{animation:cb-shake .35s}@keyframes cb-shake{20%{margin-left:-4px}40%{margin-left:4px}60%{margin-left:-3px}80%{margin-left:3px}}.g-cribbage .cb-actions{display:flex;justify-content:center;margin:8px 0 2px;min-height:40px}.g-cribbage .cb-actions .btn[disabled]{opacity:.5;cursor:default}.g-cribbage .cb-log{list-style:none;margin:6px 0 0;padding:4px 8px;max-height:8.6em;overflow:auto;border-radius:6px;background:var(--surface);border:1px solid var(--line);font-size:13px;color:var(--ink)}.g-cribbage .cb-log li{padding:2px 0;border-bottom:1px dotted var(--line)}.g-cribbage .cb-log li:last-child{border-bottom:0;font-weight:600}.game__card.cb-rules{max-width:460px;text-align:left;max-height:100%;overflow:auto}.game__card.cb-rules h2{text-align:center}.game__card.cb-rules ul{margin:0 0 12px;padding-left:1.1em;font-size:14px;line-height:1.4}.game__card.cb-rules li{margin-bottom:6px}.game__card.cb-rules .game__cardbtns{justify-content:center}@media(max-width:420px){.g-cribbage{padding:4px}.g-cribbage .cb-cap{font-size:10px;max-width:64px}.g-cribbage .cb-log{font-size:12px}}@media(prefers-reduced-motion:reduce){.g-cribbage .cb-hand .cb-card,.g-cribbage .is-shake{transition:none;animation:none}}