.play-record.svelte-hdnwqx{margin-top:10px;overflow-x:auto}.play-table.svelte-hdnwqx{border-collapse:collapse;font-size:12px;width:100%;font-family:Courier New,monospace}.play-table.svelte-hdnwqx th:where(.svelte-hdnwqx){background:var(--bg-success);color:var(--text-brand);font-size:10px;text-transform:uppercase;letter-spacing:.05em;padding:5px 10px;border:1px solid var(--border-green);font-weight:700;text-align:center}.play-table.svelte-hdnwqx th.declarer-col:where(.svelte-hdnwqx){color:var(--gold-text);background:var(--bg-gold)}.trick-col.svelte-hdnwqx{width:28px}.won-col.svelte-hdnwqx{font-family:system-ui,sans-serif}.play-table.svelte-hdnwqx td:where(.svelte-hdnwqx){padding:4px 10px;border:1px solid var(--border-green);text-align:center;font-size:13px;font-weight:600}.trick-num.svelte-hdnwqx{color:var(--text-dim);font-size:10px;font-family:system-ui,sans-serif;font-weight:400}.card-cell.svelte-hdnwqx{position:relative}.led-dot.svelte-hdnwqx{font-size:18px;line-height:0;vertical-align:middle;color:var(--text-brand-muted);margin-left:1px}.winner-cell.svelte-hdnwqx{background:var(--bg-green)}.led.svelte-hdnwqx{font-style:italic}tr.svelte-hdnwqx:nth-child(2n) td:where(.svelte-hdnwqx){background-color:var(--bg-green-deep)}tr.svelte-hdnwqx:nth-child(2n) td.winner-cell:where(.svelte-hdnwqx){background-color:var(--bg-green)}.won-cell.svelte-hdnwqx{font-size:11px;color:var(--text-brand);font-family:system-ui,sans-serif;font-weight:400}.won-cell.declarer-won.svelte-hdnwqx{color:var(--gold-text);font-weight:700}.play-legend.svelte-hdnwqx{font-size:10px;color:var(--text-dim);margin-top:4px;font-style:italic}.md-response.svelte-zjki62 h1,.md-response.svelte-zjki62 h2,.md-response.svelte-zjki62 h3,.md-response.svelte-zjki62 h4{color:var(--gold-text);margin:16px 0 8px;font-weight:700}.md-response.svelte-zjki62 h1{font-size:18px}.md-response.svelte-zjki62 h2{font-size:16px}.md-response.svelte-zjki62 h3{font-size:14px;color:var(--text-prose)}.md-response.svelte-zjki62 h4{font-size:13px;color:var(--text-brand-soft)}.md-response.svelte-zjki62 p{color:var(--text-prose);font-size:14px;line-height:1.8;margin:0 0 10px}.md-response.svelte-zjki62 strong{color:var(--text-prose-strong);font-weight:700}.md-response.svelte-zjki62 em{color:var(--text-prose-em);font-style:italic}.md-response.svelte-zjki62 ul,.md-response.svelte-zjki62 ol{margin:8px 0 12px;padding-left:24px}.md-response.svelte-zjki62 li{color:var(--text-prose);font-size:14px;line-height:1.7;margin-bottom:4px}.md-response.svelte-zjki62 li::marker{color:var(--text-green)}.md-response.svelte-zjki62 code{background:var(--bg-green);color:var(--text-success);padding:1px 5px;border-radius:3px;font-family:Courier New,monospace;font-size:13px}.md-response.svelte-zjki62 pre{background:var(--bg-green-deep);border:1px solid var(--border-green);border-radius:6px;padding:12px;margin:10px 0;overflow-x:auto}.md-response.svelte-zjki62 pre code{background:none;padding:0;font-size:12px;line-height:1.5}.md-response.svelte-zjki62 hr{border:none;border-top:1px solid var(--border-green);margin:16px 0}.md-response.svelte-zjki62 table{border-collapse:collapse;margin:10px 0 14px;font-size:13px;width:auto}.md-response.svelte-zjki62 th{background:var(--bg-success);color:var(--gold-text);font-weight:700;padding:6px 14px;border:1px solid var(--border-brand);text-align:left}.md-response.svelte-zjki62 td{color:var(--text-prose);padding:5px 14px;border:1px solid var(--border-green)}.md-response.svelte-zjki62 tr:nth-child(2n) td{background:var(--bg-green-deep)}.trick-viewer.svelte-ot0qq9{background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:10px;padding:14px;font-family:Courier New,monospace;-webkit-user-select:none;user-select:none}.tv-nav.svelte-ot0qq9{display:flex;align-items:center;gap:10px;margin-bottom:14px}.nav-btn.svelte-ot0qq9{background:var(--bg-panel);border:1px solid var(--border-subtle);color:var(--link-soft);border-radius:6px;padding:5px 13px;font-size:14px;cursor:pointer;transition:background .15s,color .15s}.nav-btn.svelte-ot0qq9:hover:not(:disabled){background:var(--bg-hover);color:var(--link-light)}.nav-btn.svelte-ot0qq9:disabled{opacity:.3;cursor:default}.tv-trick-label.svelte-ot0qq9{font-size:14px;font-weight:700;color:var(--gold-text);letter-spacing:.03em}.tv-of.svelte-ot0qq9{color:var(--link-muted);font-weight:400}.tv-score.svelte-ot0qq9{margin-left:auto;display:flex;align-items:center;gap:4px;font-size:12px}.score-decl.svelte-ot0qq9{color:var(--gold-text);font-weight:700}.score-sep.svelte-ot0qq9{color:var(--text-disabled)}.score-def.svelte-ot0qq9{color:var(--link-soft)}.tv-body.svelte-ot0qq9{display:flex;flex-direction:column;align-items:center;gap:8px}.tv-middle.svelte-ot0qq9{display:flex;align-items:center;gap:8px;width:100%;justify-content:center}.tv-hand.svelte-ot0qq9{background:var(--bg-inset);border:1px solid var(--border-subtle);border-radius:8px;padding:8px 12px;min-width:130px;max-width:200px}.tv-north.svelte-ot0qq9,.tv-south.svelte-ot0qq9{width:100%;max-width:340px}.tv-west.svelte-ot0qq9,.tv-east.svelte-ot0qq9{flex:0 0 auto;min-width:120px}.tv-hand.declarer-hand.svelte-ot0qq9{border-color:var(--border-green);background:var(--bg-green)}.hand-label.svelte-ot0qq9{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-brand-muted);font-weight:700;margin-bottom:6px;font-family:system-ui,sans-serif;display:flex;align-items:center;gap:5px}.role-tag.svelte-ot0qq9{font-size:9px;padding:1px 5px;border-radius:3px;background:var(--bg-success-mid);color:var(--gold-text);font-weight:700;text-transform:uppercase;letter-spacing:.05em}.role-tag.dummy.svelte-ot0qq9{background:var(--bg-lavender);color:var(--text-lilac)}.hand-suits.svelte-ot0qq9{display:flex;flex-direction:column;gap:2px}.suit-row.svelte-ot0qq9{display:flex;align-items:baseline;gap:3px}.void-row.svelte-ot0qq9{opacity:.35}.suit-sym.svelte-ot0qq9{font-size:13px;min-width:14px;flex:none}.suit-cards.svelte-ot0qq9{display:flex;flex-wrap:wrap;gap:3px;min-width:0}.void-label.svelte-ot0qq9{font-size:11px;color:var(--text-dim)}.hand-card.svelte-ot0qq9{font-size:12px;font-weight:600;transition:color .15s,text-decoration .15s;cursor:default}.hand-card.card-played.svelte-ot0qq9{color:var(--card-played)!important;text-decoration:line-through}.hand-card.card-current.svelte-ot0qq9{color:var(--text-bright)!important;font-weight:800;text-shadow:0 0 6px color-mix(in srgb,var(--gold) 60%,transparent)}.tv-compass.svelte-ot0qq9{display:grid;grid-template-columns:64px 80px 64px;grid-template-rows:64px 64px 64px;gap:2px;flex:0 0 auto;padding:6px;border-radius:10px;background:var(--bg-felt);border:1px solid var(--border-brand)}.compass-slot.svelte-ot0qq9{display:flex;align-items:center;justify-content:center}.compass-n.svelte-ot0qq9{grid-column:2;grid-row:1}.compass-w.svelte-ot0qq9{grid-column:1;grid-row:2}.compass-center-label.svelte-ot0qq9{grid-column:2;grid-row:2;display:flex;align-items:center;justify-content:center}.compass-e.svelte-ot0qq9{grid-column:3;grid-row:2}.compass-s.svelte-ot0qq9{grid-column:2;grid-row:3}.played-card.svelte-ot0qq9{font-size:18px;font-weight:800;text-align:center;position:relative;background:var(--played-bg);border:1px solid var(--played-border);border-radius:6px;padding:6px 8px;min-width:46px;line-height:1}.played-card.winner-card.svelte-ot0qq9{background:var(--played-win-bg);border-color:var(--played-win-border);box-shadow:0 0 8px color-mix(in srgb,var(--played-win-border) 40%,transparent)}.played-card.leader-card.svelte-ot0qq9{border-style:dashed}.win-star.svelte-ot0qq9{position:absolute;top:-8px;right:-8px;font-size:11px;color:var(--felt-accent);text-shadow:0 0 1px var(--felt-accent-halo),0 0 2px var(--felt-accent-halo);line-height:1}.win-star-sm.svelte-ot0qq9{color:var(--gold-text);font-size:11px}.empty-slot.svelte-ot0qq9{color:var(--on-felt-dim);font-size:20px}.winner-label.svelte-ot0qq9{text-align:center;font-size:10px;color:var(--on-felt);line-height:1.4;font-family:system-ui,sans-serif}.winner-label.svelte-ot0qq9 b:where(.svelte-ot0qq9){color:var(--on-felt-strong);font-size:11px}.winner-label.dim.svelte-ot0qq9{color:var(--on-felt-dim)}.tv-legend.svelte-ot0qq9{display:flex;gap:16px;margin-top:12px;flex-wrap:wrap;font-size:10px;color:var(--text-brand-muted);font-family:system-ui,sans-serif;align-items:center}.legend-item.svelte-ot0qq9{display:flex;align-items:center;gap:4px}.legend-swatch.svelte-ot0qq9{display:inline-block;width:10px;height:10px;border-radius:2px}.current-swatch.svelte-ot0qq9{background:var(--fill-bright);box-shadow:0 0 4px color-mix(in srgb,var(--gold-line) 50%,transparent)}.played-swatch.svelte-ot0qq9{background:var(--card-played)}.tv-dots.svelte-ot0qq9{display:flex;gap:5px;margin-top:10px;flex-wrap:wrap;justify-content:center}.trick-dot.svelte-ot0qq9{width:14px;height:14px;border-radius:50%;border:1px solid var(--border-subtle);background:var(--bg-panel);cursor:pointer;padding:0;transition:background .15s,border-color .15s}.trick-dot.svelte-ot0qq9:hover{border-color:var(--link-muted)}.trick-dot.dot-active.svelte-ot0qq9{border-color:var(--gold-line);background:var(--bg-gold-strong)}.trick-dot.dot-decl.svelte-ot0qq9{background:var(--bg-success);border-color:var(--border-success-dim)}.trick-dot.dot-def.svelte-ot0qq9{background:var(--bg-panel);border-color:var(--border-blue)}.trick-dot.dot-active.dot-decl.svelte-ot0qq9{background:var(--bg-olive);border-color:var(--gold-line)}.trick-dot.dot-active.dot-def.svelte-ot0qq9{background:var(--bg-info);border-color:var(--gold-line)}@media(max-width:600px){.tv-west.svelte-ot0qq9,.tv-east.svelte-ot0qq9{min-width:90px}.hand-card.svelte-ot0qq9{font-size:11px}.played-card.svelte-ot0qq9{font-size:15px;min-width:38px}.tv-compass.svelte-ot0qq9{grid-template-columns:50px 70px 50px;grid-template-rows:56px 56px 56px}}@media(max-width:480px){.tv-middle.svelte-ot0qq9{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"west east" "trick trick";align-items:start;justify-items:center}.tv-west.svelte-ot0qq9{grid-area:west}.tv-east.svelte-ot0qq9{grid-area:east}.tv-compass.svelte-ot0qq9{grid-area:trick}.tv-west.svelte-ot0qq9,.tv-east.svelte-ot0qq9{min-width:0;width:100%;max-width:none}}.top-viewer.svelte-fvjyd4{margin-bottom:16px}.analysis-section.svelte-fvjyd4{margin-top:4px}.analysis-hint.svelte-fvjyd4{font-size:11px;color:var(--text-brand-muted);margin-bottom:10px;font-style:italic;font-family:system-ui,sans-serif}.md-response.svelte-fvjyd4 .trick-chip{display:inline;background:var(--bg-success);border:1px solid var(--border-success-dim);color:var(--text-mint);border-radius:4px;padding:1px 6px;font-size:.9em;font-weight:700;cursor:pointer;font-family:inherit;line-height:inherit;vertical-align:baseline;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}.md-response.svelte-fvjyd4 .trick-chip:hover{background:var(--bg-success-mid);border-color:var(--border-success);color:var(--text-mint-bright)}.chip-example.svelte-fvjyd4{display:inline;background:var(--bg-success);border:1px solid var(--border-success-dim);color:var(--text-mint);border-radius:4px;padding:1px 6px;font-size:10px;font-weight:700;font-family:monospace}.modal-backdrop.svelte-fvjyd4{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-overlay);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-card.svelte-fvjyd4{background:var(--bg-inset);border:1px solid var(--border);border-radius:12px;padding:16px;width:min(640px,100%);max-height:92vh;overflow-y:auto;box-shadow:0 24px 64px var(--shadow);animation:svelte-fvjyd4-modalIn .18s ease}@keyframes svelte-fvjyd4-modalIn{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header.svelte-fvjyd4{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.modal-title.svelte-fvjyd4{font-size:13px;font-weight:700;color:var(--gold-text);font-family:system-ui,sans-serif;letter-spacing:.03em}.modal-close.svelte-fvjyd4{background:var(--bg-panel);border:1px solid var(--border-subtle);color:var(--link-soft);border-radius:5px;padding:4px 10px;cursor:pointer;font-size:13px;line-height:1;transition:background .15s,color .15s}.modal-close.svelte-fvjyd4:hover{background:var(--bg-hover);color:var(--text)}.md-response.svelte-fvjyd4 h1,.md-response.svelte-fvjyd4 h2,.md-response.svelte-fvjyd4 h3,.md-response.svelte-fvjyd4 h4{color:var(--gold-text);margin:16px 0 8px;font-weight:700}.md-response.svelte-fvjyd4 h1{font-size:18px}.md-response.svelte-fvjyd4 h2{font-size:16px}.md-response.svelte-fvjyd4 h3{font-size:14px;color:var(--text-prose)}.md-response.svelte-fvjyd4 h4{font-size:13px;color:var(--text-brand-soft)}.md-response.svelte-fvjyd4 p{color:var(--text-prose);font-size:14px;line-height:1.8;margin:0 0 10px}.md-response.svelte-fvjyd4 strong{color:var(--text-prose-strong);font-weight:700}.md-response.svelte-fvjyd4 em{color:var(--text-prose-em);font-style:italic}.md-response.svelte-fvjyd4 ul,.md-response.svelte-fvjyd4 ol{margin:8px 0 12px;padding-left:24px}.md-response.svelte-fvjyd4 li{color:var(--text-prose);font-size:14px;line-height:1.7;margin-bottom:4px}.md-response.svelte-fvjyd4 li::marker{color:var(--text-green)}.md-response.svelte-fvjyd4 code{background:var(--bg-green);color:var(--text-success);padding:1px 5px;border-radius:3px;font-family:Courier New,monospace;font-size:13px}.md-response.svelte-fvjyd4 pre{background:var(--bg-green-deep);border:1px solid var(--border-green);border-radius:6px;padding:12px;margin:10px 0;overflow-x:auto}.md-response.svelte-fvjyd4 pre code{background:none;padding:0;font-size:12px;line-height:1.5}.md-response.svelte-fvjyd4 hr{border:none;border-top:1px solid var(--border-green);margin:16px 0}.md-response.svelte-fvjyd4 table{border-collapse:collapse;margin:10px 0 14px;font-size:13px;width:auto}.md-response.svelte-fvjyd4 th{background:var(--bg-success);color:var(--gold-text);font-weight:700;padding:6px 14px;border:1px solid var(--border-brand);text-align:left}.md-response.svelte-fvjyd4 td{color:var(--text-prose);padding:5px 14px;border:1px solid var(--border-green)}.md-response.svelte-fvjyd4 tr:nth-child(2n) td{background:var(--bg-green-deep)}.solver-note.svelte-1yjsiyx{margin:10px 0 0;font-size:12px;color:var(--text-subtle);line-height:1.5}.solver-note.svelte-1yjsiyx a:where(.svelte-1yjsiyx){color:var(--link)}
