:root{--bg:#0d0f12;--surface:#17191d;--surface-soft:#1d2025;--text:#f5f2ec;--text-secondary:#a7a7ac;--muted:#f5f2ec94;--accent:#c7a873;--accent-soft:#d8b98a;--border:#ffffff1a;--success:#83a98d;--error:#ce7f7f;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Manrope,Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html{background:var(--bg)}body{background:radial-gradient(circle at 50% -10%, #242018 0, var(--bg) 34rem);min-width:320px;min-height:100svh;margin:0}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible{outline:2px solid var(--accent-soft);outline-offset:3px}#root{min-height:100svh}h1,h2,p{margin-top:0}h1{letter-spacing:-.055em;margin-bottom:16px;font-size:clamp(2.25rem,11vw,4rem);font-weight:560;line-height:.98}h2{font-size:1.2rem;line-height:1.25}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.camera-status{text-align:center;padding:2rem 1.5rem}.camera-view{background:#000;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.camera-view__video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0;transform:scaleX(-1)}.camera-view__blocked{z-index:5;text-align:center;color:#fff;background:#000c;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:0 2rem;display:flex;position:absolute;inset:0}.camera-view__debug{top:env(safe-area-inset-top,8px);z-index:10;max-width:min(78vw,340px);font-family:var(--mono,monospace);color:#0f0;text-align:left;cursor:pointer;background:#000000b3;border:none;border-radius:6px;margin:0;padding:6px 10px;font-size:11px;line-height:1.4;position:absolute;left:8px}.camera-view__debug-details{white-space:pre-wrap;word-break:break-word;margin:0}.camera-view__oval{aspect-ratio:3/4;pointer-events:none;box-sizing:border-box;border:3px solid #ffffffd9;border-radius:50%;width:62%;max-width:320px;transition:border-color .2s,border-width .2s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 9999px #00000073}.camera-view__oval--stabilizing{border-width:8px;border-color:#34d058}.camera-view__ambient-border{z-index:4;pointer-events:none;box-sizing:border-box;border:14px solid #0000;transition:border-color .2s;position:absolute;inset:0}.camera-view__ambient-border--ok{border-color:#34d058e6}.camera-view__flash{z-index:20;pointer-events:none;background:#fff;animation:.3s ease-out forwards camera-flash;position:absolute;inset:0}@keyframes camera-flash{0%{opacity:.9}to{opacity:0}}.camera-view__oval-ring{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.camera-view__oval-ring-path{fill:none;stroke:#34d058;stroke-width:3px;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100px;animation-name:camera-oval-ring-fill;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes camera-oval-ring-fill{to{stroke-dashoffset:0}}.camera-view__step{top:env(safe-area-inset-top,16px);text-align:center;color:#fff;opacity:.8;margin:0;font-size:14px;position:absolute;left:0;right:0}.camera-view__hint{bottom:calc(env(safe-area-inset-bottom,16px) + 24px);text-align:center;color:#fff;background:#0009;border-radius:12px;margin:0;padding:.75rem 1rem;font-size:15px;position:absolute;left:1rem;right:1rem}.permission-denied,.model-load-error{text-align:left;max-width:480px;margin:0 auto;padding:2rem 1.5rem}.frame-preview__grid{grid-template-columns:1fr;gap:14px;margin:26px 0;padding:0;list-style:none;display:grid}.frame-preview__item{border:1px solid var(--border);background:var(--surface);border-radius:24px;flex-direction:column;align-items:stretch;gap:12px;padding:14px;display:flex}.frame-preview__heading{justify-content:space-between;align-items:center;display:flex}.frame-preview__heading span{color:var(--accent);font-size:.72rem}.frame-preview__thumb{aspect-ratio:4/3;object-fit:cover;border-radius:16px;width:100%}.frame-preview__label{color:var(--text);font-size:13px}.frame-preview__missing{aspect-ratio:3/4;border:1px dashed var(--border);width:100%;color:var(--text);border-radius:8px;justify-content:center;align-items:center;font-size:12px;display:flex}.consent-card{border:1px solid var(--border);background:var(--surface);border-radius:22px;gap:16px;margin:18px 0;padding:20px;display:grid}.consent-card legend{color:var(--accent-soft);padding:0 8px;font-weight:700}.consent-card label{color:var(--text-secondary);grid-template-columns:24px 1fr;align-items:start;gap:12px;line-height:1.4;display:grid}.consent-card input{width:20px;height:20px;accent-color:var(--accent)}.angle-instruction{z-index:15;text-align:center;color:#fff;background:#000;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:2rem 1.5rem;display:flex;position:absolute;inset:0}.angle-instruction__arrow{font-size:96px;line-height:1;animation:1s ease-in-out infinite angle-instruction-arrow-pulse}.angle-instruction__arrow--left{animation-name:angle-instruction-arrow-pulse-left}.angle-instruction__arrow--right{animation-name:angle-instruction-arrow-pulse-right}.angle-instruction__arrow--sweep{animation-name:angle-instruction-arrow-pulse-sweep;animation-duration:2s}.sweep-feedback-settings{gap:20px;margin:8px 0;display:flex}.sweep-feedback-settings label{align-items:center;gap:8px;min-height:44px;display:flex}.sweep-progress{right:20px;bottom:max(32px, env(safe-area-inset-bottom));color:#fff;text-shadow:0 1px 6px #000;justify-content:center;gap:14px;font-size:13px;display:flex;position:absolute;left:20px}@keyframes angle-instruction-arrow-pulse-sweep{0%,to{transform:translate(-14px)}50%{transform:translate(14px)}}@keyframes angle-instruction-arrow-pulse{0%,to{opacity:.6}50%{opacity:1}}@keyframes angle-instruction-arrow-pulse-left{0%,to{opacity:.6;transform:translate(0)}50%{opacity:1;transform:translate(-14px)}}@keyframes angle-instruction-arrow-pulse-right{0%,to{opacity:.6;transform:translate(0)}50%{opacity:1;transform:translate(14px)}}.screen{width:min(100%,520px);min-height:100svh;padding:max(24px, env(safe-area-inset-top)) 20px max(32px, env(safe-area-inset-bottom));margin:0 auto}.product-mark{color:var(--accent-soft);letter-spacing:.19em;margin-bottom:42px;font-size:.72rem;font-weight:750}.eyebrow{color:var(--accent);letter-spacing:.13em;text-transform:uppercase;margin-bottom:12px;font-size:.74rem}.hero__lead,.section-lead{color:var(--text-secondary);font-size:1.05rem;line-height:1.55}.hero__value{max-width:360px;color:var(--text-secondary);margin:18px auto 24px;line-height:1.55}.face-visual{aspect-ratio:1/.88;border:1px solid var(--border);background:radial-gradient(circle at 50% 42%,#c7a8731f,#0000 52%),#121418;border-radius:32px;width:min(100%,330px);margin:30px auto 18px;position:relative;overflow:hidden;box-shadow:0 30px 80px #00000052}.face-visual__grid{opacity:.18;background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);background-size:38px 38px;position:absolute;inset:0}.face-visual svg{fill:none;width:70%;height:90%;stroke:var(--accent);stroke-width:1.2px;opacity:.8;position:absolute;inset:5% 15%}.face-visual circle{fill:var(--accent-soft);stroke:none}.face-visual__scan{background:linear-gradient(90deg, transparent, var(--accent-soft), transparent);height:1px;box-shadow:0 0 16px var(--accent);animation:3.4s ease-in-out infinite scan;position:absolute;top:26%;left:12%;right:12%}@keyframes scan{50%{transform:translateY(150px)}}.benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:24px 0;display:grid}.card{border:1px solid var(--border);background:#17191dd1;border-radius:22px}.benefit-grid .card{min-height:112px;color:var(--text);padding:16px;line-height:1.25}.benefit-grid span{color:var(--accent);margin-bottom:22px;font-size:.7rem;display:block}.button{border:1px solid var(--accent);color:#12100c;background:linear-gradient(135deg, var(--accent-soft), var(--accent));cursor:pointer;border-radius:18px;width:100%;min-height:56px;padding:14px 20px;font-weight:720;box-shadow:0 12px 32px #c7a87324}.button:hover{filter:brightness(1.06)}.button:disabled{cursor:not-allowed;filter:grayscale(.6);opacity:.42}.button--quiet{color:var(--text);border-color:var(--border);box-shadow:none;background:0 0}.privacy-notice,.disclaimer{color:var(--muted);text-align:center;margin:14px auto 0;font-size:.78rem;line-height:1.5}.how-it-works{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-top:36px;padding:24px}.how-it-works ol,.processing ol{counter-reset:step;margin:0;padding:0;list-style:none}.how-it-works li{color:var(--text-secondary);counter-increment:step;gap:14px;padding:12px 0;display:flex}.how-it-works li:before{content:"0" counter(step);color:var(--accent);font-size:.72rem}.preparation h1{max-width:420px}.preparation-card{margin:28px 0 18px;padding:20px}.preparation-card ul{margin:0;padding:0;list-style:none}.preparation-card li{border-bottom:1px solid var(--border);color:var(--text-secondary);padding:14px 0 14px 28px;line-height:1.4;position:relative}.preparation-card li:last-child{border:0}.preparation-card li:before{content:"•";color:var(--accent);position:absolute;left:5px}.preparation .button+.button{margin-top:10px}.processing{text-align:center;flex-direction:column;justify-content:center;display:flex}.processing__orb{border:1px solid var(--accent);background:radial-gradient(circle,#d8b98a33,#0000 68%);border-radius:50%;width:110px;height:110px;margin:0 auto 42px;animation:2s ease-in-out infinite breathe;box-shadow:0 0 60px #c7a87333}@keyframes breathe{50%{opacity:.72;transform:scale(1.08)}}.processing__steps{text-align:left;width:min(100%,420px);margin-inline:auto!important}.processing li{color:#f5f2ec40;align-items:center;gap:12px;padding:8px;transition:color .3s;display:flex}.processing li span{color:currentColor;text-align:center;width:20px}.processing li.is-active{color:var(--accent-soft)}.processing li.is-complete{color:var(--text-secondary)}.processing [role=status]{color:var(--accent-soft);margin-top:24px}.processing__error{width:min(100%,420px);margin-inline:auto}.processing__error p{color:var(--text-secondary);margin-bottom:20px;line-height:1.5}.result__sections{gap:10px;margin:28px 0;display:grid}.result__sections .card{padding:20px}.result__sections h2{margin-bottom:8px}.result__sections p{color:var(--muted);margin:0;line-height:1.5}@media (width<=350px){.screen{padding-inline:16px}.benefit-grid{grid-template-columns:1fr}}
