:root{--bg: #0b0b0f;--bg-elevated: #16161d;--border: #2a2a35;--text: #f5f5f7;--text-muted: #9a9aa8;--accent: #f0c040;--accent-text: #0b0b0f;--ok: #3ecf8e;--warn: #f0a83c;--error: #f2555a;--radius: 18px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:18px;line-height:1.45;touch-action:manipulation;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%}.screen{min-height:100%;display:flex;flex-direction:column;padding:calc(env(safe-area-inset-top) + 24px) calc(env(safe-area-inset-right) + 24px) calc(env(safe-area-inset-bottom) + 24px) calc(env(safe-area-inset-left) + 24px);gap:20px}.screen--center{align-items:center;justify-content:center;text-align:center}.screen--scroll{overflow-y:auto;-webkit-overflow-scrolling:touch}h1{font-size:clamp(28px,5vw,46px);margin:0;letter-spacing:.02em}h2{font-size:clamp(20px,3vw,28px);margin:0}p{margin:0;color:var(--text-muted)}.muted{color:var(--text-muted)}.button{appearance:none;border:2px solid var(--border);background:var(--bg-elevated);color:var(--text);border-radius:var(--radius);padding:18px 28px;font-size:20px;font-weight:600;cursor:pointer;min-height:64px;transition:transform .12s ease,background .16s ease}.button:active{transform:scale(.98)}.button:disabled{opacity:.4;cursor:not-allowed}.button--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.button--danger{border-color:var(--error);color:var(--error)}.button--huge{font-size:clamp(26px,4vw,40px);padding:34px 56px;min-height:110px;border-radius:28px}.button-row{display:flex;gap:18px;flex-wrap:wrap;justify-content:center}.welcome{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;cursor:pointer}.welcome__title{font-size:clamp(38px,8vw,88px);font-weight:800;line-height:1.05;letter-spacing:.01em;max-width:14ch}.welcome__pulse{width:140px;height:140px;border-radius:50%;border:6px solid var(--accent);animation:pulse 2.4s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:.9}50%{transform:scale(1.12);opacity:.45}}.stage{position:relative;flex:1;display:flex;align-items:center;justify-content:center;background:#000;border-radius:24px;overflow:hidden}.stage__video{width:100%;height:100%;object-fit:cover}.stage__video--mirrored{transform:scaleX(-1)}.stage__countdown{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:clamp(120px,30vw,320px);font-weight:800;color:#fff;text-shadow:0 8px 40px rgba(0,0,0,.6);pointer-events:none}.stage__hint{position:absolute;bottom:28px;left:50%;transform:translate(-50%);background:#0000008c;padding:10px 22px;border-radius:999px;font-size:20px}.stage__shots{position:absolute;top:24px;left:50%;transform:translate(-50%);display:flex;gap:10px}.stage__shot-dot{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.7)}.stage__shot-dot--done{background:var(--accent);border-color:var(--accent)}.flash{position:fixed;inset:0;background:#fff;z-index:50;animation:flash .42s ease-out forwards;pointer-events:none}@keyframes flash{0%{opacity:1}to{opacity:0}}.preview{flex:1;display:flex;align-items:center;justify-content:center;min-height:0}.preview img{max-width:100%;max-height:100%;border-radius:12px;box-shadow:0 20px 60px #0009}.qr{background:#fff;padding:20px;border-radius:20px;line-height:0}.qr img{width:min(52vw,340px);height:auto}.panel{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;gap:14px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.kv{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid var(--border);font-size:17px}.kv:last-child{border-bottom:none}.kv__value{font-variant-numeric:tabular-nums;font-weight:600}.checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.checklist li{display:flex;align-items:center;gap:12px;font-size:18px}.checklist__mark{width:28px;text-align:center;font-weight:700}.checklist__mark--ok{color:var(--ok)}.checklist__mark--ko{color:var(--error)}.checklist__mark--pending{color:var(--text-muted)}.badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;font-size:15px;font-weight:600;border:1px solid var(--border)}.badge--ok{color:var(--ok);border-color:var(--ok)}.badge--warn{color:var(--warn);border-color:var(--warn)}.badge--error{color:var(--error);border-color:var(--error)}.event-card{display:flex;justify-content:space-between;align-items:center;gap:20px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:20px 24px;text-align:left;flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:8px}.field label{font-size:15px;color:var(--text-muted)}.field input{background:#0d0d13;border:2px solid var(--border);border-radius:12px;color:var(--text);padding:14px 16px;font-size:18px;min-height:56px;-webkit-user-select:text;user-select:text}.pin-input{font-size:40px;letter-spacing:.4em;text-align:center}.error-box{border:1px solid var(--error);color:var(--error);border-radius:12px;padding:16px;background:#f2555a14}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
