:root{--page:#0d0d0d;--surface:#1a1a19;--surface-2:#222220;--ink:#fff;--ink-2:#c3c2b7;--ink-muted:#898781;--grid:#2c2c2a;--baseline:#383835;--border:#ffffff1a;--accent:#3987e5;--good:#0ca30c;--bad:#e66767;--critical:#d03b3b;--warn:#fab219;--sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;font:15px/1.5 var(--sans);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--ink-2);background:var(--page);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}#root{min-height:100vh}.app{max-width:1440px;margin:0 auto;padding:24px 20px 40px}.app-header h1{color:var(--ink);margin:0 0 4px;font-size:22px}.app-header p{color:var(--ink-muted);margin:0 0 20px;font-size:13px}.app-main{grid-template-columns:minmax(360px,480px) minmax(420px,1fr);align-items:start;gap:16px;display:grid}@media (width<=900px){.app-main{grid-template-columns:1fr}}.col{flex-direction:column;gap:16px;display:flex}.app-footer{border-top:1px solid var(--grid);margin-top:24px;padding-top:12px}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px}.card-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.card h2{color:var(--ink);margin:0;font-size:15px;font-weight:600}.field-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px 12px;margin-top:12px;display:grid}.field{flex-direction:column;gap:4px;display:flex}.field-label{color:var(--ink-muted);font-size:12px}.checkbox-label{cursor:pointer;flex-direction:row;align-items:center;gap:6px;display:flex}.checkbox-label input{accent-color:var(--accent);margin:0}.field-input{background:var(--surface-2);border:1px solid var(--baseline);border-radius:6px;align-items:center;display:flex;overflow:hidden}.field-input:focus-within{border-color:var(--accent)}.field-input.invalid{border-color:var(--critical)}.field-input.disabled{opacity:.45}.field-input input,.field-input select{width:100%;color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;background:0 0;border:none;outline:none;padding:7px 10px}.field-input select option{background:var(--surface-2)}.field-suffix{color:var(--ink-muted);padding:0 10px 0 0;font-size:12px}.radio-row{flex-wrap:wrap;gap:6px;display:flex}.radio-pill{background:var(--surface-2);color:var(--ink-2);border:1px solid var(--baseline);font:inherit;cursor:pointer;border-radius:999px;padding:6px 14px;font-size:13px}.radio-pill:hover{border-color:var(--ink-muted)}.radio-pill.active{background:var(--accent);border-color:var(--accent);color:#fff}.preset-category+.preset-category{margin-top:14px}.preset-category-title{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);margin-top:12px;font-size:11.5px;font-weight:600}.preset-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;margin-top:8px;display:grid}.preset-card{text-align:left;background:var(--surface-2);border:1px solid var(--baseline);cursor:pointer;font:inherit;border-radius:8px;flex-direction:column;align-items:flex-start;gap:3px;padding:10px 12px;display:flex}.preset-card:hover{border-color:var(--ink-muted)}.preset-card.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.preset-name{color:var(--ink);font-size:13px;font-weight:600}.preset-provider{color:var(--ink-2);font-size:11px}.preset-meta{color:var(--ink-muted);font-variant-numeric:tabular-nums;font-size:11.5px}.preset-tag{color:var(--warn);font-size:10.5px}.manual-editor{margin-top:12px}.manual-row{grid-template-columns:1fr 1fr 32px;align-items:center;gap:8px;margin-bottom:6px;display:grid}.manual-head{color:var(--ink-muted);font-size:12px}.manual-row input{background:var(--surface-2);border:1px solid var(--baseline);color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;border-radius:6px;outline:none;width:100%;padding:6px 10px}.manual-row input:focus{border-color:var(--accent)}.icon-btn{border:1px solid var(--baseline);color:var(--ink-muted);cursor:pointer;background:0 0;border-radius:6px;width:28px;height:28px;font-size:15px;line-height:1}.icon-btn:hover{color:var(--bad);border-color:var(--bad)}.manual-actions{align-items:center;gap:12px;margin-top:4px;display:flex}.stats-bar{background:var(--surface-2);color:var(--ink-muted);border-radius:6px;flex-wrap:wrap;gap:8px 18px;margin-top:12px;padding:8px 12px;font-size:12.5px;display:flex}.stats-bar b{color:var(--ink);font-variant-numeric:tabular-nums}.slot-rules{margin-top:12px}.ghost-btn{border:1px solid var(--baseline);color:var(--ink-2);font:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:5px 12px;font-size:13px}.ghost-btn:hover:not(:disabled){border-color:var(--accent);color:var(--ink)}.ghost-btn:disabled{opacity:.4;cursor:default}.run-btn{background:var(--accent);color:#fff;width:100%;font:inherit;cursor:pointer;border:none;border-radius:8px;margin-top:12px;padding:11px;font-size:15px;font-weight:600}.run-btn:hover:not(:disabled){filter:brightness(1.1)}.run-btn:disabled{opacity:.4;cursor:default}.run-progress{margin-top:12px}.progress-track{background:var(--surface-2);border-radius:4px;height:8px;overflow:hidden}.progress-fill{background:var(--accent);border-radius:4px;height:100%;transition:width .15s linear}.progress-row{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.seed-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.seed-input{max-width:140px}.hint{color:var(--ink-muted);margin:6px 0 0;font-size:12px}.error-text{color:var(--bad);margin-top:8px;font-size:12.5px}.warn-text{color:var(--warn);margin-top:6px;font-size:12px}.error-list{color:var(--bad);margin:10px 0 0;padding-left:18px;font-size:12.5px}.empty-state{text-align:center;padding:28px 0;font-size:13px}.good-text{color:var(--good)}.bad-text{color:var(--bad)}.result-label{color:var(--ink-2);margin:0 0 12px;font-size:13px}.metric-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.metric-card{background:var(--surface-2);border-radius:8px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.metric-label{color:var(--ink-muted);font-size:11.5px}.metric-value{color:var(--ink);font-size:20px;font-weight:650}.tone-good .metric-value{color:var(--good)}.tone-bad .metric-value{color:var(--bad)}.metric-sub{color:var(--ink-muted);font-size:11px}.quantile-table{margin-top:14px}.quantile-title{color:var(--ink-muted);font-size:12px}.quantile-table table{border-collapse:collapse;width:100%;margin-top:6px}.quantile-table th{text-align:left;color:var(--ink-muted);border-bottom:1px solid var(--grid);padding:4px 8px;font-size:11px;font-weight:500}.quantile-table td{color:var(--ink);font-variant-numeric:tabular-nums;padding:6px 8px;font-size:13px}.hist-title{color:var(--ink);margin:18px 0 6px;font-size:13px;font-weight:600}.histogram svg{width:100%;height:auto;display:block}.hist-axis{fill:var(--ink-muted);font-size:10px;font-family:var(--sans)}.hist-value{fill:var(--ink-2);font-size:10.5px;font-family:var(--sans)}.hist-tooltip{fill:var(--ink);font-size:11px;font-family:var(--sans);font-variant-numeric:tabular-nums}.hist-baseline{stroke:var(--baseline);stroke-width:1px}.hist-divider{stroke:var(--grid);stroke-width:1px;stroke-dasharray:3 3}.hist-legend{color:var(--ink-muted);align-items:center;gap:16px;margin-top:4px;font-size:11.5px;display:flex}.swatch{vertical-align:baseline;border-radius:2px;width:9px;height:9px;margin-right:5px;display:inline-block}.analytic-card{border:1px dashed var(--baseline);border-radius:8px;margin-top:16px;padding:10px 12px}.analytic-head{color:var(--ink-2);justify-content:space-between;font-size:13px;display:flex}.analytic-head b{font-variant-numeric:tabular-nums}.run-meta{margin-top:12px}.compare-table-wrap{overflow-x:auto}.compare-table{border-collapse:collapse;width:100%;font-size:12.5px}.compare-table th,.compare-table td{text-align:left;border-bottom:1px solid var(--grid);vertical-align:top;padding:6px 8px}.compare-table th:first-child,.compare-table td:first-child{color:var(--ink-muted);white-space:nowrap}.compare-table td{color:var(--ink);font-variant-numeric:tabular-nums}.compare-head{color:var(--ink);font-weight:500}.compare-hists{flex-direction:column;gap:12px;margin-top:14px;display:flex}.compare-hist-label{color:var(--ink-2);font-size:12px}.app-cheat{margin-top:16px}.rule-callout{border:1px solid var(--accent);border-left:4px solid var(--accent);background:#3987e514;border-radius:8px;margin:0 0 14px;padding:14px 16px 14px 18px}.rule-callout p{color:var(--ink);margin:0;font-size:14px;line-height:1.55}.rule-callout p+p{margin-top:8px}.rule-callout b{color:var(--accent);font-weight:650}.cheat-intro{margin-bottom:12px}.cheat-table{border-collapse:collapse;width:100%;min-width:480px;font-size:13px}.cheat-table th{text-align:left;color:var(--ink-muted);border-bottom:1px solid var(--baseline);white-space:nowrap;padding:8px 12px;font-size:11.5px;font-weight:500}.cheat-table td{color:var(--ink);border-bottom:1px solid var(--grid);font-variant-numeric:tabular-nums;padding:8px 12px}.cheat-table tbody tr:hover{background:var(--surface-2)}.cheat-cap{font-weight:650}.vol-dot{vertical-align:baseline;border-radius:50%;width:8px;height:8px;margin-right:7px;display:inline-block}.vol-low{background:#199e70}.vol-mid{background:#c98500}.vol-high{background:#e66767}.cheat-toggle{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:0;display:flex}.cheat-toggle h2{color:var(--ink);margin:0;font-size:15px;font-weight:600}.chevron{color:var(--ink-muted);font-size:13px;transition:transform .15s;display:inline-block}.chevron.open{transform:rotate(90deg)}.cheat-body{margin-top:14px}.cheat-wager{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.cheat-wager .field-label{margin:0}.switch-label{color:var(--ink-2);cursor:pointer;align-items:center;gap:7px;font-size:12.5px;display:flex}.switch-label input{accent-color:var(--accent);margin:0}.rec-settings{margin-top:12px;margin-bottom:12px}.rec-result{margin-top:14px}.rec-best{background:#0ca30c12;border:1px solid #0ca30c59;border-radius:8px;padding:12px 14px}.rec-best-tag{text-transform:uppercase;letter-spacing:.04em;color:var(--good);margin-bottom:8px;font-size:11px;display:inline-block}.rec-best-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;display:grid}.rec-best-grid>div{flex-direction:column;gap:3px;display:flex}.rec-best-grid .metric-value{font-size:16px}.rec-slot{align-items:center;display:inline-flex}.rec-sub{color:var(--ink-muted);font-size:12px;font-weight:400}.rec-top{margin-top:16px}.rec-slots{border:1px solid var(--grid);border-radius:8px;margin:14px 0;padding:10px 12px}.rec-slots-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.rec-slots-actions{gap:12px;display:flex}.rec-slots-cat{flex-wrap:wrap;align-items:center;gap:6px 14px;padding:5px 0;display:flex}.rec-slot-check{color:var(--ink-2);cursor:pointer;align-items:center;gap:5px;font-size:12.5px;display:inline-flex}.rec-slot-check input{accent-color:var(--accent);margin:0}.link-btn{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-size:12.5px}.link-btn:hover{text-decoration:underline}.link-btn-danger{color:var(--bad)}.slots-body{margin-top:14px}.slots-json{background:var(--surface-2);border:1px solid var(--baseline);width:100%;color:var(--ink);font-family:var(--mono,ui-monospace, monospace);resize:vertical;border-radius:6px;outline:none;margin-top:8px;padding:8px 10px;font-size:12px}.slots-json:focus{border-color:var(--accent)}.slots-row{align-items:center;gap:12px;margin-top:8px;display:flex}.slots-form-title{margin-top:18px;display:block}.slots-add{margin-top:10px}.slots-manage-cat{margin-top:8px}.slots-manage-row{border-bottom:1px solid var(--grid);align-items:center;gap:10px;padding:5px 0;font-size:13px;display:flex}.slots-manage-row.is-hidden .slots-manage-name{color:var(--ink-muted);text-decoration:line-through}.slots-manage-name{color:var(--ink)}.slots-manage-meta{margin:0}.slots-manage-row .link-btn{margin-left:auto}.slots-manage-row .slots-manage-meta+.link-btn{margin-left:0}.preset-tag-user{color:var(--accent)}.rec-top .cheat-table{min-width:0}
