:root{--bg: #0f1218;--panel: #171b24;--panel-2: #1e232e;--border: #2a303c;--text: #e6e9ef;--muted: #9aa4b2;--accent: #4c8dff;--accent-2: #2b6fe0;--good: #3fb950;--warn: #d29922;--bad: #f85149;--plr: #a371f7;--chip: #232a36;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-size:14px}.app{display:flex;flex-direction:column;height:100vh}.topbar{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--panel);border-bottom:1px solid var(--border)}.topbar h1{font-size:15px;margin:0;font-weight:600;letter-spacing:.2px}.topbar .sub{color:var(--muted);font-size:12px}.spacer{flex:1}select,input,textarea,button{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:6px 8px;font-size:13px}textarea{width:100%;min-height:120px;font-family:ui-monospace,Menlo,monospace}button{cursor:pointer}button.primary{background:var(--accent-2);border-color:var(--accent)}button.primary:hover{background:var(--accent)}button.ghost{background:transparent}button:disabled{opacity:.5;cursor:not-allowed}label{color:var(--muted);font-size:12px;display:block;margin-bottom:4px}.tabs{display:flex;gap:2px;padding:0 12px;background:var(--panel);border-bottom:1px solid var(--border)}.tab{padding:10px 14px;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--muted);border-radius:0;font-weight:500}.tab.active{color:var(--text);border-bottom-color:var(--accent)}.body{flex:1;overflow:auto;padding:16px}.row{display:flex;gap:16px;flex-wrap:wrap}.col{flex:1;min-width:280px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:14px;margin-bottom:16px}.panel h2{font-size:13px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin:0 0 10px}.panel h3{font-size:13px;margin:0 0 8px}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.grow{flex:1}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;padding:6px 10px;border-bottom:1px solid var(--border);white-space:nowrap}th{color:var(--muted);font-weight:600;position:sticky;top:0;background:var(--panel);cursor:pointer;-webkit-user-select:none;user-select:none}th.num,td.num{text-align:right;font-variant-numeric:tabular-nums}tbody tr:hover{background:var(--panel-2)}.table-wrap{overflow:auto;max-height:62vh;border:1px solid var(--border);border-radius:8px}.tag{display:inline-block;padding:1px 7px;border-radius:999px;font-size:11px;font-weight:600}.tag.EXACT{background:#3fb9502e;color:var(--good)}.tag.EXACTPLR{background:#3fb9501f;color:#7ee787;border:1px dashed var(--good)}.tag.BROAD{background:#d299222e;color:var(--warn)}.tag.BROADPLR{background:#d299221f;color:#e3b341;border:1px dashed var(--warn)}.tag.NONE{background:#8b949e26;color:var(--muted)}.tag.field{background:var(--chip);color:var(--muted);margin-left:6px}.tag.bucketCORE{background:#4c8dff26;color:var(--accent)}.tag.bucketOUTLIER{background:#a371f72e;color:var(--plr)}.tag.bucketRESIDUE{background:#8b949e26;color:var(--muted)}.stat-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.stat{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:8px 12px;min-width:120px}.stat .k{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.5px}.stat .v{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums}.chip{background:var(--chip);border:1px solid var(--border);border-radius:999px;padding:2px 10px;font-size:12px;display:inline-flex;align-items:center;gap:6px}.chip button{padding:0 2px;background:transparent;border:none;color:var(--muted)}.asin-list{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.muted{color:var(--muted)}.small{font-size:12px}.listing-editor{display:grid;gap:10px}.listing-editor .bullets{display:grid;gap:6px}.empty{color:var(--muted);text-align:center;padding:40px}.hint{color:var(--muted);font-size:12px;margin-top:6px}.banner{background:#4c8dff14;border:1px solid var(--accent);border-radius:8px;padding:10px 12px;font-size:12px;color:var(--muted);margin-bottom:14px}
