:root{color-scheme:light;--bg: #ebe4d6;--bg-2: #e3dac8;--surface: #fbf8f3;--surface-2: #f3eee4;--ink: #1a1714;--muted: #5c564c;--line: #ddd4c4;--rail: #17263a;--rail-ink: #fbf8f3;--gold: #e7c27a;--gold-ink: #6d4a08;--amber-bg: #f6e7c8;--red: #8f2d24;--red-bg: #f8e4e0;--green: #14643f;--green-bg: #d9f0e4;--blue: #1d4e89;--chart: #1d4e89;--chart-line: #8f2d24;--chart-cost: #14643f;--chart-cost-line: #8d5b00;--focus: #1d4e89;--shadow: 0 1px 2px rgba(23, 38, 58, .06), 0 12px 32px rgba(23, 38, 58, .06);--sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--serif: "Iowan Old Style", Palatino, Georgia, serif;--mono: ui-monospace, "SFMono-Regular", "Cascadia Mono", monospace}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--bg: #10151c;--bg-2: #181f29;--surface: #1c2531;--surface-2: #243040;--ink: #f4efe6;--muted: #c4baab;--line: #344255;--rail: #0e1520;--rail-ink: #f4efe6;--gold: #f0c27a;--gold-ink: #f0c27a;--amber-bg: #3a2e18;--red: #ffb0a8;--red-bg: #3d2422;--green: #8ee0b8;--green-bg: #173528;--blue: #b9d4f5;--chart: #9ec4ef;--chart-line: #ffb0a8;--chart-cost: #8ee0b8;--chart-cost-line: #f0c27a;--focus: #f0c27a;--shadow: 0 1px 2px rgba(0, 0, 0, .35)}}*{box-sizing:border-box}fieldset{border:0;margin:0;padding:0;min-inline-size:0}legend{padding:0}html,body,#root{min-height:100%}body{margin:0;font-family:var(--sans);font-size:16px;line-height:1.45;color:var(--ink);background:linear-gradient(180deg,var(--bg-2),var(--bg) 280px)}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}:focus{outline:none}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.top :focus-visible{outline-color:var(--gold)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.app{min-height:100vh;display:flex;flex-direction:column}.top{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;padding:12px 20px;background:var(--rail);color:var(--rail-ink)}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand svg{flex:none}.brand h1{margin:0;font-family:var(--serif);font-size:1.45rem;font-weight:600;letter-spacing:-.02em;line-height:1}.brand p{margin:3px 0 0;color:var(--gold);font-size:.78rem}.tabs{display:flex;gap:6px}.tab{border:1px solid transparent;background:transparent;color:#d9d3c7;border-radius:999px;padding:8px 14px;min-height:40px}.tab[aria-pressed=true]{background:#fbf8f3;color:#17263a;border-color:#fbf8f3}.tab:hover:not(:disabled){border-color:#e7c27ab3}.shell{width:min(1120px,100%);margin:0 auto;padding:20px 16px 40px;display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px;align-items:start}.shell.results{grid-template-columns:minmax(0,1fr)}.aside{display:grid;gap:12px}.panel,.work,.chart,.stat,.insight{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.panel{padding:16px}.panel h2,.work-head h2,.chart h3{font-family:var(--serif);font-weight:600;letter-spacing:-.02em}.panel h2{margin:0 0 8px;font-size:1.05rem}.panel p,.hint{margin:0;color:var(--muted);font-size:.92rem}.legend{display:grid;gap:8px;margin-top:12px}.legend div{display:flex;gap:8px;align-items:flex-start;font-size:.82rem;color:var(--muted)}.swatch{width:8px;height:8px;border-radius:99px;margin-top:5px;flex:none}.commit{background:var(--rail);color:var(--rail-ink);border-radius:14px;padding:16px 16px 14px;position:relative;overflow:hidden}.commit:before{content:"";display:block;height:4px;margin:-16px -16px 12px;background:repeating-linear-gradient(90deg,var(--gold) 0 10px,transparent 10px 16px)}.commit .k{margin:0;color:var(--gold);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.commit strong{display:block;margin:4px 0;font-family:var(--mono);font-size:1.8rem;font-weight:600}.commit .sub{color:#c9c2b4;font-size:.82rem;margin:0}.commit .btn{margin-top:12px;width:100%;background:var(--gold);color:#17263a;border-color:var(--gold);font-weight:600}.work{padding:16px;min-width:0}.work-head,.dash-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:flex-end;margin-bottom:14px}.work-head h2,.dash-head h2{margin:0;font-size:1.35rem}.actions,.segs{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.btn,.icon-btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;min-height:40px;padding:8px 12px}.btn:hover:not(:disabled),.icon-btn:hover:not(:disabled){background:var(--surface-2)}.btn.primary{background:var(--rail);color:var(--rail-ink);border-color:var(--rail)}.btn.primary:hover:not(:disabled){filter:brightness(1.15)}.btn.warn{border-color:var(--red);color:var(--red)}.btn.tiny{min-height:36px}.icon-btn{width:40px;padding:0;display:grid;place-items:center}.seed{display:grid;gap:2px;font-size:.75rem;color:var(--muted)}.seed input,.field input,.field select,.omp input{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px 10px;min-height:40px;width:100%}.seed input{width:88px;font-family:var(--mono)}.form{display:grid;gap:12px;padding:12px;background:var(--surface-2);border:1px solid var(--line);border-radius:12px}@media(min-width:980px){.form{grid-template-columns:1.3fr 1.15fr 1.15fr .85fr auto;align-items:end}}.field{display:grid;gap:4px;min-width:0}.field span,.omp-label{font-size:.75rem;color:var(--muted)}.omp{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.config{display:grid;gap:8px}.preds{border:1px solid var(--line);border-radius:10px;background:var(--surface)}.preds summary{padding:8px 10px;min-height:40px;cursor:pointer}.pred-list{display:grid;gap:4px;max-height:180px;overflow:auto;padding:4px 8px 8px}.pred-list label{display:flex;gap:8px;align-items:center;font-size:.85rem}.add{min-height:40px;width:100%}@media(min-width:980px){.add{width:auto}}.banner{margin:0 0 12px;padding:10px 12px;border-radius:10px;background:var(--red-bg);color:var(--red);border:1px solid var(--red)}.cols,.activity{display:grid;gap:8px 12px;grid-template-columns:1fr;align-items:center}.cols{display:none;margin-top:14px;padding:0 8px 6px;color:var(--muted);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}.activity{padding:12px 8px;border-top:1px solid var(--line)}.activity h3{margin:0;font-size:1rem;overflow-wrap:anywhere}.nums{margin:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px;font-family:var(--mono);font-size:.82rem}.nums b{font-weight:500;color:var(--muted);font-family:var(--sans);font-size:.68rem}.tags{display:flex;flex-wrap:wrap;gap:4px}.tag{border:1px solid var(--line);background:var(--surface-2);border-radius:999px;padding:2px 8px;font-size:.72rem}.tag.pred{background:var(--amber-bg);color:var(--gold-ink);border-color:transparent}.empty{margin:16px 0 4px;padding:28px 12px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:12px}.empty p{margin:0 0 12px}.stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.stat{padding:12px 14px}.stat .k{margin:0;color:var(--muted);font-size:.75rem}.stat strong{display:block;margin-top:4px;font-family:var(--mono);font-size:1.35rem;letter-spacing:-.03em}.stat .spread{margin:2px 0 0;color:var(--muted);font-family:var(--mono);font-size:.78rem}.stat.hero{background:var(--rail);color:var(--rail-ink);border-color:var(--rail)}.stat.hero .k{color:var(--gold)}.segs{background:var(--surface-2);padding:4px;border-radius:12px;border:1px solid var(--line)}.seg{border:0;background:transparent;border-radius:8px;min-height:36px;padding:6px 10px}.seg[aria-pressed=true]{background:var(--surface);box-shadow:var(--shadow)}.charts{display:grid;gap:12px}.chart{padding:14px 12px 8px;min-width:0}.chart h3{margin:0;font-size:1.05rem}.chart .hint{margin-bottom:8px}.chart-canvas{height:260px}.insight{padding:12px 14px;margin-top:12px;color:var(--muted)}.insight strong{color:var(--ink)}@media(min-width:800px){.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.charts{grid-template-columns:1fr 1fr}.cols,.activity{grid-template-columns:minmax(0,1.4fr) minmax(0,.9fr) minmax(0,1fr) minmax(0,1.1fr) auto}.cols{display:grid}}@media(max-width:879px){.shell{grid-template-columns:minmax(0,1fr)}.aside{order:2}.actions .primary{flex:1 1 100%}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
