:root{--bg:#090b0e;--bg-raised:#10141a;--bg-raised-2:#151a22;--bg-row:#0d1015;--bg-row-alt:#0a0c10;--border:#1b212b;--border-strong:#2a3340;--text:#e7ecf3;--text-dim:#78849a;--text-faint:#56607440;--accent:#2ec9d6;--accent-bright:#5fe3ee;--accent-soft:#2ec9d61a;--accent-line:#2ec9d64d;--green:#4cc286;--amber:#e3a63a;--red:#ef6a63;--violet:#a481f2;--green-soft:#4cc2861a;--amber-soft:#e3a63a1a;--red-soft:#ef6a631a;--violet-soft:#a481f21a;--shadow:0 18px 40px -18px #000c;--glow-accent:0 0 0 1px var(--accent-line), 0 0 22px -6px var(--accent);--mono:"Spline Sans Mono", ui-monospace, "SF Mono", monospace;--sans:"Archivo", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{background-color:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-image:radial-gradient(120% 60% at 50% -12%,#103a3e33,#0000 60%),radial-gradient(100% 80% at 88% 0,#14243a22,#0000 55%),radial-gradient(140% 120% at 50% 120%,#05070944,#0000),repeating-linear-gradient(0deg,#ffffff05 0 1px,#0000 1px 3px);background-attachment:fixed;margin:0;font-size:13px}::selection{background:var(--accent-soft);color:var(--accent-bright)}:focus-visible{box-shadow:0 0 0 2px var(--bg), 0 0 0 3px var(--accent);outline:none}@keyframes rise{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes livepulse{0%,to{opacity:1;box-shadow:0 0 0 0 var(--green)}50%{opacity:.55;box-shadow:0 0 7px 0 var(--green)}}.shell>*{animation:.5s cubic-bezier(.22,1,.36,1) both rise}.shell>.topbar{animation-delay:20ms}.shell>.stats{animation-delay:80ms}.shell>.filter-row{animation-delay:.13s}.shell>.table-scroll{animation-delay:.18s}.shell>.statusbar{animation-delay:.24s}@media (prefers-reduced-motion:reduce){.shell>*{animation:none}}.shell{flex-direction:column;width:100%;height:100vh;margin:0 auto;padding:0 22px;display:flex}.topbar{justify-content:space-between;align-items:center;padding:15px 2px 13px;display:flex;position:relative}.topbar:after{content:"";background:linear-gradient(90deg, transparent, var(--accent-line) 12%, var(--accent-line) 88%, transparent);opacity:.7;height:1px;position:absolute;bottom:0;left:2px;right:2px}.brand{align-items:center;gap:11px;display:flex}.brand h1{letter-spacing:.11em;text-transform:uppercase;white-space:nowrap;margin:0;font-size:15px;font-weight:800}.brand h1 em{letter-spacing:.1em;color:var(--text-dim);font-style:normal;font-weight:500}.login-wrap{place-items:center;min-height:100vh;display:grid}.login-card{border:1px solid var(--border);background:linear-gradient(180deg, var(--bg-raised-2), var(--bg-raised));width:328px;box-shadow:var(--shadow);border-radius:12px;flex-direction:column;gap:14px;padding:30px 28px;display:flex;position:relative;overflow:hidden}.login-card:before{content:"";background:linear-gradient(90deg, transparent, var(--accent) 50%, transparent);height:2px;box-shadow:0 0 14px 0 var(--accent);position:absolute;top:0;left:0;right:0}.login-card .brand{margin-bottom:8px}.login-card label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim);flex-direction:column;gap:4px;font-size:10.5px;display:flex}.login-card input{font-family:var(--mono);color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:8px 10px;font-size:13px}.login-card input:focus{border-color:var(--accent);outline:none}.login-error{color:var(--red);margin:0;font-size:12px}.btn-primary{font-family:var(--mono);letter-spacing:.03em;color:#051012;background:var(--accent);border:1px solid var(--accent);cursor:pointer;border-radius:6px;padding:7px 15px;font-size:11.5px;font-weight:600;transition:box-shadow .15s,filter .15s}.btn-primary:not(:disabled):hover{filter:brightness(1.12);box-shadow:0 0 16px -4px var(--accent)}.btn-primary:disabled{opacity:.45;cursor:default}.signout-btn{font-family:var(--mono);color:var(--text-dim);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:4px;padding:6px 10px;font-size:11px}.signout-btn:hover{color:var(--text);border-color:var(--border-strong)}.load-more{align-items:center;gap:10px;display:flex}.load-more-error{font-family:var(--mono);color:var(--red);font-size:11px}.signed-in-shell{flex-direction:column;align-items:flex-start;gap:16px;min-height:100vh;padding:24px;display:flex}.chip{white-space:nowrap;font-family:var(--mono);border:1px solid var(--border);background:var(--bg-raised);border-radius:6px;align-items:center;gap:7px;padding:5px 11px;font-size:11px;display:inline-flex}.chip:before{content:"";background:currentColor;border-radius:50%;flex:none;width:6px;height:6px;box-shadow:0 0 7px}.chip small{color:var(--text-dim);letter-spacing:.02em}.chip-seed{color:var(--amber);border-color:var(--amber-soft);background:var(--amber-soft)}.chip-live{color:var(--green);border-color:var(--green-soft);background:var(--green-soft)}.chip-live:before{animation:2.4s ease-in-out infinite livepulse}.chip-edits{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft)}.sync-btn{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--accent-line);background:linear-gradient(180deg, var(--accent-soft), transparent);color:var(--accent-bright);cursor:pointer;border-radius:6px;padding:6px 14px;font-size:11px;font-weight:600;transition:box-shadow .15s,border-color .15s}.sync-btn:not(:disabled):hover{border-color:var(--accent);box-shadow:var(--glow-accent)}.sync-btn:disabled{opacity:.4;border-color:var(--border);color:var(--text-dim);background:var(--bg-raised);cursor:not-allowed}.stats{flex-wrap:wrap;gap:9px;padding:14px 0 11px;display:flex}.stat{--led:var(--border-strong);border:1px solid var(--border);background:linear-gradient(180deg, var(--bg-raised), var(--bg-row));min-width:138px;color:var(--text);text-align:left;cursor:pointer;border-radius:8px;flex-direction:column;gap:2px;padding:11px 14px 9px;font-family:inherit;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden}.stat:before{content:"";background:var(--led);height:2px;box-shadow:0 0 10px -1px var(--led);position:absolute;top:0;left:0;right:0}.stat:not(.stat-shown):hover{border-color:var(--border-strong);box-shadow:var(--shadow);transform:translateY(-2px)}.stat-shown{cursor:default;text-align:right;background:0 0;border-style:dashed;align-items:flex-end;margin-left:auto}.stat-shown:before{display:none}.stat-n{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:22px;font-weight:600;line-height:1.05}.stat-label{font-family:var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--text-dim);font-size:10px;font-weight:500}.stat.active:before{background:var(--accent);box-shadow:0 0 12px 0 var(--accent)}@media (width>=761px){.trust-stats{grid-template-columns:repeat(5,minmax(0,1fr));align-items:start;display:grid}.trust-stats .trust-line{max-width:none}}.trust-stats .stat{cursor:default}.trust-stats .stat:hover{border-color:var(--border);box-shadow:none;transform:none}.stat.proven:before{background:var(--green);box-shadow:0 0 10px -1px var(--green)}.trust-sub{font-family:var(--mono);color:var(--text-dim);font-size:10px;font-weight:400}.trust-line{font-family:var(--mono);color:var(--text-dim);max-width:46ch;margin:0;font-size:11px;font-weight:500;line-height:1.4}.trust-line-proven{color:var(--green)}.trust-caption{font-family:var(--sans);color:var(--text-dim);flex-basis:100%;grid-column:1/-1;margin:0;font-size:11.5px;line-height:1.4}.empty{text-align:center;color:var(--text-dim);font-family:var(--mono);padding:48px;font-size:12px}.empty.error{color:var(--red)}.statusbar{font-family:var(--mono);letter-spacing:.04em;color:var(--text-dim);justify-content:space-between;align-items:center;margin-top:2px;padding:10px 4px 13px;font-size:10px;display:flex;position:relative}.statusbar:before{content:"";background:linear-gradient(90deg, transparent, var(--border) 20%, var(--border) 80%, transparent);height:1px;position:absolute;top:0;left:2px;right:2px}.statusbar>:last-child{color:var(--accent);opacity:.85}.filters{flex-wrap:wrap;align-items:center;gap:14px;padding-bottom:10px;display:flex}.search{max-width:380px;font-family:var(--mono);color:var(--text);background:var(--bg-row);border:1px solid var(--border);border-radius:6px;flex:1;padding:8px 11px;font-size:12px;transition:border-color .15s,box-shadow .15s}.search::placeholder{color:var(--text-dim)}.search:focus{border-color:var(--accent);box-shadow:var(--glow-accent);outline:none}.filters label{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);align-items:center;gap:7px;font-size:10px;font-weight:500;display:flex}.filters select,.status-filter select{appearance:none;font-family:var(--mono);color:var(--text);background-color:var(--bg-row);background-image:linear-gradient(45deg, transparent 50%, var(--accent) 50%), linear-gradient(135deg, var(--accent) 50%, transparent 50%);border:1px solid var(--border);cursor:pointer;background-position:calc(100% - 15px),calc(100% - 10px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;border-radius:6px;padding:7px 26px 7px 10px;font-size:12px;transition:border-color .15s,box-shadow .15s}.filters select:hover,.status-filter select:hover{border-color:var(--border-strong)}.filters select:focus,.status-filter select:focus{border-color:var(--accent);box-shadow:var(--glow-accent);outline:none}.filters select option,.status-filter select option{background:var(--bg-raised);color:var(--text)}.filter-row{flex-wrap:wrap;align-items:center;gap:14px;padding-bottom:4px;display:flex}.filter-row>.filters{flex:1}.status-filter{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);align-items:center;gap:7px;font-size:10px;font-weight:500;display:flex}.table-scroll{flex-direction:column;flex:1;min-height:0;display:flex}.thead,.row{grid-template-columns:64px 150px minmax(160px,1fr) 120px 160px 90px 120px 150px 110px 110px minmax(220px,1.4fr);align-items:center;gap:10px;min-width:1530px;display:grid}.thead{z-index:5;border-top:1px solid var(--border);border-bottom:1px solid var(--border-strong);background:linear-gradient(180deg, var(--bg-raised-2), var(--bg-raised));-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);position:sticky;top:0}.th{font-family:var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--text-dim);text-align:left;cursor:pointer;background:0 0;border:none;padding:9px 0;font-size:10px;font-weight:600;transition:color .12s}.th:hover{color:var(--text)}.th.num{text-align:right}.th.sorted{color:var(--accent-bright)}.th .arrow{color:var(--accent);margin-left:4px;font-size:8px}.viewport{border-bottom:1px solid var(--border);flex:1;overflow:auto}.row{border-bottom:1px solid #12161d;width:100%;font-size:12.5px;transition:background .1s;position:relative}.row:nth-child(2n){background:var(--bg-row-alt)}.row:before{content:"";background:var(--accent);width:2px;transition:transform .12s;position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}.row:hover{background:#12181f}.row:hover:before{transform:scaleY(1)}.row.selected{background:var(--accent-soft)}.row.selected:before{transform:scaleY(1)}.row.selected:hover{background:#14242b}.badge{appearance:none;font-family:var(--mono);letter-spacing:.03em;cursor:pointer;white-space:nowrap;background-color:#0000;background-position:7px;background-repeat:no-repeat;background-size:6px 6px;border:1px solid;border-radius:5px;max-width:100%;padding:4px 8px 4px 18px;font-size:10px;font-weight:500;transition:box-shadow .15s,border-color .15s}.badge:hover{box-shadow:inset 0 0 0 1px}.badge option{background:var(--bg-raised);color:var(--text)}.badge-published{color:var(--green);border-color:var(--green-soft);background-color:var(--green-soft);background-image:radial-gradient(circle, var(--green) 40%, transparent 45%)}.badge-hidden{color:var(--red);border-color:var(--red-soft);background-color:var(--red-soft);background-image:radial-gradient(circle, var(--red) 40%, transparent 45%)}.badge-pending{color:var(--amber);border-color:var(--amber-soft);background-color:var(--amber-soft);background-image:radial-gradient(circle, var(--amber) 40%, transparent 45%)}.badge-state-proposed{color:var(--accent);border-color:var(--accent-line);background-color:var(--accent-soft);background-image:radial-gradient(circle, var(--accent) 40%, transparent 45%)}.badge-state-approved{color:var(--green);border-color:var(--green-soft);background-color:var(--green-soft);background-image:radial-gradient(circle, var(--green) 40%, transparent 45%)}.badge-state-overridden{color:var(--amber);border-color:var(--amber-soft);background-color:var(--amber-soft);background-image:radial-gradient(circle, var(--amber) 40%, transparent 45%)}.badge-state-actioned{color:var(--text-dim);border-color:var(--border-strong);background-color:#0000;background-image:radial-gradient(circle, var(--text-dim) 40%, transparent 45%)}.badge-state-error{color:var(--red);border-color:var(--red-soft);background-color:var(--red-soft);background-image:radial-gradient(circle, var(--red) 40%, transparent 45%)}.badge-bucket-clean{color:var(--green);border-color:var(--green-soft);background-color:var(--green-soft);background-image:radial-gradient(circle, var(--green) 40%, transparent 45%)}.badge-bucket-attention{color:var(--amber);border-color:var(--amber-soft);background-color:var(--amber-soft);background-image:radial-gradient(circle, var(--amber) 40%, transparent 45%)}.badge-bucket-negative{color:var(--red);border-color:var(--red-soft);background-color:var(--red-soft);background-image:radial-gradient(circle, var(--red) 40%, transparent 45%)}.badge-bucket-competitor{color:var(--violet);border-color:var(--violet-soft);background-color:var(--violet-soft);background-image:radial-gradient(circle, var(--violet) 40%, transparent 45%)}.badge-bucket-spam{color:var(--text-dim);border-color:var(--border-strong);background-color:#0000;background-image:radial-gradient(circle, var(--text-dim) 40%, transparent 45%)}.badge-band-high{color:var(--green);border-color:var(--green-soft);background-color:var(--green-soft);background-image:radial-gradient(circle, var(--green) 40%, transparent 45%)}.badge-band-medium{color:var(--amber);border-color:var(--amber-soft);background-color:var(--amber-soft);background-image:radial-gradient(circle, var(--amber) 40%, transparent 45%)}.badge-band-low{color:var(--red);border-color:var(--red-soft);background-color:var(--red-soft);background-image:radial-gradient(circle, var(--red) 40%, transparent 45%)}.badge-farming{color:var(--violet);border-color:var(--violet-soft);background-color:var(--violet-soft);background-image:radial-gradient(circle, var(--violet) 40%, transparent 45%);margin-right:6px}.badge-reclass{color:var(--accent);border-color:var(--accent-line);background-color:var(--accent-soft);background-image:radial-gradient(circle, var(--accent) 40%, transparent 45%);margin-left:6px}.cfg-toggle{font-family:var(--mono);color:var(--text-dim);background:var(--bg);border:1px solid var(--border);text-align:left;cursor:pointer;border-radius:4px;padding:6px 8px;font-size:12px}.cfg-toggle.on{color:var(--green);border-color:var(--green)}.cfg-toggle.dirty{border-color:var(--amber)}.cfg-textarea{font-family:var(--mono);color:var(--text);background:var(--bg);border:1px solid var(--border);resize:vertical;white-space:pre-wrap;border-radius:4px;padding:8px 10px;font-size:12px;line-height:1.5}.cfg-textarea.dirty{border-color:var(--amber)}.cfg-save:not(:disabled){border-color:var(--green);color:var(--green)}.ot-detail{background:#0f141d;grid-template-columns:300px 1fr;gap:20px;padding:12px 14px 16px 36px;display:grid}.ot-sub{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin:0 0 5px;font-size:9.5px}.ot-msg .ot-sub{margin-top:10px}.ot-msg .ot-sub:first-child{margin-top:0}.ot-subject{color:var(--text);font-size:13px}.ot-body{font-family:var(--sans);color:var(--text);margin:0;font-size:12.5px;line-height:1.5}.ot-body a{color:var(--accent);text-decoration:underline}.ot-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.ot-composer{border-top:1px solid var(--border);flex-direction:column;gap:8px;width:100%;margin-top:10px;padding-top:10px;display:flex}.ot-warning{color:var(--amber);margin:0;font-size:11.5px}.cfg-changes{border-top:1px solid var(--border);font-family:var(--mono);flex-direction:column;gap:6px;margin:12px 0 0;padding:10px 12px;font-size:11px;list-style:none;display:flex}.cfg-changes .when{color:var(--text-dim);margin-right:10px}
