#oh-hell-app{margin:12px 0 0}#oh-hell-app.is-loading{min-height:640px}.oh-bar{border:2px solid var(--brass-dark);border-radius:var(--radius);box-shadow:var(--shadow-sm);background:linear-gradient(#fffdf6,#f1e4c6);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 18px;margin-bottom:8px;padding:8px 14px;display:flex}.oh-bar-part{flex-wrap:wrap;align-items:center;gap:4px 12px;min-width:0;display:flex}.oh-bar-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:1rem;font-weight:800}.oh-trump-badge{border:3px solid var(--text);min-height:52px;font-family:var(--font-display);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:2px 18px 2px 10px;font-size:1.7rem;font-weight:700;display:inline-flex}.oh-trump-badge.is-none{border-style:dashed;padding:2px 16px;font-size:1.4rem}.oh-badge-icon{width:1.5em;height:1.5em}.oh-bar-sub{font-size:1.05rem;font-weight:600}.oh-bids-count{border:2px solid var(--border-strong);background:var(--surface);font-variant-numeric:tabular-nums;border-radius:8px;padding:2px 12px;font-size:1.2rem;font-weight:800}.oh-seat-bid{flex-direction:column;align-items:center;gap:2px;display:flex}.oh-bidline{font-variant-numeric:tabular-nums;text-wrap:balance;font-size:1.05rem;font-weight:700}.oh-bidwon{flex-wrap:wrap;justify-content:center;column-gap:.4em;display:inline-flex}.oh-bidwon>span+span:before{content:"· "}.oh-bidline.is-waiting{color:var(--muted);font-weight:600}.oh-st{white-space:nowrap;border:2px solid;border-radius:999px;padding:0 8px;font-size:.95rem;font-weight:800;display:inline-block}.oh-st.is-made{color:var(--success);background:#e3f3e6}.oh-st.is-needs{color:var(--primary);background:#fff;border-style:dashed}.oh-st.is-over{color:#8f2418;background:#fbe5e1}.oh-game .tt-seat-text .oh-tag{margin:2px 0}.oh-turned{--card-w:clamp(70px, 20vw, 104px);justify-content:center;padding:8px 0 4px;display:flex}.oh-no-trump{min-height:24px}.oh-bid-panel{border:3px solid var(--highlight);border-radius:var(--radius);background:var(--highlight-soft);text-align:center;justify-items:center;gap:8px;padding:10px 12px 12px;display:grid}.oh-bid-title{font-family:var(--font-display);margin:0;font-size:1.4rem;font-weight:700}.oh-bid-sofar{margin:0;font-weight:700}.oh-bid-nums{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.oh-bid-btn{border:3px solid var(--primary);min-width:60px;min-height:60px;color:var(--primary);font:inherit;cursor:pointer;background:#fff;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;padding:2px 8px;display:inline-flex}.oh-bid-num{font-variant-numeric:tabular-nums;font-size:1.8rem;font-weight:800;line-height:1}.oh-bid-btn:hover{background:var(--primary-soft)}.oh-bid-btn.is-selected{background:var(--primary);color:var(--on-primary);box-shadow:0 0 0 4px var(--highlight)}.oh-bid-btn.is-selected .oh-bid-num:after{content:" ✓";font-size:.7em}.oh-bid-btn.is-forbidden{border-style:dashed;border-color:var(--border-strong);color:#555;cursor:not-allowed;background:repeating-linear-gradient(135deg,#eee,#eee 6px,#ddd 6px 12px)}.oh-bid-btn.is-forbidden .oh-bid-num{text-decoration:line-through}.oh-bid-no{font-size:.85rem;font-weight:800}.oh-hook-note{max-width:36em;margin:0;font-size:1.05rem}.oh-bid-confirm{min-width:12em}.oh-game .tt-side .suit-icon{vertical-align:-.2em;width:1.2em;height:1.2em}.oh-sheet th[scope=row]{white-space:nowrap;font-size:.95rem}.oh-sheet .oh-cell{font-variant-numeric:tabular-nums;line-height:1.2}.oh-sheet .oh-cell.is-made strong:after{content:" ✓"}.oh-sheet .oh-now>*{background:var(--highlight-soft)}.oh-sheet-key{font-size:1rem}.oh-how-title{margin:14px 14px 4px;font-size:1.15rem}.oh-how{margin-top:0;padding-left:1.2em;font-size:1.05rem}.oh-made-row>*{font-weight:700}@media (width<=767px){.oh-bar{gap:4px;margin-bottom:4px;padding:4px 8px}.oh-bar-part{gap:2px 6px}.oh-bar-label{letter-spacing:0;font-size:.8rem}.oh-trump-badge{min-height:38px;padding:0 12px 0 6px;font-size:1.3rem}.oh-trump-badge.is-none{padding:0 10px;font-size:1.1rem}.oh-bar-sub{font-size:.95rem}.oh-bids-count{padding:0 8px;font-size:1rem}.oh-turned{--card-w:64px;padding:4px 0 0}.oh-bidline,.oh-st{font-size:.9rem}.oh-seat-bid{max-width:100%}.tt-seat-west .oh-bidwon,.tt-seat-east .oh-bidwon{flex-direction:column;font-size:.85rem}.tt-seat-west .oh-bidwon>span+span:before,.tt-seat-east .oh-bidwon>span+span:before{content:none}.oh-st{white-space:normal;text-wrap:balance;line-height:1.15}.oh-bid-panel{gap:6px;padding:6px 8px 8px}.oh-bid-title{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.oh-bid-sofar{font-size:1.25rem;line-height:1.25}.oh-bid-confirm{min-height:56px;padding-top:4px;padding-bottom:4px}.oh-bid-nums{grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:5px;width:100%;display:grid}.oh-bid-btn{min-width:48px;min-height:56px;padding:2px}.oh-bid-num{font-size:1.5rem}.oh-bid-no{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.oh-hook-note{font-size:1.25rem;line-height:1.25}.play-dock:has(.oh-bid-panel) .is-docked{--dock-status-lines:2}.play-dock:has(.oh-hook-note) .is-docked{--dock-status-lines:1}.play-dock:has(.oh-bid-panel) .tt-hand{padding-top:12px}.play-dock:has(.oh-bid-panel) .tt-hand-fan{flex-direction:row;justify-content:center;gap:0}.play-dock:has(.oh-bid-panel) .tt-hand-row{display:contents}.play-dock:has(.oh-bid-panel) .tt-card-btn{flex:0 1 var(--card-w);min-width:0;margin-left:0}.play-dock:has(.oh-bid-panel) .tt-card-btn .card{width:var(--card-w);max-width:none}.play-dock:has(.oh-bid-panel) .tt-hand-row:last-child .tt-card-btn:last-child{flex-shrink:0}}
