:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--primary: #ff7eb3;--secondary: #8e2de2;--accent: #ffd700;--bg-gradient: linear-gradient(135deg, #fdfcfb 0%, #e2d1c3 100%);--card-bg: rgba(255, 255, 255, .8);--glass-bg: rgba(255, 255, 255, .4);--text-main: #2d3436;--text-muted: #636e72;--shadow: 0 10px 30px rgba(0, 0, 0, .08);--radius: 24px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg-gradient);color:var(--text-main);min-height:100vh}.app-container{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:20px;position:relative}.lang-switcher{position:absolute;top:20px;right:20px;background:#fff;padding:8px 16px;border-radius:100px;box-shadow:var(--shadow);display:flex;align-items:center;gap:10px;font-size:12px;font-weight:700;z-index:100}.lang-switcher button{background:none;border:none;color:var(--text-muted);cursor:pointer;transition:color .2s ease}.lang-switcher button.active{color:var(--primary)}.lang-switcher .divider{color:#eee}.onboarding-card{background:var(--card-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);width:100%;max-width:480px;padding:40px;border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.5);text-align:center}.badge{display:inline-block;background:linear-gradient(90deg,var(--primary),var(--secondary));color:#fff;padding:4px 12px;border-radius:100px;font-size:12px;font-weight:700;margin-bottom:16px;text-transform:uppercase;letter-spacing:1px}.onboarding-header h1{font-size:32px;font-weight:800;margin-bottom:12px;background:linear-gradient(to right,#2d3436,#636e72);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.onboarding-header p{color:var(--text-muted);line-height:1.6;margin-bottom:32px}.photo-upload-container{width:100%;aspect-ratio:4/5;background:#00000008;border:2px dashed rgba(0,0,0,.1);border-radius:var(--radius);display:flex;justify-content:center;align-items:center;cursor:pointer;overflow:hidden;position:relative;transition:all .3s ease}.photo-upload-container:hover,.photo-upload-container.is-dragging{background:#ff7eb30d;border-color:var(--primary);transform:scale(1.01)}.photo-upload-container.is-dragging{border-width:3px;background:#ff7eb31a}.photo-upload-container.has-preview{border:none}.photo-preview{width:100%;height:100%;object-fit:cover}.upload-placeholder{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--text-muted)}.icon-circle{width:64px;height:64px;background:#fff;border-radius:50%;display:flex;justify-content:center;align-items:center;box-shadow:0 4px 12px #0000000d;margin-bottom:8px}.hint{font-size:12px;opacity:.7}.upload-form{margin-bottom:32px}.privacy-note{display:flex;align-items:center;justify-content:center;gap:4px;font-size:11px;color:var(--text-muted);margin:16px 0}.submit-button{width:100%;padding:18px;border-radius:16px;border:none;background:linear-gradient(90deg,#ff9a9e,#fecfef 99% 100%);color:#d63384;font-size:16px;font-weight:700;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:10px;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 4px 15px #ff9a9e4d}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #ff9a9e66}.submit-button:disabled{opacity:.6;cursor:not-allowed;background:#eee;color:#999;box-shadow:none}.hero-features{display:flex;justify-content:space-around;padding-top:24px;border-top:1px solid rgba(0,0,0,.05)}.feature-item{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:11px;font-weight:600;color:var(--text-muted)}.report-container{background:#fff;width:100%;max-width:600px;border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;animation:slideUp .6s cubic-bezier(.23,1,.32,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.report-header{padding:32px;background:linear-gradient(135deg,#fff5f7,#fff)}.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.trending-tag{background:#ff7eb322;color:#ff7eb3;padding:6px 12px;border-radius:100px;font-size:11px;font-weight:700;display:flex;align-items:center;gap:6px}.sparkle-icon{color:var(--primary)}.mini-reset{background:none;border:1px solid rgba(0,0,0,.1);padding:6px 12px;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer}.report-header h2{font-size:24px;margin-bottom:8px}.report-message{color:var(--text-muted);font-size:14px}.report-tabs{display:flex;background:#f8f9fa;padding:4px;gap:4px;overflow-x:auto}.report-tabs button{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;border:none;background:transparent;color:var(--text-muted);font-size:10px;font-weight:700;cursor:pointer;border-radius:12px;transition:all .2s ease;min-width:80px}.report-tabs button.active{background:#fff;color:var(--primary);box-shadow:0 4px 12px #0000000d}.tab-content{padding:24px;min-height:400px}.content-section{display:flex;flex-direction:column;gap:16px;animation:fadeIn .4s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.analysis-card{background:#fdfcfb;padding:20px;border-radius:16px;border-left:4px solid var(--primary)}.analysis-card h4{font-size:14px;margin-bottom:8px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.tone-badge{display:inline-block;background:#ff7eb322;color:#ff7eb3;padding:8px 16px;border-radius:8px;font-weight:700}.makeup-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.makeup-card{background:#fff;padding:16px;border-radius:16px;border:1px solid #f1f2f6}.makeup-card h5{color:var(--primary);margin-bottom:12px;font-size:14px}.makeup-card ul{list-style:none}.makeup-card li{font-size:12px;margin-bottom:8px;display:flex;gap:6px;line-height:1.4}.hair-card{background:#f8f9fa;padding:20px;border-radius:16px}.hair-card.highlight{background:linear-gradient(135deg,#fff,#fff5f7);border:1px solid #ff7eb333}.hair-card h5{font-size:13px;color:var(--text-muted);margin-bottom:8px}.hair-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.camera-card{background:#2d3436;color:#fff;padding:20px;border-radius:16px}.camera-card h5{color:#8e2de2;margin-bottom:8px}.camera-card p{font-size:13px;opacity:.9}.product-list{list-style:none}.product-item{display:flex;align-items:center;gap:16px;padding:16px;background:#fff;border-bottom:1px solid #f1f2f6}.product-icon{width:40px;height:40px;background:#f8f9fa;border-radius:10px;display:flex;justify-content:center;align-items:center;color:var(--primary)}.product-item span{flex:1;font-size:14px;font-weight:500}.buy-btn{background:#f1f2f6;border:none;padding:8px 16px;border-radius:8px;font-size:12px;font-weight:700;cursor:pointer}.premium-upsell{margin:24px;background:linear-gradient(135deg,#667eea,#764ba2);padding:24px;border-radius:20px;display:flex;justify-content:space-between;align-items:center;color:#fff}.upsell-content h4{margin-bottom:4px}.upsell-content p{font-size:12px;opacity:.8}.premium-btn{background:var(--accent);color:#000;border:none;padding:12px 20px;border-radius:12px;font-weight:800;cursor:pointer;box-shadow:0 4px 15px #ffd7004d}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.animate-bounce{animation:bounce 1s infinite}.animate-spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:480px){.onboarding-card{padding:24px}.makeup-grid,.hair-grid{grid-template-columns:1fr}.premium-upsell{flex-direction:column;text-align:center;gap:16px}.lang-switcher{top:10px;right:10px}}
