:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{min-height:100svh}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}:root{--openai:#c084fc;--openai-dim:#c084fc26;--openai-border:#c084fc66;--openai-grad:linear-gradient(135deg, #9333ea, #c084fc);--openai-glow:#9333ea80;--gemini:#60a5fa;--gemini-dim:#60a5fa26;--gemini-border:#60a5fa66;--gemini-grad:linear-gradient(135deg, #1d4ed8, #60a5fa);--gemini-glow:#1d4ed880}.stylist-container{color:#f0edf5;background:linear-gradient(135deg,#0f0f0f 0%,#1a1025 50%,#0f0f0f 100%);flex-direction:column;min-height:100svh;font-family:Segoe UI,system-ui,sans-serif;display:flex}.stylist-header{text-align:center;padding:40px 20px 20px}.logo{letter-spacing:2px;color:var(--openai);font-size:26px;font-weight:700}.tagline{color:#9ca3af;letter-spacing:.5px;margin:8px 0 0;font-size:14px}.stylist-main{flex:1;justify-content:center;align-items:center;padding:24px 16px 48px;display:flex}.card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0a;border:1px solid #c084fc33;border-radius:24px;width:100%;max-width:440px;padding:40px 36px;box-shadow:0 24px 64px #00000080}.card h1{color:#f0edf5;letter-spacing:-.5px;margin:0 0 8px;font-size:28px;font-weight:700}.subtitle{color:#9ca3af;margin:0 0 32px;font-size:14px;line-height:1.6}.error-box{color:#fca5a5;background:#ef44441a;border:1px solid #ef44444d;border-radius:10px;margin-bottom:20px;padding:12px 16px;font-size:14px}.stylist-form{flex-direction:column;gap:24px;display:flex}.photo-section{flex-direction:column;align-items:center;gap:12px;display:flex}.photo-upload{cursor:pointer;background:#c084fc0d;border:2px dashed #c084fc66;border-radius:16px;justify-content:center;align-items:center;width:160px;height:200px;transition:border-color .2s,background .2s;display:flex;overflow:hidden}.photo-upload:hover{background:#c084fc1a;border-color:#c084fccc}.photo-upload.has-photo{border-style:solid;border-color:#c084fc99}.photo-upload.dragging{border-style:solid;border-color:var(--openai);background:#c084fc26;transform:scale(1.02)}.photo-placeholder{color:#9ca3af;flex-direction:column;align-items:center;gap:8px;display:flex}.camera-icon{font-size:36px}.photo-placeholder span{color:var(--openai);font-size:14px;font-weight:500}.photo-placeholder small{color:#6b7280;text-align:center;font-size:11px}.photo-preview{object-fit:cover;width:100%;height:100%}.change-photo-btn{border:1px solid var(--openai-border);color:var(--openai);cursor:pointer;background:0 0;border-radius:8px;padding:6px 16px;font-size:13px;transition:all .2s}.change-photo-btn:hover{background:var(--openai-dim);border-color:var(--openai)}.input-group{flex-direction:column;gap:8px;display:flex}.input-group label{color:#d1d5db;letter-spacing:.3px;font-size:13px;font-weight:600}.gender-select{gap:10px;display:flex}.gender-btn{color:#9ca3af;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:12px;flex:1;padding:14px;font-size:15px;font-weight:600;transition:all .2s}.gender-btn:hover{border-color:var(--openai-border);color:var(--openai)}.gender-btn.active{background:var(--openai-dim);border-color:var(--openai);color:var(--openai)}.body-info{gap:16px;display:flex}.input-with-unit{position:relative}.input-with-unit input{color:#f0edf5;box-sizing:border-box;-moz-appearance:textfield;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:12px;outline:none;width:100%;padding:14px 44px 14px 16px;font-size:20px;font-weight:600;transition:border-color .2s,background .2s}.input-with-unit input::-webkit-outer-spin-button{-webkit-appearance:none}.input-with-unit input::-webkit-inner-spin-button{-webkit-appearance:none}.input-with-unit input::placeholder{color:#4b5563;font-weight:400}.input-with-unit input:focus{border-color:var(--openai-border);background:var(--openai-dim)}.unit{color:#6b7280;pointer-events:none;font-size:13px;font-weight:500;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.ai-select{gap:10px;display:flex}.ai-btn{cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:14px;flex-direction:column;flex:1;align-items:center;gap:4px;padding:14px 10px;transition:all .2s;display:flex}.ai-btn-label{color:#d1d5db;font-size:14px;font-weight:700}.ai-btn-desc{color:#6b7280;font-size:11px}.ai-btn--openai:hover{border-color:var(--openai-border);background:var(--openai-dim)}.ai-btn--openai:hover .ai-btn-label{color:var(--openai)}.ai-btn--openai.active{background:var(--openai-dim);border-color:var(--openai);box-shadow:0 0 0 1px var(--openai-border)}.ai-btn--openai.active .ai-btn-label{color:var(--openai)}.ai-btn--openai.active .ai-btn-desc{color:#c084fcb3}.ai-btn--gemini:hover{border-color:var(--gemini-border);background:var(--gemini-dim)}.ai-btn--gemini:hover .ai-btn-label{color:var(--gemini)}.ai-btn--gemini.active{background:var(--gemini-dim);border-color:var(--gemini);box-shadow:0 0 0 1px var(--gemini-border)}.ai-btn--gemini.active .ai-btn-label{color:var(--gemini)}.ai-btn--gemini.active .ai-btn-desc{color:#60a5fab3}.submit-btn{color:#fff;cursor:pointer;letter-spacing:.2px;border:none;border-radius:14px;width:100%;padding:18px;font-size:16px;font-weight:700;transition:all .2s}.submit-btn--openai{background:var(--openai-grad)}.submit-btn--gemini{background:var(--gemini-grad)}.submit-btn:hover:not(:disabled){transform:translateY(-1px)}.submit-btn--openai:hover:not(:disabled){box-shadow:0 8px 24px var(--openai-glow)}.submit-btn--gemini:hover:not(:disabled){box-shadow:0 8px 24px var(--gemini-glow)}.submit-btn:active:not(:disabled){transform:translateY(0)}.submit-btn:disabled{opacity:.35;cursor:not-allowed}.loading-card{text-align:center;padding:60px 36px}.loading-card h2{color:#f0edf5;margin:24px 0 8px;font-size:20px;font-weight:600}.loading-card .subtitle{margin:0}.spinner{border-radius:50%;width:56px;height:56px;margin:0 auto;animation:.9s linear infinite spin}.spinner--openai{border:3px solid var(--openai-dim);border-top-color:var(--openai)}.spinner--gemini{border:3px solid var(--gemini-dim);border-top-color:var(--gemini)}@keyframes spin{to{transform:rotate(360deg)}}.result-wrap{flex-direction:column;gap:20px;width:100%;max-width:800px;display:flex}.result-header-card{background:#ffffff0a;border-radius:24px;align-items:center;gap:24px;padding:28px;display:flex}.result-header-card--openai{border:1px solid var(--openai-border)}.result-header-card--gemini{border:1px solid var(--gemini-border)}.result-photo{object-fit:cover;border-radius:12px;flex-shrink:0;width:90px;height:110px}.result-header-card--openai .result-photo{border:2px solid var(--openai-border)}.result-header-card--gemini .result-photo{border:2px solid var(--gemini-border)}.result-meta{flex:1}.result-badge{letter-spacing:.5px;border-radius:20px;margin-bottom:10px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-block}.result-badge--openai{background:var(--openai-dim);border:1px solid var(--openai-border);color:var(--openai)}.result-badge--gemini{background:var(--gemini-dim);border:1px solid var(--gemini-border);color:var(--gemini)}.result-meta h1{color:#f0edf5;letter-spacing:-.3px;margin:0 0 12px;font-size:22px;font-weight:700}.result-stats{flex-wrap:wrap;gap:8px;display:flex}.result-stats span{color:#d1d5db;background:#ffffff12;border-radius:8px;padding:4px 12px;font-size:13px;font-weight:500}.sections-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.section-card{background:#ffffff0a;border-radius:18px;padding:22px}.section-card--openai{border:1px solid #c084fc26}.section-card--gemini{border:1px solid #60a5fa26}.section-card h3{margin:0 0 14px;padding-bottom:10px;font-size:15px;font-weight:700}.section-card--openai h3{color:var(--openai);border-bottom:1px solid #c084fc26}.section-card--gemini h3{color:var(--gemini);border-bottom:1px solid #60a5fa26}.section-card ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.section-card li{color:#d1d5db;padding-left:14px;font-size:14px;line-height:1.6;position:relative}.section-card--openai li:before{content:"·";color:var(--openai);font-weight:700;position:absolute;left:0}.section-card--gemini li:before{content:"·";color:var(--gemini);font-weight:700;position:absolute;left:0}.result-topbar{justify-content:flex-end;display:flex}.home-btn{color:#9ca3af;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff26;border-radius:10px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s}.home-btn:hover{color:#f0edf5;background:#ffffff1a;border-color:#ffffff4d}.result-actions{gap:12px;display:flex}.hairstyle-section{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:20px;padding:28px}.hairstyle-title{color:#f0edf5;border-bottom:1px solid #ffffff14;margin:0 0 20px;padding-bottom:14px;font-size:17px;font-weight:700}.hairstyle-loading{color:#9ca3af;text-align:center;flex-direction:column;align-items:center;gap:16px;padding:32px 0;font-size:14px;display:flex}.hairstyle-error{color:#fca5a5;text-align:center;background:#ef44441a;border:1px solid #ef44444d;border-radius:10px;padding:12px 16px;font-size:14px}.hairstyle-image{border-radius:12px;width:100%;display:block}@media print{.hairstyle-section{break-inside:avoid;background:#fff!important;border:1px solid #ddd!important}.hairstyle-title{color:#111!important;border-bottom-color:#ddd!important}.hairstyle-image{max-width:100%}}.reset-btn{color:#9ca3af;cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:14px;flex:1;padding:16px;font-size:15px;font-weight:600;transition:all .2s}.reset-btn:hover{color:#f0edf5;background:#ffffff0d;border-color:#ffffff4d}.pdf-btn{color:#f0edf5;cursor:pointer;background:linear-gradient(135deg,#374151,#4b5563);border:1px solid #ffffff26;border-radius:14px;flex:1;padding:16px;font-size:15px;font-weight:600;transition:all .2s}.pdf-btn:hover{background:linear-gradient(135deg,#4b5563,#6b7280);border-color:#ffffff4d;box-shadow:0 4px 16px #0000004d}@media print{body{color:#111!important;background:#fff!important}.stylist-header,.result-topbar,.result-actions{display:none!important}.stylist-container{background:#fff!important}.stylist-main{align-items:flex-start!important;padding:0!important}.result-wrap{gap:12px!important;max-width:100%!important}#print-area{display:block!important}.result-header-card{break-inside:avoid;box-shadow:none!important;background:#fff!important;border:1px solid #ddd!important}.result-badge{color:#333!important;background:#f5f5f5!important;border:1px solid #ccc!important}.result-meta h1{color:#111!important}.result-stats span{color:#333!important;background:#f0f0f0!important}.sections-grid{grid-template-columns:repeat(2,1fr)!important;gap:10px!important}.section-card{break-inside:avoid;background:#fff!important;border:1px solid #ddd!important}.section-card h3{color:#333!important;border-bottom-color:#ddd!important}.section-card li{color:#444!important}.section-card li:before{color:#666!important}}@media (width<=600px){.sections-grid{grid-template-columns:1fr}.result-header-card{text-align:center;flex-direction:column}.result-stats{justify-content:center}.card{padding:28px 20px}.card h1{font-size:24px}}
