@import "https://fonts.googleapis.com/css2?family=Fredoka:wght@400;500;600;700&family=Nunito:wght@400;500;600;700&display=swap";
@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.8e0177b5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.b97b3418.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.853070df.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist","Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.c1fdd6c2.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.799d8ef8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.dbea232f.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}
:root,[data-theme=light]{--sage-50:#f4f8f5;--sage-100:#e3ede6;--sage-200:#c4d9c9;--sage-300:#98bea0;--sage-400:#6b9e76;--sage-500:#4d8058;--sage-600:#3a6344;--sage-700:#2a4a32;--sky-100:#e8f0fb;--sky-300:#93b8ef;--peach-100:#fce8df;--peach-300:#f0a882;--lavender-100:#ede8f8;--feature-green:#e3ede6;--feature-blue:#e8f0fb;--feature-peach:#fce8df;--feature-lavender:#ede8f8;--bg:#fdf9f3;--bg-secondary:#f4f8f5;--card:#fff;--border:#e3ede6;--border-focus:#98bea0;--text-primary:#2d3a30;--text-secondary:#5a7060;--text-muted:#9ab09f;--nav-bg:#fdf9f3f0;--shadow-sm:0 2px 10px #2d3a300f;--shadow-md:0 6px 24px #2d3a3017;--orb-bg:linear-gradient(135deg,#e3ede6,#e8f0fb);--orb-glow:#6b9e762e;--orb-ring:#6b9e7638}[data-theme=dark]{--sage-50:#0d1f12;--sage-100:#152a1a;--sage-200:#1f3d26;--sage-300:#2d5e38;--sage-400:#4a8a5a;--sage-500:#60a870;--sage-600:#7dc48e;--sage-700:#a4d4b0;--sky-100:#0f1e2e;--sky-300:#4a7eb5;--peach-100:#2a1510;--peach-300:#c4754a;--lavender-100:#1a152a;--feature-green:#152a1a;--feature-blue:#0f1e2e;--feature-peach:#2a1510;--feature-lavender:#1a152a;--bg:#0a120d;--bg-secondary:#0d1710;--card:#101a13;--border:#1e3024;--border-focus:#4a8a5a;--text-primary:#d4e8da;--text-secondary:#7aaa86;--text-muted:#3d6047;--nav-bg:#0a120df2;--shadow-sm:0 2px 10px #0000004d;--shadow-md:0 6px 24px #0006;--orb-bg:linear-gradient(135deg,#152a1a,#0f1e2e);--orb-glow:#60a87038;--orb-ring:#60a8702e}:root{--r-sm:10px;--r-md:18px;--r-lg:26px;--r-xl:36px;--r-full:9999px;--ease:cubic-bezier(.4,0,.2,1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar{display:none}body::-webkit-scrollbar{display:none}.page::-webkit-scrollbar{display:none}html{scroll-behavior:smooth;font-size:17px;overflow-y:auto}body{background:var(--bg);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;transition:background .4s var(--ease),color .4s var(--ease);font-family:Nunito,sans-serif;line-height:1.65;overflow-x:hidden}.page{background:var(--bg);flex-direction:column;min-height:100vh;display:flex;position:relative;overflow:hidden}.page:before{content:"";background:radial-gradient(circle at 15% 15%,var(--orb-glow)0%,transparent 55%),radial-gradient(circle at 85% 85%,#93b8ef0a 0%,transparent 50%);pointer-events:none;z-index:0;transition:background .4s var(--ease);position:fixed;inset:0}.page>*{z-index:1;position:relative}.nav{background:var(--nav-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:2px solid var(--border);z-index:10;min-height:56px;transition:background .4s var(--ease),border-color .4s var(--ease);justify-content:space-between;align-items:center;gap:12px;padding:14px 24px;display:flex;position:relative;overflow:visible}@media (min-width:768px){.nav{min-height:72px;padding:16px 32px}}.logo{color:var(--sage-600);letter-spacing:-.2px;transition:color .4s var(--ease);flex-shrink:0;align-items:center;gap:10px;font-family:Fredoka,sans-serif;font-size:1.5rem;font-weight:700;text-decoration:none;display:flex}@media (min-width:768px){.logo{font-size:1.75rem}}.logo:hover{text-decoration:none}.logo em{color:var(--sage-500);font-style:normal}.logo-icon{object-fit:cover;border-radius:50%;flex-shrink:0;width:56px;height:56px}.logo>span{display:inline}.progress-wrap{background:var(--card);border-bottom:2px solid var(--border);transition:background .4s var(--ease),border-color .4s var(--ease);padding:18px 32px 16px}.progress-steps{scrollbar-width:none;align-items:center;display:flex;overflow-x:auto}.progress-steps::-webkit-scrollbar{display:none}.step-dot{width:38px;height:38px;transition:all .5s var(--ease);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:Fredoka,sans-serif;font-size:.92rem;font-weight:600;display:flex}.step-dot.done{background:var(--sage-400);color:#fff}.step-dot.active{background:var(--sage-600);color:#fff;box-shadow:0 0 0 5px var(--orb-ring)}.step-dot.upcoming{background:var(--sage-100);color:var(--text-muted)}.step-line{background:var(--sage-100);min-width:14px;height:3px;transition:background .5s var(--ease);flex:1}.step-line.done{background:var(--sage-300)}.main{flex:1;width:100%;max-width:620px;margin:0 auto;padding:52px 28px 80px}.page-title{color:var(--text-primary);margin-bottom:12px;font-family:Fredoka,sans-serif;font-size:clamp(1.9rem,5vw,2.5rem);font-weight:600;line-height:1.25}.page-title em{color:var(--sage-500);font-style:normal}.subtitle{color:var(--text-secondary);margin-bottom:40px;font-size:1.05rem;font-weight:500;line-height:1.8}.btn{border-radius:var(--r-xl);letter-spacing:.3px;cursor:pointer;min-height:58px;transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease);-webkit-tap-highlight-color:transparent;border:none;justify-content:center;align-items:center;gap:10px;padding:14px 30px;font-family:Fredoka,sans-serif;font-size:1.08rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--sage-500);color:#fff;box-shadow:0 4px 16px #4d805847}.btn-primary:hover{background:var(--sage-600);transform:translateY(-2px);box-shadow:0 8px 24px #4d805852}.btn-secondary{background:var(--sage-100);color:var(--sage-600)}.btn-secondary:hover{background:var(--sage-200)}.btn-outline{color:var(--text-secondary);border:2.5px solid var(--border);background:0 0}.btn-outline:hover{border-color:var(--sage-400);color:var(--sage-500);background:var(--sage-50)}.btn:disabled{opacity:.38;cursor:not-allowed;box-shadow:none!important;transform:none!important}.btn-full{width:100%}.card{background:var(--card);border:2px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);transition:background .4s var(--ease),border-color .4s var(--ease),box-shadow .35s var(--ease)}.choice-card{background:var(--card);border:2.5px solid var(--border);border-radius:var(--r-lg);cursor:pointer;transition:all .35s var(--ease);-webkit-tap-highlight-color:transparent;align-items:center;gap:16px;min-height:72px;padding:18px 22px;display:flex}.choice-card:hover{border-color:var(--sage-400);background:var(--sage-50);transform:translateY(-1px)}.choice-card.selected{border-color:var(--sage-400);background:var(--sage-50);box-shadow:0 0 0 4px var(--orb-ring)}.choice-card .radio-dot{border:2.5px solid var(--sage-300);width:26px;height:26px;transition:all .35s var(--ease);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.choice-card.selected .radio-dot{background:var(--sage-500);border-color:var(--sage-500);color:#fff;font-size:.8rem}.label{color:var(--text-secondary);margin-bottom:9px;font-size:.9rem;font-weight:700;display:block}.input{border:2.5px solid var(--border);border-radius:var(--r-md);width:100%;min-height:56px;color:var(--text-primary);background:var(--card);transition:border-color .35s var(--ease),box-shadow .35s var(--ease),background .4s var(--ease),color .4s var(--ease);appearance:none;outline:none;padding:14px 20px;font-family:Nunito,sans-serif;font-size:1rem;font-weight:500}.input:focus{border-color:var(--sage-400);box-shadow:0 0 0 4px var(--orb-ring)}.input::placeholder{color:var(--text-muted)}.input.error{border-color:var(--peach-300)}.error-msg{color:var(--peach-300);margin-top:7px;font-size:.85rem;font-weight:600}.chip{border-radius:var(--r-full);letter-spacing:.3px;background:var(--sage-100);color:var(--sage-600);border:1.5px solid var(--sage-200);transition:background .4s var(--ease),color .4s var(--ease),border-color .4s var(--ease);align-items:center;gap:6px;margin-bottom:22px;padding:6px 16px;font-size:.82rem;font-weight:700;display:inline-flex}.check-row{background:var(--card);border:2px solid var(--border);border-radius:var(--r-lg);transition:all .35s var(--ease);align-items:center;gap:16px;min-height:76px;padding:18px 22px;display:flex}.check-row.pass{border-color:var(--sage-300);background:var(--sage-50)}.check-row.fail{border-color:var(--peach-300);background:var(--peach-100)}.check-row.checking{border-color:var(--sky-300);background:var(--sky-100)}.check-icon{width:40px;height:40px;transition:all .4s var(--ease);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;font-weight:700;display:flex}.check-icon.idle{background:var(--sage-100)}.check-icon.pass{background:var(--sage-400);color:#fff}.check-icon.fail{background:var(--peach-300);color:#fff}.check-icon.checking{border:3px solid var(--sky-300);background:0 0;border-top-color:#0000;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fade{opacity:0;animation:fadeUp .5s var(--ease)both}.fade-1{animation-delay:0s}.fade-2{animation-delay:.1s}.fade-3{animation-delay:.2s}.fade-4{animation-delay:.32s}.fade-5{animation-delay:.44s}.breathe-orb{justify-content:center;align-items:center;width:100px;height:100px;display:flex;position:relative}.breathe-orb:before{content:"";background:var(--orb-ring);border-radius:50%;animation:4s ease-in-out infinite breathe-ring;position:absolute;inset:0}.breathe-orb:after{content:"";border:2px solid var(--orb-ring);border-radius:50%;animation:4s ease-in-out 1s infinite breathe-ring;position:absolute;inset:-14px}.breathe-inner{z-index:1;background:var(--orb-bg);width:100px;height:100px;box-shadow:0 8px 32px var(--orb-glow);transition:background .4s var(--ease),box-shadow .4s var(--ease);border-radius:50%;justify-content:center;align-items:center;font-size:2.4rem;animation:4s ease-in-out infinite breathe-core;display:flex;position:relative}@keyframes breathe-core{0%,to{box-shadow:0 8px 32px var(--orb-glow);transform:scale(1)}50%{box-shadow:0 14px 48px var(--orb-glow);transform:scale(1.1)}}@keyframes breathe-ring{0%{opacity:.65;transform:scale(1)}60%{opacity:0;transform:scale(1.28)}to{opacity:0;transform:scale(1.28)}}.video-capture-grid{grid-template-columns:1fr;align-items:start;gap:20px;display:grid}@media (min-width:1024px){.video-capture-grid{grid-template-columns:480px 1fr}}.detector-behavior-grid{grid-template-columns:1fr;gap:14px;display:grid}@media (min-width:768px){.detector-behavior-grid{grid-template-columns:1fr 1fr}}.main-wide{flex:1;width:100%;max-width:1400px;margin:0 auto;padding:32px 28px 80px}.user-chip{border-radius:var(--r-full);background:var(--sage-50);border:1.5px solid var(--sage-200);color:var(--sage-600);align-items:center;gap:8px;padding:6px 14px 6px 6px;font-size:.85rem;font-weight:600;display:inline-flex}.user-chip .avatar{background:var(--sage-500);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-family:Fredoka,sans-serif;font-size:.8rem;font-weight:700;display:flex}.footer-links{flex-wrap:wrap;justify-content:center;gap:20px;margin-bottom:12px;display:flex}.footer-links a{color:var(--text-secondary);transition:color .3s var(--ease);font-size:.82rem;font-weight:600;text-decoration:none}.footer-links a:hover{color:var(--sage-500)}@keyframes match-pop{0%{transform:scale(1)}50%{box-shadow:0 0 20px var(--orb-glow);transform:scale(1.12)}to{transform:scale(1)}}@keyframes waveform{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}@media (max-width:768px){.main{max-width:100%;padding:32px 20px 64px}.main-wide{padding:24px 16px 64px}}@media (max-width:640px){.nav{padding:16px 20px}.main{padding:36px 18px 64px}.progress-wrap{padding:14px 20px 0}}@media (max-width:480px){.nav{gap:6px;padding:12px}.logo>span{display:none}.logo-icon{width:44px;height:44px}.main{padding:24px 14px 56px}.main-wide{padding:16px 12px 56px}.progress-wrap{padding:10px 14px 0}.step-dot{width:28px;height:28px;font-size:.78rem}.step-line{min-width:8px}.btn{min-height:50px;padding:12px 22px;font-size:1rem}.page-title{font-size:clamp(1.5rem,6vw,2rem)}.subtitle{margin-bottom:28px;font-size:.95rem}.user-chip{padding:4px 10px 4px 4px;font-size:.78rem}.user-chip .avatar{width:24px;height:24px;font-size:.7rem}}@supports (padding-top:env(safe-area-inset-top)){.nav{padding-top:max(20px,env(safe-area-inset-top));padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}.main{padding-bottom:max(64px,calc(env(safe-area-inset-bottom) + 40px))}}
