/* Event Spotlight Crew: phone-first. Targets are at least 48px. */
html,body{overscroll-behavior:none}body{padding-bottom:calc(110px + env(safe-area-inset-bottom));height:auto;overflow:auto}
.chead{position:sticky;top:0;z-index:20;background:#101B33;color:#fff;padding:10px 14px;display:flex;align-items:center;gap:10px}
.chead b{font:700 20px var(--display);text-transform:uppercase;letter-spacing:.04em}.chead small{display:block;color:#A3AECB;font-size:14px}
.chead select{background:#fff;color:#101B33;border:0;border-radius:4px;min-height:40px;padding:0 8px;font-weight:600;max-width:150px}
.pill{border-radius:4px;padding:3px 10px;font:700 15px var(--display);text-transform:uppercase;letter-spacing:.05em}.pill.on{background:var(--green);color:#fff}.pill.off{background:var(--yellow);color:#101B33}
.cview{padding:14px;max-width:640px;margin:0 auto}
.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--panel);border-top:3px solid var(--head);display:grid;grid-auto-flow:column;grid-auto-columns:1fr;padding-bottom:env(safe-area-inset-bottom)}
.tabbar button{background:none;border:0;min-height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font:700 15px var(--display);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);position:relative}
.tabbar button.on{color:var(--blue);box-shadow:inset 0 4px 0 var(--blue)}.tabbar svg{width:24px;height:24px}
.tabbar .cnt{position:absolute;top:6px;right:calc(50% - 26px);background:var(--red);color:#fff;border-radius:3px;font:700 14px var(--display);padding:0 5px}
.cam{position:relative;background:#000;border-radius:4px;overflow:hidden;aspect-ratio:1/1;max-height:46vh;display:grid;place-items:center;color:#fff;text-align:center}
.cam video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cam .frame{position:absolute;inset:18%;border:4px solid var(--yellow);border-radius:6px;pointer-events:none}
.big-btn{min-height:56px;font-size:18px;width:100%}
.res{position:fixed;inset:0;z-index:80;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;color:#fff}
.res.valid{background:var(--green)}.res.warn{background:var(--yellow);color:#101B33}.res.bad{background:var(--red)}
.res h1{font:700 64px/1 var(--display);text-transform:uppercase;letter-spacing:.03em}.res .sub{font-size:24px;margin-top:10px;font-weight:600}.res .det{font-size:19px;margin-top:8px;max-width:520px;opacity:.95}
.res .strip{width:min(360px,80%);height:34px;margin:18px auto}.res.valid .strip{background:repeating-linear-gradient(90deg,#FFC93C 0 22px,transparent 22px 28px)}
.res .btns{display:grid;gap:10px;margin-top:26px;width:min(420px,100%)}.res .btns .btn{min-height:56px;font-size:19px;background:#fff;color:#101B33;border-color:#fff}.res .btns .btn.line{background:transparent;color:inherit;border-color:currentColor}
.cl-item{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line-2);min-height:52px}.cl-item input{width:26px;height:26px;accent-color:var(--blue);flex:none;margin-top:2px}
.ru{display:grid;grid-template-columns:70px 1fr auto;gap:10px;padding:12px 0;border-bottom:1px solid var(--line-2);align-items:center}.ru.now{background:var(--yellow-soft);margin:0 -14px;padding-left:14px;padding-right:14px;border-left:6px solid var(--yellow)}
.ru .t{font:700 22px var(--display)}
