:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--in:#16a34a;--mid:#d97706;--out:#2563eb;--slate:#334155;--problem:#b91c1c;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:18pt}*{box-sizing:border-box}html,body,#root{color:#f8fafc;overscroll-behavior:none;-webkit-user-select:none;user-select:none;touch-action:manipulation;background:#0b1220;height:100%;margin:0}.screen{flex-direction:column;gap:2.5vh;min-height:100dvh;padding:3vh 5vw;display:flex}.tone-idle{background:#0b1220}.tone-fallback{background:var(--slate)}.tone-problem{background:var(--problem)}.tone-in{background:var(--in)}.tone-mid{background:var(--mid)}.tone-out{background:var(--out)}.where{text-align:center}.locked{text-align:center;color:#fbbf24;margin:0;font-size:16pt}.where-small{letter-spacing:.12em;text-transform:uppercase;opacity:.8;margin:0;font-size:14pt}.where-station{margin:.2em 0 0;font-size:7vh;font-weight:800;line-height:1}.clock{text-align:center}.clock-time{font-variant-numeric:tabular-nums;margin:0;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:15vh;font-weight:700;line-height:1}.clock-date{opacity:.85;margin:.4em 0 0;font-size:20pt}button{font:inherit;color:inherit;cursor:pointer;border:0}.tap{background:var(--in);letter-spacing:.04em;border-radius:24px;min-height:22vh;margin-top:auto;font-size:6vh;font-weight:800}.camera-wrap{background:#000;border-radius:24px;flex:1;position:relative;overflow:hidden}.camera{object-fit:cover;width:100%;height:100%;position:absolute;inset:0;transform:scaleX(-1)}.oval{aspect-ratio:3/4;border:8px solid #ffffffd9;border-radius:50%;width:62%;transition:border-color .2s;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 100vmax #00000059}.oval-ok{border-color:var(--in)}.guidance{text-align:center;min-height:2.6em;margin:0;font-size:26pt;font-weight:700}.who{align-items:center;gap:4vw;display:flex}.photo{aspect-ratio:4/5;object-fit:cover;background:#1e293b;border-radius:16px;width:22vw}.photo-none{justify-content:center;align-items:center;font-size:12vw;font-weight:700;display:flex}.who-name{margin:0;font-size:34pt;font-weight:800;line-height:1.1}.who-group{opacity:.85;margin:.3em 0 0}.who-status{font-variant-numeric:tabular-nums;margin:.3em 0 0}.who-hint{border-left:.3em solid var(--mid);background:#d977061f;margin:1em 0 0;padding:.6em .9em;font-size:1.1em}.actions{flex-direction:column;gap:2vh;margin-top:auto;display:flex}.action{border-radius:24px;justify-content:center;align-items:center;gap:.5em;min-height:max(120px,15vh);font-size:max(24pt,4.5vh);font-weight:800;display:flex}.action.tone-neutral{color:#0f172a;background:#f8fafc}.action.tone-secondary{background:0 0;border:3px solid #f8fafc}.action-icon{font-size:1.3em}.not-me{opacity:.85;background:0 0;align-self:center;padding:1em;font-size:18pt;text-decoration:underline}.done{text-align:center;margin:auto 0}.done-tick{margin:0;font-size:20vh;line-height:1}.done-action{margin:0;font-size:44pt;font-weight:800}.done-time{margin:.1em 0;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13vh;font-weight:700}.done-name{margin:0;font-size:30pt}.message{text-align:center;margin:auto 0}.message-title{font-size:32pt;font-weight:800;line-height:1.2}.desk-where{font-size:24pt;font-weight:700}.confirm-name{font-size:54pt;font-weight:800}.keypad-title{text-align:center;margin:0}.keypad-value{text-align:center;letter-spacing:.15em;min-height:1.2em;margin:0;font-family:ui-monospace,Menlo,monospace;font-size:7vh}.keypad{grid-template-columns:repeat(3,1fr);gap:1.5vh;display:grid}.keypad-alpha{grid-template-columns:repeat(7,1fr)}.key{color:#0f172a;background:#f8fafc;border-radius:18px;min-height:11vh;font-size:5vh;font-weight:700}.key-small{min-height:8vh;font-size:3vh}.key-ok{background:var(--in);color:#fff}.key:disabled{opacity:.4}.keypad-letters{gap:1.5vh;display:flex}.keypad-letters .key{flex:1}.qr-video{object-fit:cover;background:#000;border-radius:18px;width:100%;max-height:40vh}.code-form{flex-direction:column;gap:2vh;display:flex}.code-input{font:inherit;text-align:center;letter-spacing:.2em;border:0;border-radius:18px;padding:.3em;font-family:ui-monospace,Menlo,monospace;font-size:6vh}.error{text-align:center;background:#0000004d;border-radius:12px;padding:.8em;font-weight:700}.status dl{gap:.4em;font-size:15pt;display:grid}.status dl div{grid-template-columns:9em 1fr;display:grid}.status dt{opacity:.7}.status dd{margin:0}.status-log{white-space:pre-wrap;opacity:.8;font-size:11pt}
