:root{color-scheme:dark;--bg: #07080a;--panel: #12151b;--line: #2a3140;--text: #f4f6fb;--muted: #9aa3b5;--ok: #22c55e;--bad: #ef4444;--warn: #f59e0b;--idle: #6b7280;--accent: #f5c518;--plate-front: #f4f4f4;--plate-rear: #f5c518;font-family:Segoe UI,ui-sans-serif,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;height:100dvh;overflow:hidden;overscroll-behavior:none;background:var(--bg);color:var(--text);touch-action:manipulation}button,input{font:inherit}.enable-screen[hidden],.app[hidden]{display:none!important}.enable-screen{position:fixed;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;background:#07080a;text-align:center;cursor:pointer}.enable-screen strong{font-size:1.45rem;font-weight:700}.enable-screen span{color:var(--muted);font-size:.95rem}.gate-error{color:var(--bad);margin:8px 0 0;max-width:20rem}.camera-feed{position:fixed;left:0;top:0;width:4px;height:4px;opacity:.02;pointer-events:none;z-index:0}.app{min-height:100dvh;display:grid;place-items:center;background:#050608}.hud{position:relative;width:100%;height:100dvh;max-height:100dvh;display:flex;flex-direction:column;padding:calc(8px + env(safe-area-inset-top)) calc(12px + env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left));touch-action:none}@media(min-width:900px){.hud{width:min(92vw,860px);height:min(92dvh,430px);max-height:430px;border:1px solid var(--line);border-radius:18px;background:#0b0d11}}.hud-actions{display:flex;justify-content:flex-end;gap:8px;flex-shrink:0}.hud-actions #torchBtn{margin-right:auto}.hud-actions button{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:10px;padding:8px 12px}.hud-main{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;transition:transform 80ms linear}.hud.is-holding .hud-main{transform:translateY(14px)}.uk-plate{display:flex;align-items:stretch;overflow:hidden;font-size:clamp(1.7rem,7.2vw,3.2rem);line-height:1;color:#111;background:var(--plate-rear);border:3px solid #111;border-radius:7px;min-width:11.5ch;box-shadow:0 8px 24px #00000059}.uk-plate-text{flex:1;display:grid;place-items:center;padding:.28em .5em .22em;font-family:Charles Wright,UKNumberPlate,Mandatory,Arial Narrow,Franklin Gothic Medium,sans-serif;font-weight:700;font-stretch:condensed;letter-spacing:.1em;text-transform:uppercase}.uk-plate[data-face=front]{background:var(--plate-front)}.uk-plate[data-face=rear]{background:var(--plate-rear)}.uk-plate[data-empty=true]{color:#444;background:#d9d9d9;border-color:#555}.uk-plate[data-empty=true] .uk-plate-text{letter-spacing:.04em}.vehicle-line{margin:0;min-height:1.3em;color:var(--text);font-size:clamp(.95rem,2.6vw,1.25rem);font-weight:600}.vehicle-line:empty{min-height:0}.status-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:min(100%,640px)}.status-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:10px 12px;text-align:left}.status-kicker{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.status-card strong{display:block;margin:4px 0 2px;font-size:clamp(1.05rem,3vw,1.35rem)}.status-detail{color:var(--muted);font-size:.8rem}.status-card[data-state=ok]{border-color:color-mix(in srgb,var(--ok) 55%,var(--line))}.status-card[data-state=ok] strong{color:var(--ok)}.status-card[data-state=bad]{border-color:color-mix(in srgb,var(--bad) 55%,var(--line))}.status-card[data-state=bad] strong{color:var(--bad)}.status-card[data-state=warn]{border-color:color-mix(in srgb,var(--warn) 55%,var(--line))}.status-card[data-state=warn] strong{color:var(--warn)}.hint{margin:2px 0 0;color:var(--muted);font-size:.82rem}.hint[hidden]{display:none!important}.reset-hold{position:absolute;top:0;left:0;right:0;height:5px;overflow:hidden;background:#ffffff14}.reset-hold[hidden]{display:none!important}.reset-hold-fill{height:100%;width:0%;background:var(--accent)}.rotate-hint{display:none}@media(orientation:portrait){body:has(#app:not([hidden])) .rotate-hint{display:flex;position:fixed;inset:0;z-index:30;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#07080a;text-align:center;padding:24px}body:has(#app:not([hidden])) .rotate-hint span{color:var(--muted)}}dialog{border:1px solid var(--line);border-radius:18px;background:var(--panel);color:var(--text);width:min(92vw,380px);padding:18px}dialog::backdrop{background:#000000a6}dialog h2{margin:0 0 12px;font-size:1.1rem}dialog input{width:100%;border:1px solid var(--line);background:#0b0d10;color:var(--text);border-radius:10px;padding:12px;text-transform:uppercase;letter-spacing:.08em}.dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.dialog-actions button{border:1px solid var(--line);background:transparent;color:var(--text);border-radius:999px;padding:10px}.dialog-actions .primary{border:0;background:var(--accent);color:#111;font-weight:700}
