:root{color-scheme:light;--bg: #f5f6f8;--surface: #ffffff;--surface-2: #f0f2f5;--surface-3: #e5e8ed;--border: #dde1e7;--border-strong: #c3c9d2;--text: #1b1f24;--text-2: #4a5361;--text-3: #6b7480;--accent: #2f5bd3;--accent-hover: #244ab3;--accent-soft: #e9effd;--accent-ink: #2449ad;--on-accent: #ffffff;--success: #1a7f37;--success-soft: #e7f5ec;--warning: #9a6200;--warning-soft: #fdf3dc;--danger: #c4302b;--danger-soft: #fcebea;--chart-1: #2f5bd3;--chart-2: #b45309;--chart-grid: #e5e8ed;--card-face: #ffffff;--card-ink: #1b1f24;--suit-red: #c4302b;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .06);--shadow-md: 0 4px 16px rgba(16, 24, 40, .08);--focus-ring: 0 0 0 3px rgba(47, 91, 211, .3);--font-sans: "Source Sans 3", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "Cascadia Mono", monospace;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-full: 9999px;--transition-fast: .15s ease}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #111316;--surface: #181b20;--surface-2: #1f2329;--surface-3: #292e35;--border: #2b3038;--border-strong: #3b414b;--text: #e8eaed;--text-2: #aeb5bf;--text-3: #8b939e;--accent: #7c9ef2;--accent-hover: #98b3f5;--accent-soft: rgba(124, 158, 242, .14);--accent-ink: #a3bbf6;--on-accent: #0e1422;--success: #57c27a;--success-soft: rgba(87, 194, 122, .14);--warning: #e3b341;--warning-soft: rgba(227, 179, 65, .14);--danger: #f07a72;--danger-soft: rgba(240, 122, 114, .14);--chart-1: #6b8de6;--chart-2: #c27a2e;--chart-grid: #2b3038;--card-face: #f4f5f7;--card-ink: #1b1f24;--suit-red: #c4302b;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .35);--focus-ring: 0 0 0 3px rgba(124, 158, 242, .35)}}:root[data-theme=dark]{color-scheme:dark;--bg: #111316;--surface: #181b20;--surface-2: #1f2329;--surface-3: #292e35;--border: #2b3038;--border-strong: #3b414b;--text: #e8eaed;--text-2: #aeb5bf;--text-3: #8b939e;--accent: #7c9ef2;--accent-hover: #98b3f5;--accent-soft: rgba(124, 158, 242, .14);--accent-ink: #a3bbf6;--on-accent: #0e1422;--success: #57c27a;--success-soft: rgba(87, 194, 122, .14);--warning: #e3b341;--warning-soft: rgba(227, 179, 65, .14);--danger: #f07a72;--danger-soft: rgba(240, 122, 114, .14);--chart-1: #6b8de6;--chart-2: #c27a2e;--chart-grid: #2b3038;--card-face: #f4f5f7;--card-ink: #1b1f24;--suit-red: #c4302b;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .35);--focus-ring: 0 0 0 3px rgba(124, 158, 242, .35)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:16px;line-height:1.5;min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4{color:var(--text);line-height:1.25;font-weight:700}:focus-visible{outline:none;box-shadow:var(--focus-ring)}input,button,select,textarea{font:inherit;color:inherit}.font-mono{font-family:var(--font-mono)}.text-accent{color:var(--accent-ink)}.text-warning{color:var(--warning)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.text-muted{color:var(--text-3)}.panel,.panel-interactive{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.panel-interactive{cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.panel-interactive:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.btn-primary,.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-sans);font-weight:600;font-size:.95rem;line-height:1.2;padding:10px 18px;border-radius:var(--radius-md);cursor:pointer;text-decoration:none;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.btn-primary:disabled,.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--on-accent);border:1px solid var(--accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border-strong)}.btn-secondary:hover:not(:disabled){background:var(--surface-2)}.btn-sm{padding:7px 12px;font-size:.875rem}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:var(--radius-full);font-size:.8rem;font-weight:600;background:var(--accent-soft);color:var(--accent-ink)}.page-title{font-size:1.75rem;font-weight:700}.page-subtitle{color:var(--text-2);margin-top:4px}.locus-chunk{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-weight:600;letter-spacing:.08em;border:1px solid var(--border);background:var(--surface);color:var(--text-2);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--transition-fast),border-color var(--transition-fast)}.locus-chunk:hover{border-color:var(--border-strong)}.locus-chunk.active-locus{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.locus-chunk.past-locus{color:var(--text-3);background:var(--surface-2)}@keyframes flipIn{0%{transform:rotateY(90deg);opacity:0}to{transform:rotateY(0);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-flip{animation:flipIn .25s ease-out}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
