.suit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-sm)}.suit-column{display:flex;flex-direction:column;background:var(--color-surface-alt);border-radius:var(--border-radius);overflow:hidden}.suit-header{padding:var(--space-sm) var(--space-xs);text-align:center;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.suit-symbol{font-size:1.25rem;line-height:1}.suit-label{display:block;font-size:.7rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:2px}.suit-count{display:block;font-size:.7rem;font-weight:600;margin-top:2px}.rank-buttons{display:flex;flex-direction:column;padding:var(--space-xs);gap:2px}.rank-btn{padding:.35rem .25rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-surface);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s;text-align:center;font-family:var(--font-mono)}.rank-btn:hover:not(.locked):not(.selected){background:#ebf4ff;color:var(--color-primary);border-color:var(--color-primary)}.rank-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.rank-btn.selected{background:#1a365d;color:#fff;border-color:#1a365d;border-left:4px solid var(--color-accent);box-shadow:0 1px 3px #0000004d;position:relative;font-weight:700}.rank-btn.selected:before{content:"✓";position:absolute;left:-1px;top:50%;transform:translateY(-50%);font-size:.55rem;color:var(--color-accent)}.suit-column:has(.rank-btn.selected) .suit-count{color:var(--color-primary);font-weight:700}.rank-btn.locked{opacity:.35;cursor:not-allowed}.card-selector-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md);gap:var(--space-md)}.total-cards-display{display:flex;align-items:center;gap:var(--space-sm);position:relative}.total-cards{font-size:1.1rem;font-weight:700;color:var(--color-text-muted);transition:color .2s}.total-cards.complete{color:var(--color-success)}.max-cards-warning{position:absolute;left:100%;margin-left:var(--space-sm);background:var(--color-accent);color:#fff;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:600;white-space:nowrap;opacity:0;transition:opacity .3s;pointer-events:none}.max-cards-warning.visible{opacity:1}.clear-hand-btn{padding:var(--space-xs) var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);font-size:.85rem;cursor:pointer;color:var(--color-text-muted);transition:all .2s}.clear-hand-btn:hover{background:var(--color-surface-alt);color:var(--color-text);border-color:var(--color-text-muted)}.section-title{font-size:1.25rem;font-weight:700;margin-bottom:var(--space-md);padding-bottom:var(--space-xs);border-bottom:2px solid var(--color-border)}.hand-layout{display:grid;grid-template-columns:1fr 300px;gap:var(--space-xl);align-items:start;margin-bottom:var(--space-2xl)}.summary-panel{position:sticky;top:var(--space-xl);transition:box-shadow .3s}.summary-panel.flash-limit{box-shadow:0 0 0 3px var(--color-warning)}.summary-panel h3{margin-bottom:var(--space-md)}.points-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm);margin-bottom:var(--space-md)}.point-card{text-align:center;padding:var(--space-sm);background:var(--color-surface-alt);border-radius:var(--border-radius)}.point-card.total{grid-column:1 / -1}.point-value{display:block;font-size:1.5rem;font-weight:800;color:var(--color-primary)}.point-label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-top:2px}.point-sub{display:block;font-size:.65rem;color:var(--color-text-muted);margin-top:2px;min-height:1em}.shape-info{padding:var(--space-sm) 0;border-top:1px solid var(--color-border);margin-bottom:var(--space-sm)}.shape-row{display:flex;justify-content:space-between;align-items:center;padding:2px 0}.shape-label{font-size:.8rem;color:var(--color-text-muted)}.shape-value{font-weight:700;font-family:var(--font-mono);font-size:.95rem}.shape-classification{font-weight:600;font-size:.8rem;padding:1px 8px;border-radius:999px}.shape-classification.balanced{background:#c6f6d5;color:#22543d}.shape-classification.semi-balanced{background:#fefcbf;color:#744210}.shape-classification.unbalanced{background:#fed7d7;color:#822727}.opening-hint{padding-top:var(--space-sm);border-top:1px solid var(--color-border)}.opening-hint h4{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:var(--space-xs)}.hint-bid{font-size:1.75rem;font-weight:800;color:var(--color-primary);text-align:center}.hint-reason{font-size:.75rem;color:var(--color-text-muted);text-align:center;line-height:1.4;margin-top:2px}.auction-section{padding-top:var(--space-lg);border-top:3px solid var(--color-border)}.auction-layout{display:grid;grid-template-columns:260px 1fr;gap:var(--space-lg);align-items:start}.auction-left,.auction-right{display:flex;flex-direction:column;gap:var(--space-sm)}.context-controls{padding:var(--space-sm) var(--space-md)}.context-controls h4{margin-bottom:var(--space-sm);font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.control-row{display:flex;align-items:center;gap:var(--space-sm);margin:4px 0;font-size:.85rem}.control-row label:first-child{min-width:80px;color:var(--color-text-muted)}.btn-group{display:flex;gap:2px}.btn-group .btn-sm{padding:2px 8px;font-size:.8rem;border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:4px}.btn-group .btn-sm.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary-hover)}.btn-group .btn-sm:hover:not(.active){background:var(--color-surface-alt)}.vuln-select{padding:2px 6px;font-size:.8rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-surface)}.bid-entry{padding:var(--space-sm) var(--space-md)}.bid-entry h4{margin-bottom:var(--space-sm);display:flex;align-items:center;gap:var(--space-sm)}.turn-badge{display:inline-flex;align-items:center;justify-content:center;background:var(--color-surface-alt);color:var(--color-text-muted);font-size:.75rem;font-weight:700;padding:2px 10px;border-radius:999px;border:1px solid var(--color-border)}.your-turn-label{font-size:.7rem;font-weight:600;color:var(--color-primary);text-transform:uppercase;letter-spacing:.05em}.partner-turn-label{font-size:.7rem;font-weight:600;color:var(--color-warning);text-transform:uppercase;letter-spacing:.05em}.bid-buttons{display:flex;flex-direction:column;gap:4px}.bid-row{display:flex;gap:4px;flex-wrap:wrap}.bid-row .btn-sm{padding:4px 10px;font-size:.8rem;border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:4px;font-weight:600;font-family:var(--font-mono);min-width:44px;text-align:center}.bid-row .btn-sm:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary-hover)}.bid-row .btn-sm.suit-h,.bid-row .btn-sm.suit-d{color:var(--color-accent)!important}.bid-row .btn-sm.suit-h:hover,.bid-row .btn-sm.suit-d:hover{color:#fff!important}.btn-pass{background:#fed7d7!important;color:#822727!important;border-color:#feb2b2!important}.btn-pass:hover{background:#feb2b2!important}.btn-double{background:#fefcbf!important;color:#744210!important;border-color:#f6e05e!important}.btn-danger{background:var(--color-surface)!important;color:var(--color-accent)!important;border-color:var(--color-accent)!important}.btn-danger:hover{background:var(--color-accent)!important;color:#fff!important}.btn-undo{background:var(--color-surface)!important;color:var(--color-primary)!important;border-color:var(--color-primary)!important}.btn-undo:hover{background:var(--color-primary)!important;color:#fff!important}.auction-display{padding:var(--space-sm) var(--space-md)}.auction-display h4{margin-bottom:var(--space-sm);font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.auction-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin-bottom:var(--space-sm)}.auction-pos-header{text-align:center;font-weight:700;font-size:.75rem;padding:4px;background:var(--color-surface-alt);border-radius:4px;color:var(--color-text-muted)}.auction-cell{text-align:center;padding:4px 2px;font-size:.75rem;font-family:var(--font-mono);font-weight:600;border-radius:4px;min-height:24px}.auction-cell.our-bid{background:#ebf8ff;color:#2b6cb0}.auction-cell.their-bid{background:#fff5f5;color:#9b2c2c}.auction-cell.empty{background:transparent}.auction-status{display:flex;justify-content:space-between;font-size:.8rem;padding-top:var(--space-xs);border-top:1px solid var(--color-border)}.auction-status span:first-child{font-weight:600;color:var(--color-primary)}.auction-status span:last-child{color:var(--color-text-muted)}.advice-area{display:flex;flex-direction:column;gap:var(--space-sm)}.btn-get-advice{width:100%;padding:var(--space-sm);font-size:1rem}.advice-panel{padding:var(--space-md)}.advice-panel h4{margin-bottom:var(--space-sm);font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.advice-panel h5{margin-top:var(--space-sm);margin-bottom:var(--space-xs);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.advice-bid{font-size:2rem;font-weight:800;color:var(--color-primary);text-align:center}.advice-reason{font-size:.8rem;color:var(--color-text-muted);text-align:center;margin-top:4px;cursor:help}.advice-panel hr{border:none;border-top:1px solid var(--color-border);margin:var(--space-sm) 0}.rule-match{padding:4px 6px;font-size:.75rem;border-radius:4px;margin:2px 0;cursor:help;display:flex;justify-content:space-between;align-items:center}.rule-match.top{background:var(--color-surface-alt);font-weight:500}.rule-match.more{color:var(--color-text-muted);font-style:italic;justify-content:center}.rule-priority{font-size:.6rem;color:var(--color-text-muted);background:var(--color-surface-alt);padding:1px 5px;border-radius:999px}.live-suggestion{padding:var(--space-sm) var(--space-md)}.live-suggestion h4{margin-bottom:var(--space-xs);font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.suggestion-bid{font-size:1.75rem;font-weight:800;color:var(--color-primary);text-align:center}.suggestion-bid.muted{color:var(--color-text-muted)}.suggestion-bid.complete{color:var(--color-success)}.suggestion-reason{font-size:.75rem;color:var(--color-text-muted);text-align:center;line-height:1.4;margin-top:2px}@media(max-width:900px){.hand-layout{grid-template-columns:1fr}.summary-panel{position:static}}@media(max-width:800px){.auction-layout{grid-template-columns:1fr}}@media(max-width:480px){.points-grid{grid-template-columns:1fr}.bid-row{justify-content:center}.bid-row .btn-sm{min-width:38px;padding:4px 6px}}
