:root{--bg: #fbf4f1;--card: #ffffff;--ink: #241a1f;--muted: #6f5d66;--rose: #be185d;--rose-deep: #9d174d;--rose-soft: #fbe4ee;--line: #eee0e4;--gold: #a87a3c;--gold-soft: #f6ebdc;--ok: #3f8a68;--danger: #c62828;--radius: 22px;--shadow: 0 1px 2px rgba(80, 30, 50, .05), 0 8px 24px rgba(120, 40, 70, .07);--ease: cubic-bezier(.2, .8, .2, 1);--serif: "Playfair Display", Georgia, serif;font-family:Manrope,system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}*{box-sizing:border-box}body{margin:0;background:var(--bg);min-height:100vh}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}button:disabled{opacity:.45;cursor:default}img{display:block;max-width:100%}:focus-visible{outline:2.5px solid var(--rose);outline-offset:2px;border-radius:12px}.ico{flex:none;display:block}.screen{width:100%;max-width:520px;margin:0 auto;padding:12px 16px calc(32px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px}.screen.center>*{max-width:100%}.screen.center .btn{width:100%}.screen.center{min-height:100vh;justify-content:center;align-items:center;text-align:center}.title{font-family:var(--serif);font-weight:600;font-size:30px;line-height:1.15;margin:4px 0 0;letter-spacing:-.01em}.h2{font-family:var(--serif);font-weight:600;font-size:22px;line-height:1.2;margin:14px 0 0}.lead{font-size:16px;line-height:1.55;color:var(--muted);margin:0}.muted{color:var(--muted);font-size:14px;line-height:1.45}.small{font-size:12.5px}.center-text{text-align:center;margin:0}.label{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:4px}.error{color:var(--danger);font-size:14px;margin-top:6px}.bar{display:flex;justify-content:space-between;align-items:center;min-height:44px}.link{color:var(--rose);font-weight:700;font-size:15px;min-height:44px;padding:0 4px;display:inline-flex;align-items:center;gap:2px}.icon-btn{width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--card);color:var(--ink);box-shadow:var(--shadow);transition:transform .15s var(--ease),color .2s}.icon-btn:active{transform:scale(.94)}.brand{font-family:var(--serif);font-size:22px;font-weight:600;font-style:italic;color:var(--rose)}.avatar{border-radius:50%;padding:3px;background:conic-gradient(from 210deg,#f3b6cb,#f6dcc0,#e9a0bc,#f3b6cb);flex:none;position:relative}.avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;border:3px solid #fff}.avatar.speaking{animation:talk .6s ease-in-out infinite alternate}.avatar.speaking:after,.avatar.thinking:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:50%;border:2px solid var(--rose);opacity:.6;animation:ring 1.4s ease-out infinite}.avatar.thinking:after{border-style:dashed;animation:spin 4s linear infinite}@keyframes talk{0%{transform:scale(1)}to{transform:scale(1.03)}}@keyframes ring{0%{transform:scale(.95);opacity:.7}to{transform:scale(1.12);opacity:0}}@keyframes spin{to{transform:rotate(360deg)}}.bubble{background:var(--card);border-radius:20px 20px 20px 6px;padding:12px 15px;line-height:1.5;font-size:15px;box-shadow:var(--shadow);white-space:pre-wrap}.bubble.me{background:var(--rose);color:#fff;border-radius:20px 20px 6px}.row{display:flex;gap:10px;align-items:flex-start}.row .bubble{flex:1}.typing{display:inline-flex;gap:4px;vertical-align:middle}.typing i{width:6px;height:6px;border-radius:50%;background:var(--rose);animation:blink 1.2s infinite}.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}.btn{min-height:48px;border-radius:16px;padding:12px 18px;font-weight:700;font-size:16px;background:var(--rose-soft);color:var(--rose-deep);display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .15s var(--ease),background .2s}.btn:active:not(:disabled){transform:scale(.97)}.btn.primary{background:var(--rose);color:#fff;box-shadow:0 8px 20px #be185d42}.btn.primary:active:not(:disabled){background:var(--rose-deep)}.btn.big{min-height:56px;font-size:17px}.btn.ghost{background:var(--card);border:1.5px solid var(--line);color:var(--ink)}.btn.small{min-height:40px;padding:8px 14px;font-size:14px;border-radius:12px;margin-top:8px}.btn.icon{width:48px;height:48px;padding:0;flex:none;border-radius:50%}.btn.rec{background:var(--danger);color:#fff;animation:talk .5s infinite alternate}.btn.danger{background:var(--danger);color:#fff}.btn.danger-ghost{background:transparent;color:var(--danger)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{min-height:40px;padding:8px 15px;border-radius:999px;background:var(--card);border:1.5px solid var(--line);font-size:14px;font-weight:600;transition:background .2s,border-color .2s,color .2s}.chip.on{background:var(--rose);border-color:var(--rose);color:#fff}.options{display:flex;flex-direction:column;gap:8px}.option{text-align:left;background:var(--card);border:1.5px solid var(--line);border-radius:16px;padding:14px 16px;display:flex;flex-direction:column;gap:2px;transition:border-color .2s}.option span{color:var(--muted);font-size:13px}.option.on{border-color:var(--rose)}.input{flex:1;width:100%;min-height:48px;border:1.5px solid var(--line);border-radius:16px;padding:12px 16px;font:inherit;font-size:16px;background:var(--card);color:var(--ink);outline:none;transition:border-color .2s}.input:focus{border-color:var(--rose)}.card{background:var(--card);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.rules{text-align:left;font-size:14px;line-height:1.5}.rules p{margin:0 0 6px;font-weight:700}.rules ul{margin:0;padding-left:18px;color:var(--muted)}.palette{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 12px}.palette i{width:34px;height:34px;border-radius:50%;box-shadow:inset 0 0 0 2px #fff9,0 1px 4px #0000001f}.palette.small i{width:24px;height:24px}.kv{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);font-size:15px}.kv span{color:var(--muted)}.kv b{text-align:right}.onboarding .top{display:flex;align-items:center;gap:14px}.dots{display:flex;gap:6px;flex:1}.dots i{flex:1;height:4px;border-radius:2px;background:var(--line);transition:background .3s}.dots i.on{background:var(--rose)}.stack{display:flex;flex-direction:column;gap:12px;animation:up .35s var(--ease)}@keyframes up{0%{opacity:0;transform:translateY(8px)}}.hero{display:flex;flex-direction:column;align-items:center;gap:16px;padding:20px 16px 16px;border-radius:28px;background:radial-gradient(120% 85% at 50% 0%,#fbdce8,#fbeee8 60%,#fbf4f100);cursor:pointer}.hero .bubble{border-radius:20px;text-align:center;position:relative}.hero .bubble:before{content:"";position:absolute;top:-6px;left:50%;width:14px;height:14px;margin-left:-7px;background:var(--card);transform:rotate(45deg);border-radius:3px}.modes{display:flex;flex-direction:column;gap:10px}.mode{display:grid;grid-template-columns:1fr 20px;align-items:center;gap:12px;text-align:left;background:var(--card);border-radius:20px;padding:16px 16px 16px 18px;box-shadow:var(--shadow);transition:transform .15s var(--ease)}.mode:active:not(:disabled){transform:scale(.98)}.mode-ico{width:48px;height:48px;border-radius:15px;display:flex;align-items:center;justify-content:center;background:var(--rose-soft);color:var(--rose)}.mode b{display:block;font-size:17px;line-height:1.25}.mode span{display:block;font-size:13px;color:var(--muted);line-height:1.4;margin-top:2px}.mode .chev{color:var(--muted)}.mode.primary{background:var(--rose);color:#fff;box-shadow:0 10px 24px #be185d47}.mode.primary .mode-ico{background:#ffffff2e;color:#fff}.mode.primary span,.mode.primary .chev{color:#ffffffe0}.mode.gold{box-shadow:inset 4px 0 0 var(--gold),var(--shadow)}.mode.dark{background:#161214;color:#fff}.mode.dark .mode-ico{background:#2c2427;color:#fff}.mode.dark span,.mode.dark .chev{color:#bdb3b8}.mode.dark b{font-family:var(--serif);font-weight:600;font-size:18px}.select{position:relative;z-index:5}.select-btn{width:100%;min-height:56px;display:grid;grid-template-columns:1fr auto 20px;align-items:center;gap:10px;text-align:left;background:var(--card);border:1.5px solid var(--line);border-radius:18px;padding:10px 14px 10px 16px;box-shadow:var(--shadow);transition:border-color .2s}.select-btn.open{border-color:var(--rose)}.select-label{font-size:15px;font-weight:600}.select-value{font-size:15px;font-weight:700;color:var(--rose)}.select-value.empty{color:var(--muted);font-weight:600}.select-chev{color:var(--muted);transform:rotate(90deg);transition:transform .2s var(--ease)}.select-btn.open .select-chev{transform:rotate(-90deg)}.select-list{position:absolute;left:0;right:0;top:calc(100% + 6px);margin:0;padding:6px;list-style:none;background:var(--card);border-radius:18px;border:1px solid var(--line);box-shadow:0 14px 36px #78284629;animation:drop .18s var(--ease);transform-origin:top}@keyframes drop{0%{opacity:0;transform:translateY(-4px) scale(.98)}}.select-list button{width:100%;min-height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-radius:12px;font-size:15px;font-weight:600;text-align:left}.select-list button:active{background:var(--rose-soft)}.select-list button.on{color:var(--rose);background:var(--rose-soft)}.quota{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:999px;background:var(--card);border:1px solid var(--line);font-size:12.5px;font-weight:600;color:var(--muted)}.pill b{color:var(--ink);font-variant-numeric:tabular-nums}.hint{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:var(--muted);line-height:1.45;padding:0 4px;margin:0}.hint .ico{color:var(--gold);margin-top:1px}.photo{position:relative;border-radius:var(--radius);overflow:hidden;background:#f2e9e6;box-shadow:var(--shadow)}.photo img{width:100%;max-height:62vh;object-fit:contain;background:#f2e9e6}.photo .tag{position:absolute;left:10px;bottom:10px;display:inline-flex;align-items:center;gap:6px;background:#241a1fb8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;padding:7px 12px;border-radius:999px;font-size:13px;font-weight:600}.thumbs{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 4px;scrollbar-width:none}.thumbs::-webkit-scrollbar{display:none}.thumbs button{flex:none;width:76px;display:flex;flex-direction:column;gap:4px;align-items:center}.thumbs img,.thumbs .ph{width:76px;height:76px;object-fit:cover;border-radius:14px;border:2px solid transparent;background:var(--rose-soft);color:var(--rose);display:flex;align-items:center;justify-content:center;transition:border-color .2s}.thumbs button.on img{border-color:var(--rose)}.thumbs span{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:76px}.thumbs button.on span{color:var(--rose);font-weight:700}.scores{display:flex;flex-direction:column;gap:14px}.score-head{display:flex;justify-content:space-between;font-size:15px;font-weight:600}.score-head b{color:var(--rose);font-variant-numeric:tabular-nums}.meter{height:6px;background:var(--rose-soft);border-radius:3px;margin:8px 0 6px;overflow:hidden}.meter i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,var(--gold),var(--rose));transform-origin:left;animation:grow .8s var(--ease) both}@keyframes grow{0%{transform:scaleX(0)}}.score p{margin:0;font-size:14px;color:var(--muted);line-height:1.45}.tip{display:flex;gap:12px}.tip-n{flex:none;width:32px;height:32px;border-radius:50%;background:var(--rose-soft);color:var(--rose);font-family:var(--serif);font-weight:600;font-size:16px;display:flex;align-items:center;justify-content:center}.tip p{margin:4px 0 0;font-size:14px;line-height:1.5;color:#4f3f47}.chat{display:flex;flex-direction:column;gap:10px}.msg{display:flex;flex-direction:column;align-items:flex-start;max-width:88%}.msg.me{align-self:flex-end;align-items:flex-end}.composer{display:flex;gap:8px;align-items:center;padding:6px 0}.loader{width:36px;height:36px;border-radius:50%;border:3px solid var(--rose-soft);border-top-color:var(--rose);animation:spin 1s linear infinite}.report{--ink-bw: #111;--mute-bw: #6b6b6b;--line-bw: #d9d9d9;background:#fff;color:var(--ink-bw);border:1px solid var(--ink-bw);border-radius:22px;padding:22px 20px;display:flex;flex-direction:column;gap:14px;font-family:inherit}.report-head{display:flex;justify-content:space-between;gap:12px;white-space:nowrap;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute-bw);padding-bottom:12px;border-bottom:1px solid var(--line-bw)}.report-portrait{border:1px solid var(--line-bw);border-radius:16px;padding:12px;display:flex;justify-content:center}.report-portrait img,.report-portrait svg{width:100%;max-width:280px;max-height:300px;object-fit:contain}.report-title h1{font-family:var(--serif);font-weight:500;font-size:26px;margin:0;line-height:1.15}.report-shape{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute-bw);margin-top:6px}.report-summary{margin:0;font-size:14px;line-height:1.55}.report-section{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute-bw);padding-top:12px;border-top:1px solid var(--line-bw)}.metrics{display:flex;flex-direction:column;gap:12px}.metric-head{display:flex;justify-content:space-between;align-items:baseline;font-size:14px;font-weight:600}.metric-head b{font-family:var(--serif);font-size:20px;font-weight:500}.metric-line{position:relative;height:1px;background:var(--line-bw);margin:6px 0}.metric-line i{position:absolute;left:0;top:-1px;height:3px;border-radius:2px;background:var(--ink-bw)}.metric-line i:after{content:"";position:absolute;right:-4px;top:-3px;width:7px;height:7px;border-radius:50%;border:1px solid var(--ink-bw);background:#fff}.metric p{margin:0;font-size:12.5px;line-height:1.45;color:var(--mute-bw)}.report-cols{display:grid;grid-template-columns:1fr;gap:14px}@media(min-width:420px){.report-cols{grid-template-columns:1fr 1fr}}.report ul{margin:10px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px;font-size:13px;line-height:1.45}.report ul li{padding-left:14px;position:relative}.report ul li:before{content:"";position:absolute;left:0;top:.6em;width:6px;height:1px;background:var(--ink-bw)}.report-potential{border:1px solid var(--ink-bw);border-radius:14px;padding:12px 14px;font-size:14px;line-height:1.5}.report-potential span{display:block;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute-bw);margin-bottom:4px}.report-recs{margin:0;padding:0;list-style:none;counter-reset:rec;display:flex;flex-direction:column;gap:10px}.report-recs li{counter-increment:rec;display:grid;grid-template-columns:26px 1fr;column-gap:8px}.report-recs li:before{content:counter(rec,decimal-leading-zero);grid-row:span 2;font-family:var(--serif);font-size:15px;color:var(--mute-bw)}.report-recs b{font-size:13.5px}.report-recs p{margin:3px 0 0;font-size:13px;line-height:1.45;color:#333}.report-foot{display:flex;justify-content:space-between;gap:10px;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute-bw);padding-top:12px;border-top:1px solid var(--line-bw)}.actions{display:flex;gap:8px}.actions .btn{flex:1;font-size:15px}.look-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.look-tabs button{display:flex;flex-direction:column;gap:6px;align-items:center;background:var(--card);border:2px solid transparent;border-radius:16px;padding:6px;box-shadow:var(--shadow)}.look-tabs button.on{border-color:var(--rose)}.look-tabs img,.look-tabs .ph{width:100%;aspect-ratio:3 / 4;object-fit:cover;border-radius:11px;background:var(--rose-soft);display:flex;align-items:center;justify-content:center}.look-tabs span{font-size:12px;font-weight:700;line-height:1.25;text-align:center}.photo-wait{min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--muted);padding:20px;text-align:center}.photo-wait p{margin:0;font-size:14px}.look-card .h2{margin:0}.look-card>p{margin:6px 0 12px;line-height:1.45}.look-items{display:flex;flex-direction:column}.look-item{display:grid;grid-template-columns:92px 1fr;gap:10px;padding:10px 0;border-top:1px solid var(--line);font-size:14px;line-height:1.4}.look-kind{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;padding-top:2px}.shops{display:flex;gap:6px;margin-top:6px}.shops button{font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;background:var(--rose-soft);color:var(--rose-deep)}.look-tabs button{transition:border-color .2s,transform .15s var(--ease)}.look-tabs button:active{transform:scale(.97)}.look-tabs button.on span{color:var(--rose)}.shops button{min-height:32px;padding:6px 12px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
