:root{--ink:#0a0a0a;--ink-2:#262624;--muted:#5b5a55;--dim:#7f7e77;--canvas:#f6f5f0;--surface:#fff;--surface-2:#fbfaf7;--surface-3:#f0efe8;--line:#e4e2da;--line-strong:#c9c7bd;--frame:#0a0a0a;--frame-w:1.5px;--shadow:2px 2px 0 0 #0a0a0a;--shadow-lg:4px 4px 0 0 #0a0a0a;--fill:#0a0a0a;--on-ink:#fff;--on-fill:#0a0a0a;--head-bg:#0a0a0a;--head-ink:#fff;--scrim:#0a0a0a61;--radius:10px;--radius-sm:6px;--pink:#ff1f8f;--pink-ink:#d6006f;--pink-tint:#ffe8f4;--green:#00d26a;--green-ink:#00843a;--green-tint:#e3fbee;--red:#e0241b;--red-ink:#b4150e;--red-tint:#fdeceb;--amber:#ffb300;--amber-ink:#8a5700;--amber-tint:#fff3d6;--blue:#2f6bff;--blue-ink:#1d4ed8;--blue-tint:#e8efff;--violet-ink:#6d28d9;--violet-tint:#f1eafe;--sand-ink:#8a5424;--sand-tint:#f6ead9;--font-sans:"DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "Cascadia Code", Consolas, monospace;--fs-2xs:10.5px;--fs-xs:11.5px;--fs-sm:12.5px;--fs-table:13px;--fs-base:14px;--fs-md:15px;--fs-lg:17px;--fs-xl:22px;--sidebar-w:236px;--control-h:32px;--control-h-sm:26px;--focus:0 0 0 2px var(--surface), 0 0 0 4px var(--pink)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#f5f2ed;--ink-2:#ddd8cf;--muted:#b3ada3;--dim:#8e887f;--canvas:#1a1816;--surface:#252220;--surface-2:#2a2724;--surface-3:#33302c;--line:#3d3835;--line-strong:#5a544d;--frame:#4d4741;--fill:#cfc5b6;--shadow:2px 2px 0 0 #0c0b0a;--shadow-lg:4px 4px 0 0 #0c0b0a;--on-ink:#1a1816;--head-bg:#100f0e;--head-ink:#f5f2ed;--scrim:#0009;--pink-ink:#ff77b9;--pink-tint:#3f1830;--green-ink:#5fe39a;--green-tint:#15301f;--red-ink:#ff8f85;--red-tint:#3b1b18;--amber-ink:#ffc94d;--amber-tint:#382b0e;--blue-ink:#8fb0ff;--blue-tint:#18243f;--violet-ink:#c4a6ff;--violet-tint:#2a1f45;--sand-ink:#e0b98a;--sand-tint:#33291c}:root[data-theme=dark] :is(.panel-ok,.panel-bad,.panel-warn,.panel-info,.badge-green,.badge-red,.badge-amber,.badge-blue,.badge-pink,.badge-violet,.badge-sand,.chip-ok){border-color:color-mix(in srgb, currentColor 38%, transparent)}:root[data-theme=dark] .panel-ok{border-left-color:var(--green-ink)}:root[data-theme=dark] .panel-bad{border-left-color:var(--red-ink)}:root[data-theme=dark] .panel-warn{border-left-color:var(--amber-ink)}:root[data-theme=dark] .panel-info{border-left-color:var(--blue-ink)}*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--canvas);color:var(--ink);font-family:var(--font-sans);font-size:var(--fs-base);font-feature-settings:"ss01" on;-webkit-font-smoothing:antialiased;line-height:1.45}a{color:var(--blue-ink);text-underline-offset:2px;text-decoration:underline}a:hover{color:var(--ink)}code,kbd,.mono{font-family:var(--font-mono);font-size:.92em}code{background:var(--surface-3);border-radius:4px;padding:0 4px}b,strong{font-weight:700}h1,h2,h3,h4{letter-spacing:-.01em;font-weight:700;line-height:1.2}::selection{background:var(--pink-tint)}:focus-visible{box-shadow:var(--focus);outline:none}:where(input[type=text],input[type=date],input[type=number],input[type=time],input[type=email],input[type=password],input[type=search],input:not([type]),select,textarea){font:inherit;font-size:var(--fs-base);color:var(--ink);background:var(--surface);border:1px solid var(--frame);border-radius:var(--radius-sm);min-height:var(--control-h);outline:none;padding:0 10px;transition:box-shadow .12s,border-color .12s}:where(textarea){resize:vertical;padding:7px 10px;line-height:1.45}@supports (field-sizing:content){.textarea-auto{field-sizing:content;resize:none;min-height:var(--control-h)}}:where(select){appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%230a0a0a' stroke-width='1.6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:28px}:where(input,select,textarea):hover{border-color:var(--frame)}:where(input,select,textarea):focus{box-shadow:var(--focus)}:where(input,select,textarea)::placeholder{color:var(--dim)}:where(input,select,textarea):disabled{background:var(--surface-3);color:var(--muted);cursor:not-allowed}:where(input[type=date],input[type=time]){font-variant-numeric:tabular-nums}:where(input[type=checkbox],input[type=radio]){width:16px;height:16px;accent-color:var(--fill);cursor:pointer;vertical-align:middle}input.mono{font-family:var(--font-mono);font-size:var(--fs-sm)}input.mono::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input.mono::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input.mono[type=number]{-moz-appearance:textfield}.input-sm{min-height:var(--control-h-sm)!important;font-size:var(--fs-sm)!important;padding:0 7px!important}select.input-sm{background-position:right 7px center;padding-right:24px!important}.input-invalid{border-color:var(--red)!important;background:var(--red-tint)!important}.field{flex-direction:column;gap:4px;min-width:0;display:flex}.field-label{font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600;line-height:1.3}.field-label .hint{text-transform:none;letter-spacing:0;color:var(--dim);font-weight:400}.field-grid{gap:12px;display:grid}.check{font-size:var(--fs-base);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:7px;display:inline-flex}.btn{min-height:var(--control-h);font:inherit;white-space:nowrap;color:var(--ink);background:var(--surface);border:var(--frame-w) solid var(--frame);border-radius:var(--radius-sm);box-shadow:var(--shadow);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:13.5px;font-weight:600;line-height:1.1;text-decoration:none;transition:background .1s,transform 60ms,box-shadow 60ms;display:inline-flex}.btn:hover{background:var(--surface-3);color:var(--ink)}.btn:active:not(:disabled){box-shadow:none;transform:translate(2px,2px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;box-shadow:none}.btn.is-busy:disabled{opacity:1;cursor:progress}.btn-primary{background:var(--fill);color:var(--on-ink)}.btn-primary:hover{background:color-mix(in srgb, var(--fill) 84%, var(--surface));color:var(--on-ink)}.btn-accent{background:var(--pink);color:var(--on-fill)}.btn-accent:hover{background:#ff4fa6}.btn-ok{background:var(--green);color:var(--on-fill)}.btn-ok:hover{background:#2fe086}.btn-danger{color:var(--red-ink);border-color:var(--red-ink);box-shadow:2px 2px 0 0 var(--red-ink)}.btn-danger:hover{background:var(--red-tint);color:var(--red-ink)}.btn-danger-solid{background:var(--red);color:#fff}.btn-danger-solid:hover{color:#fff;background:#c81e16}.btn-ghost{box-shadow:none;background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface-3);border-color:#0000}.btn-sm{min-height:var(--control-h-sm);font-size:var(--fs-sm);box-shadow:none;padding:0 9px}.btn-sm.btn-danger{box-shadow:none}.btn-xs{min-height:22px;font-size:var(--fs-xs);box-shadow:none;border-width:1px;padding:0 7px}.btn-xs.btn-danger{border-color:var(--line-strong);color:var(--red-ink);box-shadow:none}.btn-xs.btn-danger:hover{border-color:var(--red-ink);background:var(--red-tint)}.btn-icon{width:var(--control-h);padding:0}.btn-sm.btn-icon{width:var(--control-h-sm)}.btn-xs.btn-icon{width:22px}.btn .spinner{width:13px;height:13px}.btn-back{cursor:pointer;font:inherit;font-size:var(--fs-sm);color:var(--muted);background:0 0;border:none;align-items:center;gap:4px;padding:2px 0;font-weight:600;display:inline-flex}.btn-back:hover{color:var(--ink);text-decoration:underline}.linkish{font:inherit;color:var(--blue-ink);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline}.linkish:hover{color:var(--ink)}.table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.tbl{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--fs-table);line-height:1.4}.tbl th{z-index:1;background:var(--head-bg);color:var(--head-ink);text-align:left;white-space:nowrap;font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;padding:7px 10px;font-weight:600;position:sticky;top:0}.tbl td{border-bottom:1px solid var(--line);vertical-align:middle;padding:6px 10px}.tbl tbody tr:nth-child(2n)>td{background:var(--surface-2)}.tbl tbody tr:last-child>td{border-bottom:none}.tbl tr.clickable{cursor:pointer}.tbl tbody tr.is-marked>td{background:var(--red-tint)}.tbl tbody tr.is-selected>td{background:var(--pink-tint)}.tbl tbody tr.is-editing>td{background:var(--amber-tint)}.tbl tbody tr.clickable:hover>td{background:var(--pink-tint)}.tbl tr.scratched>td{color:var(--dim)}.tbl tr.scratched .strike-name{text-decoration:line-through}.tbl tr.dnf>td{color:var(--muted)}.tbl tr.is-faded>td{opacity:.5}.tbl tr.sub-row>td{padding:8px 12px;background:var(--surface-3)!important}.tbl tr.sub-row.edit-row>td{border-bottom:var(--frame-w) solid var(--frame);padding:10px 12px 12px;background:var(--amber-tint)!important}.tbl tr.sub-row.plain>td{border-bottom:var(--frame-w) solid var(--frame);padding:14px;background:var(--surface)!important}.tbl .num,.tbl th.num{text-align:right;font-variant-numeric:tabular-nums}.tbl td.mono,.tbl td.num{white-space:nowrap}.tbl .center,.tbl th.center{text-align:center}.tbl .nowrap{white-space:nowrap}.tbl .actions{text-align:right;white-space:nowrap}.tbl .check-col{width:34px}.tbl .ellipsis{text-overflow:ellipsis;white-space:nowrap;max-width:280px;overflow:hidden}.tbl th.copyable{cursor:copy}.tbl th.copyable:hover{color:var(--pink)}@media (width<=1280px){.tbl th,.tbl td{padding-left:7px;padding-right:7px}}.tbl-compact{font-size:var(--fs-sm)}.tbl-compact th{font-size:var(--fs-2xs);padding:5px 8px}.tbl-compact td{padding:4px 8px}.tbl-plain th{color:var(--muted);border-bottom:var(--frame-w) solid var(--frame);background:0 0;position:static;border-radius:0!important}.muted{color:var(--muted)}.dim{color:var(--dim)}.small{font-size:var(--fs-sm)}.xsmall{font-size:var(--fs-xs)}.strong{font-weight:700}.semibold{font-weight:600}.num{font-variant-numeric:tabular-nums}.text-ok{color:var(--green-ink)}.text-bad{color:var(--red-ink)}.text-warn{color:var(--amber-ink)}.text-info{color:var(--blue-ink)}.text-accent{color:var(--pink-ink)}.nowrap{white-space:nowrap}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pre-wrap{white-space:pre-wrap}.win{color:var(--green-ink);font-weight:700}.id{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--dim)}.sql{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--muted);word-break:break-all}.row{align-items:center;gap:8px;display:flex}.row-wrap{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row-end{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.stack{flex-direction:column;gap:8px;display:flex}.stack-lg{flex-direction:column;gap:14px;display:flex}.spacer{flex:1}.ml-auto{margin-left:auto}.mt{margin-top:14px}.mt-sm{margin-top:8px}.mb{margin-bottom:14px}.mb-sm{margin-bottom:8px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}@media (width<=900px){.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.grid-2,.grid-3,.grid-4{grid-template-columns:minmax(0,1fr)}}.divider{background:var(--line);height:1px;margin:12px 0}@media (width<=1280px){.hide-narrow{display:none!important}}.card{background:var(--surface);border:var(--frame-w) solid var(--frame);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;margin-bottom:16px}.card-head{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;display:flex}.card-title{font-size:var(--fs-md);font-weight:700;line-height:1.25}.card-sub{font-size:var(--fs-sm);color:var(--muted)}.card-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.card-body{padding:14px}.card-body.flush{padding:0}.card-foot{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;display:flex}.card>.table-wrap:first-child .tbl thead tr:first-child th:first-child,.card>.card-body.flush:first-child>.table-wrap:first-child .tbl thead tr:first-child th:first-child{border-top-left-radius:8.5px}.card>.table-wrap:first-child .tbl thead tr:first-child th:last-child,.card>.card-body.flush:first-child>.table-wrap:first-child .tbl thead tr:first-child th:last-child{border-top-right-radius:8.5px}.card-tone-danger{border-color:var(--red-ink);box-shadow:2px 2px 0 0 var(--red-ink)}.card-tone-danger>.card-head{background:var(--red-tint);border-top-left-radius:8.5px;border-top-right-radius:8.5px}.card-tone-accent>.card-head{background:var(--pink-tint);border-top-left-radius:8.5px;border-top-right-radius:8.5px}.card-tone-muted{box-shadow:none;border-color:var(--line-strong)}.panel{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px}.panel-accent{border-left:3px solid var(--frame)}.panel-ok{background:var(--green-tint);border-color:#b9ebcf;border-left:3px solid var(--green-ink)}.panel-bad{background:var(--red-tint);border-color:#f5c2bf;border-left:3px solid var(--red-ink)}.panel-warn{background:var(--amber-tint);border-color:#f1d79a;border-left:3px solid var(--amber-ink)}.panel-info{background:var(--blue-tint);border-color:#c9d7fb;border-left:3px solid var(--blue-ink)}.panel-title{font-weight:700;font-size:var(--fs-sm);margin-bottom:4px}.page-head{flex-wrap:wrap;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.page-head-main{flex:1;min-width:240px}.crumbs{font-size:var(--fs-sm);color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:4px;display:flex}.crumbs button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0;font-weight:600}.crumbs button:hover{color:var(--ink);text-decoration:underline}.crumbs .sep{color:var(--dim)}.page-title{font-size:var(--fs-xl);flex-wrap:wrap;align-items:center;gap:10px;font-weight:700;display:flex}.page-title .page-meta{font-size:var(--fs-base);color:var(--muted);font-weight:500}.page-desc{font-size:var(--fs-sm);color:var(--muted);max-width:820px;margin-top:4px}.page-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.toolbar{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:14px;display:flex}.toolbar .spacer{flex:1}.toolbar-tight{gap:6px;margin-bottom:10px}.section-label{font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:4px 0 8px;font-weight:700}.badge{height:20px;font-size:var(--fs-xs);white-space:nowrap;background:var(--surface-3);color:var(--ink-2);vertical-align:middle;border:1px solid #d3d1c7;border-radius:5px;align-items:center;gap:4px;padding:0 7px;font-weight:600;line-height:1;display:inline-flex}.badge-sm{height:17px;font-size:var(--fs-2xs);padding:0 5px}.badge-ink{background:var(--fill);color:var(--on-ink);border-color:var(--frame)}.badge-outline{background:var(--surface);border-color:var(--frame);color:var(--ink)}.badge-green{background:var(--green-tint);color:var(--green-ink);border-color:#a8e5c3}.badge-green-solid{background:var(--green);color:var(--on-fill);border-color:var(--frame)}.badge-red{background:var(--red-tint);color:var(--red-ink);border-color:#f2b8b4}.badge-red-solid{background:var(--red);color:#fff;border-color:var(--red-ink)}.badge-amber{background:var(--amber-tint);color:var(--amber-ink);border-color:#efd28a}.badge-blue{background:var(--blue-tint);color:var(--blue-ink);border-color:#bccdfa}.badge-pink{background:var(--pink-tint);color:var(--pink-ink);border-color:#ffb3d9}.badge-violet{background:var(--violet-tint);color:var(--violet-ink);border-color:#d8c6fb}.badge-sand{background:var(--sand-tint);color:var(--sand-ink);border-color:#e6cda9}.badge-count{background:var(--pink);min-width:20px;color:var(--on-fill);border-color:var(--frame);border-radius:10px;justify-content:center;font-weight:700}.pill{font-size:var(--fs-sm);color:var(--ink-2);white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.pill:before{content:"";background:var(--line-strong);border-radius:50%;flex-shrink:0;width:8px;height:8px}.pill-ok:before{background:var(--green);box-shadow:0 0 0 1px var(--green-ink)}.pill-warn:before{background:var(--amber);box-shadow:0 0 0 1px var(--amber-ink)}.pill-bad:before{background:var(--red);box-shadow:0 0 0 1px var(--red-ink)}.pill-idle{color:var(--muted)}.notice{border:var(--frame-w) solid var(--frame);background:var(--surface);font-size:var(--fs-base);border-radius:8px;align-items:flex-start;gap:10px;margin-bottom:12px;padding:9px 12px;display:flex}.notice-body{white-space:pre-wrap;overflow-wrap:anywhere;flex:1;min-width:0}.notice-title{margin-bottom:2px;font-weight:700}.notice-icon{text-align:center;flex-shrink:0;width:16px;font-weight:800}.notice-close{cursor:pointer;color:var(--muted);background:0 0;border:none;padding:0 2px;font-size:16px;line-height:1}.notice-close:hover{color:var(--ink)}.notice-ok{background:var(--green-tint);border-color:var(--green-ink)}.notice-ok .notice-icon{color:var(--green-ink)}.notice-error{background:var(--red-tint);border-color:var(--red-ink)}.notice-error .notice-icon{color:var(--red-ink)}.notice-warn{background:var(--amber-tint);border-color:var(--amber-ink)}.notice-warn .notice-icon{color:var(--amber-ink)}.notice-info{background:var(--blue-tint);border-color:var(--blue-ink)}.notice-info .notice-icon{color:var(--blue-ink)}.toasts{z-index:900;pointer-events:none;flex-direction:column;align-items:flex-end;gap:10px;max-width:min(460px,100vw - 36px);display:flex;position:fixed;bottom:18px;right:18px}.toast{pointer-events:auto;background:var(--surface);width:100%;min-width:260px;color:var(--ink);border:var(--frame-w) solid var(--frame);box-shadow:var(--shadow-lg);font-size:var(--fs-base);border-left-width:6px;border-radius:8px;align-items:flex-start;gap:10px;padding:10px 12px;animation:.16s ease-out toast-in;display:flex}.toast-body{white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;flex:1;min-width:0}.toast-title{margin-bottom:1px;font-weight:700}.toast-ok{border-left-color:var(--green)}.toast-error{border-left-color:var(--red)}.toast-info{border-left-color:var(--blue)}.toast-warn{border-left-color:var(--amber)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.dialog-backdrop{z-index:1000;background:var(--scrim);justify-content:center;align-items:center;padding:16px;animation:.12s ease-out fade-in;display:flex;position:fixed;inset:0}.dialog{background:var(--surface);border:var(--frame-w) solid var(--frame);width:min(480px,100%);max-height:calc(100vh - 32px);box-shadow:var(--shadow-lg);border-radius:12px;padding:18px 18px 16px;overflow:auto}.dialog-title{font-size:var(--fs-lg);align-items:center;gap:8px;margin-bottom:8px;font-weight:700;display:flex}.dialog-message{font-size:var(--fs-base);color:var(--ink-2);white-space:pre-wrap;overflow-wrap:anywhere}.dialog-input{width:100%;margin-top:12px}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.dialog-danger .dialog-title:before{content:"!";background:var(--red);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:14px;font-weight:800;display:inline-flex}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.tabs{border:var(--frame-w) solid var(--frame);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;flex-wrap:wrap;align-items:stretch;max-width:100%;display:inline-flex;overflow:hidden}.tab{min-height:32px;font:inherit;color:var(--ink-2);border:none;border-right:var(--frame-w) solid var(--frame);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:6px;padding:0 13px;font-size:13.5px;font-weight:600;display:inline-flex}.tab:last-child{border-right:none}.tab:hover{background:var(--surface-3)}.tab.active{background:var(--fill);color:var(--on-ink)}.tab.active .badge{border-color:var(--on-ink)}.tabs-sm .tab{min-height:27px;font-size:var(--fs-sm);padding:0 10px}.tabs-row{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.chips{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.chip{min-width:40px;min-height:26px;font:inherit;font-size:var(--fs-sm);color:var(--ink-2);background:var(--surface);border:1px solid var(--line-strong);cursor:pointer;white-space:nowrap;border-radius:13px;justify-content:center;align-items:center;gap:4px;padding:0 9px;font-weight:600;display:inline-flex}.chip:hover{border-color:var(--frame)}.chip.on{background:var(--fill);border-color:var(--frame);color:var(--on-ink)}.chip-ghost{color:var(--muted);border-style:dashed}.chip-ok{background:var(--green-tint);color:var(--green-ink);border-color:#a8e5c3}.chip-bad{background:var(--red-tint);border-color:var(--red-ink);color:var(--red-ink)}.chips-label{font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-right:4px;font-weight:700}.empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:6px;padding:36px 16px;display:flex}.empty-title{font-size:var(--fs-md);color:var(--ink-2);font-weight:700}.empty-hint{font-size:var(--fs-sm);max-width:520px}.empty .btn{margin-top:8px}.empty-sm{padding:16px 8px}.loading{color:var(--muted);font-size:var(--fs-base);align-items:center;gap:10px;padding:18px 4px;display:flex}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.is-refreshing{opacity:.55;pointer-events:none;transition:opacity .2s}.search-wrapper{min-width:0;position:relative}.search-wrapper>input{width:100%}.search-dropdown{z-index:1100;background:var(--surface);border:var(--frame-w) solid var(--frame);box-shadow:var(--shadow);border-radius:8px;max-height:280px;position:fixed;overflow-y:auto}.search-item{cursor:pointer;font-size:var(--fs-base);border-bottom:1px solid var(--line);padding:7px 10px}.search-item:last-child{border-bottom:none}.search-item:hover,.search-item.active{background:var(--pink-tint)}.search-hint{color:var(--muted);font-size:var(--fs-sm)}.search-create-new{color:var(--ink);background:var(--surface-2);font-weight:700}.picked{min-height:var(--control-h);flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.picked-name{font-weight:700}.suggest{z-index:60;background:var(--surface);border:var(--frame-w) solid var(--frame);box-shadow:var(--shadow);border-radius:8px;max-height:240px;position:absolute;top:calc(100% + 2px);left:0;right:0;overflow-y:auto}.suggest-item{font-size:var(--fs-base);cursor:pointer;border-bottom:1px solid var(--line);padding:7px 10px}.suggest-item:last-child{border-bottom:none}.suggest-item:hover{background:var(--pink-tint)}.job{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.job-status{font-size:var(--fs-sm);align-items:center;gap:6px;display:inline-flex}.job-status.ok{color:var(--green-ink);font-weight:600}.job-status.error{color:var(--red-ink);font-weight:600}.job-status.running{color:var(--blue-ink);font-weight:600}.job-error{margin-top:6px}.job-row{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 12px;padding:9px 0;display:grid}.job-row:last-child{border-bottom:none}.job-row .job-title{font-weight:600}.job-row .job-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.job-row .sql,.job-row .job-error{grid-column:2}.stats{flex-wrap:wrap;gap:10px;display:flex}.stat{border:1px solid var(--line-strong);background:var(--surface);border-radius:8px;min-width:96px;padding:8px 12px}.stat-label{font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.stat-value{font-variant-numeric:tabular-nums;font-size:20px;font-weight:700;line-height:1.2}.kv{font-size:var(--fs-sm);grid-template-columns:max-content minmax(0,1fr);gap:3px 14px;display:grid}.kv dt{color:var(--muted)}.kv dd{font-weight:600}.pager{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;padding:12px 0 2px;display:flex}.pager-info{font-size:var(--fs-sm);color:var(--muted);padding:0 8px}.selection-bar{z-index:5;background:var(--fill);color:var(--on-ink);box-shadow:var(--shadow);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;padding:8px 12px;display:flex;position:sticky;top:8px}.selection-bar .btn{box-shadow:none}.selection-bar .count{margin-right:6px;font-weight:700}.selection-bar.is-idle{background:var(--surface-3);color:var(--ink);box-shadow:none;position:static}.popover{z-index:800;background:var(--surface);border:var(--frame-w) solid var(--frame);box-shadow:var(--shadow-lg);border-radius:10px;position:absolute}.popover-head{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:10px 12px;display:flex}.popover-title{flex:1;font-weight:700}.bar{background:var(--surface-3);border:1px solid var(--line-strong);border-radius:3px;height:14px;position:relative;overflow:hidden}.bar-fill{background:var(--blue-tint);border-left:2px solid var(--blue-ink);transition:width .25s;position:absolute;top:0;bottom:0;right:0}.bar-fill.win{background:var(--green-tint);border-left-color:var(--green-ink)}.cmd{border:1px solid var(--line-strong);background:var(--surface-2);cursor:copy;text-align:left;width:100%;font:inherit;border-radius:6px;align-items:center;gap:10px;padding:7px 10px;display:flex}.cmd:hover{border-color:var(--frame);background:var(--surface)}.cmd code{font-size:var(--fs-sm);overflow-wrap:anywhere;background:0 0;flex:1;min-width:0;padding:0}.rt-race{margin-bottom:10px}.rt-race.rt-look{border-left:5px solid var(--pink)}.rt-date{z-index:2;background:var(--canvas);margin:14px 0 4px;padding:8px 0 6px;position:sticky;top:0}.rt-tbl td,.rt-tbl th{font-variant-numeric:tabular-nums}.bb-date{z-index:2;background:var(--canvas);margin:14px 0 4px;padding:8px 0 6px;position:sticky;top:0}.bb-day{margin-bottom:10px}.bb-day.bb-unpublished{border-left:5px solid var(--amber)}.bb-day.bb-unpublished>.card-head{background:var(--amber-tint);border-top-left-radius:5px;border-top-right-radius:8.5px}.bb-total{font-size:var(--fs-sm);color:var(--muted);white-space:nowrap}.bb-total b{font-size:var(--fs-lg);color:var(--ink);font-variant-numeric:tabular-nums}.bb-note{grid-template-columns:max-content minmax(0,1fr);align-items:baseline;gap:2px 12px;display:grid}.bb-note .pre-wrap{overflow-wrap:anywhere}.bb-note .bb-reason{margin-right:8px}.bb-note .bb-after{white-space:nowrap;margin-left:8px}.lf-starter{margin-bottom:10px}.lf-body{padding:10px 12px}.app{min-height:100vh}.layout{align-items:stretch;min-height:100vh;display:flex}.sidebar{width:var(--sidebar-w);background:var(--surface);border-right:var(--frame-w) solid var(--frame);z-index:40;flex-shrink:0;align-self:stretch}.sidebar-inner{flex-direction:column;height:100vh;display:flex;position:sticky;top:0}.sidebar-brand{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:14px 14px 12px;display:flex}.brand{color:var(--ink);align-items:center;gap:8px;text-decoration:none;display:inline-flex}.brand-mark{background:var(--fill);width:32px;height:32px;color:var(--on-ink);letter-spacing:.02em;box-shadow:2px 2px 0 0 var(--pink);border-radius:7px;justify-content:center;align-items:center;font-size:14px;font-weight:800;display:inline-flex}.brand-name{font-weight:700;font-size:var(--fs-md);line-height:1.1}.brand-name small{font-size:var(--fs-xs);color:var(--muted);font-weight:500;display:block}.sidebar-brand .ml-auto{margin-left:auto}.nav{flex:1;padding:4px 10px 14px;overflow-y:auto}.nav-group-label{font-size:var(--fs-2xs);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;padding:14px 10px 6px;font-weight:700}.nav-item{border:var(--frame-w) solid transparent;width:100%;min-height:34px;font-size:var(--fs-base);color:var(--ink-2);cursor:pointer;text-align:left;background:0 0;border-radius:7px;align-items:center;gap:8px;margin:1px 0;padding:6px 10px;font-weight:500;text-decoration:none;display:flex}.nav-item:hover{background:var(--surface-3);color:var(--ink)}.nav-item.active{background:var(--pink-tint);color:var(--ink);border-color:var(--frame);box-shadow:2px 2px 0 0 var(--frame);font-weight:700}.nav-item .nav-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.nav-item .badge-count{height:19px;font-size:var(--fs-2xs)}.nav-item:focus-visible{box-shadow:var(--focus)}.sidebar-foot{border-top:1px solid var(--line);font-size:var(--fs-sm);flex-direction:column;gap:6px;padding:10px 14px 12px;display:flex}.sidebar-foot .user{align-items:center;gap:6px;min-width:0;display:flex}.sidebar-foot .user-email{text-overflow:ellipsis;white-space:nowrap;color:var(--ink-2);overflow:hidden}.sidebar-foot .env{flex-wrap:wrap;gap:10px;display:flex}.sidebar-foot .foot-actions{flex-wrap:wrap;gap:8px;display:flex}.content{flex:1;min-width:0;max-width:1520px;padding:22px 28px 48px}.content-wide{max-width:none}.topbar,.sidebar-scrim{display:none}@media (width<=1180px){:root{--sidebar-w:212px}.content{padding:18px 18px 40px}}@media (width<=1100px){.topbar{z-index:45;background:var(--surface);border-bottom:var(--frame-w) solid var(--frame);align-items:center;gap:10px;height:52px;padding:0 12px;display:flex;position:sticky;top:0}.topbar .spacer{flex:1}.layout{display:block}.sidebar{z-index:960;width:min(290px,86vw);height:auto;transition:transform .18s ease-out;position:fixed;top:0;bottom:0;left:0;transform:translate(-105%)}.sidebar-inner{height:100%;position:static}.sidebar.open{box-shadow:4px 0 0 0 var(--frame);transform:none}.sidebar-scrim.open{background:var(--scrim);z-index:950;display:block;position:fixed;inset:0}.content{padding:16px 16px 36px}}@media (width<=640px){.content{padding:14px 12px 36px}.page-title{font-size:19px}}body.bb-winpresent .topbar{display:none!important}.auth-screen{background:var(--canvas);justify-content:center;align-items:center;min-height:100vh;padding:24px 16px;display:flex}.auth-card{background:var(--surface);border:var(--frame-w) solid var(--frame);width:min(400px,100%);box-shadow:var(--shadow-lg);border-radius:14px;padding:28px 26px 22px}.auth-brand{justify-content:center;align-items:center;gap:10px;margin-bottom:22px;display:flex}.auth-brand .brand-mark{width:38px;height:38px;font-size:16px}.auth-brand .brand-name{font-size:18px}.auth-step-title{font-size:var(--fs-md);text-align:center;margin-bottom:6px;font-weight:700}.auth-lead{font-size:var(--fs-sm);color:var(--muted);text-align:center;margin-bottom:16px;line-height:1.5}.auth-card .field{margin-bottom:14px}.auth-card input{width:100%;min-height:38px;font-size:15px}.auth-card .btn{width:100%;min-height:40px;font-size:var(--fs-md)}.auth-card .btn+.btn{margin-top:8px}.auth-code{font-family:var(--font-mono);text-align:center;letter-spacing:8px;min-height:50px!important;font-size:24px!important}.auth-qr{justify-content:center;margin-bottom:16px;display:flex}.auth-qr>div{border:var(--frame-w) solid var(--frame);background:#fff;border-radius:10px;padding:12px}.auth-qr img{width:200px;height:200px;image-rendering:pixelated;display:block}.auth-secret{font-family:var(--font-mono);font-size:var(--fs-sm);word-break:break-all;-webkit-user-select:all;user-select:all;background:var(--surface-2);border:1px solid var(--line-strong);border-radius:6px;margin-top:4px;padding:8px 10px;display:block}.auth-foot{text-align:center;font-size:var(--fs-xs);color:var(--dim);margin-top:22px}.auth-status{font-size:var(--fs-base);color:var(--muted);align-items:center;gap:10px;display:flex}.auth-status.error{color:var(--red-ink);font-weight:600}.bs-wrap{border:var(--frame-w) solid var(--frame);border-radius:var(--radius);box-shadow:var(--shadow);overflow:clip}.bs-wrap :where(input,select,textarea,button){min-height:0;box-shadow:none}.bs-wrap :where(input,select,textarea){font-family:var(--font-sans)}.bs-wrap :where(select){appearance:auto;background-image:none}.bs-wrap :where(input,select,textarea):focus{box-shadow:none;outline:1px solid #5ee27a}body.bb-winpresent .bs-wrap{box-shadow:none;border:none;border-radius:0}
