:root{--bg:#05080d;--paper:#0f151e;--ink:#e6edf7;--muted:#8f9db2;--line:#253245;--brand:#22b8cf;--brand-soft:#11343b;--warn:#ff6b6b;--ok:#4ad58f;color:var(--ink);background:var(--bg);font-family:Segoe UI,Trebuchet MS,sans-serif}.corpus-page{flex-direction:column;gap:14px;min-height:calc(100vh - 48px);display:flex}.corpus-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.corpus-header h2,.corpus-sample-heading h3{margin:0 0 5px}.corpus-header p{max-width:780px;margin:0}.corpus-header-actions,.corpus-action-row,.corpus-nav-buttons,.corpus-zoom-bar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.button-like{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:8px 12px;display:inline-flex}.corpus-backend{white-space:nowrap;border:1px solid #315177;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}.corpus-backend.local{color:#55d6be}.corpus-backend.cloud{color:#93c5fd}.corpus-detector-version{color:#cbd5e1;white-space:nowrap;border:1px solid #315177;border-radius:999px;padding:6px 10px;font:11px ui-monospace,SFMono-Regular,Menlo,monospace}.corpus-stats{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.corpus-stats>span{background:#0b1727;border:1px solid #203651;border-radius:999px;padding:5px 9px;font-size:12px}.corpus-stats .corpus-status{color:#9fb0c6;background:0 0;border-color:#0000;margin-left:auto}.corpus-layout{grid-template-columns:minmax(245px,310px) minmax(0,1fr);gap:14px;min-height:760px;display:grid}.corpus-browser{background:#091321;border:1px solid #203651;border-radius:12px;flex-direction:column;max-height:calc(100vh - 185px);display:flex;position:sticky;top:16px;overflow:hidden}.corpus-filters{border-bottom:1px solid #203651;grid-template-columns:1fr 1fr;gap:7px;padding:10px;display:grid}.corpus-filters input{grid-column:1/-1}.corpus-filters input,.corpus-filters select{width:100%;min-width:0;font-size:12px}.corpus-result-count{color:#9fb0c6;border-bottom:1px solid #203651;padding:7px 11px;font-size:12px}.corpus-sample-list{overscroll-behavior:contain;overflow:auto}.corpus-sample-row{text-align:left;background:0 0;border:0;border-bottom:1px solid #203651a6;border-radius:0;flex-direction:column;gap:4px;width:100%;padding:9px 11px;display:flex}.corpus-sample-row:hover{background:#102036}.corpus-sample-row.selected{background:#15314b;box-shadow:inset 3px 0 #55d6be}.corpus-sample-title{color:#e5edf7;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.corpus-sample-meta{color:#8fa1b8;align-items:center;gap:5px;font-size:11px;display:flex}.review-dot{background:#64748b;border-radius:50%;width:7px;height:7px}.review-dot.done{background:#22c55e}.corpus-review{flex-direction:column;gap:12px;min-width:0;display:flex}.corpus-sample-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.corpus-nav-buttons span{color:#9fb0c6;text-align:center;min-width:55px;font-size:12px}.corpus-zoom-bar{background:#0b1727;border:1px solid #203651;border-radius:10px;padding:8px 10px}.corpus-zoom-bar>span{color:#cbd5e1;margin-right:auto;font:12px ui-monospace,SFMono-Regular,Menlo,monospace}.corpus-zoom-bar button{padding:5px 9px;font-size:12px}.corpus-waveform-pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;display:grid}.corpus-waveform-panel{background:#07111f;border:1px solid #203651;border-radius:10px;min-width:0;position:relative;overflow:hidden}.corpus-waveform-label{color:#9fb0c6;background:#0e1b2d;border-bottom:1px solid #203651;padding:6px 9px;font-size:11px}.corpus-waveform-label-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.corpus-waveform-controls{color:#cbd5e1;align-items:center;gap:9px;display:flex}.corpus-waveform-controls label{white-space:nowrap;cursor:pointer;align-items:center;gap:4px;display:inline-flex}.corpus-waveform-controls input[type=checkbox]{margin:0}.corpus-waveform-controls input[type=number]{width:54px;min-height:24px;padding:2px 4px;font-size:11px}.corpus-waveform-swatch{border-radius:2px;width:11px;height:2px;display:inline-block}.corpus-waveform-swatch.raw{background:#55d6be}.corpus-waveform-swatch.average{background:#f59e0b}.corpus-waveform{touch-action:none;cursor:crosshair;width:100%;height:310px;display:block}.corpus-waveform.overview{cursor:grab}.corpus-waveform.overview:active{cursor:grabbing}.corpus-waveform.detail{cursor:ew-resize}.corpus-overview-window{pointer-events:none;background:#38bdf8;min-width:2px;height:5px;position:absolute;bottom:0;box-shadow:0 0 8px #38bdf8b3}.corpus-waveform-layer-bar{background:#0b1727;border:1px solid #203651;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;display:flex}.corpus-waveform-layer-list{flex-flow:wrap;flex:640px;gap:6px 12px}.corpus-waveform-layer-list label{border:1px solid #0000;border-radius:7px;grid-template-columns:auto 8px auto auto;padding:4px 6px}.corpus-waveform-layer-list label.latest-detector-layer{color:#e5edf7;background:#102036;border-color:#315177}.corpus-waveform-layer-list label.muted{color:#71829a}.corpus-candidate-controls{flex-direction:column;align-items:flex-end;gap:7px;margin-left:auto;display:flex}.corpus-detector-error{color:#fecaca;text-align:right;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;max-width:560px;font-size:11px;display:flex}.corpus-detector-error button{white-space:nowrap;padding:4px 8px;font-size:11px}.corpus-candidate-nav{justify-content:flex-end;align-items:center;gap:7px;margin-left:auto;display:flex}.corpus-candidate-nav button{white-space:nowrap;padding:5px 9px;font-size:12px}.corpus-candidate-nav span{color:#cbd5e1;text-align:center;min-width:155px;font:11px ui-monospace,SFMono-Regular,Menlo,monospace}.corpus-candidate-playback{justify-content:flex-end;align-items:center;gap:7px;display:flex}.corpus-candidate-playback button{white-space:nowrap;padding:5px 9px;font-size:12px}.corpus-candidate-playback label{color:#9fb0c6;white-space:nowrap;align-items:center;gap:6px;font-size:11px;display:flex}.corpus-candidate-playback input[type=range]{accent-color:#55d6be;width:115px}.corpus-candidate-playback output{color:#cbd5e1;text-align:right;min-width:42px;font:11px ui-monospace,SFMono-Regular,Menlo,monospace}.corpus-legends{flex-wrap:wrap;gap:6px;min-height:28px;display:flex}.marker-chip,.detector-chip{color:#dce7f5;background:#0d1b2c;border:1px solid #3b506c;border-radius:999px;padding:4px 8px;font-size:11px}.marker-chip.caught_valid{border-color:#22c55e}.marker-chip.missed_valid{border-color:#38bdf8}.marker-chip.false_trigger{border-color:#ef4444}.marker-chip.recorded_trigger{border-color:#facc15}.marker-chip.candidate{border-color:#f97316}.corpus-tools-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.corpus-review-card{flex-direction:column;gap:9px;min-width:0;padding:13px;display:flex}.corpus-review-card h4{margin:0}.corpus-review-card>label{color:#b8c6d9;flex-direction:column;gap:4px;font-size:12px;display:flex}.corpus-review-card select,.corpus-review-card textarea,.corpus-review-card input[type=number]{width:100%}.corpus-check-row{flex-wrap:wrap;gap:12px;display:flex}.corpus-check-row label{align-items:center;gap:6px;font-size:12px;display:flex}.corpus-mark-list{flex-direction:column;max-height:150px;display:flex;overflow:auto}.corpus-mark-list>div{border-top:1px solid #203651;justify-content:space-between;gap:8px;padding:5px 0;display:flex}.link-button,.danger-text{color:#7dd3fc;text-align:left;background:0 0;border:0;padding:0;font-size:12px}.danger-text{color:#fda4af}.detector-run-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.detector-run-list{flex-direction:column;gap:5px;display:flex}.detector-run-list label{color:#c7d4e5;grid-template-columns:auto 8px minmax(0,1fr) auto;align-items:center;gap:7px;font-size:12px;display:grid}.detector-run-list i{border-radius:50%;width:8px;height:8px}.detector-run-list span{color:#8fa1b8}.corpus-provenance{flex-direction:column;gap:8px;min-width:0;display:flex}.corpus-provenance code{text-overflow:ellipsis;color:#8cc8ff;overflow:hidden}.corpus-provenance>div{border-top:1px solid #203651;flex-direction:column;min-width:0;padding-top:7px;display:flex}.corpus-provenance span,.corpus-provenance small{color:#8fa1b8;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.assisted-review-section{border-top:1px solid #315177;flex-direction:column;gap:14px;margin-top:26px;padding-top:24px;display:flex}.assisted-review-loading,.assisted-review-overview,.assisted-review-queue{padding:16px}.assisted-review-overview{background:linear-gradient(135deg,#0e1f32fa,#081321fa);border-color:#315177;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:16px 24px;display:grid}.assisted-review-overview h2,.assisted-review-queue h3{margin:0 0 6px}.assisted-review-overview p{max-width:900px;margin:0}.assisted-review-overview .eyebrow{color:#55d6be;letter-spacing:.11em;text-transform:uppercase;margin-bottom:5px;font-size:11px;font-weight:800}.assisted-review-coverage{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.assisted-review-coverage span{color:#9fb0c6;background:#07111fb8;border:1px solid #294562;border-radius:9px;flex-direction:column;gap:2px;padding:9px 10px;font-size:11px;display:flex}.assisted-review-coverage strong{color:#e5edf7;font:700 18px ui-monospace,SFMono-Regular,Menlo,monospace}.assisted-pending-bar{border-top:1px solid #294562;grid-column:1/-1;grid-template-columns:minmax(220px,1fr) auto minmax(240px,1fr);align-items:center;gap:12px;padding-top:14px;display:grid}.assisted-pending-bar>div{flex-direction:column;gap:2px;display:flex}.assisted-pending-bar>div span{color:#9fb0c6;font-size:11px}.assisted-pending-bar>.assisted-pending-actions{flex-flow:wrap;gap:8px}.assisted-pending-list{border-top:1px solid #294562;grid-column:1/-1;padding-top:10px}.assisted-pending-list summary{cursor:pointer;color:#8fc5ff;font-size:12px;font-weight:700}.assisted-pending-list>div{gap:6px;max-height:220px;margin-top:8px;display:grid;overflow-y:auto}.assisted-pending-list>div>span{background:#07111fb8;border:1px solid #294562;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:7px 9px;display:flex}.assisted-pending-list>div>span>span{flex-direction:column;gap:2px;min-width:0;display:flex}.assisted-pending-list strong{color:#dce7f5;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.assisted-pending-list small{color:#8fa1b8;font-size:10px}.assisted-pending-list button{flex:none;padding:4px 8px}.assisted-pending-list>div>span>.assisted-pending-file-actions{flex-direction:row;flex:none;align-items:center;gap:6px;min-width:auto}.assisted-review-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.assisted-review-heading p{max-width:900px;margin:0}.assisted-review-counts{background:#091321;border:1px solid #294562;border-radius:9px;flex:none;grid-template-columns:auto auto;align-items:baseline;gap:1px 7px;padding:8px 10px;display:grid}.assisted-review-counts strong{color:#e5edf7;text-align:right;font:700 14px ui-monospace,SFMono-Regular,Menlo,monospace}.assisted-review-counts span{color:#8fa1b8;font-size:10px}.assisted-review-toolbar{background:#0b1727;border:1px solid #203651;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0 12px;padding:9px;display:flex}.assisted-review-toolbar select{min-width:190px}.assisted-review-toolbar button{padding:6px 10px}.assisted-review-position{color:#cbd5e1;text-align:center;min-width:90px;font:11px ui-monospace,SFMono-Regular,Menlo,monospace}.assisted-review-speed{color:#9fb0c6;align-items:center;gap:6px;font-size:11px;display:flex}.assisted-review-speed input{accent-color:#55d6be;width:90px}.assisted-review-speed output{color:#dce7f5;min-width:38px}.assisted-review-item-summary{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.assisted-review-item-summary>div:first-child{flex-direction:column;gap:3px;min-width:0;display:flex}.assisted-review-item-summary strong,.assisted-review-item-summary span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.assisted-review-item-summary span{color:#8fa1b8;font-size:11px}.assisted-priority{color:#cbd5e1;border:1px solid #3b506c;border-radius:999px;flex:none;padding:5px 9px;font-size:11px}.assisted-priority.urgent{color:#fecaca;background:#7f1d1d47;border-color:#ef4444}.assisted-review-rationale{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.assisted-review-rationale>span{color:#aebdd0;border:1px solid #334a66;border-radius:999px;padding:4px 8px;font-size:11px}.assisted-event-review-status.reviewed{color:#bbf7d0;background:#14532d47;border-color:#22c55e}.assisted-event-review-status.unreviewed{color:#cbd5e1;background:#3341554d;border-color:#64748b}.assisted-event-review-status.ambiguous{color:#fde68a;background:#78350f3d;border-color:#f59e0b}.assisted-classification.suspected_real{color:#bbf7d0;background:#14532d47;border-color:#22c55e}.assisted-classification.suspected_artificial_optical{color:#bae6fd;background:#0759854d;border-color:#38bdf8}.assisted-classification.suspected_false{color:#fecaca;background:#7f1d1d47;border-color:#ef4444}.assisted-classification.ambiguous{color:#fde68a;background:#78350f3d;border-color:#f59e0b}.assisted-waveform-status{place-items:center;min-height:80px;display:grid}.assisted-analyst-note{background:#082f493d;border:1px solid #31506d;border-left:3px solid #38bdf8;border-radius:9px;margin-top:10px;padding:11px 13px}.assisted-analyst-note strong{color:#bae6fd;letter-spacing:.04em;text-transform:uppercase;margin-bottom:5px;font-size:11px;display:block}.assisted-analyst-note p{color:#c7d6e7;margin:0;font-size:12px;line-height:1.55}.assisted-review-decision-row{border-top:1px solid #203651;grid-template-columns:auto minmax(220px,1fr) auto;align-items:end;gap:12px;margin-top:10px;padding-top:10px;display:grid}.assisted-review-choice{flex-wrap:wrap;gap:7px;display:flex}.assisted-review-choice button.selected.false{background:#7f1d1d;border-color:#ef4444}.assisted-review-choice button.selected.real{background:#14532d;border-color:#22c55e}.assisted-review-choice button.selected.artificial{background:#075985;border-color:#38bdf8}.assisted-review-choice button.selected.ambiguous{background:#78350f;border-color:#f59e0b}.assisted-review-decision-row>label{color:#9fb0c6;flex-direction:column;gap:4px;font-size:11px;display:flex}.assisted-review-decision-row input{width:100%}.assisted-file-progress{color:#cbd5e1;white-space:nowrap;font:11px ui-monospace,SFMono-Regular,Menlo,monospace}.corpus-event-review-summary{background:#082f4933;border:1px solid #31506d;border-radius:8px;flex-direction:column;gap:3px;padding:9px 10px;display:flex}.corpus-event-review-summary.partial{background:#78350f2e;border-color:#b45309}.corpus-event-review-summary strong{color:#dce7f5;font-size:12px}.corpus-event-review-summary span{color:#9fb0c6;font-size:11px;line-height:1.45}@media (width<=1150px){.corpus-waveform-pair,.corpus-tools-grid{grid-template-columns:1fr}.corpus-waveform{height:250px}.assisted-review-overview{grid-template-columns:1fr}.assisted-pending-bar{grid-column:1;grid-template-columns:1fr}.assisted-review-decision-row{grid-template-columns:1fr;align-items:stretch}}@media (width<=850px){.corpus-layout{grid-template-columns:1fr}.corpus-browser{max-height:380px;position:static}.corpus-header,.corpus-sample-heading{flex-direction:column}.corpus-stats .corpus-status{margin-left:0}.corpus-candidate-controls{align-items:stretch;width:100%}.corpus-candidate-nav,.corpus-candidate-playback{flex-wrap:wrap;justify-content:center;margin-left:0}.assisted-review-heading,.assisted-review-item-summary{flex-direction:column}.assisted-review-toolbar select{width:100%}.assisted-review-coverage{grid-template-columns:1fr}}*{box-sizing:border-box}body{background:radial-gradient(circle at top right, #123141, transparent 42%), radial-gradient(circle at bottom left, #231629, transparent 48%), var(--bg);margin:0}#root{min-height:100vh}.app-shell{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.side-nav{border-right:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#080d14e0;padding:20px}.brand{margin:0 0 18px;font-size:20px}.menu{gap:8px;display:grid}.menu a{color:var(--ink);border-radius:10px;padding:10px 12px;text-decoration:none}.menu a.active{background:var(--brand-soft);color:var(--brand);font-weight:600}.content{gap:16px;min-width:0;padding:24px;display:grid}.panel{background:var(--paper);border:1px solid var(--line);border-radius:14px;min-width:0;padding:16px}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.activation-left-column{align-content:start;gap:16px;min-width:0;display:grid}input,select,button,textarea{border:1px solid var(--line);font:inherit;border-radius:8px;padding:8px 10px}button{background:var(--brand);border-color:var(--brand);color:#fff;cursor:pointer}button.secondary{color:var(--ink);background:#131a25}button:disabled{opacity:.6;cursor:not-allowed}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px}.muted{color:var(--muted)}.telemetry-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:14px;display:grid}.telemetry-summary-item{border:1px solid var(--line);min-height:72px;color:var(--ink);text-align:left;background:#0a111a;border-radius:8px;gap:3px;padding:12px;display:grid}button.telemetry-summary-item{border-color:#286271}.telemetry-summary-item strong{font-size:24px}.telemetry-summary-item span{color:var(--muted)}.telemetry-summary-alert strong,.telemetry-value-alert{color:var(--warn)}.telemetry-upload-health{border:1px solid var(--line);background:#0a111ab8;border-radius:10px;margin:20px 0;padding:16px}.telemetry-upload-health-table-wrap{max-height:380px}.telemetry-upload-health-table{min-width:1120px}.telemetry-upload-health-attention{background:#ff6b6b14}.telemetry-upload-health-stale{background:#ffb74d12}.telemetry-upload-health-pending{background:#22b8cf0d}.telemetry-upload-status{letter-spacing:.04em;text-transform:uppercase;border:1px solid;border-radius:999px;padding:3px 7px;font-size:11px;font-weight:700;display:inline-block}.telemetry-upload-status-attention{color:var(--warn);background:#ff6b6b1a}.telemetry-upload-status-stale,.telemetry-upload-status-pending{color:#ffb74d;background:#ffb74d1a}.telemetry-upload-status-healthy{color:var(--ok);background:#4ad58f1a}.telemetry-upload-health-error{border:1px solid var(--warn);color:#ffb0b0;background:#ff6b6b14;border-radius:8px;padding:12px}.telemetry-table-wrap{border:1px solid var(--line);border-radius:10px;max-height:min(50vh,560px);overflow:auto}.telemetry-pagination{justify-content:flex-end;align-items:center;gap:10px;margin-top:10px;display:flex}.telemetry-pagination button:disabled{cursor:not-allowed;opacity:.45}.telemetry-crash-monitoring{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.telemetry-section-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.telemetry-section-heading h3,.telemetry-section-heading p,.telemetry-crash-lists h4{margin-top:0}.telemetry-crash-lists{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.telemetry-crash-list-wrap{max-height:320px}.telemetry-table{min-width:860px}.telemetry-table thead th{z-index:1;background:#0f151e;position:sticky;top:0}.telemetry-crash-row{cursor:pointer;background:#ff6b6b0b}.telemetry-crash-row:hover,.telemetry-selected-row{background:#ff6b6b1f}.telemetry-crash-reason{color:#ff9d9d;margin-top:3px;font-weight:600}.telemetry-crash-facts{flex-wrap:wrap;gap:4px 12px;display:flex}.telemetry-crash-report{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.telemetry-crash-report-heading{justify-content:space-between;margin-bottom:14px}.telemetry-crash-report-heading h3,.telemetry-diagnostic-group h4,.telemetry-raw-report h4{margin:0}.telemetry-crash-grid{grid-template-columns:repeat(2,minmax(260px,1fr));gap:12px;display:grid}.telemetry-diagnostic-group{border:1px solid var(--line);background:#0a111a;border-radius:8px;padding:12px}.telemetry-core-dump-group{grid-column:1/-1}.telemetry-diagnostic-group dl{grid-template-columns:minmax(140px,.7fr) minmax(0,1.3fr);gap:7px 14px;margin:12px 0 0;display:grid}.telemetry-diagnostic-group dt{color:var(--muted)}.telemetry-diagnostic-group dd{overflow-wrap:anywhere;margin:0}.telemetry-code-value,.telemetry-raw-report code{font-family:Cascadia Mono,Consolas,monospace}.telemetry-raw-report{border:1px solid var(--line);overflow-wrap:anywhere;background:#090c12;border-radius:8px;gap:8px;margin-top:12px;padding:12px;display:grid}.telemetry-symbolication{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:12px;padding:14px 0}.telemetry-symbolication-heading{justify-content:space-between;align-items:flex-start;gap:12px}.telemetry-symbolication-heading h4{margin:0 0 7px}.telemetry-status{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:700;display:inline-block}.telemetry-status-complete{color:#64d7a0}.telemetry-status-processing,.telemetry-status-pending{color:#78d8ea}.telemetry-status-processing_failed,.telemetry-status-symbolication_failed,.telemetry-status-dump_hash_mismatch,.telemetry-status-elf_hash_mismatch,.telemetry-status-missing_symbols{color:var(--warn)}.telemetry-action-status{color:#78d8ea;margin-top:10px}.telemetry-symbolication-meta{grid-template-columns:110px minmax(0,1fr);gap:6px 12px;margin:14px 0;display:grid}.telemetry-symbolication-meta dt{color:var(--muted)}.telemetry-symbolication-meta dd{overflow-wrap:anywhere;margin:0}.telemetry-symbolication-grid{grid-template-columns:minmax(260px,.75fr) minmax(360px,1.25fr);gap:12px;display:grid}.telemetry-register-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 12px;margin-top:12px;display:grid}.telemetry-register-grid>div{justify-content:space-between;gap:10px;min-width:0;display:flex}.telemetry-register-grid span{color:var(--muted)}.telemetry-register-grid code,.telemetry-frame-list code{font-family:Cascadia Mono,Consolas,monospace}.telemetry-frame-list{max-height:420px;margin:12px 0 0;padding-left:30px;overflow:auto}.telemetry-frame-list li{overflow-wrap:anywhere;padding:4px 0}.telemetry-frame-list li>div{color:var(--muted);font-family:Cascadia Mono,Consolas,monospace;font-size:12px}.telemetry-task-list{gap:6px;margin-top:12px;display:grid}.telemetry-task-list details{border-top:1px solid var(--line);padding:8px 0 2px}.telemetry-task-list summary{cursor:pointer;font-weight:700}.telemetry-breadcrumbs{margin-top:16px}.telemetry-breadcrumbs h4{margin:0 0 8px}.telemetry-breadcrumbs table{min-width:860px;font-size:12px}.telemetry-breadcrumbs th,.telemetry-breadcrumbs td{white-space:nowrap;padding:6px 8px}.telemetry-processing-error,.telemetry-warning-list{border-left:3px solid var(--warn);color:#ffb1b1;white-space:pre-wrap;background:#ff6b6b14;margin:12px 0;padding:10px;overflow:auto}@media (width<=820px){.telemetry-summary,.telemetry-crash-grid,.telemetry-crash-lists{grid-template-columns:1fr}.telemetry-section-heading{flex-direction:column}.telemetry-core-dump-group{grid-column:auto}.telemetry-diagnostic-group dl{grid-template-columns:1fr;gap:2px}.telemetry-diagnostic-group dd+dt{margin-top:7px}.telemetry-symbolication-grid,.telemetry-symbolication-meta{grid-template-columns:1fr}.telemetry-symbolication-heading,.telemetry-symbolication-heading>.row{flex-direction:column;align-items:stretch}.telemetry-register-grid{grid-template-columns:1fr}}.shipping-pay-link:link,.shipping-pay-link:visited{color:#4d71c4}.shipping-pay-link:active{color:#fff}.pill{border:1px solid var(--line);border-radius:999px;padding:2px 8px;font-size:12px;display:inline-block}.pill.ok{color:var(--ok);background:#123523}.pill.warn{color:var(--warn);background:#3b1a1f}.easyship-labels-table tbody tr.easyship-order-main-row>td{background:#0f151ef5;border-top:2px solid #425977;border-bottom:0}.easyship-labels-table tbody tr.easyship-order-main-row>td:first-child{border-left:1px solid #425977}.easyship-labels-table tbody tr.easyship-order-main-row>td:last-child{border-right:1px solid #425977}.easyship-detail-cell{background:#05080dad;border-bottom:0;padding:0 0 24px}.easyship-detail-panel{box-shadow:none;background:#0d1420;border:1px solid #425977;border-top:0;border-radius:0 0 8px 8px;padding:12px}.easyship-detail-header{border-bottom:1px solid #2f4057;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding-bottom:10px;display:flex}.easyship-detail-eyebrow,.easyship-cost-label{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:700}.easyship-detail-title{color:var(--ink);font-size:18px;font-weight:800}.easyship-cost-grid{grid-template-columns:repeat(2,minmax(180px,1fr));gap:10px;margin-bottom:12px;display:grid}.easyship-cost-card,.easyship-selection-card{background:#111a28;border:1px solid #30435d;border-radius:8px;padding:10px}.easyship-cost-value{margin:2px 0;font-size:20px;font-weight:800}.easyship-detail-grid{grid-template-columns:minmax(190px,.8fr) repeat(2,minmax(220px,1fr));align-items:stretch;gap:10px;display:grid}.easyship-order-string-card{border-color:#3f5d7d}.easyship-order-string{color:#f4f8ff;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:15px;font-weight:800}.easyship-order-divider{border-top:1px dashed #52647d;height:0;margin:18px 0 0}@media (width<=980px){.easyship-cost-grid,.easyship-detail-grid{grid-template-columns:1fr}}.login-wrap{place-items:center;min-height:100vh;padding:20px;display:grid}.login-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;gap:12px;width:100%;max-width:460px;padding:20px;display:grid}.overlay-legend{gap:8px}.overlay-chip{border:1px solid #0000;border-radius:999px;padding:3px 8px;font-size:12px;display:inline-block}.overlay-chip-trigger{color:#ffd2d2;background:#ff000029;border-color:#ff000040}.overlay-chip-lag{color:#d3f6ff;background:#45caff52;border-color:#45caff73}.overlay-chip-exposure{color:#e0ffd7;background:#67ff4547;border-color:#67ff457a}.date-group{border:1px solid var(--line);border-radius:10px;margin-bottom:10px;overflow:hidden}.date-group-header{letter-spacing:.03em;color:var(--muted);border-bottom:1px solid var(--line);background:#11343b59;padding:8px 10px;font-size:12px;font-weight:700}.date-group-list{display:grid}.activation-row{text-align:left;border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);background:0 0;border-radius:0;gap:2px;padding:9px 10px;display:grid}.activation-row:last-child{border-bottom:0}.activation-row:hover{background:#22b8cf1f}.activation-row.selected{background:#22b8cf33}.activation-row-with-action{border-bottom:1px solid var(--line);background:0 0;grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.activation-row-with-action:last-child{border-bottom:0}.activation-row-with-action:hover,.activation-row-with-action.selected{background:#22b8cf1f}.activation-row-with-action.selected{background:#22b8cf33}.activation-row-with-action .activation-row{border-bottom:0}.activation-row-select:hover{background:0 0}.activation-row-action-button{white-space:nowrap;margin:8px}.activation-main{font-weight:600}.activation-sub{color:var(--muted);font-size:12px}.activation-loading-inline{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:inline-flex}.activation-spinner{border:2px solid #8f9db259;border-top-color:#6ee7ff;border-radius:50%;width:14px;height:14px;animation:.75s linear infinite activation-spin}.activation-chart-shell{position:relative}.activation-chart-overlay,.activation-chart-loading{color:#d8e4f2;justify-content:center;align-items:center;gap:10px;font-size:13px;display:flex}.activation-chart-overlay{pointer-events:none;background:#0b121ca8;border:1px dashed #6ee7ff47;border-radius:10px;position:absolute;inset:0}.activation-chart-loading{background:#0e152273;border:1px dashed #6ee7ff38;border-radius:10px;min-height:180px}.phone-visualization-panel{gap:10px;display:grid}.phone-visualization-panel h3,.phone-visualization-description,.phone-visualization-empty{margin:0}.phone-visualization-shell{min-width:0;position:relative}.phone-visualization-loading{border-radius:14px}.phone-preview-stage{background:#070a0e;border:1px solid #202b3a;border-radius:14px;place-items:start center;min-width:0;padding:12px;display:grid}.phone-app-dialog{color:#fff;background:#000;border-radius:12px;width:min(100%,420px);padding:16px;font-family:Arial,Helvetica,sans-serif}.phone-app-title{color:#fff;text-align:center;margin-bottom:10px;font-size:18px;font-weight:700}.phone-app-meta{color:#9a9a9a;text-align:center;margin-top:4px;font-size:12px;line-height:1.35}.phone-control-panel{background:#101318;border:1px solid #292e36;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:5px;padding:7px;display:grid}.phone-control-tile{background:#171b20;border-radius:9px;min-width:0;min-height:62px;padding:8px 9px 6px}.phone-control-label{color:#8f98a4;letter-spacing:.7px;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:600;display:block;overflow:hidden}.phone-stepper{grid-template-columns:30px minmax(0,1fr) 30px;align-items:center;gap:5px;height:34px;margin-top:2px;display:grid}.phone-stepper button{color:#93caf6;background:#222832;border:0;border-radius:7px;place-items:center;width:30px;height:30px;padding:0;font-size:25px;line-height:1;display:grid}.phone-stepper button:disabled{color:#515a66;cursor:default;background:#222832}.phone-stepper strong{color:#fff;text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.phone-lag-control{color:#fff;justify-content:center;align-items:center;gap:4px;height:34px;margin-top:2px;font-size:14px;font-weight:600;display:flex}.phone-lag-control input{outline-offset:2px;color:#fff;text-align:center;background:0 0;border:0;border-bottom:1px solid #3585cc;border-radius:0;width:66px;padding:4px 2px;font-size:14px;font-weight:600}.phone-edit-glyph{color:#93caf6;font-size:14px}.phone-story-frame{background:#101010;border-radius:8px;min-width:0;margin-top:2px;padding:8px}.phone-story-frame.is-night-summary{background:#101214;height:310px;margin-top:8px;padding:8px 4px 8px 10px}.phone-night-total-exposure{color:#dceeff;text-align:center;margin-top:6px;font-size:15px;font-weight:700}.phone-night-total-exposure span{color:#7d8791;letter-spacing:.7px;margin-right:6px;font-size:10px}.phone-night-return-strokes{scrollbar-color:#3585cc transparent;scrollbar-width:thin;height:100%;padding-right:7px;overflow-y:auto}.phone-night-event-row{align-items:center;height:30px;display:flex}.phone-night-event-row.has-detail{height:42px}.phone-night-event-icon{text-align:center;flex:0 0 24px;width:24px;font-size:18px;line-height:1}.phone-night-event-icon.is-up{color:#63a9e5}.phone-night-event-icon.is-right{color:#d5a24e}.phone-night-event-icon.is-down{color:#74c089}.phone-night-event-copy{gap:2px;min-width:0;display:grid}.phone-night-event-copy strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.phone-night-event-copy small{color:#89939d;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:600;overflow:hidden}.phone-night-event-copy small.is-lag{color:#d4aa5b}.phone-night-interval{color:#aeb8c1;background:#15191d;align-items:center;height:25px;padding:0 5px 0 33px;font-size:9px;display:flex}.phone-night-interval.is-lag{color:#d3aa61;background:#d5a24e0f}.phone-night-interval strong{min-width:0;font-size:inherit;letter-spacing:.2px;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.phone-night-interval span{font-variant-numeric:tabular-nums;flex:none;margin-left:6px;font-weight:600}.phone-night-stroke-row{grid-template-columns:96px minmax(0,160px);align-items:center;height:30px;display:grid}.phone-night-stroke-row>strong{color:#c8d0d8;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.phone-night-strength-track{background:#273039;border-radius:999px;height:9px;display:block;overflow:hidden}.phone-night-strength-fill{border-radius:inherit;background:linear-gradient(90deg,#1769e0 0%,#13c7e8 38%,#ffc928 73%,#fff 100%);height:100%;display:block}.phone-night-lag-group{background:linear-gradient(90deg,#d5a24e21,#d5a24e1f,#d5a24e08);border-right:1px solid #866631;padding-right:8px;position:relative}.phone-night-lag-group:before,.phone-night-lag-group:after{content:"";border-top:1px solid #866631;width:8px;position:absolute;right:0}.phone-night-lag-group:before{top:0}.phone-night-lag-group:after{bottom:0}.phone-night-truncation{color:#89939d;text-align:center;padding-top:5px;font-size:10px}.phone-camera-story,.phone-night-story,.phone-activation-detail svg{width:100%;height:auto;display:block}.phone-svg-kicker{fill:#9da5b0;letter-spacing:.8px;font-size:10px;font-weight:700}.phone-svg-label{fill:#fff;font-size:8.5px}.phone-svg-value{fill:#fff;font-size:9px}.phone-svg-axis{fill:#9da5b0;font-size:8px}.phone-night-legend{fill:#fff;font-size:10px;font-weight:700}.phone-viz-no-data{color:#9a9a9a;place-items:center;min-height:260px;font-size:14px;display:grid}.phone-activation-detail{background:#101216;border:1px solid #292d33;border-radius:12px;margin-top:12px;padding:12px 14px 8px}.phone-detail-title{color:#fff;letter-spacing:.7px;font-size:12px;font-weight:700}.phone-activation-detail p{color:#8e959f;margin:8px 0 0;font-size:12px}.phone-detail-raw-label{fill:#fff;font-size:8px}.phone-detail-average-label{fill:#64b9f4;font-size:8px}.phone-app-note{color:#9a9a9a;text-align:center;margin:18px 0 0;font-size:12px;line-height:1.35}.phone-close-button,.phone-close-button[aria-disabled=true]{color:#fff;opacity:1;cursor:default;background:#3585cc;border:0;border-radius:12px;width:100%;margin-top:12px;padding:9px 12px;font-size:14px;display:block}.lab-page{gap:16px;display:grid}.lab-topbar{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}.lab-topbar h2,.lab-section-header h3,.lab-section-header h4{margin:0}.lab-topbar p,.lab-section-header p{margin:4px 0 0}.lab-topbar-badges,.lab-chart-legend,.lab-variable-list{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.lab-status{grid-column:1/-1;margin:0}.lab-workbench,.lab-editor-layout{align-items:start;gap:16px;display:grid}.lab-workbench{grid-template-columns:minmax(280px,360px) minmax(0,1fr)}.lab-editor-layout{grid-template-columns:minmax(0,1fr) minmax(420px,.95fr)}.lab-sample-panel{max-height:680px;overflow:auto}.lab-main-column,.lab-settings-column,.lab-live-preview,.lab-parameter-groups,.lab-save-grid{gap:12px;display:grid}.lab-live-preview{align-self:start;max-height:calc(100vh - 32px);padding-right:2px;position:sticky;top:16px;overflow:auto}.lab-section-header{margin-bottom:12px}.lab-section-header-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.lab-filter-grid{gap:8px;margin-bottom:10px;display:grid}.lab-sample-list{border:1px solid var(--line);border-radius:10px;overflow:hidden}.lab-empty-state{margin:0;padding:10px}.lab-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.lab-stat,.lab-setting-field,.lab-formula-field,.lab-parameter-group{border:1px solid var(--line);background:#0c141e94;border-radius:8px}.lab-stat{gap:3px;min-width:0;padding:10px;display:grid}.lab-stat span,.lab-stat small,.lab-setting-description{color:var(--muted);font-size:12px;line-height:1.35}.lab-stat strong{overflow-wrap:anywhere;font-size:15px;line-height:1.25}.lab-control-grid,.lab-setting-grid{gap:10px;display:grid}.lab-control-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:12px}.lab-setting-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-setting-field,.lab-formula-field{gap:7px;padding:10px;display:grid}.lab-filter-panel{gap:12px;display:grid}.lab-filter-mode-card,.lab-filter-note{border:1px solid var(--line);background:#0c141e94;border-radius:8px;gap:7px;padding:10px;display:grid}.lab-filter-note{color:var(--muted);font-size:13px;line-height:1.4}.lab-filter-warning,.lab-filter-warning-list span{color:#ffd166;font-size:12px;line-height:1.35}.lab-filter-warning-list{gap:4px;display:grid}.lab-setting-title{color:var(--ink);font-size:13px;font-weight:700}.lab-setting-field input,.lab-setting-field select,.lab-formula-field textarea,.lab-save-grid input,.lab-save-grid textarea,.lab-filter-grid input,.lab-filter-grid select{width:100%;min-width:0;color:var(--ink);background:#0a1018}.lab-checkbox-row{align-items:center;gap:8px;min-height:38px;display:flex}.lab-checkbox-row input{width:auto}.lab-parameter-group{padding:12px}.lab-formula-grid{gap:10px;display:grid}.lab-variable-header{margin-top:14px}.lab-variable{background:#22b8cf14}.lab-error-text{color:#ffb4b4;margin-bottom:0}.lab-chart-panel{overflow:hidden}.lab-chart-legend{color:var(--muted);margin:8px 0 4px;font-size:12px}.lab-chart-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.lab-chart-actions button{padding:6px 9px;font-size:12px}.lab-marker-toggles{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.lab-marker-toggles label{color:var(--muted);cursor:pointer;align-items:center;gap:5px;font-size:12px;display:inline-flex}.lab-marker-toggles input{margin:0}.lab-marker-toggles span{align-items:center;gap:5px;display:inline-flex}.lab-chart-legend span{align-items:center;gap:6px;display:inline-flex}.lab-swatch{border-radius:999px;width:14px;height:3px;display:inline-block}.lab-swatch-recorded{background:repeating-linear-gradient(90deg,#facc15 0 2px,#0000 2px 5px)}.lab-swatch-baseline{background:repeating-linear-gradient(90deg,#a78bfa 0 6px,#0000 6px 10px)}.lab-swatch-candidate{background:#ef4444}.lab-swatch-raw12{background:#ffd166}.lab-swatch-mean5{background:#6ee7ff}.lab-swatch-threshold{background:#b8c7ff}.lab-swatch-waveform{background:#6ee7ff}.lab-swatch-candidate-signal{background:#fb7185}.lab-swatch-candidate-baseline{background:repeating-linear-gradient(90deg,#38bdf8 0 5px,#0000 5px 9px)}.lab-swatch-candidate-threshold{background:#4ade80}.lab-swatch-noise{background:repeating-linear-gradient(90deg,#f97316 0 2px,#0000 2px 6px)}.lab-chart-legend-below{margin-top:8px}.lab-chart-frame{width:100%;min-width:0}.lab-raw12-chart{height:340px;margin-top:10px}.lab-waveform-chart{height:210px}.lab-metrics-table{font-size:13px}.lab-metrics-table th,.lab-metrics-table td{padding:7px 8px}@keyframes activation-spin{to{transform:rotate(360deg)}}.tree-level{border:1px solid var(--line);background:#0c141e99;border-radius:10px;margin-bottom:8px}.tree-level>summary{cursor:pointer;color:var(--ink);padding:8px 10px;font-weight:700;list-style:none}.tree-level>summary::-webkit-details-marker{display:none}.tree-level>summary:before{content:"▸";color:var(--brand);margin-right:8px}.tree-level[open]>summary:before{content:"▾"}.tree-body{padding:0 8px 8px}.tree-year{background:#0a1018b8}.tree-month{background:#0f1823b8}.tree-day{background:#121c28b8}.tree-hour{background:#14202eb8}.owner-filter-dropdown{position:relative}.owner-filter-dropdown>summary{cursor:pointer;border:1px solid var(--line);color:var(--ink);background:#131a25;border-radius:8px;padding:8px 10px;list-style:none}.owner-filter-dropdown>summary::-webkit-details-marker{display:none}.owner-filter-menu{z-index:20;border:1px solid var(--line);background:#0f151e;border-radius:10px;min-width:260px;max-width:320px;max-height:300px;margin-top:6px;padding:10px;position:absolute;overflow:auto;box-shadow:0 12px 24px #00000059}.owner-filter-actions{gap:8px;margin-bottom:8px;display:flex}.owner-filter-actions button{flex:1}.owner-filter-list{gap:6px;display:grid}.owner-filter-item{color:var(--ink);align-items:center;gap:8px;font-size:13px;display:flex}.owner-filter-item input{width:16px;height:16px;margin:0}.camera-status-groups{gap:14px;display:grid}.camera-status-group{padding:14px}.camera-status-chart-wrap{border:1px solid var(--line);background:#0a1018b8;border-radius:12px;width:100%;padding:8px}.camera-status-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.camera-status-chart-title{color:var(--ink);margin:2px 2px 4px;font-size:13px;font-weight:600}.camera-status-footnote{margin-top:8px;font-size:12px}.camera-status-detail-table{width:100%;font-size:12px}.camera-status-detail-table th,.camera-status-detail-table td{white-space:nowrap;padding:4px 6px}.shutter-lag-page{gap:16px;display:grid}.shutter-lag-header,.shutter-lag-section-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.shutter-lag-header h2,.shutter-lag-section-header h3{margin:0 0 4px}.shutter-lag-source{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.shutter-lag-controls input{min-width:min(360px,100%)}.shutter-lag-error{color:#ffd2d2;background:#3b1a1fc2;border-color:#ff6b6b94}.shutter-lag-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.shutter-lag-stat-card{border:1px solid var(--line);background:#0a1018b8;border-radius:12px;padding:12px}.shutter-lag-stat-label{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:700}.shutter-lag-stat-value{margin:4px 0;font-size:28px;font-weight:800}.shutter-lag-section,.shutter-lag-make-group{padding:14px}.shutter-lag-table-wrap{margin-top:10px;overflow-x:auto}.shutter-lag-table th,.shutter-lag-table td{white-space:nowrap}.shutter-lag-model-table th:last-child,.shutter-lag-model-table td:last-child{white-space:normal;min-width:280px}.shutter-lag-make-groups{gap:14px;display:grid}.shutter-lag-notes summary{cursor:pointer;color:var(--brand);font-weight:700}.shutter-lag-note-list{gap:8px;margin-top:8px;display:grid}.shutter-lag-note{background:#05080d80;border:1px solid #253245bf;border-radius:8px;padding:8px}.shutter-lag-note-meta{color:var(--muted);margin-bottom:4px;font-size:12px;font-weight:700}@media (width<=900px){.camera-status-chart-grid{grid-template-columns:1fr}.shutter-lag-header,.shutter-lag-section-header{display:grid}.shutter-lag-stat-grid,.app-shell{grid-template-columns:1fr}.side-nav{border-right:none;border-bottom:1px solid var(--line)}.grid-2,.lab-topbar,.lab-workbench,.lab-editor-layout,.lab-control-grid,.lab-setting-grid,.lab-stat-grid{grid-template-columns:1fr}.lab-sample-panel{max-height:none}.lab-live-preview{max-height:none;position:static;overflow:visible}}@media (width<=480px){.phone-preview-stage{padding:6px}.phone-app-dialog{padding:12px}.phone-control-panel{grid-template-columns:1fr}}.firmware-page{width:100%;max-width:1520px;margin:0 auto;padding:2rem}.firmware-page h1{color:var(--ink);margin-top:0;margin-bottom:2rem;font-size:2rem}.firmware-page h2{color:var(--ink);border-bottom:1px solid var(--line);margin-top:2rem;margin-bottom:1rem;padding-bottom:.5rem;font-size:1.5rem}.firmware-page section{background:var(--paper);border:1px solid var(--line);border-radius:12px;margin-bottom:2rem;padding:1.75rem;box-shadow:0 8px 24px #00000047}.alert{border-radius:6px;align-items:center;gap:.75rem;margin-bottom:1rem;padding:1rem;display:flex}.alert-error{color:#ffd0d0;background-color:#ff6b6b29;border:1px solid #ff6b6b66}.alert-success{color:#c8f6dd;background-color:#4ad58f29;border:1px solid #4ad58f66}.loading{text-align:center;color:var(--muted);padding:2rem}.current-firmware .firmware-card{border:1px solid var(--line);border-radius:6px;width:100%;overflow:hidden}.firmware-card .card-header{border-bottom:1px solid var(--line);background:#22b8cf1f;align-items:center;gap:1rem;padding:1rem;display:flex}.firmware-card .card-content{grid-template-columns:repeat(2,minmax(260px,1fr));gap:.75rem 1.5rem;padding:1rem;display:grid}.firmware-card p{margin:0;line-height:1.6}.firmware-card .card-content p:last-of-type,.firmware-card .card-content .changelog-text{grid-column:1/-1}.changelog-text{border-left:3px solid var(--brand);white-space:pre-wrap;word-wrap:break-word;color:#cfd8e6;background:#080d14d9;border-radius:4px;padding:.75rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9rem;line-height:1.5}.placeholder{text-align:center;color:var(--muted);padding:1rem;font-style:italic}.latest-app-release-panel,.firmware-prompt-panel{border-top:1px solid var(--line);margin-top:1.5rem;padding-top:1.25rem}.latest-app-release-panel h3,.firmware-prompt-panel h3{color:var(--ink);margin:0;font-size:1.1rem}.app-release-description{color:var(--muted);margin:.5rem 0 0;font-size:.9rem}.app-release-current{color:var(--ink);margin:.75rem 0 1rem}.app-release-form{grid-template-columns:repeat(2,minmax(220px,1fr));gap:1rem 1.5rem;display:grid}.firmware-prompt-form{grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:1rem 1.5rem;display:grid}.app-release-form .app-store-links,.app-release-form>.btn{grid-column:1/-1}.app-store-links{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.6rem 1rem;font-size:.9rem;display:flex}.app-store-links a{color:#8de5f1;text-decoration:none}.app-store-links a:hover{text-decoration:underline}.upload-form{grid-template-columns:repeat(2,minmax(280px,1fr));gap:1.25rem 1.5rem;display:grid}.upload-form .form-group:nth-of-type(4),.upload-form .progress-container,.upload-form>.btn{grid-column:1/-1}.upload-form>.btn{justify-self:start}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group-checkbox{justify-content:flex-end}.checkbox-label{align-items:center;gap:.55rem;display:inline-flex}.checkbox-label input[type=checkbox]{width:16px;height:16px}.form-group label{color:var(--ink);font-size:.95rem;font-weight:600}.form-group input[type=file],.form-group input[type=text],.form-group textarea{border:1px solid var(--line);color:var(--ink);background:#080d14cc;border-radius:8px;padding:.75rem;font-family:inherit;font-size:.95rem}.form-group input[type=file]::file-selector-button{background-color:var(--brand);color:#fff;cursor:pointer;border:none;border-radius:4px;margin-right:1rem;padding:.5rem 1rem;font-weight:600}.form-group input[type=file]::file-selector-button:hover{filter:brightness(.9)}.form-group input[type=file],.form-group input[type=text],.form-group textarea{transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #22b8cf33}.form-group input:disabled,.form-group textarea:disabled{color:var(--muted);cursor:not-allowed;background-color:#080d1480}.form-group small{color:var(--muted);font-size:.85rem}.form-group small.error{color:#ff9e9e;font-weight:500}.progress-container{flex-direction:column;gap:.5rem;display:flex}.progress-bar{border:1px solid var(--line);background-color:#080d14d9;border-radius:4px;height:24px;overflow:hidden}.progress-fill{color:#fff;background:linear-gradient(90deg,#22b8cf,#179bb0);justify-content:center;align-items:center;height:100%;font-size:.75rem;font-weight:600;transition:width .3s;display:flex}.progress-container p{color:var(--muted);margin:0;font-size:.9rem}.btn{cursor:pointer;border:none;border-radius:4px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .2s}.btn-primary{background-color:var(--brand);color:#fff}.btn-primary:hover:not(:disabled){filter:brightness(.92);box-shadow:0 6px 18px #22b8cf40}.btn:disabled{color:var(--muted);cursor:not-allowed;background-color:#253245cc}.btn-mini{cursor:pointer;border:none;border-radius:3px;padding:.4rem .8rem;font-size:.8rem;transition:all .2s}.btn-secondary{color:#fff;background-color:#2d3a4d}.btn-secondary:hover:not(:disabled){background-color:#36465f}.btn-warning{color:#111827;background-color:#d8a63b}.btn-warning:hover:not(:disabled){background-color:#c9962b}.btn-success{color:#fff;background-color:#2ea86c}.btn-success:hover{background-color:#258d5a}.btn-cancel{color:#fff;background-color:#c43f4c}.btn-cancel:hover{background-color:#ad3340}.btn:disabled{opacity:.6;cursor:not-allowed}.versions-table{overflow-x:auto}.version-history-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.version-history-actions{align-items:center;gap:.5rem;display:flex}.version-history-header h2{margin:0}.versions-table table{border-collapse:collapse;width:100%;min-width:1080px;font-size:.9rem}.versions-table thead{border-bottom:1px solid var(--line);background-color:#22b8cf1f}.versions-table th{text-align:left;color:var(--ink);padding:.75rem;font-weight:600}.versions-table td{border-bottom:1px solid var(--line);padding:.75rem}.versions-table tbody tr:hover{background-color:#22b8cf14}.version-badge{color:#8de5f1;background-color:#22b8cf2e;border-radius:3px;padding:.35rem .6rem;font-family:Monaco,monospace;font-size:.85rem;font-weight:600;display:inline-block}.status-badge{text-transform:uppercase;border-radius:3px;padding:.35rem .75rem;font-size:.8rem;font-weight:600;display:inline-block}.track-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:.2rem .5rem;font-size:.72rem;font-weight:700;display:inline-block}.track-badge.stable{color:#c8f6dd;background:#4ad58f29;border:1px solid #4ad58f73}.track-badge.beta{color:#ffe2a6;background:#ffbb4229;border:1px solid #ffbb4280}.status-badge.published{color:#9decc5;background-color:#4ad58f2e}.status-badge.draft{color:#f1d08a;background-color:#d8a63b33}.status-badge.deprecated{color:#f3a8b0;background-color:#c43f4c33}.changelog-preview{color:var(--muted);font-size:.85rem;font-style:italic}.version-cell,.actions-cell{white-space:nowrap}.action-buttons,.edit-inline{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.edit-inline{flex-direction:column;gap:.25rem}.edit-input{border:1px solid var(--line);width:100%;color:var(--ink);background:#080d14cc;border-radius:3px;padding:.4rem .6rem;font-family:inherit;font-size:.8rem}.edit-input:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 2px #22b8cf33}.btn-mini:disabled{opacity:.5;cursor:not-allowed}@media (width<=768px){.firmware-page,.firmware-page section{padding:1rem}.firmware-card .card-content{grid-template-columns:1fr}.upload-form{grid-template-columns:1fr;gap:1rem}.app-release-form,.firmware-prompt-form{grid-template-columns:1fr}.upload-form .form-group:nth-of-type(3),.upload-form .progress-container,.upload-form>.btn{grid-column:1}.upload-form>.btn{width:100%}.firmware-page h2{font-size:1.25rem}.versions-table table{font-size:.8rem}.versions-table th,.versions-table td{padding:.5rem}.action-buttons{flex-direction:column}.btn-mini{width:100%}}.public-update-page{background:radial-gradient(circle at 20% 20%,#3585cc2e,#0000 45%),radial-gradient(circle at 80% 80%,#b3ab5624,#0000 42%),#090c11;justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.public-update-card{color:#f4f7fb;background:#0e1219eb;border:1px solid #66789273;border-radius:16px;width:min(960px,100%);padding:1.5rem;box-shadow:0 22px 48px #0006}.public-update-header{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.public-update-favicon{object-fit:contain;flex:none;width:42px;height:42px}.public-update-header h1{margin:0;font-size:1.65rem}.public-update-section{background:#0a0e14db;border:1px solid #66789259;border-radius:12px;margin-bottom:1rem;padding:1rem}.public-update-section h2{color:#b3ab56;margin:0 0 .5rem;font-size:1.05rem}.public-update-section p{margin:.35rem 0}.version-row{color:#c7dcff}.changelog-row{white-space:pre-wrap;line-height:1.35}.firmware-source-options{flex-wrap:wrap;gap:.8rem;margin-bottom:.7rem;display:flex}.firmware-source-option{color:#d7e2f6;align-items:center;gap:.45rem;font-size:.93rem;display:inline-flex}.firmware-source-option.disabled{opacity:.55}.firmware-source-option input{width:16px;height:16px}.firmware-source-disabled-note{color:#c7ceda;margin:.1rem 0 .55rem;font-size:.86rem}.local-file-picker-wrap{margin-bottom:.75rem}.firmware-version-picker{margin:1rem 0 0}.firmware-version-picker label{margin-bottom:.4rem;font-weight:600;display:block}.firmware-version-picker select{color:#f4f7fb;width:100%;max-width:420px;font:inherit;background:#121a25;border:1px solid #667892a6;border-radius:8px;padding:.7rem}.firmware-version-picker select:focus-visible{outline-offset:2px;outline:2px solid #3585cc}.local-file-picker-label{color:#d7e2f6;margin-bottom:.4rem;font-size:.92rem;font-weight:600;display:block}.local-file-picker-wrap input[type=file]{color:#d9e6fa;width:100%;max-width:420px}.install-button-wrap{margin-top:.4rem}.install-button-wrap button,esp-web-install-button::part(button){color:#fff;cursor:pointer;background:linear-gradient(90deg,#3585cc,#2f77b8);border:none;border-radius:8px;padding:.72rem 1.12rem;font-size:.98rem;font-weight:700}.install-button-wrap button:hover{filter:brightness(1.05)}.flasher-actions{flex-wrap:wrap;gap:.5rem;margin:.4rem 0 .7rem;display:flex}.erase-toggle{color:#d7e2f6;align-items:center;gap:.45rem;margin:.2rem 0 .55rem;font-size:.92rem;display:inline-flex}.erase-toggle input{width:16px;height:16px}.flasher-actions button{color:#d9e6fa;cursor:pointer;background:#121a25eb;border:1px solid #6678928c;border-radius:8px;padding:.58rem .82rem;font-weight:700}.flasher-actions button:disabled{opacity:.58;cursor:not-allowed}.flasher-actions button:hover:not(:disabled){border-color:#94abcce6}.diagnostic-actions{flex-wrap:wrap;gap:.5rem;margin:.5rem 0 .7rem;display:flex}.diagnostic-actions button{color:#d9e6fa;cursor:pointer;background:#121a25eb;border:1px solid #6678928c;border-radius:8px;padding:.45rem .7rem;font-weight:600}.diagnostic-actions button:hover{border-color:#94abcce6}.diagnostic-log{background:#0a1019;border:1px solid #5567828c;border-radius:10px;max-height:280px;padding:.6rem;font-family:Consolas,Courier New,monospace;font-size:.8rem;line-height:1.35;overflow:auto}.diagnostic-line{color:#d3def0;white-space:pre-wrap;margin:.16rem 0}.diagnostic-info{color:#c7dcff}.diagnostic-warn{color:#f6da8a}.diagnostic-error{color:#ffb0b0}.update-error{color:#ff9ea0}.small-note{color:#c7ceda;margin-top:.55rem;font-size:.88rem}.update-progress-wrap{margin:.55rem 0}.update-warning{color:#fbe3a0;background:#362a08ad;border:1px solid #f6da8a99;border-radius:8px;margin-bottom:.48rem;padding:.6rem .72rem;font-weight:700}.update-progress-header{color:#d9e6fa;justify-content:space-between;align-items:center;margin-bottom:.32rem;font-size:.9rem;display:flex}.update-progress-track{background:#0e141ee6;border:1px solid #66789280;border-radius:999px;width:100%;height:12px;position:relative;overflow:hidden}.update-progress-fill{background:linear-gradient(90deg,#3585cc,#b3ab56);width:0;height:100%;transition:width .22s}.preflight-modal-backdrop{z-index:1200;background:#05080db8;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.preflight-modal-card{color:#e9f1ff;background:#0d121afa;border:1px solid #6678928c;border-radius:14px;width:min(620px,100%);padding:1rem;box-shadow:0 20px 45px #00000073}.preflight-modal-card h3{color:#f6da8a;margin:0 0 .5rem}.preflight-modal-card p{color:#d8e4fb;margin:.45rem 0;line-height:1.42}.preflight-modal-actions{justify-content:flex-end;gap:.55rem;margin-top:.75rem;display:flex}.preflight-modal-actions button{color:#d9e6fa;cursor:pointer;background:#121a25eb;border:1px solid #66789299;border-radius:8px;padding:.55rem .85rem;font-weight:700}.preflight-modal-actions button:last-child{color:#fff;background:linear-gradient(90deg,#3585cc,#2f77b8);border:none}.preflight-modal-actions button:hover{filter:brightness(1.05)}.high-risk-review{border-left:4px solid #e8af50;margin:1rem 0}.high-risk-review .high-risk-picker{width:100%;max-width:100%;margin:1rem 0}.high-risk-event{min-width:0}.high-risk-event li{overflow-wrap:anywhere;margin-bottom:.6rem}.high-risk-fields{border:1px solid var(--line,#475569);border-radius:.65rem;gap:.85rem;min-width:0;margin-top:1rem;padding:1rem;display:grid}.high-risk-fields>label{gap:.4rem;display:grid}.high-risk-fields textarea{width:100%;min-height:5rem}.high-risk-mark{overflow-wrap:anywhere;align-items:center;gap:.5rem;margin:.5rem 0;display:flex}.high-risk-mark input{flex:none;width:auto}.high-risk-warning{background:#e8af5012;border-left:3px solid #e8af50;padding:.65rem .9rem}.high-risk-choice-row,.high-risk-save-bar{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.high-risk-choice-row button[aria-pressed=true]{border-color:#34d399;box-shadow:inset 0 0 0 1px #34d399}.high-risk-save-bar{padding:.75rem 0}.high-risk-save-bar>.muted,.high-risk-save-bar>p{flex-basis:100%;margin:.2rem 0}.high-risk-fields details>label{gap:.4rem;margin:.8rem 0;display:grid}.evaluation-legend{border-top:1px solid var(--line);padding-top:.8rem}.evaluation-legend>label{align-items:center;gap:.5rem;margin:.5rem 0;display:flex}.evaluation-legend input{width:auto}.evaluation-legend i{flex:none;width:14px;height:7px}.evaluation-legend small{color:var(--muted);display:block}
