:root{--bg: #0b0f14;--panel: #141b24;--panel-2: #1b2531;--text: #e6edf3;--muted: #8497a8;--accent: #4fd1b3;--accent-2: #6aa9ff;--danger: #ff6b6b;--radius: 16px}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:radial-gradient(1200px 800px at 50% -10%,#16202c 0%,var(--bg) 60%);color:var(--text);min-height:100vh}#app{max-width:720px;margin:0 auto;padding:24px 16px 48px;display:flex;flex-direction:column;gap:20px}header{text-align:center}header h1{margin:0;font-size:28px;font-weight:700;letter-spacing:-.02em}header h1 span{color:var(--accent)}.tagline{margin:4px 0 0;color:var(--muted);font-size:14px}.stage{background:var(--panel);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:16px}.video-wrap{position:relative;width:100%;aspect-ratio:1 / 1;border-radius:12px;overflow:hidden;background:#000}#video,#overlay{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}#overlay{pointer-events:none}.status{position:absolute;left:50%;bottom:12px;transform:translate(-50%);background:#0009;color:var(--text);padding:6px 14px;border-radius:999px;font-size:13px;white-space:nowrap;backdrop-filter:blur(6px)}.ring{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.ring circle{fill:none;stroke-width:3}.ring-bg{stroke:#ffffff1f}.ring-fg{stroke:var(--accent);stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset .2s linear}.controls{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}button{background:linear-gradient(180deg,var(--accent),#37b89b);color:#06231d;border:0;border-radius:12px;padding:12px 22px;font-size:15px;font-weight:650;cursor:pointer;transition:transform .05s ease,opacity .2s ease}button:hover{transform:translateY(-1px)}button:disabled{opacity:.4;cursor:not-allowed;transform:none}.toggle{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.toggle input{accent-color:var(--accent);width:16px;height:16px}.metrics-mini{display:flex;gap:12px;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums;margin-left:auto}.results{background:var(--panel);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius);padding:20px}.results h2{margin:0 0 16px;font-size:18px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}@media (max-width: 520px){.grid{grid-template-columns:repeat(2,1fr)}}.card{background:var(--panel-2);border-radius:12px;padding:14px;min-height:92px;display:flex;flex-direction:column;gap:4px}.card-label{color:var(--muted);font-size:12px}.card-value{font-size:26px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1}.card-unit{font-size:13px;font-weight:500;color:var(--muted);margin-left:4px}.card-note{font-size:11px;color:var(--accent-2);text-transform:uppercase;letter-spacing:.04em}.hidden{display:none}footer{text-align:center;color:var(--muted);font-size:11px;font-family:ui-monospace,monospace}.auth-overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(1200px 800px at 50% -10%,#16202c 0%,var(--bg) 60%)}.auth-card{width:100%;max-width:380px;background:var(--panel);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius);padding:28px 24px;display:flex;flex-direction:column;gap:12px}.auth-title{margin:0;text-align:center;font-size:24px;font-weight:700;letter-spacing:-.02em}.auth-title span{color:var(--accent)}.auth-sub{margin:0 0 8px;text-align:center;color:var(--muted);font-size:13px}.auth-card input{background:var(--panel-2);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:12px 14px;color:var(--text);font-size:15px}.auth-card input:focus{outline:none;border-color:var(--accent)}.auth-actions{display:flex;gap:10px}.auth-actions button{flex:1}.auth-error{color:var(--danger);font-size:12px;min-height:15px}.auth-notice{background:#6aa9ff1f;border:1px solid rgba(106,169,255,.35);color:var(--accent-2);border-radius:10px;padding:10px 12px;font-size:12px}.btn-ghost{background:transparent;color:var(--text);border:1px solid rgba(255,255,255,.14)}.btn-ghost:hover{transform:translateY(-1px)}.btn-google{width:100%}.btn-small{padding:6px 12px;font-size:13px}.user-bar{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:8px}.user-badge{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.gt-form{background:var(--panel-2);border:1px solid rgba(106,169,255,.25);border-radius:12px;padding:16px;margin-bottom:18px}.gt-form h3{margin:0 0 4px;font-size:15px}.gt-hint{margin:0 0 12px;color:var(--muted);font-size:12px}.gt-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media (max-width: 520px){.gt-fields{grid-template-columns:repeat(2,1fr)}}.gt-fields label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.gt-fields label span{font-size:11px;opacity:.7}.gt-fields .gt-wide{grid-column:1 / -1}.gt-fields input{background:var(--panel);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:10px 12px;color:var(--text);font-size:15px;font-variant-numeric:tabular-nums}.gt-fields input:focus{outline:none;border-color:var(--accent)}.gt-actions{display:flex;align-items:center;gap:12px;margin-top:14px}.gt-status{font-size:12px;color:var(--muted)}.gt-status.gt-ok{color:var(--accent)}.gt-status.gt-err{color:var(--danger)}
