@font-face{font-family:Alfa Slab One;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/6NUQ8FmMKwSEKjnm5-4v-4Jh2d1he-Wv.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Alfa Slab One;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/6NUQ8FmMKwSEKjnm5-4v-4Jh2dxhe-Wv.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:Alfa Slab One;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/6NUQ8FmMKwSEKjnm5-4v-4Jh2dJhew.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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.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:Playfair Display;font-style:italic;font-weight:600;font-display:swap;src:url(/fonts/nuFRD-vYSZviVYUb_rj3ij__anPXDTnCjmHKM4nYO7KN_naUXtXA-W2r.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display;font-style:italic;font-weight:600;font-display:swap;src:url(/fonts/nuFRD-vYSZviVYUb_rj3ij__anPXDTnCjmHKM4nYO7KN_naUXt7A-W2r.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Playfair Display;font-style:italic;font-weight:600;font-display:swap;src:url(/fonts/nuFRD-vYSZviVYUb_rj3ij__anPXDTnCjmHKM4nYO7KN_naUXt_A-W2r.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:Playfair Display;font-style:italic;font-weight:600;font-display:swap;src:url(/fonts/nuFRD-vYSZviVYUb_rj3ij__anPXDTnCjmHKM4nYO7KN_naUXtHA-Q.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:Playfair Display;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/nuFiD-vYSZviVYUb_rj3ij__anPXDTjYgFE_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/nuFiD-vYSZviVYUb_rj3ij__anPXDTPYgFE_.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Playfair Display;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/nuFiD-vYSZviVYUb_rj3ij__anPXDTLYgFE_.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:Playfair Display;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.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:Playfair Display;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/nuFiD-vYSZviVYUb_rj3ij__anPXDTjYgFE_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/nuFiD-vYSZviVYUb_rj3ij__anPXDTPYgFE_.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Playfair Display;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/nuFiD-vYSZviVYUb_rj3ij__anPXDTLYgFE_.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:Playfair Display;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.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}:root{--brand-primary:#f5c444;--brand-primary-hover:#f7d16a;--brand-secondary:#e2457e;--brand-bg:#0b3b3c;--brand-surface:#18868166;--brand-border:#e4cc9f4d;--brand-glow:#f5c44433;--text-main:#e4cc9f;--text-muted:#e4cc9fb3;--font-heading:"Playfair Display", serif;--font-ui:"Inter", system-ui, sans-serif;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-full:9999px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-ui);background-color:var(--brand-bg);color:var(--text-main);overflow:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600}#root{width:100vw;height:100vh}.app-container{background:var(--brand-bg);width:100vw;height:100vh;display:flex;position:relative;overflow:hidden}.brand-header{z-index:20;justify-content:center;width:100%;display:flex;position:absolute;top:16px;left:0}.header-content{color:var(--brand-accent);flex-direction:column;align-items:center;display:flex}.brand-prefix{letter-spacing:.2em;text-transform:uppercase;font-family:Alfa Slab One,serif;font-size:.875rem}.brand-divider{align-items:center;gap:8px;margin:4px 0;display:flex}.brand-divider .line{background-color:var(--brand-accent);width:32px;height:1px}.brand-divider .dots{opacity:.8;gap:4px;display:flex}.brand-divider .dot{border-radius:2px;width:6px;height:6px}.brand-divider .dot.blue{background-color:#002654}.brand-divider .dot.white{background-color:#fff}.brand-divider .dot.red{background-color:#ed2939}.brand-title{letter-spacing:.05em;margin:4px 0;font-family:Playfair Display,serif;font-size:2.25rem;font-weight:800}.brand-suffix{letter-spacing:.3em;text-transform:uppercase;opacity:.9;font-family:Alfa Slab One,serif;font-size:.625rem}.privacy-badge{color:#ffffff80;z-index:50;pointer-events:none;font-size:.75rem;position:absolute;bottom:16px;left:16px}.quality-message{border:1px solid var(--brand-primary);color:#fff;z-index:40;pointer-events:none;background:#0009;border-radius:20px;padding:8px 16px;font-size:.9rem;font-weight:600;animation:2s infinite pulseBox;position:absolute;top:230px;left:50%;transform:translate(-50%)}.camera-container{background:#000;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.preloading-screen{z-index:100;color:var(--brand-primary);border-radius:20px;flex-direction:column;align-items:center;gap:20px;padding:40px;font-size:1.2rem;font-weight:600;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.spinner{border:4px solid #f5c44433;border-top:4px solid var(--brand-primary);border-radius:50%;width:50px;height:50px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulseText{0%{opacity:.6;transform:scale(.98)}50%{opacity:1;transform:scale(1.02)}to{opacity:.6;transform:scale(.98)}}.hidden-video{display:none}.preview-canvas{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}.flash-overlay{opacity:0;pointer-events:none;z-index:50;background-color:#fff;width:100%;height:100%;transition:opacity .3s ease-out;position:absolute;top:0;left:0}.flash-overlay.active{opacity:1;transition:none}.instruction-text{top:calc(150px + env(safe-area-inset-top));color:#fff;text-align:center;z-index:40;pointer-events:none;text-shadow:0 2px 4px #000c;font-size:1.25rem;font-weight:600;position:absolute;left:50%;transform:translate(-50%)}.bottom-bar{background-color:var(--brand-bg);z-index:40;border-top:1px solid #e4cc9f33;justify-content:center;align-items:center;width:100%;height:130px;display:flex;position:absolute;bottom:0;left:0}.scan-action-wrapper{flex-direction:row;justify-content:space-evenly;align-items:center;gap:10px;width:100%;max-width:900px;padding:0 20px;display:flex}.hint-text{text-align:right;font-family:Playfair Display,serif;font-size:1.1rem;font-style:italic;line-height:1.2}@media (width<=900px){.hint-text{display:none!important}}.action-buttons{align-items:center;gap:20px;display:flex}.glass-panel{background:var(--brand-surface);-webkit-backdrop-filter:blur(24px);border:1px solid var(--brand-border);box-shadow:0 8px 32px 0 var(--brand-glow)}.gender-selector{gap:10px;display:flex}.gender-btn{background:var(--brand-surface);border:1px solid var(--brand-border);color:var(--text-main);font-family:var(--font-secondary);cursor:pointer;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-radius:20px;padding:8px 16px;font-weight:500;transition:all .3s}.gender-btn:hover{background:var(--brand-glow)}.gender-btn.active{background:var(--brand-primary);border-color:var(--brand-primary);color:#000;box-shadow:0 0 15px var(--brand-glow);font-weight:700}.btn-capture{width:80px;height:80px;color:var(--brand-primary);cursor:pointer;border:2px solid var(--brand-primary);border-radius:50%;justify-content:center;align-items:center;transition:all .3s;display:flex}.btn-capture:hover{background:var(--brand-glow);transform:scale(1.05)}.btn-upload{cursor:pointer;color:#fff;background:#fff3;border:2px solid #fff6;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;transition:all .3s;display:flex}.btn-upload:hover{background:#ffffff4d}.hint-text{text-transform:uppercase;letter-spacing:1px;text-shadow:0 2px 4px #000c;text-align:center;font-size:.9rem;font-weight:500}.scanner-hud{pointer-events:none;z-index:50;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.hud-laser{background:linear-gradient(to bottom, transparent, var(--brand-primary) 50%, transparent);height:12px;box-shadow:0 0 15px var(--brand-glow);opacity:.8;animation:1.2s ease-in-out infinite alternate scanLaser;position:absolute;top:0;left:0;right:0}.hud-target-box{opacity:0;width:300px;height:400px;animation:.5s ease-out forwards lockOn,1s .5s infinite pulseBox;position:relative}.corner{border-color:var(--brand-primary);border-style:solid;width:40px;height:40px;position:absolute}.top-left{border-width:4px 0 0 4px;border-radius:10px 0 0;top:0;left:0}.top-right{border-width:4px 4px 0 0;border-radius:0 10px 0 0;top:0;right:0}.bottom-left{border-width:0 0 4px 4px;border-radius:0 0 0 10px;bottom:0;left:0}.bottom-right{border-width:0 4px 4px 0;border-radius:0 0 10px;bottom:0;right:0}.hud-data-typing{text-align:center;width:80%;color:var(--text-main);text-shadow:0 0 5px var(--brand-primary);opacity:0;font-family:Courier New,Courier,monospace;font-size:.8rem;animation:1.5s steps(3,end) forwards showData;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.success-text{color:#4ade80;text-shadow:0 0 10px #4ade80;opacity:0;margin-top:5px;font-size:1rem;font-weight:700;animation:.5s 1.5s infinite alternate forwards blinkSuccess;display:inline-block}@keyframes scanLaser{0%{top:5%}to{top:95%}}@keyframes fadeOutLaser{to{opacity:0}}@keyframes lockOn{0%{opacity:0;transform:scale(1.5)}to{opacity:1;transform:scale(1)}}@keyframes pulseBox{0%{box-shadow:inset 0 0 #0000}50%{box-shadow:inset 0 0 20px #d4af3733}to{box-shadow:inset 0 0 #0000}}@keyframes showData{0%{opacity:1;clip-path:inset(0 100% 100% 0)}33%{opacity:1;clip-path:inset(0 100% 66% 0)}66%{opacity:1;clip-path:inset(0 100% 33% 0)}to{opacity:1;clip-path:inset(0)}}@keyframes blinkSuccess{0%{opacity:0}to{opacity:1}}@keyframes orbImplode{0%{opacity:0;transform:scale(1)}50%{opacity:1;transform:scale(.5)}to{opacity:0;transform:translate(30vw,-10vh)scale(0)}}.results-dashboard{z-index:60;border-right:none;border-radius:40px 0 0 40px;flex-direction:column;width:450px;max-width:100vw;height:100%;padding:40px 32px;display:flex;position:absolute;top:0;right:0;overflow-y:auto}@media (width<=600px){.results-dashboard{border-radius:24px 24px 0 0;width:100vw;height:85dvh;padding:24px 16px;top:auto;bottom:0}}.animate-slide-up{animation:.6s cubic-bezier(.16,1,.3,1) forwards slideInRight}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.btn-close{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:20px;padding:8px 16px;font-size:.8rem;font-weight:600;transition:all .2s;position:absolute;top:24px;right:40px}.btn-close:hover{background:#fff3}.dashboard-grid{flex-direction:column;flex:1;gap:32px;margin-top:16px;display:flex}.analysis-card{border-radius:var(--radius-lg);background:#0000004d;border:1px solid #ffffff0d;flex-direction:column;flex:1;gap:24px;padding:32px;display:flex}.card-header{border-bottom:1px solid #ffffff1a;align-items:center;gap:12px;padding-bottom:16px;display:flex}.card-header h3{font-family:var(--font-heading);color:#fff;letter-spacing:.5px;font-size:1.25rem}.card-body{flex-direction:column;flex:1;gap:24px;display:flex}.schema-visual{justify-content:center;padding:24px 0;display:flex}.face-schema{border:2px dashed var(--brand-primary);border-radius:50% 50% 45% 45%/40% 40% 60% 60%;width:100px;height:140px;transition:all 1.2s cubic-bezier(.25,1,.5,1);position:relative;box-shadow:inset 0 0 20px #d4af3733}.face-schema:after{content:"";background:#d4af374d;height:1px;transition:all 1.2s;position:absolute;top:50%;left:10%;right:10%}.face-schema:before{content:"";background:#d4af374d;width:1px;transition:all 1.2s;position:absolute;top:10%;bottom:10%;left:50%}.shape-ovale{border-radius:50% 50% 45% 45%/40% 40% 60% 60%;width:100px;height:140px}.shape-oblong{border-radius:50% 50% 40% 40%/30% 30% 70% 70%;width:85px;height:150px}.shape-rond{border-radius:50%;width:120px;height:120px}.shape-carré{border-radius:30% 30% 35% 35%/25% 25% 35% 35%;width:115px;height:125px}.shape-cœur{border-radius:50%/35% 35% 85% 85%;width:120px;height:130px}.shape-triangle{border-radius:50% 50% 40% 40%/80% 80% 30% 30%;width:120px;height:135px}.highlight{color:var(--brand-primary);font-weight:700}.analysis-data h4{margin-bottom:8px;font-size:1.1rem}.analysis-data p{color:var(--text-muted);font-size:.9rem;line-height:1.5}.recommendations h5{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-bottom:12px;font-size:.8rem}.tags{flex-wrap:wrap;gap:8px;display:flex}.tag{border:1px solid var(--brand-border);color:var(--brand-primary);background:#d4af371a;border-radius:16px;padding:6px 12px;font-size:.85rem;font-weight:500}.pigment-extractions{background:#ffffff08;border-radius:16px;grid-template-columns:repeat(3,1fr);align-items:start;gap:10px;padding:16px 0;display:grid}.pigment-item{flex-direction:column;justify-content:flex-start;align-items:center;gap:8px;display:flex}.color-swatch-input{appearance:none;cursor:pointer;background-color:#0000;border:2px solid #fff3;border-radius:50%;width:40px;height:40px;padding:0;overflow:hidden;box-shadow:0 4px 10px #00000080}.color-swatch-input::-webkit-color-swatch-wrapper{padding:0}.color-swatch-input::-webkit-color-swatch{border:none;border-radius:50%}.color-swatch-input::-moz-color-swatch{border:none;border-radius:50%}.pigment-item span{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;flex-direction:column;justify-content:flex-start;align-items:center;min-height:48px;font-size:.75rem;display:flex}.color-tags{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.color-swatch-large{border:1px solid #fff3;border-radius:12px;width:48px;height:48px;box-shadow:0 4px 12px #0000004d}.dashboard-footer{justify-content:center;gap:16px;margin-top:32px;display:flex}.cta-btn{cursor:pointer;border:none;border-radius:20px;padding:16px 48px;font-size:1rem;font-weight:600;transition:all .3s}.cta-btn.primary{background:var(--brand-primary);color:var(--brand-bg);box-shadow:0 0 20px var(--brand-glow)}.cta-btn.primary:hover{transform:translateY(-2px);box-shadow:0 0 30px #d4af3766}#root,.app-container{height:100dvh}html,body{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;overscroll-behavior:none;touch-action:manipulation}.gender-btn{min-height:44px;padding:10px 22px;font-size:1rem}.btn-close{min-height:44px;padding:10px 18px;font-size:.9rem}.btn-capture{width:88px;height:88px}.btn-upload{width:64px!important;height:64px!important}.color-swatch-input{width:48px;height:48px}.cta-btn{min-height:52px}.brand-header{top:calc(16px + env(safe-area-inset-top))}.scan-action-wrapper{bottom:calc(40px + env(safe-area-inset-bottom))}.privacy-badge{bottom:calc(12px + env(safe-area-inset-bottom));left:calc(16px + env(safe-area-inset-left))}.results-dashboard{padding-bottom:calc(32px + env(safe-area-inset-bottom))}@media (hover:none){.gender-btn:hover{background:var(--brand-surface)}.btn-capture:hover,.cta-btn.primary:hover{transform:none}.gender-btn:active,.btn-capture:active,.cta-btn:active{transform:scale(.96)}}.app-container.has-result .camera-container{width:calc(100% - 450px)}.app-container.has-result .preview-canvas{object-fit:contain}.app-container.has-result .brand-header{width:calc(100% - 450px)}.app-container.no-mirror .preview-canvas{transform:none}.app-container.has-result .brand-header,.app-container.has-result .privacy-badge{display:none}.dashboard-footer .cta-btn[style*=\#333]{color:var(--text-main)!important;border:1px solid var(--brand-border)!important}.shape-confidence{color:var(--text-muted);margin-bottom:8px;font-size:.85rem}.shape-confidence.warn{color:#f5a97f}@media (width>=900px) and (orientation:landscape){.results-dashboard{width:420px;padding:32px 24px}.app-container.has-result .camera-container,.app-container.has-result .brand-header{width:calc(100% - 420px)}.analysis-card{padding:24px}}@media (width>=601px) and (orientation:portrait){.results-dashboard{width:100vw;height:62dvh;padding:28px 32px calc(28px + env(safe-area-inset-bottom));border-radius:32px 32px 0 0;animation-name:slideInUp;top:auto;bottom:0}.dashboard-grid{flex-direction:row;align-items:flex-start;gap:20px}.analysis-card{gap:16px;min-width:0;padding:20px}.schema-visual{padding:8px 0}.app-container.has-result .camera-container{width:100%;height:38dvh}.app-container.has-result .brand-header{width:100%}.gender-selector{margin-bottom:12px}}@keyframes slideInUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media print{body{color:#000!important;background:#fff!important}.camera-container,.btn-close,.cta-btn,.scan-action-wrapper,.privacy-badge{display:none!important}.results-dashboard{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;height:auto;position:static;overflow:visible}.card-header h3,.analysis-data h4,.analysis-data p,.pigment-item span,.recommendations h5{color:#000!important}.highlight{color:#b7410e!important}.brand-header{filter:invert();margin-bottom:30px;position:static}}.face-outline-anim{animation:2.5s ease-in-out infinite alternate nestFace}@keyframes nestFace{0%{stroke:#fff6;fill:#ffffff0d;transform:scale(.85)}to{stroke:#d4af37e6;fill:#d4af3726;transform:scale(1)}}
