:root{--bg: #e8eef5;--panel: #ffffff;--ink: #1a2332;--muted: #5b6b7c;--line: #c5d0dc;--input: #fff8c6;--head: #1e3a5f;--accent: #0b6e4f;--flag: #d4edda;--flag-ink: #155724;--font-sans: "Segoe UI", ui-sans-serif, system-ui, sans-serif}*,*:before,*:after{box-sizing:border-box}body.formula-page{margin:0;min-height:100vh;font-family:var(--font-sans);color:var(--ink);background:radial-gradient(ellipse 80% 50% at 10% 0%,#d4e4f7 0%,transparent 55%),radial-gradient(ellipse 60% 40% at 100% 100%,#cfe8dc 0%,transparent 50%),var(--bg)}.wrap{max-width:1400px;margin:0 auto;padding:1.25rem 1rem 2.5rem}.page-header h1{margin:0 0 .35rem;font-size:1.75rem;font-weight:700;letter-spacing:-.02em;color:var(--head)}.page-header p{margin:0 0 1.25rem;color:var(--muted);font-size:.95rem}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:.85rem .85rem 1rem;margin-bottom:1.25rem;box-shadow:0 8px 24px #1e3a5f0f}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.panel-head h2{margin:0;font-size:1.05rem;color:var(--head)}.panel-actions{display:flex;align-items:center;gap:.5rem}.f-history-nav{display:flex;align-items:center;gap:.35rem;margin-right:.25rem}.f-history-label{min-width:3.25rem;text-align:center;font-size:.85rem;font-variant-numeric:tabular-nums;color:var(--head)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:var(--accent);color:#fff;font-weight:600;font-size:.9rem;padding:.45rem .9rem;border-radius:6px;cursor:pointer}.btn:hover:not(:disabled){filter:brightness(1.08)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-icon{padding:.45rem .65rem;line-height:1}.btn-secondary{background:#6b7c8f}.btn-mode-auto{background:#1a7f4b}.btn-mode-auto:hover:not(:disabled){filter:brightness(1.08)}.formula-page.mode-auto .cell-input{opacity:.85}.race-live-status{margin:.5rem 0 0;font-size:.9rem;font-weight:600;color:var(--head);font-variant-numeric:tabular-nums}.race-history-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem}.race-history-label{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;color:var(--muted);font-weight:600}.race-select{min-width:14rem;max-width:100%;padding:.4rem .55rem;border:1px solid var(--line);border-radius:6px;font-size:.9rem;background:#fff;color:var(--ink)}.table-scroll{overflow-x:auto}.sheet{border-collapse:collapse;width:max-content;min-width:100%;font-size:.8rem}.sheet th,.sheet td{border:1px solid var(--line);padding:.2rem .3rem;text-align:right;white-space:nowrap}.sheet th{background:#f0f4f8;color:var(--head);font-weight:600;text-align:center}.sheet td.id,.sheet tfoot td:first-child{text-align:center;font-weight:600;background:#f7fafc}.sheet .out{background:#fafbfc;min-width:3.5rem;font-variant-numeric:tabular-nums}.sheet .out.total{font-weight:700;background:#eef6ff}.sheet .hist{min-width:2.75rem;background:#f5f7fa;color:var(--muted)}.sheet .flag.flag-on{background:var(--flag);color:var(--flag-ink);font-weight:700}.cell-input{width:4.5rem;border:1px solid #e0d48a;background:var(--input);border-radius:3px;padding:.2rem .25rem;text-align:right;font:inherit;font-variant-numeric:tabular-nums}.cell-input:focus{outline:2px solid #c9b44a;outline-offset:0}.hint{margin:.75rem 0 0;font-size:.85rem;color:var(--muted)}.hint code{background:#f0f4f8;padding:.05rem .3rem;border-radius:3px}body.odds-page{margin:0;min-height:100vh;font-family:Verdana,Geneva,sans-serif;color:var(--ink);background:radial-gradient(ellipse 70% 45% at 0% 0%,#dce8f4 0%,transparent 55%),radial-gradient(ellipse 50% 40% at 100% 80%,#e6efe8 0%,transparent 50%),#f2f5f8}.odds-wrap{max-width:720px}.odds-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.timer-panel{text-align:center}.timer-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1rem 1.25rem}.timer-display{font-variant-numeric:tabular-nums;font-size:3rem;font-weight:700;letter-spacing:.04em;color:var(--head);line-height:1;min-width:2.5ch}.timer-display.timer-urgent{color:#c0392b}.timer-display.timer-done{color:#c0392b;animation:timer-pulse .8s ease-in-out infinite}@keyframes timer-pulse{50%{opacity:.45}}.timer-controls{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:center;gap:.5rem}body.odds-page[data-odds-mode=live] .timer-controls{display:none}.timer-label{display:flex;flex-direction:column;gap:.2rem;font-size:.75rem;color:var(--muted);text-align:left}.timer-input{width:4.25rem;border:1px solid var(--line);border-radius:4px;padding:.35rem .4rem;font:inherit;font-variant-numeric:tabular-nums;text-align:right}.timer-status{margin:.65rem 0 0;font-size:.85rem;color:var(--muted)}.board-legend{display:flex;flex-wrap:wrap;gap:.75rem 1.1rem;margin-bottom:.75rem;font-size:.8rem;color:var(--muted)}.board-legend .leg{font-weight:600}.odds-board{overflow-x:auto;background:#0a1f14;border:2px solid #1a3d2a;border-radius:6px;padding:.5rem}.odds-table{width:100%;border-collapse:collapse;height:100%;table-layout:fixed;color:#f2f6f3;font-size:15px}.odds-table td{padding:.28rem .35rem;border:none;vertical-align:middle}.odds-cell,.odds-num{min-height:1.35em;outline:none}.odds-cell{text-align:right;font-variant-numeric:tabular-nums;padding:.1rem .15rem;border-radius:2px}.odds-num{text-align:center;color:#ffe566;font-weight:700}.style71{color:#ff4d4d;font-weight:700}.style61{color:#4da6ff;font-weight:700}.style51{color:#3ddc84;font-weight:700}@media (max-width: 560px){.timer-display{font-size:2.35rem}.odds-table{font-size:13px}}
