:root{--bg: #f5f7f7;--surface: #ffffff;--text: #13262b;--muted: #5b6d72;--line: #dde5e6;--brand: #0e7c7b;--brand-dark: #0a5f5e;--accent: #b7d63b;--ok: #1f8a4c;--warn: #b26a00;--error: #b3261e;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg);line-height:1.5;font-size:18px;-webkit-tap-highlight-color:transparent}*{box-sizing:border-box}body{margin:0}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}h1{font-size:1.6rem;margin:.25rem 0 .75rem}h2{font-size:1.1rem;margin:0 0 .5rem}.screen{max-width:560px;margin:0 auto;padding:calc(1.25rem + env(safe-area-inset-top)) 1.25rem calc(2rem + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:.9rem;min-height:100vh}.center-screen{justify-content:center;text-align:center}.center{text-align:center;margin-top:30vh}.brand{font-weight:800;font-size:2rem}.brand span{color:var(--brand)}.eyebrow{margin:0;color:var(--brand-dark);font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}.lead{font-size:1.1rem}.muted{color:var(--muted)}.small{font-size:.85rem}.tag{display:inline-block;background:#fff4d6;color:var(--warn);border-radius:6px;padding:.1rem .5rem}.error{color:var(--error);font-weight:600}.success{color:var(--ok);font-weight:700}.note{background:#fff4d6;border-radius:10px;padding:.75rem;margin:0}.panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1rem 1.1rem}.checks{padding-left:1.2rem;margin:.25rem 0}.checks li{margin-bottom:.4rem}.consent{display:flex;gap:.75rem;align-items:flex-start}.consent input{width:28px;height:28px;flex-shrink:0;accent-color:var(--brand)}.btn,.btn-ghost{font:inherit;font-weight:700;border-radius:12px;min-height:52px;padding:.8rem 1.2rem;cursor:pointer}.btn{background:var(--brand);color:#fff;border:0}.btn:disabled{opacity:.5}.btn.big{width:100%;font-size:1.1rem}.btn.danger{background:var(--error)}.btn-ghost{background:transparent;border:1px solid var(--line);color:var(--text)}.back{align-self:flex-start;background:none;border:0;font:inherit;color:var(--brand-dark);padding:.5rem 0;min-height:44px;cursor:pointer}.tasks{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.task{width:100%;text-align:left;font:inherit;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1rem 1.1rem;display:grid;gap:.2rem;cursor:pointer;color:var(--text)}.task-title{font-weight:700}.task-meta{color:var(--muted);font-size:.9rem}.task-go{color:var(--brand-dark);font-weight:700;font-size:.9rem}.footer-note{margin-top:auto;text-align:center}.result{display:flex;flex-direction:column;align-items:center;padding:1.5rem;background:var(--surface);border-radius:18px;border:1px solid var(--line)}.result-value{font-size:4rem;font-weight:800;color:var(--brand);line-height:1.1}.camera-screen{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;color:#fff}.stage{position:absolute;top:0;right:0;bottom:0;left:0}.stage video,.stage canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain}.stage.mirrored video,.stage.mirrored canvas{transform:scaleX(-1)}.hud-top{position:absolute;top:calc(.75rem + env(safe-area-inset-top));left:.75rem;right:.75rem;display:flex;justify-content:space-between;gap:.5rem}.chip{font:inherit;font-weight:700;font-size:.95rem;border:0;border-radius:99px;min-height:44px;min-width:44px;padding:.5rem .9rem;background:#0000008c;color:#fff}.chip.ok{background:#1f8a4ce6}.chip.warn{background:#b26a00e6}.countdown{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:9rem;font-weight:800;text-shadow:0 4px 24px rgba(0,0,0,.6)}.hud-bottom{position:absolute;left:0;right:0;bottom:0;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom));background:linear-gradient(transparent,#000000bf);display:flex;flex-direction:column;gap:.75rem;align-items:stretch;max-width:560px;margin:0 auto}.angle{text-align:center;font-size:3.5rem;font-weight:800;line-height:1;display:flex;flex-direction:column}.angle small{font-size:.9rem;font-weight:500;opacity:.85;margin-top:.25rem}.error-box{background:#b3261ee6;border-radius:10px;padding:.6rem .8rem;margin:0}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
