.app{position:relative;width:100%;height:100%;overflow:hidden;background:#0a0a0f;color:#fff;user-select:none;-webkit-user-select:none}.camera-stage{position:absolute;top:0;right:0;bottom:0;left:0;background:#0a0a0f;display:flex;align-items:stretch;justify-content:stretch;padding:14px;box-sizing:border-box}.camera-frame{position:relative;flex:1;width:100%;height:100%;border:10px solid #ffffff;border-radius:18px;box-shadow:0 0 0 3px #ffffff59,0 12px 40px #0000008c,inset 0 0 0 1px #00000040;overflow:hidden;background:#000;box-sizing:border-box}.camera-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;background:#000}.camera-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.countdown-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;z-index:20;pointer-events:none;background:radial-gradient(circle at center,#00000040,#0000008c)}.countdown-value{font-size:clamp(6rem,28vw,14rem);font-weight:900;letter-spacing:.04em;text-shadow:0 8px 40px rgba(0,0,0,.55),0 0 60px currentColor;line-height:1}.hud{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none;padding:1.25rem clamp(1rem,3vw,2rem)}.hud-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.logo{margin:0;font-size:clamp(1.25rem,3vw,1.75rem);font-weight:900;letter-spacing:.06em;text-transform:uppercase;text-shadow:0 2px 12px rgba(0,0,0,.6)}.logo span{display:block;font-size:.55em;font-weight:600;letter-spacing:.18em;color:#ffbe0b;opacity:.95}.timer{font-variant-numeric:tabular-nums;font-size:clamp(1.5rem,4vw,2.5rem);font-weight:800;padding:.35rem .85rem;border-radius:999px;background:#0a0a148c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);box-shadow:0 8px 24px #00000059}.hud-center{display:flex;flex-direction:column;align-items:center;gap:1rem;pointer-events:none}.banner{pointer-events:none;padding:.85rem 1.4rem;border-radius:999px;font-weight:700;font-size:clamp(1rem,2.5vw,1.25rem);letter-spacing:.04em;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 10px 30px #00000059;text-align:center;max-width:min(92vw,36rem)}.banner-info{background:#3a86ff59;border:1px solid rgba(58,134,255,.7)}.banner-warn{background:#ffbe0b59;border:1px solid rgba(255,190,11,.75);color:#fff8d6}.banner-error{background:#ff006e66;border:1px solid rgba(255,0,110,.8)}.win-banner{pointer-events:none;font-size:clamp(1.5rem,5vw,3rem);font-weight:900;letter-spacing:.06em;padding:1rem 1.75rem;border-radius:1.25rem;background:linear-gradient(135deg,#ff006e,#8338ec 50%,#3a86ff);box-shadow:0 16px 50px #ff006e73,0 0 0 3px #ffffff40;text-align:center;text-shadow:0 2px 8px rgba(0,0,0,.35)}.hud-bottom{display:flex;justify-content:center;align-items:center;min-height:4.5rem;pointer-events:none}.btn{pointer-events:auto;cursor:pointer;border:none;border-radius:999px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;padding:1rem 2.75rem;font-size:clamp(1.1rem,3vw,1.5rem);color:#0a0a0f;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease;box-shadow:0 12px 32px #00000059}.btn:active:not(:disabled){transform:scale(.96)}.btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.btn-start{background:linear-gradient(135deg,#ffbe0b,#fb5607);color:#1a1000}.btn-start:not(:disabled):hover{box-shadow:0 12px 32px #ffbe0b73,0 0 0 3px #ffbe0b59}.btn-restart{background:linear-gradient(135deg,#3a86ff,#8338ec);color:#fff}.btn-restart:hover{box-shadow:0 12px 32px #3a86ff73,0 0 0 3px #3a86ff59}.hint{font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.85;text-shadow:0 2px 10px rgba(0,0,0,.6);background:#0a0a1473;padding:.6rem 1.2rem;border-radius:999px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}@media(max-width:600px){.hud{padding:.85rem}.btn{padding:.9rem 2rem}}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;padding:0;width:100%;height:100%;overflow:hidden;background:#0a0a0f;color:#fff;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}button{font-family:inherit}
