.seat-lab{border-block:1px solid var(--border-color-base);font-family:var(--font-sans);color:var(--text-color-body);margin:2.5rem 0;padding:1.6rem 0;font-size:14px;line-height:1.55}.seat-lab *{box-sizing:border-box}.seat-lab h4{font-family:var(--font-serif);color:var(--text-color-strong);margin:0 0 .6rem;font-size:clamp(23px,3vw,30px);font-weight:500}.seat-lab p{font-size:inherit;line-height:inherit;margin:.5rem 0}.seat-lab button{font:inherit;border:1px solid var(--border-color-base);color:var(--text-color-strong);cursor:pointer;background:0 0;border-radius:6px;min-height:44px;padding:.55rem .85rem}.seat-lab button[aria-pressed=true],.seat-lab button.primary{background:var(--text-color-strong);color:var(--background-color-base);border-color:var(--text-color-strong)}.seat-lab button:disabled{opacity:.45;cursor:default}.seat-lab :focus-visible{outline:2px solid var(--accent-600);outline-offset:4px}.seat-lab input[type=range]{width:100%;accent-color:var(--accent-600);cursor:ew-resize;min-height:30px}.seat-lab .controls{flex-wrap:wrap;align-items:center;gap:.5rem;margin:1rem 0;display:flex}.seat-lab .hint{color:var(--text-color-muted);font-size:12px}.seat-lab .readout{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.seat-lab .caption{color:var(--text-color-muted);margin-top:1.2rem;font-size:12px}.seat-lab .statement{border-top:1px solid var(--border-color-base);min-height:4.7em;padding-top:1rem}.seat-lab .bad{color:var(--danger)}.seat-lab .good{color:var(--success)}.race-records{grid-template-columns:1fr 1fr;gap:1.5rem;margin:1.25rem 0;display:grid}.race-records>div{border-top:2px solid var(--border-color-base);padding:.8rem 0}.race-records strong{color:var(--text-color-strong);display:block}.race-timeline{width:100%;margin:1rem 0;display:block;overflow:visible}.race-timeline text{fill:var(--text-color-body);font-family:var(--font-sans);font-size:12px}.race-timeline .tick{fill:var(--text-color-muted);font-family:var(--font-mono);font-size:10px}.race-controls{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.seat-lab .memory{color:var(--text-color-muted);font-size:12px}.rule-stage{grid-template-columns:1fr 1fr;gap:1rem;margin:1.5rem 0;display:grid}.rule-request{border-top:2px solid var(--accent-600);padding:.8rem 0}.rule-request strong{font-size:18px}.rule-database{background:var(--background-color-card);border:1px solid var(--border-color-base);grid-column:1/-1;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem;display:flex}.rule-database b{font-size:24px;font-weight:500;display:block}.rule-steps{gap:6px;display:flex}.rule-steps span{background:var(--border-color-base);width:20px;height:3px}.rule-steps span[data-done=true]{background:var(--accent-600)}.hold-stage{grid-template-columns:1fr 1fr;gap:1.5rem;margin-block:1.5rem;display:grid}.hold-row{border-block:1px solid var(--border-color-base);padding-block:1rem}.hold-row dt{color:var(--text-color-muted);font-size:12px}.hold-row dd{font-family:var(--font-mono);margin:0 0 .5rem}.hold-receipt{background:var(--background-color-card);border-block:1px dashed var(--text-color-muted);padding:1rem}.hold-receipt strong{margin-bottom:.5rem;font-size:20px;display:block}@media (width<=540px){.seat-lab{font-size:13px}.race-controls,.hold-stage{grid-template-columns:1fr;gap:.75rem}.race-records{gap:.75rem}.rule-database{padding:.8rem}.race-timeline text{font-size:22px}.race-timeline .tick{font-size:18px}}@media (prefers-reduced-motion:reduce){.seat-lab *,.seat-lab :before,.seat-lab :after{transition:none!important;animation:none!important}}.seat-lab .checkout-preview{color:#27374c;grid-template-columns:1fr 1fr;gap:24px;display:grid}.checkout-seats{gap:7px;margin:18px 0;display:flex}.checkout-seats span{background:#eef2f7;border:1px solid #c6d1df;border-radius:7px 7px 3px 3px;padding:12px 8px;font-size:12px}.checkout-seats span[data-selected=true]{color:#fff;background:#254774;border-color:#254774}.checkout-summary{border-left:1px solid #dde4ee;flex-direction:column;align-items:flex-start;gap:10px;padding-left:22px;display:flex}.checkout-summary strong{color:#233044;font-size:20px}.checkout-summary p{color:#607088;font-size:12px}@media (width<=600px){.seat-lab .checkout-preview{grid-template-columns:1fr}.checkout-summary{border-top:1px solid #dde4ee;border-left:0;padding:18px 0 0}}
