:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--navy:#1a3a5c;--navy-dark:#12293f;--gold:#f4b942;--bg:#f4f6f8;--card:#fff;--text:#1c2733;--muted:#64748b;--line:#e2e8f0;--green:#15803d;--red:#b91c1c;--amber:#b45309;--appbar-bg:var(--navy);--appbar-fg:#fff;--action-fg:var(--gold);--accent:var(--navy);--accent-press:var(--navy-dark);--on-accent:#fff;--ns-fg:#475569;--fill-neutral:#e8edf3;--fill-press:#eef2f6;--fill-ok:#dcf2e3;--fill-bad:#fee2e2;--fill-warn:#fdf0d3;--fill-ns:#e2e8f0;--line-w:1px;--chip-bw:0px;--btn-bw:0px;--btn-bc:transparent;--rail-todo:8px;--rail-done:2px;--chip-split-w:2px;--tap-min:44px;--scrim:#000000c7;--cam-mask:#0000008c;color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}:root[data-theme=sun]{--navy:#000;--navy-dark:#333;--gold:#fff;--bg:#fff;--card:#fff;--text:#000;--muted:#000;--line:#000;--green:#00521c;--red:#9b0000;--amber:#5a3200;--appbar-bg:#000;--appbar-fg:#fff;--action-fg:#fff;--accent:#000;--accent-press:#3d3d3d;--on-accent:#fff;--ns-fg:#000;--fill-neutral:#fff;--fill-press:#d6d6d6;--fill-ok:#fff;--fill-bad:#fff;--fill-warn:#fff;--fill-ns:#fff;--line-w:2px;--chip-bw:3px;--btn-bw:2px;--btn-bc:currentColor;--rail-todo:14px;--rail-done:2px;--chip-split-w:3px;--tap-min:48px;--scrim:#000000e0;--cam-mask:#000000ad}*{box-sizing:border-box}html,body{background:var(--bg);margin:0;padding:0}body{min-height:100dvh}#root{flex-direction:column;max-width:640px;min-height:100dvh;margin:0 auto;display:flex}button{font:inherit;cursor:pointer}input,select{font:inherit}.appbar{background:var(--appbar-bg);color:var(--appbar-fg);padding:calc(10px + env(safe-area-inset-top)) 16px 10px;z-index:10;align-items:center;gap:10px;display:flex;position:sticky;top:0}.appbar h1{white-space:nowrap;text-overflow:ellipsis;flex:1;margin:0;font-size:17px;font-weight:600;overflow:hidden}.appbar .back{color:var(--appbar-fg);background:0 0;border:none;margin-left:-8px;padding:4px 8px;font-size:22px}.appbar .back-bar{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:10px;margin:-4px 0;padding:4px 0;display:flex}.appbar .back-bar:active{opacity:.7}.appbar .action{color:var(--action-fg);min-height:var(--tap-min);background:0 0;border:none;align-items:center;padding:10px 12px;font-size:14px;font-weight:600;display:inline-flex}.appbar .sun-toggle[aria-pressed=true]{background:var(--appbar-fg);color:var(--appbar-bg);border-radius:8px}main{padding:14px 14px calc(28px + env(safe-area-inset-bottom));flex:1}.card{background:var(--card);border:var(--line-w) solid var(--line);border-radius:12px;margin-bottom:12px;padding:14px}.card.tappable{text-align:left;width:100%}.card.tappable:active{background:var(--fill-press)}.section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:18px 4px 8px;font-size:13px}.row{align-items:center;gap:10px;display:flex}.row .grow{flex:1;min-width:0}.title{font-size:16px;font-weight:600}.sub{color:var(--muted);margin-top:2px;font-size:13.5px}.badge{border:var(--btn-bw) solid var(--btn-bc);background:var(--fill-neutral);color:var(--accent);border-radius:999px;padding:2px 9px;font-size:12.5px;font-weight:600;display:inline-block}.badge.gold{background:var(--fill-warn);color:var(--amber)}.badge.green{background:var(--fill-ok);color:var(--green)}.btn{border:var(--btn-bw) solid var(--btn-bc);background:var(--accent);width:100%;color:var(--on-accent);border-radius:10px;padding:13px;font-size:16px;font-weight:600;display:block}.btn:active{background:var(--accent-press)}.btn.secondary{background:var(--fill-neutral);color:var(--accent)}.btn.danger{background:var(--red)}.btn:disabled{background:var(--fill-neutral);color:var(--muted);border:2px dashed var(--line);cursor:default}.field{margin-bottom:14px}.field label{color:var(--muted);margin-bottom:5px;font-size:13.5px;font-weight:600;display:block}.field input,.field select{border:var(--line-w) solid var(--line);background:var(--card);border-radius:10px;width:100%;padding:11px 12px}.error{background:var(--fill-bad);color:var(--red);border-radius:10px;margin-bottom:12px;padding:10px 12px;font-size:14px}.notice{background:var(--fill-warn);color:var(--amber);border-radius:10px;margin-bottom:12px;padding:10px 12px;font-size:14px}.status-chip{min-width:var(--tap-min);min-height:var(--tap-min);text-align:center;background:var(--text);color:var(--card);border:var(--chip-bw) solid transparent;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;padding:0 4px;font-size:17px;font-weight:700;display:inline-flex}.status-chip.P{background:var(--fill-ok);color:var(--green);border-color:var(--green)}.status-chip.F{background:var(--fill-bad);color:var(--red);border-color:var(--red)}.status-chip.DE,.status-chip.DL{background:var(--fill-warn);color:var(--amber);border-color:var(--amber)}.status-chip.NS{background:var(--fill-ns);color:var(--ns-fg);border-color:var(--ns-fg)}.status-chip.scored{grid-template:1fr 1fr/1fr 1fr;padding:2px 1px;font-size:16px;line-height:1;display:grid;position:relative;overflow:hidden}.status-chip.scored:before{content:"";background:linear-gradient(to bottom right, transparent calc(50% - var(--chip-split-w) / 2), currentColor calc(50% - var(--chip-split-w) / 2), currentColor calc(50% + var(--chip-split-w) / 2), transparent calc(50% + var(--chip-split-w) / 2));position:absolute;inset:0}.status-chip .score-a,.status-chip .score-b{position:relative}.status-chip .score-a{grid-area:1/1;place-self:start end}.status-chip .score-b{grid-area:2/2;place-self:end start}.seg{flex-wrap:wrap;gap:6px;display:flex}.seg button{border:var(--line-w) solid var(--line);background:var(--card);min-width:52px;color:var(--text);border-radius:10px;flex:auto;padding:12px 10px;font-size:15px;font-weight:700}.seg button.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.seg button.arming,.counter button.arming,.row-incident.arming{background:var(--fill-press);outline-offset:-3px;outline:3px solid}.card.row-incomplete{border-left:var(--rail-todo) solid var(--amber)}.card.row-complete{border-left:var(--rail-done) solid var(--green)}.row-open{text-align:left;font:inherit;color:inherit;background:0 0;border:0;margin:0;padding:0}.row-open:active{opacity:.6}.checks{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.check{min-height:var(--tap-min);border:var(--line-w) solid var(--line);background:var(--card);color:var(--text);-webkit-tap-highlight-color:transparent;border-radius:10px;align-items:center;gap:8px;padding:0 12px;font-size:14px;font-weight:600;display:inline-flex}.check input{opacity:0;width:1px;height:1px;position:absolute}.check .box{border:2px solid;border-radius:6px;flex:none;justify-content:center;align-items:center;width:24px;height:24px;font-size:16px;font-weight:700;line-height:1;display:inline-flex}.check.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.check input:focus-visible+.box{outline:3px solid var(--text);outline-offset:3px}.missing{color:var(--amber);margin-top:3px;font-size:13px;font-weight:600}.done-note{color:var(--green);margin-top:3px;font-size:13px}.seg button[aria-pressed]{min-height:var(--tap-min)}.seg button .pts{white-space:nowrap;font-size:13px;font-weight:400;display:block}.seg.stack{flex-direction:column}.eval-main{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.eval-head{align-items:flex-start;gap:12px;margin:2px 4px 12px}.eval-row{margin-bottom:12px}.eval-label{margin:0 4px 6px;font-size:14px;font-weight:600}.eval-group-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text);text-wrap:balance;border-bottom:2px solid;margin:22px 4px 10px;padding-bottom:5px;font-size:15px;font-weight:800}.eval-tally{font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;font-size:21px;font-weight:700}.eval-tally .of{font-size:14px;font-weight:400}.eval-jump{flex-wrap:wrap;align-items:center;margin-bottom:6px;display:flex}.eval-jump button{min-height:var(--tap-min);font:inherit;color:var(--muted);-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:8px;padding:0 7px;font-size:14px;font-weight:600}.eval-jump button:active{background:var(--fill-press)}.eval-jump button[aria-current]{color:var(--text);text-underline-offset:4px;font-weight:800;text-decoration:underline;text-decoration-thickness:2px}.eval-jump .sep{color:var(--muted);font-size:13px}.block-split{border:0;border-top:var(--line-w) solid var(--line);margin:22px 0 2px}.eval-note{margin:4px 4px 12px;font-size:15px}.eval-score{color:var(--action-fg);min-height:var(--tap-min);white-space:nowrap;border-radius:8px;align-items:center;padding:8px 10px;font-size:14px;font-weight:700;display:inline-flex}.eval-score.changed{animation:.7s ease-out score-flash}@keyframes score-flash{0%{background:var(--action-fg);color:var(--appbar-bg)}to{color:var(--action-fg);background:0 0}}.eval-score.over{border:2px solid;border-radius:8px;min-height:0;padding:6px 8px}.eval-nav{z-index:10;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:var(--card);border-top:var(--line-w) solid var(--line);gap:10px;display:flex;position:fixed;bottom:0;left:0;right:0}.eval-nav .btn{white-space:nowrap;margin:0}.eval-nav .btn.secondary{flex:0 0 34%}.eval-nav .btn:not(.secondary){text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.rider-no{text-align:center;background:var(--fill-neutral);min-width:44px;color:var(--accent);border:var(--chip-bw) solid currentColor;border-radius:9px;flex-shrink:0;padding:7px 0;font-size:14.5px;font-weight:700}.rider-no.unplaced{background:var(--card);outline:2px dashed var(--line);outline-offset:-2px;border-color:#0000}.rider-no.unplaced:before{content:" "}.nudge{flex-shrink:0;gap:4px;display:flex}.nudge button,.counter button{min-width:var(--tap-min);border:var(--line-w) solid var(--line);background:var(--card);min-height:34px;color:var(--text);border-radius:8px;font-size:15px;font-weight:700}.nudge button:disabled,.counter button:disabled{color:var(--muted);cursor:default;border-style:dashed}.counter{flex-shrink:0;align-items:center;gap:8px;display:flex}.counter button{min-height:var(--tap-min)}.counter span{text-align:center;font-variant-numeric:tabular-nums;min-width:30px;font-size:19px;font-weight:700}.req{color:var(--amber);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:700}.braking{font-variant-numeric:tabular-nums;margin-top:8px;font-size:14px}.braking div{border-bottom:var(--line-w) solid var(--line);justify-content:space-between;padding:4px 2px;display:flex}.braking div:last-child{border-bottom:0}.braking div.on{background:var(--fill-neutral);font-weight:700}.center{text-align:center;color:var(--muted);padding:40px 0}.loginwrap{flex-direction:column;flex:1;justify-content:center;padding:24px;display:flex}.loginwrap .logo{text-align:center;margin-bottom:18px}.loginwrap .logo img{width:84px;height:84px}.loginwrap h2{text-align:center;color:var(--accent);margin:0 0 20px}.loginwrap .card{margin:22px 0 0}.install-actions{gap:8px;margin-top:12px;display:flex}.install-actions .btn{margin:0}.cam-overlay{z-index:100;background:var(--scrim);flex-direction:column;justify-content:center;gap:16px;padding:16px;display:flex;position:fixed;inset:0}.cam-frame{border-radius:10px;width:100%;position:relative;overflow:hidden}.cam-frame video{background:var(--scrim);border-radius:10px;width:100%;display:block}.cam-guide{pointer-events:none;box-shadow:0 0 0 100vmax var(--cam-mask);background:linear-gradient(var(--action-fg), var(--action-fg)) left top, linear-gradient(var(--action-fg), var(--action-fg)) left top, linear-gradient(var(--action-fg), var(--action-fg)) right top, linear-gradient(var(--action-fg), var(--action-fg)) right top, linear-gradient(var(--action-fg), var(--action-fg)) left bottom, linear-gradient(var(--action-fg), var(--action-fg)) left bottom, linear-gradient(var(--action-fg), var(--action-fg)) right bottom, linear-gradient(var(--action-fg), var(--action-fg)) right bottom;background-repeat:no-repeat;background-size:28px 3px,3px 28px,28px 3px,3px 28px,28px 3px,3px 28px,28px 3px,3px 28px;margin:auto;position:absolute;inset:0}.cam-hint{color:var(--appbar-fg);text-align:center;text-wrap:balance;font-size:15px;font-weight:600}.cam-guide-number{background-size:18px 3px,3px 18px,18px 3px,3px 18px,18px 3px,3px 18px,18px 3px,3px 18px}.cam-guide-found{outline:3px solid var(--action-fg);background:0 0}.cam-readout{color:var(--appbar-fg);text-align:center;justify-content:center;align-items:center;min-height:52px;font-size:15px;display:flex}.cam-value{letter-spacing:.06em;font-variant-numeric:tabular-nums;font-size:28px;font-weight:700;display:block}.cam-sub{margin-top:2px;font-size:14px;font-weight:500;display:block}.cam-actions{gap:8px;display:flex}.cam-actions .btn{white-space:nowrap;flex:auto;margin:0}.row-incident{min-width:var(--tap-min);min-height:var(--tap-min);background:var(--card);color:var(--amber);border:var(--line-w) solid var(--amber);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:19px;font-weight:700;line-height:1;display:inline-flex}.row-incident:active{background:var(--fill-warn)}.row-incident:disabled{opacity:1;color:var(--muted);border-color:var(--line)}.toggle-grid{flex-wrap:wrap;gap:6px;display:flex}.toggle-btn{min-height:var(--tap-min);background:var(--card);color:var(--text);border:var(--line-w) solid var(--line);border-radius:10px;flex:auto;padding:8px 12px;font-size:14px;font-weight:600}.toggle-btn.on{background:var(--accent);color:var(--on-accent);border:var(--btn-bw) solid var(--btn-bc);border-color:var(--accent)}.section-toggle{text-align:left;width:100%;font:inherit;color:inherit;min-height:var(--tap-min);background:0 0;border:0;align-items:center;gap:10px;margin:0;padding:0;display:flex}.section-toggle:active{opacity:.6}.section-toggle .chevron{color:var(--muted);flex-shrink:0;font-size:16px}.section-body{border-top:var(--line-w) solid var(--line);margin-top:14px;padding-top:14px}.field textarea{border:var(--line-w) solid var(--line);background:var(--card);width:100%;color:var(--text);font:inherit;resize:vertical;border-radius:10px;padding:11px 12px}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;margin:10px 0;display:grid}.photo-thumb{position:relative}.photo-thumb img{object-fit:cover;border:var(--line-w) solid var(--line);border-radius:10px;width:100%;height:96px;display:block}.photo-remove{background:var(--scrim);min-width:30px;min-height:30px;color:var(--on-accent);border:0;border-radius:999px;justify-content:center;align-items:center;font-size:18px;line-height:1;display:inline-flex;position:absolute;top:2px;right:2px}.clip-player{aspect-ratio:390/844;border-radius:10px;width:auto;max-width:100%;height:min(78vh,844px);margin:10px auto 0;display:block}.draw-pad{touch-action:none;background:var(--card);border:var(--line-w) solid var(--line);border-radius:10px;width:100%;margin-bottom:8px;display:block}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.draw-pad-wrap{position:relative}.diagram-markers{pointer-events:none;position:absolute;inset:0}.diagram-marker{pointer-events:auto;touch-action:none;background:var(--card);min-width:34px;min-height:34px;color:var(--text);border:2px solid var(--text);cursor:grab;border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:14px;font-weight:700;line-height:1;display:inline-flex;position:absolute;transform:translate(-50%,-50%)}.diagram-marker:active{cursor:grabbing;background:var(--fill-press)}.diagram-marker .staging-arrow{margin-right:3px;font-size:15px;line-height:1;display:inline-block}.draw-pad.transparent{background:0 0}.diagram-card,.diagram-ink{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.diagram-card{opacity:.55}.diagram-preview-btn{background:var(--card);width:100%;color:var(--text);border:var(--line-w) solid var(--line);border-radius:10px;flex-direction:column;align-items:center;gap:8px;margin-bottom:8px;padding:10px;display:flex}.diagram-preview-btn:active{background:var(--fill-press)}.diagram-preview{height:210px;aspect-ratio:var(--diagram-aspect);background:var(--card);border:var(--line-w) solid var(--line);border-radius:8px;display:block;position:relative}.diagram-empty{min-height:96px;color:var(--muted);align-items:center;font-size:15px;display:flex}.diagram-preview-caption{color:var(--muted);text-align:center;text-wrap:balance;font-size:13px}.diagram-preview-open{color:var(--accent);font-weight:700}.diagram-preview .diagram-marker{cursor:default;border-width:1.5px;min-width:26px;min-height:26px;font-size:11px}.diagram-editor{z-index:100;background:var(--bg);flex-direction:column;padding:8px 12px 12px;display:flex;position:fixed;inset:0;overflow-y:auto}.diagram-editor-bar{min-height:var(--tap-min);align-items:center;gap:12px;display:flex}.diagram-editor-title{flex:1;font-size:17px;font-weight:700}.diagram-editor-bar .btn{width:auto;min-height:var(--tap-min);margin:0;padding:0 20px}.diagram-editor-stage{width:100%;max-width:100%;margin:4px auto 0}.diagram-editor-stage .field{margin-bottom:0}.diagram-editor-controls{width:100%;max-width:520px;margin:0 auto}.diagram-editor-controls .toggle-grid+.toggle-grid{margin-top:6px}@media (orientation:landscape) and (height<=560px){.diagram-editor{flex-flow:wrap;align-items:flex-start;column-gap:12px}.diagram-editor-bar{flex:0 0 100%}.diagram-editor-stage{flex:none;margin:0}.diagram-editor-controls{flex:200px;max-width:none;margin:0}}.diagram-editor .field>.btn{white-space:nowrap}
