
[data-tool-root]{--cl-bg:#fff;--cl-work:#f2f2f2;--cl-surface:#fff;--cl-text:#111;--cl-secondary:#444;--cl-muted:#666;--cl-border:#d7d7d7;--cl-danger:#9b1c1c;--cl-success:#216e44;box-sizing:border-box;width:100%;padding:0 360px 56px 30px;background:var(--cl-bg);color:var(--cl-text);font-family:system-ui,-apple-system,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-size:15px;line-height:1.6}
[data-tool-root] *,[data-tool-root] *::before,[data-tool-root] *::after{box-sizing:border-box}
[data-tool-root] [hidden]{display:none!important}
[data-tool-root] .tool-page-header{padding:24px 0 16px;border-bottom:1px solid var(--cl-border)}
[data-tool-root] h1{margin:0;font-size:30px;line-height:1.2;letter-spacing:-.4px}
[data-tool-root] .page-description{max-width:100%;width:100%;margin:5px 0 0;color:var(--cl-secondary)}
[data-tool-root] .workspace{margin-top:24px}
[data-tool-root] .workspace-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:16px;align-items:start}
[data-tool-root] .panel{min-width:0;padding:18px 22px;border:1px solid var(--cl-border);border-radius:6px;background:var(--cl-work)}
[data-tool-root] .form{display:grid;gap:15px}
[data-tool-root] .field{display:grid;gap:6px}
[data-tool-root] .field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
[data-tool-root] label,[data-tool-root] legend{font-weight:750}
[data-tool-root] input,[data-tool-root] textarea,[data-tool-root] select{width:100%;padding:10px 11px;border:1px solid var(--cl-border);border-radius:4px;background:#fff;color:var(--cl-text);font:inherit}
[data-tool-root] textarea{min-height:122px;resize:vertical}
[data-tool-root] input[type="checkbox"],[data-tool-root] input[type="radio"]{width:1px;height:1px;position:absolute;opacity:0;pointer-events:none}
[data-tool-root] .check{display:flex;align-items:flex-start;gap:9px;cursor:pointer;font-weight:650}
[data-tool-root] .check::before{content:"";flex:0 0 18px;width:18px;height:18px;margin-top:3px;border:1px solid #777;border-radius:3px;background:#fff}
[data-tool-root] .check:has(input:checked)::before{background:#111;box-shadow:inset 0 0 0 4px #fff}
[data-tool-root] .segmented{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));border:1px solid var(--cl-border);border-radius:999px;overflow:hidden;background:#fff}
[data-tool-root] .segmented label{position:relative;padding:9px 10px;border-right:1px solid var(--cl-border);text-align:center;cursor:pointer}
[data-tool-root] .segmented label:last-child{border-right:0}
[data-tool-root] .segmented label:has(input:checked){background:#111;color:#fff}
[data-tool-root] .help,[data-tool-root] .note{margin:0;color:var(--cl-muted);font-size:13px}
[data-tool-root] .error{margin:0;color:var(--cl-danger);font-size:13px}
[data-tool-root] .actions,[data-tool-root] .result-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
[data-tool-root] button{min-height:42px;padding:10px 14px;border:1px solid #111;border-radius:4px;background:#fff;color:#111;font:inherit;font-weight:750;cursor:pointer}
[data-tool-root] button:hover:not(:disabled){background:#e9e9e9}
[data-tool-root] button.primary{background:#111;color:#fff}
[data-tool-root] button:disabled{opacity:.5;cursor:not-allowed}
[data-tool-root] input:focus-visible,[data-tool-root] textarea:focus-visible,[data-tool-root] select:focus-visible,[data-tool-root] button:focus-visible,[data-tool-root] summary:focus-visible{outline:2px solid #111;outline-offset:2px}
[data-tool-root] .form-status{min-height:42px;padding:9px 11px;border-radius:4px;background:#fff;color:var(--cl-secondary)}
[data-tool-root] .result-surface{display:grid;gap:15px;padding:18px;border:1px solid var(--cl-border);border-radius:6px;background:#fff}
[data-tool-root] .result-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
[data-tool-root] .result-title{font-size:20px;font-weight:800}
[data-tool-root] .badge{padding:4px 10px;border-radius:999px;background:#ececec;font-size:12px;font-weight:750;white-space:nowrap}
[data-tool-root] .badge[data-state="success"]{background:#e6f4eb;color:var(--cl-success)}
[data-tool-root] .badge[data-state="error"]{background:#f9e7e7;color:var(--cl-danger)}
[data-tool-root] .primary-block{display:grid;gap:3px;padding:14px 0;border-top:1px solid var(--cl-border);border-bottom:1px solid var(--cl-border)}
[data-tool-root] .primary-label{color:var(--cl-muted);font-size:12px}
[data-tool-root] .primary-result{font-size:36px;line-height:1.15;font-weight:850;overflow-wrap:anywhere}
[data-tool-root] .metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;border:1px solid var(--cl-border);border-radius:4px;overflow:hidden}
[data-tool-root] .metrics>div{padding:10px 12px;border-right:1px solid var(--cl-border)}
[data-tool-root] .metrics>div:last-child{border-right:0}
[data-tool-root] .metrics dt{font-size:12px;color:var(--cl-muted)}
[data-tool-root] .metrics dd{margin:2px 0 0;font-size:18px;font-weight:800;overflow-wrap:anywhere}
[data-tool-root] .result-list{display:grid;gap:7px;margin:0;padding:0;list-style:none}
[data-tool-root] .result-list li{padding:9px 10px;border-bottom:1px solid var(--cl-border);overflow-wrap:anywhere}
[data-tool-root] .table-wrap{overflow-x:auto;border:1px solid var(--cl-border);border-radius:4px}
[data-tool-root] table{width:100%;border-collapse:collapse;min-width:520px}
[data-tool-root] th,[data-tool-root] td{padding:8px 10px;border-bottom:1px solid var(--cl-border);text-align:left;vertical-align:top;overflow-wrap:anywhere}
[data-tool-root] thead th{background:#f7f7f7;font-size:12px;color:var(--cl-secondary)}
[data-tool-root] tbody tr:last-child th,[data-tool-root] tbody tr:last-child td{border-bottom:0}
[data-tool-root] .code{padding:11px;border:1px solid var(--cl-border);border-radius:4px;background:#f8f8f8;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}
[data-tool-root] .empty{color:var(--cl-muted)}
[data-tool-root] .manual-copy{display:grid;gap:6px}
[data-tool-root] .section{margin-top:34px}
[data-tool-root] h2{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-size:24px}
[data-tool-root] h2::before{content:"";width:3px;height:24px;background:#111}
[data-tool-root] details{border:1px solid var(--cl-border);border-radius:4px;background:#fff}
[data-tool-root] details+details{margin-top:8px}
[data-tool-root] summary{padding:13px 15px;font-weight:750;cursor:pointer}
[data-tool-root] .details-body{padding:0 15px 15px}
[data-tool-root] .details-body p{max-width:76ch;margin:9px 0 0}
[data-tool-root] .seat-grid{display:grid;gap:8px}
[data-tool-root] .seat{min-height:58px;padding:9px;border:1px solid var(--cl-border);border-radius:4px;background:#fafafa;text-align:center;overflow-wrap:anywhere}
[data-tool-root] .seat.fixed{border-color:#111;background:#fff;font-weight:750}
[data-tool-root] .seat.empty-seat{color:var(--cl-muted);border-style:dashed}
[data-tool-root] .cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:8px}
[data-tool-root] .playing-card{min-height:94px;padding:8px;border:1px solid #222;border-radius:7px;background:#fff;display:flex;flex-direction:column;justify-content:space-between;font-weight:800}
[data-tool-root] .playing-card.red{color:#a11}
[data-tool-root] .bingo-board{display:grid;grid-template-columns:repeat(10,minmax(38px,1fr));gap:6px}
[data-tool-root] .bingo-ball{display:grid;place-items:center;aspect-ratio:1;border:1px solid var(--cl-border);border-radius:50%;background:#fff;font-weight:750}
[data-tool-root] .bingo-ball.called{background:#111;color:#fff}
[data-tool-root] .pair-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;padding:9px;border-bottom:1px solid var(--cl-border)}
[data-tool-root] .reveal{filter:blur(6px);user-select:none}
[data-tool-root] .reveal.shown{filter:none;user-select:text}
@media(max-width:900px){[data-tool-root]{padding-right:8px;padding-left:8px}}
@media(max-width:720px){[data-tool-root] .workspace-grid{grid-template-columns:1fr}[data-tool-root] .field-grid{grid-template-columns:1fr}}
@media(max-width:430px){[data-tool-root] .panel{padding:14px 12px}[data-tool-root] .actions,[data-tool-root] .result-actions{grid-template-columns:1fr}[data-tool-root] .metrics{grid-template-columns:1fr}[data-tool-root] .metrics>div{border-right:0;border-bottom:1px solid var(--cl-border)}[data-tool-root] .metrics>div:last-child{border-bottom:0}[data-tool-root] .primary-result{font-size:30px}[data-tool-root] table{min-width:0}[data-tool-root] th,[data-tool-root] td{padding:7px 6px;font-size:13px}[data-tool-root] .bingo-board{grid-template-columns:repeat(5,minmax(38px,1fr))}[data-tool-root] .pair-row{grid-template-columns:1fr}[data-tool-root] .pair-row span:nth-child(2){display:none}}
@media(prefers-reduced-motion:reduce){[data-tool-root] *,[data-tool-root] *::before,[data-tool-root] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{[data-tool-root]{padding:0}[data-tool-root] .tool-page-header,[data-tool-root] .panel:first-child,[data-tool-root] .result-actions,[data-tool-root] .section{display:none!important}[data-tool-root] .workspace-grid{display:block}[data-tool-root] .panel{border:0;background:#fff;padding:0}}
