body{background:#0a0a0a;color:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;overflow-x:hidden;min-height:100dvh}*{margin:0;padding:0;box-sizing:border-box}body{background:#0a0a0a;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden;height:100dvh}#cam-layer{position:fixed;inset:0;z-index:0}#cam-layer video,#cam-layer canvas{position:absolute;width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}#cam-layer:after{content:"";position:absolute;inset:0;background:#0000004d;pointer-events:none}#title-overlay{position:fixed;inset:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:#0000008c;pointer-events:none}#title-overlay h1{font-family:Orbitron,sans-serif;font-size:90px;font-weight:900;letter-spacing:2px;background:linear-gradient(135deg,#0f8,#0af);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}#title-overlay p{color:#ccc;font-size:16px;max-width:320px;text-align:center;line-height:1.5}#title-overlay .sub{color:#888;font-size:13px}#title-auth{pointer-events:auto;margin-top:4px;display:flex;flex-direction:column;align-items:center;gap:8px}.btn-google-signin{display:flex;align-items:center;gap:10px;padding:12px 28px;border:1px solid #333;border-radius:12px;background:#fff;color:#333;font-size:14px;font-weight:700;cursor:pointer;font-family:Inter,sans-serif;transition:background .15s,box-shadow .2s}.btn-google-signin:hover{background:#f0f0f0;box-shadow:0 0 20px #ffffff1a}.btn-google-signin svg{width:18px;height:18px}.auth-hint{font-size:11px;color:#555}#user-badge{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:10px;background:#00ff8814;border:1px solid rgba(0,255,136,.15)}#user-badge img{width:24px;height:24px;border-radius:50%}#user-badge .user-name{font-size:13px;font-weight:700;color:#0f8}.btn-signout{background:none;border:none;color:#444;font-size:11px;cursor:pointer;pointer-events:auto;text-decoration:underline}#hud{position:fixed;inset:0;z-index:10;pointer-events:none}#brand-bar{position:absolute;top:0;left:0;right:0;display:flex;justify-content:center;align-items:center;padding:10px 16px;background:#0009;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}#brand-bar .brand{font-family:Orbitron,sans-serif;font-size:16px;font-weight:900;letter-spacing:2px;background:linear-gradient(135deg,#0f8,#0af);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}#brand-bar .brand .dot{-webkit-text-fill-color:#fff}.hand-dot{display:none}#score{position:absolute;top:46px;left:0;right:0;text-align:center;font-size:100px;font-weight:900;font-family:Orbitron,sans-serif;letter-spacing:-2px;text-shadow:0 0 60px rgba(0,255,136,.4),0 4px 30px rgba(0,0,0,.8);transition:transform .08s}#score.pop{transform:scale(1.3)}#timer{position:absolute;top:160px;left:0;right:0;text-align:center;font-size:28px;font-weight:700;font-family:Orbitron,sans-serif;letter-spacing:2px;color:#fff;text-shadow:0 0 20px rgba(0,0,0,.8)}#timer.urgent{color:#f44;text-shadow:0 0 20px rgba(255,68,68,.5)}#tacho{position:absolute;bottom:60px;left:50%;transform:translate(-50%);width:min(92vw,440px);aspect-ratio:2 / 1.15}#tacho svg{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 0 40px rgba(0,0,0,.7))}#tacho-speed{position:absolute;bottom:0;left:50%;transform:translate(-50%);text-align:center;font-family:Orbitron,sans-serif;font-size:42px;font-weight:700;letter-spacing:0px;text-shadow:0 0 20px rgba(0,255,136,.5)}#tacho-speed small{font-size:13px;font-weight:700;letter-spacing:1px;color:#888;display:block;margin-top:-2px}#needle-group{transition:transform .12s ease-out}#message{position:absolute;bottom:0;left:0;right:0;text-align:center;padding:12px;font-size:14px;font-weight:600;background:#0009;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}#message.go{color:#0f8}#countdown{position:fixed;inset:0;z-index:90;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#000000b3}#countdown .get-ready{font-family:Orbitron,sans-serif;font-size:24px;font-weight:700;text-transform:uppercase;letter-spacing:6px;color:#0f8;text-shadow:0 0 30px rgba(0,255,136,.4)}#countdown .number{font-family:Orbitron,sans-serif;font-size:160px;font-weight:900;letter-spacing:-4px;text-shadow:0 0 60px rgba(0,255,136,.5)}#countdown .instruction{font-size:18px;font-weight:600;color:#ccc;max-width:320px;text-align:center;line-height:1.5;margin-top:10px}@keyframes count-pop{0%{transform:scale(.5);opacity:0}50%{transform:scale(1.1);opacity:1}to{transform:scale(1);opacity:1}}#countdown .number span{animation:count-pop .5s ease-out;display:block}#results{position:fixed;inset:0;z-index:80;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:#0009}#results h2{font-family:Orbitron,sans-serif;font-size:22px;font-weight:700;color:#888;text-transform:uppercase;letter-spacing:4px}#results .final-score{font-family:Orbitron,sans-serif;font-size:120px;font-weight:900;letter-spacing:-2px;background:linear-gradient(135deg,#0f8,#0af);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}#results .final-label{font-size:18px;color:#666;margin-top:-10px}#results .retry-hint{font-size:14px;color:#555;margin-top:10px}.result-actions{display:flex;gap:10px;margin-top:6px;pointer-events:auto}.result-actions button{display:flex;align-items:center;gap:8px;padding:12px 24px;border:none;border-radius:12px;font-family:Inter,sans-serif;font-size:14px;font-weight:700;cursor:pointer;transition:transform .1s,box-shadow .2s}.result-actions button:active{transform:scale(.96)}.result-actions button svg{width:18px;height:18px}.btn-save{background:linear-gradient(135deg,#0f8,#0af);color:#000}.btn-save:hover{box-shadow:0 0 25px #00ff884d}.btn-share{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.15)!important}.btn-share:hover{background:#ffffff26}#auth-modal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#000c;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);pointer-events:auto}.auth-card{background:#151515;border-radius:20px;border:1px solid #222;width:90%;max-width:380px;padding:32px 28px;box-shadow:0 20px 60px #00000080}.auth-close{float:right;background:none;border:none;color:#555;font-size:20px;cursor:pointer;padding:4px 8px;line-height:1}.auth-close:hover{color:#aaa}.auth-logo{font-family:Orbitron,sans-serif;font-size:20px;font-weight:900;text-align:center;margin-bottom:6px;background:linear-gradient(135deg,#0f8,#0af);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.auth-subtitle{text-align:center;font-size:13px;color:#666;margin-bottom:24px}.auth-google{width:100%;padding:14px;border:1px solid #333;border-radius:12px;background:#fff;color:#333;font-size:15px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;font-family:Inter,sans-serif;transition:background .15s}.auth-google:hover{background:#f0f0f0}.auth-google svg{width:20px;height:20px}.auth-divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:#444;font-size:12px;font-weight:600}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#222}.auth-email-input{width:100%;padding:13px 16px;border:1px solid #333;border-radius:12px;background:#111;color:#fff;font-size:14px;font-family:Inter,sans-serif;outline:none;transition:border-color .2s}.auth-email-input:focus{border-color:#0f8}.auth-email-input::placeholder{color:#444}.auth-submit{width:100%;padding:13px;border:none;border-radius:12px;background:linear-gradient(135deg,#0f8,#0af);color:#000;font-size:14px;font-weight:700;cursor:pointer;font-family:Inter,sans-serif;margin-top:10px;transition:box-shadow .2s}.auth-submit:hover{box-shadow:0 0 20px #00ff884d}.auth-terms{text-align:center;font-size:11px;color:#444;margin-top:16px;line-height:1.5}.auth-terms a{color:#666;text-decoration:underline}#save-confirm{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#000c;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);pointer-events:auto}.save-card{background:#151515;border-radius:20px;border:1px solid #222;width:90%;max-width:380px;padding:28px;text-align:center}.save-card .check-anim{width:60px;height:60px;border-radius:50%;background:#00ff881a;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:28px;border:2px solid rgba(0,255,136,.2)}.save-card h3{font-family:Orbitron,sans-serif;font-size:16px;font-weight:700;margin-bottom:6px}.save-card p{font-size:13px;color:#666;margin-bottom:16px}.save-card .rank-preview{display:inline-block;padding:6px 16px;border-radius:8px;background:#00ff8814;border:1px solid rgba(0,255,136,.12);font-family:Orbitron,sans-serif;font-size:13px;font-weight:700;color:#0f8;margin-bottom:16px}.save-card .save-actions{display:flex;gap:8px;justify-content:center}.save-card .save-actions button{padding:10px 20px;border:none;border-radius:10px;font-size:13px;font-weight:700;cursor:pointer;font-family:Inter,sans-serif}.save-card .btn-leaderboard{background:linear-gradient(135deg,#0f8,#0af);color:#000}.save-card .btn-close-save{background:#ffffff14;color:#888}#share-modal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#000c;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);pointer-events:auto}.share-modal-card{background:#151515;border-radius:20px;border:1px solid #222;width:90%;max-width:400px;padding:28px}.share-modal-card h3{font-family:Orbitron,sans-serif;font-size:14px;font-weight:700;text-align:center;margin-bottom:20px;letter-spacing:2px}.share-preview{background:linear-gradient(135deg,#0a0a0a,#111);border:1px solid #1a1a1a;border-radius:16px;padding:24px;text-align:center;position:relative;overflow:hidden;margin-bottom:20px}.share-preview:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#0f8,#0af,#0f8)}.share-preview .sp-brand{font-family:Orbitron,sans-serif;font-size:10px;color:#333;letter-spacing:3px;margin-bottom:8px}.share-preview .sp-score{font-family:Orbitron,sans-serif;font-size:56px;font-weight:900;background:linear-gradient(135deg,#0f8,#0af);-webkit-background-clip:text;-webkit-text-fill-color:transparent;line-height:1}.share-preview .sp-label{font-size:13px;color:#555;margin-top:4px}.share-preview .sp-user{font-size:15px;font-weight:700;color:#ccc;margin-top:8px}.share-preview .sp-challenge{font-family:Orbitron,sans-serif;font-size:9px;color:#333;letter-spacing:2px;margin-top:12px}.share-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.share-buttons button{padding:12px;border:1px solid #222;border-radius:10px;background:#ffffff0a;color:#ccc;font-size:13px;font-weight:700;cursor:pointer;font-family:Inter,sans-serif;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .15s}.share-buttons button:hover{background:#ffffff14}.share-buttons button svg{width:16px;height:16px;fill:currentColor}.share-close{width:100%;padding:12px;border:none;border-radius:10px;background:#ffffff0f;color:#666;font-size:13px;font-weight:700;cursor:pointer;font-family:Inter,sans-serif;margin-top:8px}.mode-toggle{display:flex;gap:0;border-radius:50px;overflow:hidden;border:2px solid rgba(255,255,255,.15);pointer-events:auto;margin-top:8px}.mode-toggle button{padding:10px 22px;border:none;cursor:pointer;font-family:Orbitron,sans-serif;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;background:#ffffff0d;color:#666;transition:all .2s}.mode-toggle button.active{background:linear-gradient(135deg,#0f8,#0af);color:#000}.mode-toggle button:first-child{border-radius:50px 0 0 50px}.mode-toggle button:last-child{border-radius:0 50px 50px 0}.mode-label{font-size:11px;color:#555;margin-top:4px;text-align:center;max-width:280px;line-height:1.4}.hidden{display:none!important}
