:root{--bg:#111418;--panel:#1b2027;--line:#2c333d;--text:#e8ecf1;--muted:#8d97a5;--ok:#2fbf71;--warn:#f2b233;--bad:#e5484d;--accent:#3d8bfd;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);margin:0}main{padding:0 16px 24px}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 16px;display:flex}h1{margin:0;font-size:1.1rem}h2{font-size:1rem}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:3px 8px;font-size:.75rem}.chip.ok{border-color:var(--ok);color:var(--ok)}.chip.warn{border-color:var(--warn);color:var(--warn)}.chip.bad{border-color:var(--bad);color:var(--bad)}.banner{border-radius:6px;margin:0 16px 8px;padding:6px 10px;font-weight:600}.banner-sim{background:var(--warn);color:#000}.live{gap:12px;display:grid}@media (orientation:landscape) and (min-width:700px){.live{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start}.live .controls,.live .warning{grid-column:1}.live .stats{grid-area:1/2/span 3}}.preview{aspect-ratio:16/9;background:#000;border-radius:8px;position:relative;overflow:hidden}.preview video{object-fit:contain;width:100%;height:100%;display:block}.blackout{color:#555;background:#000;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.blackout span{font-variant-numeric:tabular-nums;font-size:3rem}.preview img{object-fit:contain;background:#000;width:100%;height:100%;position:absolute;inset:0}.overlay{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.det-hud{font-variant-numeric:tabular-nums;pointer-events:none;flex-wrap:wrap;gap:6px;font-size:.8rem;display:flex;position:absolute;top:8px;left:8px;right:8px}.det-hud span{color:#fff;background:#000000a6;border-radius:4px;padding:2px 6px}.det-hud .pothole{color:#ff6b61;font-weight:600}.det-hud .crack{color:#ffd84d}.det-hud .err{color:var(--bad,#ff6b61)}.thumb{line-height:0;position:relative}.thumb img{width:100%}.det-box{pointer-events:none;border:2px solid #fff;position:absolute}.det-box.pothole{border-color:#ff3b30}.det-box.crack{border-color:#fc0}.det-box.patch{border-color:#34c3ff}.block-reason{color:var(--warn);background:#000000b3;border-radius:4px;padding:4px 8px;font-size:.85rem;position:absolute;bottom:8px;left:8px}.controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}button{font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--line);cursor:pointer;border-radius:6px;padding:8px 12px}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);min-width:180px;padding:14px 24px;font-weight:600}button.primary.recording{background:var(--bad);border-color:var(--bad)}button.danger{color:var(--bad)}.warning{color:var(--warn);margin:0}.stats{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin:0;display:grid}.stats div{background:var(--panel);border-radius:6px;padding:6px 8px}.stats dt{color:var(--muted);font-size:.7rem}.stats dd{font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:1.05rem}.settings{background:var(--panel);border-radius:8px;margin-top:16px;padding:8px 12px}.settings form{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;padding:8px 0;display:grid}.settings label{color:var(--muted);gap:4px;font-size:.85rem;display:grid}input,select{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:4px;min-width:0;padding:6px}.muted{color:var(--muted);font-size:.85rem}#session-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}#session-list li{background:var(--panel);border-radius:8px;gap:8px;padding:10px 12px;display:grid}.session-actions{flex-wrap:wrap;gap:6px;display:flex}dialog{background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:8px;width:min(1100px,100vw - 32px);max-height:calc(100vh - 32px)}.gallery-head{justify-content:space-between;align-items:center;display:flex}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin-bottom:12px;display:grid}.gallery-grid figure{margin:0}.gallery-grid img{aspect-ratio:16/9;object-fit:cover;background:#000;border-radius:4px;width:100%}.gallery-grid figcaption{color:var(--muted);font-size:.75rem}footer{padding:8px 16px 16px}.upload{gap:10px;margin-top:16px;display:grid}.upload h2{margin:0}.upload-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.banner-bad{background:var(--bad);color:#fff;margin:0}.stats .wide{grid-column:1/-1}.stats .wide dd{overflow-wrap:anywhere;font-size:.85rem}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.settings label.check{color:var(--text);align-items:center;gap:8px;display:flex}ul.plain{overflow-wrap:anywhere;gap:4px;margin:8px 0 0;padding:0;font-size:.85rem;list-style:none;display:grid}[hidden]{display:none!important}.model-list{grid-column:1/-1;gap:6px;display:grid}.model-row{border:1px solid var(--line);border-radius:6px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:.85rem;display:flex}.model-row small{color:var(--muted)}.model-row .note{margin-top:2px;display:inline-block}.model-row button{flex:none}
