:root{--bg:#fafaf9;--surface:#ede5d6;--surface-hover:#e3d9c7;--accent:#8b7e74;--accent-hover:#756961;--text:#2c2c2c;--text-light:#7a7a7a;--text-muted:#a0a0a0;--border:#d9d0c3;--white:#fff;--danger:#c0392b;--radius:12px;--radius-sm:8px;--radius-lg:16px;--shadow:0 2px 8px #0000000f;--shadow-md:0 4px 16px #00000014;--shadow-lg:0 8px 32px #0000001f;--transition:.2s ease;--nav-height:64px;--max-width:1280px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button{cursor:pointer;font:inherit;background:0 0;border:none}input,select,textarea{font:inherit}img{max-width:100%;display:block}.container{max-width:var(--max-width);margin:0 auto;padding:0 24px}.page-loader{min-height:60vh;color:var(--text-light);justify-content:center;align-items:center;gap:12px;font-size:1rem;display:flex}.empty-state{text-align:center;min-height:60vh;color:var(--text-light);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.empty-state h2{color:var(--text);font-weight:600}.btn{border-radius:var(--radius-sm);transition:all var(--transition);white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:.875rem;font-weight:500;display:inline-flex}.btn-primary{background:var(--accent);color:var(--white)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:var(--surface);color:var(--text)}.btn-secondary:hover:not(:disabled){background:var(--surface-hover)}.btn-full{width:100%;padding:12px}.btn-sm{padding:8px 14px;font-size:.8125rem}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-icon{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-light);transition:all var(--transition);justify-content:center;align-items:center;display:inline-flex}.btn-icon:hover{color:var(--text);background:#0000000f}.form-group{flex-direction:column;flex:1;gap:6px;display:flex}.form-group label{color:var(--text-light);font-size:.8125rem;font-weight:500}.form-group input,.form-group select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--white);color:var(--text);transition:border-color var(--transition);outline:none;padding:10px 14px;font-size:.875rem}.form-group input:focus,.form-group select:focus{border-color:var(--accent)}.form-row{gap:16px;display:flex}.chip-group{flex-wrap:wrap;gap:8px;display:flex}.chip{background:var(--white);border:1px solid var(--border);color:var(--text-light);transition:all var(--transition);cursor:pointer;border-radius:20px;padding:6px 14px;font-size:.8125rem}.chip:hover{border-color:var(--accent);color:var(--text)}.chip.active{background:var(--accent);color:var(--white);border-color:var(--accent)}.tag{background:var(--surface);color:var(--text-light);text-transform:capitalize;border-radius:20px;padding:4px 12px;font-size:.75rem;display:inline-block}.tag-list{flex-wrap:wrap;gap:6px;display:flex}.navbar{height:var(--nav-height);background:var(--surface);border-bottom:1px solid var(--border);z-index:100;position:fixed;top:0;left:0;right:0}.navbar-inner{justify-content:space-between;align-items:center;height:100%;display:flex}.logo{letter-spacing:-.02em;color:var(--text);font-size:1.25rem;font-weight:700}.nav-links{gap:4px;display:flex}.nav-link{border-radius:var(--radius-sm);color:var(--text-light);transition:all var(--transition);align-items:center;gap:6px;padding:8px 16px;font-size:.875rem;font-weight:500;display:flex}.nav-link:hover{color:var(--text);background:#0000000a}.nav-link.active{color:var(--text);background:#0000000f}.nav-actions{align-items:center;gap:12px;display:flex}.nav-avatar{width:36px;height:36px;color:var(--text-light);transition:all var(--transition);background:#0000000f;border-radius:50%;justify-content:center;align-items:center;display:flex}.nav-avatar:hover{color:var(--text);background:#0000001a}.main-content{padding-top:calc(var(--nav-height) + 24px);min-height:100vh;padding-bottom:48px}.auth-page{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:400px;box-shadow:var(--shadow-md);padding:40px 32px}.auth-logo{text-align:center;letter-spacing:-.03em;margin-bottom:4px;font-size:1.75rem;font-weight:700}.auth-subtitle{text-align:center;color:var(--text-light);margin-bottom:28px;font-size:.9375rem}.auth-card form{flex-direction:column;gap:16px;display:flex}.auth-error{border-radius:var(--radius-sm);color:var(--danger);text-align:center;background:#c0392b14;padding:10px 14px;font-size:.875rem}.auth-success{border-radius:var(--radius-sm);color:#27ae60;text-align:center;background:#27ae6014;padding:10px 14px;font-size:.875rem}.verify-info{text-align:center;color:var(--text-light);margin-bottom:20px;font-size:.875rem;line-height:1.5}.verify-inputs{justify-content:center;gap:8px;margin-bottom:24px;display:flex}.verify-digit{text-align:center;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:48px;height:56px;color:var(--text);outline:none;font-family:monospace;font-size:1.5rem;font-weight:600;transition:border-color .2s}.verify-digit:focus{border-color:var(--accent)}.verify-resend{text-align:center;color:var(--text-light);margin-top:16px;font-size:.85rem}.btn-link{color:var(--accent);cursor:pointer;font-weight:500;font-size:inherit;background:0 0;border:none;padding:0}.btn-link:hover{color:var(--accent-hover)}.btn-link:disabled{color:var(--text-light);cursor:not-allowed}.auth-switch{text-align:center;color:var(--text-light);margin-top:20px;font-size:.875rem}.auth-switch a{color:var(--accent);font-weight:500}.auth-switch a:hover{color:var(--accent-hover)}.auth-divider{align-items:center;gap:12px;margin:20px 0;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-divider span{color:var(--text-light);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem}.google-btn-wrapper{justify-content:center;width:100%;display:flex}.wardrobe-page{padding-bottom:48px}.wardrobe-header{align-items:baseline;gap:16px;margin-bottom:20px;display:flex}.wardrobe-header h1{font-size:1.5rem;font-weight:700}.item-count{color:var(--text-light);font-size:.875rem}.category-tabs{-ms-overflow-style:none;scrollbar-width:none;gap:8px;margin-bottom:24px;padding-bottom:8px;display:flex;overflow-x:auto}.category-tabs::-webkit-scrollbar{display:none}.category-tab{background:var(--surface);color:var(--text-light);white-space:nowrap;transition:all var(--transition);border-radius:20px;padding:8px 18px;font-size:.8125rem;font-weight:500}.category-tab:hover{background:var(--surface-hover);color:var(--text)}.category-tab.active{background:var(--accent);color:var(--white)}.wardrobe-section{scroll-margin-top:calc(var(--nav-height) + 24px);margin-bottom:36px}.section-title{color:var(--text-light);text-transform:capitalize;border-bottom:1px solid var(--border);margin-bottom:16px;padding-bottom:8px;font-size:1rem;font-weight:600}.wardrobe-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;display:grid}.clothing-card{aspect-ratio:3/4;border-radius:var(--radius);background:var(--surface);cursor:pointer;transition:all var(--transition);box-shadow:var(--shadow);position:relative;overflow:hidden}.clothing-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.clothing-card:hover .card-delete-btn{opacity:1}.clothing-card img{object-fit:cover;width:100%;height:100%}.card-delete-btn{color:#fff;cursor:pointer;opacity:0;width:28px;height:28px;transition:opacity var(--transition), background var(--transition);z-index:2;background:#0000008c;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:8px;right:8px}.card-delete-btn:hover{background:#e74c3c}.modal-overlay{z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0006;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-content,.outfit-modal-content{background:var(--bg);border-radius:var(--radius-lg);width:100%;max-width:720px;max-height:85vh;box-shadow:var(--shadow-lg);position:relative;overflow-y:auto}.modal-close{z-index:1;background:var(--surface);width:36px;height:36px;color:var(--text);transition:all var(--transition);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:16px;right:16px}.modal-close:hover{background:var(--surface-hover)}.modal-body{gap:0;display:flex}.modal-image{flex:0 0 45%;max-height:500px}.modal-image img{object-fit:cover;border-radius:var(--radius-lg) 0 0 var(--radius-lg);width:100%;height:100%}.modal-details{flex-direction:column;flex:1;gap:16px;padding:32px 28px;display:flex}.modal-details h2{font-size:1.25rem;font-weight:600}.detail-grid{flex-direction:column;gap:10px;display:flex}.detail-row{justify-content:space-between;font-size:.875rem;display:flex}.detail-label{color:var(--text-light);font-size:.8125rem;font-weight:500}.detail-tags{flex-direction:column;gap:8px;display:flex}.outfit-modal-content{padding:32px;position:relative}.outfit-modal-title{align-items:center;gap:10px;margin-bottom:24px;font-size:1.25rem;font-weight:700;display:flex}.outfit-modal-score{background:var(--accent);color:var(--white);border-radius:12px;padding:3px 10px;font-size:.75rem;font-weight:600}.outfit-modal-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:20px;display:grid}.outfit-modal-item{background:var(--surface);border-radius:var(--radius);transition:box-shadow var(--transition);overflow:hidden}.outfit-modal-item:hover{box-shadow:var(--shadow-md)}.outfit-modal-item img{object-fit:cover;width:100%;height:220px;display:block}.outfit-modal-placeholder{background:var(--bg);width:100%;height:220px;color:var(--text-muted);justify-content:center;align-items:center;font-size:.875rem;display:flex}.outfit-modal-info{flex-direction:column;gap:2px;padding:12px 14px;display:flex}.outfit-modal-label{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);font-size:.6875rem;font-weight:600}.outfit-modal-name{color:var(--text);font-size:.875rem;font-weight:500}.outfit-modal-meta{color:var(--text-muted);font-size:.75rem}.outfit-card{cursor:pointer}.add-item-page h1{margin-bottom:24px;font-size:1.5rem;font-weight:700}.upload-zone{border:2px dashed var(--border);border-radius:var(--radius-lg);background:var(--surface);cursor:pointer;min-height:360px;transition:all var(--transition);color:var(--text-light);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.upload-zone:hover{border-color:var(--accent);background:var(--surface-hover)}.upload-zone p{font-size:1rem;font-weight:500}.upload-hint{color:var(--text-muted);font-size:.8125rem}.search-divider{color:var(--text-muted);align-items:center;gap:16px;margin:28px 0;font-size:.8125rem;display:flex}.search-divider:before,.search-divider:after{content:"";background:var(--border);flex:1;height:1px}.search-bar{gap:10px;display:flex}.search-bar input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--white);transition:border-color var(--transition);outline:none;flex:1;padding:12px 16px;font-size:.875rem}.search-bar input:focus{border-color:var(--accent)}.search-results{margin-top:24px}.search-results-hint{color:var(--text-muted);margin-bottom:12px;font-size:.8125rem}.search-grid{grid-template-columns:repeat(5,1fr);gap:12px;display:grid}.search-result-card{aspect-ratio:3/4;border-radius:var(--radius);background:var(--surface);cursor:pointer;transition:all var(--transition);border:2px solid #0000;padding:0;position:relative;overflow:hidden}.search-result-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-4px)}.search-result-card:disabled{cursor:wait}.search-result-card img{object-fit:cover;width:100%;height:100%}.fullpage-overlay{z-index:300;color:var(--text);background:#fafaf9d9;flex-direction:column;justify-content:center;align-items:center;gap:16px;font-weight:500;display:flex;position:fixed;inset:0}.show-more-link{color:var(--accent);transition:color var(--transition);margin:16px auto 0;padding:8px 20px;font-size:.875rem;font-weight:500;display:block}.show-more-link:hover{color:var(--accent-hover)}@media (width<=768px){.search-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=480px){.search-grid{grid-template-columns:repeat(2,1fr)}}.upload-scanning{flex-direction:column;align-items:center;gap:16px;display:flex}.spin{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.review-layout{align-items:flex-start;gap:32px;display:flex}.review-image{top:calc(var(--nav-height) + 24px);flex:0 0 340px;position:sticky}.review-image img{border-radius:var(--radius);width:100%;box-shadow:var(--shadow-md)}.review-form{flex-direction:column;flex:1;gap:16px;display:flex}.outfits-page h1{font-size:1.5rem;font-weight:700}.hero-section{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:50vh;display:flex}.hero-section p{color:var(--text-light);margin-bottom:8px}.page-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.page-header-actions{align-items:center;gap:10px;display:flex}.btn-accent{color:var(--white);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition);background:#d4a574;border:none;align-items:center;gap:6px;padding:8px 16px;font-size:.875rem;font-weight:500;display:flex}.btn-accent:hover{background:#c4955e}.outfit-categories{flex-direction:column;gap:28px;display:flex}.category-header{background:var(--surface);border-radius:var(--radius-sm);cursor:pointer;width:100%;transition:background var(--transition);border:1px solid #0000000f;align-items:center;gap:12px;padding:12px 16px;display:flex}.category-header:hover{background:var(--bg)}.category-header h2{color:var(--text);margin:0;font-size:1.125rem;font-weight:600}.category-count{background:var(--accent);color:var(--white);border-radius:10px;padding:2px 10px;font-size:.75rem;font-weight:600}.category-chevron{color:var(--text-muted);margin-left:auto;transition:transform .25s}.category-chevron.expanded{transform:rotate(180deg)}.outfit-category .outfits-grid{margin-top:16px}.outfits-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.outfit-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);transition:all var(--transition);padding:20px;position:relative}.outfit-card:hover{box-shadow:var(--shadow-md)}.outfit-card-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.outfit-card-header .outfit-score{display:inline-block;position:static}.fav-btn{cursor:pointer;color:var(--text-muted);transition:color var(--transition), transform var(--transition);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:4px;display:flex}.fav-btn:hover{color:#e74c3c;transform:scale(1.15)}.fav-btn.fav-active{color:#e74c3c}.outfit-score{background:var(--accent);color:var(--white);border-radius:12px;padding:4px 10px;font-size:.75rem;font-weight:600;position:absolute;top:12px;right:12px}.outfit-pieces{flex-wrap:wrap;gap:10px;display:flex}.outfit-piece{flex-direction:column;align-items:center;gap:6px;width:80px;display:flex}.outfit-piece img{object-fit:cover;border-radius:var(--radius-sm);background:var(--bg);width:80px;height:96px}.outfit-piece-placeholder{border-radius:var(--radius-sm);background:var(--bg);width:80px;height:96px;color:var(--text-muted);text-align:center;justify-content:center;align-items:center;padding:4px;font-size:.6875rem;display:flex}.piece-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.6875rem;font-weight:500}.recs-page h1{margin-bottom:20px;font-size:1.5rem;font-weight:700}.tabs{background:var(--surface);border-radius:var(--radius-sm);gap:4px;width:fit-content;margin-bottom:24px;padding:4px;display:flex}.tab{color:var(--text-light);transition:all var(--transition);border-radius:6px;padding:8px 20px;font-size:.875rem;font-weight:500}.tab:hover{color:var(--text)}.tab.active{background:var(--white);color:var(--text);box-shadow:var(--shadow)}.filter-bar{flex-wrap:wrap;gap:12px;margin-bottom:24px;display:flex}.filter-bar select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--white);color:var(--text);cursor:pointer;outline:none;padding:10px 14px;font-size:.875rem}.filter-bar select:focus{border-color:var(--accent)}.analysis-section{min-height:200px}.analysis-summary{background:var(--surface);border-radius:var(--radius);margin-bottom:24px;padding:24px;line-height:1.7}.analysis-summary p{color:var(--text);margin-bottom:8px;font-size:.9375rem}.analysis-rec{background:var(--surface);border-radius:var(--radius);margin-bottom:16px;padding:24px}.analysis-rec h3{margin-bottom:8px;font-size:1rem;font-weight:600}.analysis-rec p{color:var(--text-light);margin-bottom:16px;font-size:.875rem}.product-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.product-card{background:var(--bg);border-radius:var(--radius-sm);transition:all var(--transition);border:1px solid #0000;flex-direction:column;display:flex;overflow:hidden}.product-card:hover{border-color:var(--border);box-shadow:var(--shadow)}.product-card img{object-fit:contain;background:var(--white);width:100%;height:140px;padding:8px}.product-info{flex-direction:column;gap:4px;padding:12px;display:flex}.product-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.8125rem;font-weight:500;display:-webkit-box;overflow:hidden}.product-price{color:var(--accent);font-size:.875rem;font-weight:600}.product-source{color:var(--text-muted);font-size:.75rem}.chat-fab{background:var(--accent);width:56px;height:56px;color:var(--white);box-shadow:var(--shadow-md);z-index:150;transition:all var(--transition);border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;bottom:24px;right:24px}.chat-fab:hover{background:var(--accent-hover);transform:scale(1.05)}.chat-panel{background:var(--bg);border-radius:var(--radius-lg);width:400px;height:540px;box-shadow:var(--shadow-lg);z-index:150;flex-direction:column;display:flex;position:fixed;bottom:24px;right:24px;overflow:hidden}.chat-header{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:14px 16px;display:flex}.chat-title{flex:1;font-size:.9375rem;font-weight:600}.chat-header-actions{gap:4px;display:flex}.chat-sessions{flex:1;padding:8px;overflow-y:auto}.session-item{border-radius:var(--radius-sm);width:100%;color:var(--text);text-align:left;transition:all var(--transition);cursor:pointer;align-items:center;gap:8px;padding:12px 14px;font-size:.875rem;display:flex}.session-item:hover{background:var(--surface)}.session-item.active{background:var(--surface);font-weight:500}.session-title{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.session-delete{opacity:0;color:var(--text-muted);flex-shrink:0;transition:opacity .2s,color .2s}.session-item:hover .session-delete{opacity:1}.session-delete:hover{color:#c0392b}.session-item.new-chat{color:var(--accent);font-weight:500}.chat-messages{flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.chat-empty{text-align:center;height:100%;color:var(--text-muted);justify-content:center;align-items:center;padding:24px;font-size:.875rem;display:flex}.chat-msg{display:flex}.chat-msg.user{justify-content:flex-end}.chat-msg.model{justify-content:flex-start}.chat-bubble{word-break:break-word;border-radius:16px;max-width:85%;padding:10px 14px;font-size:.875rem;line-height:1.5}.chat-msg.user .chat-bubble{background:var(--accent);color:var(--white);border-bottom-right-radius:4px}.chat-msg.model .chat-bubble{background:var(--surface);color:var(--text);border-bottom-left-radius:4px}.chat-link{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.chat-msg.user .chat-link{color:var(--white)}.chat-bubble.typing{gap:4px;padding:14px 18px;display:flex}.chat-bubble.typing span{background:var(--text-muted);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite typing}.chat-bubble.typing span:nth-child(2){animation-delay:.2s}.chat-bubble.typing span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-6px)}}.chat-input-area{border-top:1px solid var(--border);background:var(--bg);gap:8px;padding:12px 16px;display:flex}.chat-input-area input{border:1px solid var(--border);background:var(--white);border-radius:20px;outline:none;flex:1;padding:10px 14px;font-size:.875rem}.chat-input-area input:focus{border-color:var(--accent)}.btn-send{background:var(--accent);width:40px;height:40px;color:var(--white);transition:all var(--transition);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.btn-send:hover:not(:disabled){background:var(--accent-hover)}.btn-send:disabled{opacity:.4;cursor:not-allowed}.profile-page{justify-content:center;padding-top:24px;display:flex}.profile-card{background:var(--surface);border-radius:var(--radius-lg);text-align:center;width:100%;max-width:480px;padding:40px 32px}.profile-avatar{background:var(--bg);width:80px;height:80px;color:var(--text-light);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 16px;display:flex}.profile-card h1{margin-bottom:4px;font-size:1.5rem;font-weight:700}.profile-email{color:var(--text-light);margin-bottom:24px;font-size:.9375rem}.profile-section{text-align:left;border-top:1px solid var(--border);margin-top:20px;padding-top:20px}.profile-section h3{color:var(--text-light);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;font-size:.8125rem;font-weight:500}@media (width<=768px){.navbar-inner{padding:0 16px}.nav-link span{display:none}.nav-link{padding:8px 12px}.btn-sm span{display:none}.container{padding:0 16px}.wardrobe-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.review-layout{flex-direction:column}.review-image{flex:none;max-width:100%;position:static}.form-row{flex-direction:column;gap:16px}.modal-body{flex-direction:column}.modal-image{flex:none;max-height:260px}.modal-image img{border-radius:var(--radius-lg) var(--radius-lg) 0 0}.outfits-grid{grid-template-columns:1fr}.filter-bar{flex-direction:column}.chat-panel{border-radius:var(--radius);width:calc(100vw - 16px);height:calc(100vh - 16px);bottom:8px;right:8px}.product-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}@media (width<=480px){.wardrobe-grid{grid-template-columns:repeat(2,1fr)}}
