.nav{background:var(--color-ivory);border-bottom:1px solid var(--color-line);position:sticky;top:0;z-index:50}.nav-inner{max-width:1180px;margin:0 auto;padding:var(--space-4) var(--space-5);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);position:relative}.nav-brand{display:flex;align-items:center;gap:var(--space-2);text-decoration:none;color:var(--color-forest);flex-shrink:0}.nav-logo-img{width:40px;height:40px;object-fit:contain;border-radius:50%}.nav-brand-text{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;color:var(--color-forest-dark)}.nav-links{display:flex;gap:var(--space-5);flex:1;justify-content:center;align-items:center}.nav-link{font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted);text-decoration:none;padding:var(--space-2) 0;border-bottom:2px solid transparent;transition:color .15s ease,border-color .15s ease;white-space:nowrap}.nav-link:hover{color:var(--color-forest-dark)}.nav-link.active{color:var(--color-forest);border-bottom-color:var(--color-pink-deep)}.nav-auth{display:flex;align-items:center;gap:var(--space-3)}.nav-profile-pill{font-size:var(--text-xs);font-weight:600;text-transform:capitalize;color:var(--color-forest);background:var(--color-ivory-deep);border:1px solid var(--color-line);padding:var(--space-2) var(--space-3);border-radius:999px;text-decoration:none;white-space:nowrap}.nav-cta{background:var(--color-pink);color:var(--color-forest-dark);text-decoration:none;font-weight:600;font-size:var(--text-sm);padding:var(--space-2) var(--space-5);border-radius:999px;transition:background .15s ease;white-space:nowrap}.nav-cta:hover{background:var(--color-pink-deep);color:#fff}.nav-logout{background:none;border:none;color:var(--color-text-muted);font-size:var(--text-sm);cursor:pointer;font-weight:600}.nav-logout:hover{color:var(--color-clay)}.nav-hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:var(--space-2);z-index:60}.nav-hamburger span{display:block;width:22px;height:2px;background:var(--color-forest-dark);border-radius:2px;transition:all .2s ease}.nav-mobile-auth{display:none}@media (max-width: 760px){.nav-hamburger{display:flex}.nav-auth-desktop{display:none}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--color-ivory);border-bottom:1px solid var(--color-line);flex-direction:column;align-items:flex-start;gap:0;padding:var(--space-3) var(--space-5) var(--space-5);box-shadow:var(--shadow-card)}.nav-links-open{display:flex}.nav-link{width:100%;padding:var(--space-3) 0;border-bottom:1px solid var(--color-line);font-size:var(--text-base)}.nav-link:last-of-type{border-bottom:none}.nav-mobile-auth{display:flex;flex-direction:column;gap:var(--space-3);width:100%;margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-line)}}.home{max-width:1180px;margin:0 auto;padding:var(--space-7) var(--space-5) var(--space-9)}.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--space-7);align-items:center;margin-bottom:var(--space-9)}.hero-eyebrow{display:inline-block;font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-honey);margin-bottom:var(--space-4)}.hero-title{font-size:var(--text-4xl);letter-spacing:-.02em;margin-bottom:var(--space-5)}.hero-sub{font-size:var(--text-lg);color:var(--color-text-muted);max-width:46ch;margin:0 0 var(--space-6) 0}.hero-actions{display:flex;gap:var(--space-4);margin-bottom:var(--space-6)}.btn-primary{background:linear-gradient(135deg,var(--color-pink),#B5D8FF);color:var(--color-paper);text-decoration:none;font-weight:700;font-size:var(--text-base);padding:var(--space-3) var(--space-6);border-radius:999px;transition:background .15s ease,transform .15s ease;display:inline-block}.btn-primary:hover{background:var(--color-pink-deep);transform:translateY(-1px)}.btn-secondary{background:transparent;color:var(--color-forest-dark);border:1.5px solid var(--color-line);text-decoration:none;font-weight:700;font-size:var(--text-base);padding:var(--space-3) var(--space-6);border-radius:999px;transition:border-color .15s ease;display:inline-block}.btn-secondary:hover{border-color:var(--color-forest)}.hero-stat{font-size:var(--text-sm);color:var(--color-text-muted)}.hero-stat strong{color:var(--color-forest)}.hero-visual{display:flex;justify-content:center}.hero-logo-wrap{display:flex;justify-content:center;align-items:center}.hero-logo-img{width:100%;max-width:340px;height:auto;filter:drop-shadow(0 8px 32px rgba(249,168,201,.35));animation:float 4s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.label-illustration{display:none}.features{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-5)}.feature-card{background:var(--color-paper);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-5)}.feature-title{font-size:var(--text-lg);margin-bottom:var(--space-2)}.feature-body{font-size:var(--text-sm);color:var(--color-text-muted);margin:0;line-height:1.6}@media (max-width: 900px){.hero{grid-template-columns:1fr}.hero-visual{order:-1}.features{grid-template-columns:1fr 1fr}}@media (max-width: 560px){.hero-title{font-size:var(--text-3xl)}.features{grid-template-columns:1fr}.hero-actions{flex-direction:column}}.score-stamp{display:flex;align-items:center;gap:var(--space-6);background:var(--color-paper);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-card)}.score-stamp-ring-wrap{position:relative;width:120px;height:120px;flex-shrink:0}.score-stamp-ring{width:100%;height:100%}.score-stamp-number{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.score-stamp-value{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:700;color:var(--color-forest-dark);line-height:1}.score-stamp-max{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:2px}.score-stamp-detail{flex:1}.score-stamp-verdict{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;margin:0 0 var(--space-2) 0;color:var(--color-forest-dark)}.score-stamp-confidence{font-size:var(--text-sm);color:var(--color-text-muted);margin:0 0 var(--space-2) 0}.score-stamp-confidence strong{text-transform:capitalize;color:var(--color-forest-dark)}.score-stamp-warning{font-size:var(--text-sm);background:var(--severity-medium-bg);color:var(--severity-medium-fg);border-radius:var(--radius-sm);padding:var(--space-3);margin:0;line-height:1.5}@media (max-width: 600px){.score-stamp{flex-direction:column;text-align:center}}.score-stamp-cap{font-size:var(--text-xs);color:var(--color-text-muted);background:var(--color-ivory-deep);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);margin-top:var(--space-2);line-height:1.5}.ingredient-list{margin-top:var(--space-5)}.ingredient-list-filters{display:flex;gap:var(--space-2);margin-bottom:var(--space-4)}.filter-pill{background:var(--color-ivory-deep);border:1px solid var(--color-line);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:600;padding:var(--space-2) var(--space-4);border-radius:999px;cursor:pointer;transition:all .15s ease}.filter-pill:hover:not(:disabled){border-color:var(--color-forest);color:var(--color-forest)}.filter-pill.active{background:var(--color-pink);border-color:var(--color-pink);color:var(--color-forest-dark)}.filter-pill:disabled{opacity:.4;cursor:default}.ingredient-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.ingredient-row{background:var(--color-paper);border:1px solid var(--color-line);border-left:4px solid var(--color-line);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4)}.ingredient-row.severity-high{border-left-color:var(--color-clay)}.ingredient-row.severity-medium{border-left-color:var(--color-honey)}.ingredient-row.severity-low{border-left-color:var(--color-sage)}.ingredient-row.unrecognized{border-left-color:var(--color-text-muted);border-left-style:dashed}.ingredient-row-main{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.ingredient-name{font-weight:600;color:var(--color-forest-dark);font-size:var(--text-base)}.ingredient-badge{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:2px var(--space-2);border-radius:4px}.badge-unrecognized{background:#efebe3;color:var(--color-text-muted);text-transform:none;font-weight:600}.badge-fuzzy{background:#e3eef0;color:#2d6a75;text-transform:none;font-weight:600}.badge-comedogenic{background:#f0e6f5;color:#7a4a8f;text-transform:none;font-weight:600}.ingredient-reason{margin:var(--space-2) 0 0 0;font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.5}.ingredient-reason-muted{font-style:italic}.scan-page{max-width:760px;margin:0 auto;padding:var(--space-7) var(--space-5) var(--space-9)}.scan-header{margin-bottom:var(--space-6)}.scan-header h1{font-size:var(--text-3xl);margin-bottom:var(--space-2)}.scan-subtitle{color:var(--color-text-muted);font-size:var(--text-base);margin:0}.scan-form{background:var(--color-paper);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-soft)}.scan-form-row{margin-bottom:var(--space-5)}.scan-form-row label{display:block;font-weight:700;font-size:var(--text-sm);color:var(--color-forest-dark);margin-bottom:var(--space-2)}.optional-tag{font-weight:400;color:var(--color-text-muted);text-transform:lowercase;font-size:var(--text-xs)}.scan-form input[type=text],.scan-form textarea,.scan-form select{width:100%;font-family:var(--font-body);font-size:var(--text-base);padding:var(--space-3);border:1.5px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-ivory);color:var(--color-forest-dark);transition:border-color .15s ease}.scan-form input[type=text]:focus,.scan-form textarea:focus,.scan-form select:focus{border-color:var(--color-pink);outline:none}.scan-form textarea{resize:vertical;font-family:var(--font-body);line-height:1.5}.scan-textarea-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.scan-textarea-header label{margin-bottom:0}.btn-photo{background:var(--color-ivory-deep);border:1px solid var(--color-line);color:var(--color-pink-deep);font-size:var(--text-xs);font-weight:700;padding:var(--space-2) var(--space-3);border-radius:999px;cursor:pointer;white-space:nowrap}.btn-photo:hover:not(:disabled){border-color:var(--color-pink)}.btn-photo:disabled{opacity:.6;cursor:wait}.ocr-note{font-size:var(--text-xs);color:var(--color-text-muted);background:var(--color-ivory-deep);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);margin-top:var(--space-2)}.scan-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.scan-save-toggle{display:flex!important;align-items:center;gap:var(--space-2);font-weight:500!important;font-size:var(--text-sm)!important;color:var(--color-text-muted);margin-bottom:var(--space-5);cursor:pointer}.scan-save-toggle input{width:auto}.scan-error{background:var(--severity-high-bg);color:var(--severity-high-fg);border-radius:var(--radius-sm);padding:var(--space-3);font-size:var(--text-sm);margin-bottom:var(--space-4)}.scan-submit{width:100%;text-align:center;border:none;cursor:pointer;font-size:var(--text-lg)}.scan-submit:disabled{opacity:.6;cursor:wait}.scan-result{margin-top:var(--space-7);display:flex;flex-direction:column;gap:var(--space-6)}.scan-result-section h2{font-size:var(--text-xl);margin-bottom:var(--space-3)}.alt-honesty-note{font-size:var(--text-sm);color:var(--color-text-muted);font-style:italic;margin-bottom:var(--space-4)}.alt-suggestions{display:flex;flex-direction:column;gap:var(--space-3)}.alt-card{background:var(--color-ivory-deep);border-radius:var(--radius-md);padding:var(--space-4)}.alt-trigger{font-size:var(--text-sm);margin:0 0 var(--space-2) 0;color:var(--color-text-muted)}.alt-lookfor{font-weight:700;color:var(--color-pink-deep);margin:0 0 var(--space-2) 0}.alt-why{font-size:var(--text-sm);color:var(--color-text-muted);margin:0;line-height:1.5}@media (max-width: 560px){.scan-form-grid{grid-template-columns:1fr}.scan-textarea-header{flex-direction:column;align-items:flex-start;gap:var(--space-2)}}.profile-sync-row{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-3);background:var(--color-ivory-deep);border-radius:var(--radius-sm);border:1px solid var(--color-line)}.profile-sync-notice{font-size:var(--text-sm);color:var(--color-text-muted);flex:1}.btn-sync-profile{background:none;border:1.5px solid var(--color-forest);color:var(--color-pink-deep);font-size:var(--text-xs);font-weight:700;padding:var(--space-1) var(--space-3);border-radius:999px;cursor:pointer;white-space:nowrap}.btn-sync-profile:hover{background:linear-gradient(135deg,var(--color-pink),#B5D8FF);color:var(--color-paper)}.profile-saved-toast{font-size:var(--text-sm);color:var(--color-sage);font-weight:600;margin-bottom:var(--space-3)}.self-interaction-banner{background:var(--severity-medium-bg);border:1px solid var(--color-honey);border-radius:var(--radius-md);padding:var(--space-5)}.self-interaction-banner h3{font-size:var(--text-lg);margin-bottom:var(--space-3);color:var(--severity-medium-fg)}.warning-card{background:var(--color-paper);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);border-left:4px solid var(--color-honey);display:flex;gap:var(--space-3);align-items:flex-start;margin-top:var(--space-2)}.cap-notice{font-size:var(--text-sm);color:var(--color-text-muted);background:var(--color-ivory-deep);border-radius:var(--radius-sm);padding:var(--space-3);border-left:3px solid var(--color-line)}.gemini-section h2{display:flex;align-items:center;gap:var(--space-3)}.ai-badge{font-family:var(--font-body);font-size:var(--text-xs);font-weight:700;background:linear-gradient(135deg,#4285f4,#0f9d58);color:#fff;padding:2px var(--space-2);border-radius:4px;letter-spacing:.03em}.gemini-disclaimer{font-size:var(--text-xs);color:var(--color-text-muted);background:#eef2ff;border-radius:var(--radius-sm);padding:var(--space-3);margin-bottom:var(--space-4);line-height:1.5;border-left:3px solid #6366F1}.gemini-insights{display:flex;flex-direction:column;gap:var(--space-3)}.gemini-card{background:var(--color-paper);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-4)}.gemini-card.signal-likely-safe{border-left:4px solid var(--color-sage)}.gemini-card.signal-caution{border-left:4px solid var(--color-honey)}.gemini-card.signal-concern{border-left:4px solid var(--color-clay)}.gemini-card.signal-unknown{border-left:4px solid var(--color-line)}.gemini-card-header{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-2)}.gemini-ingredient-name{font-weight:700;color:var(--color-forest-dark)}.signal-badge-likely-safe{background:var(--severity-low-bg);color:var(--severity-low-fg);font-size:var(--text-xs);font-weight:700;padding:2px var(--space-2);border-radius:4px}.signal-badge-caution{background:var(--severity-medium-bg);color:var(--severity-medium-fg);font-size:var(--text-xs);font-weight:700;padding:2px var(--space-2);border-radius:4px}.signal-badge-concern{background:var(--severity-high-bg);color:var(--severity-high-fg);font-size:var(--text-xs);font-weight:700;padding:2px var(--space-2);border-radius:4px}.signal-badge-unknown{background:#efebe3;color:var(--color-text-muted);font-size:var(--text-xs);font-weight:700;padding:2px var(--space-2);border-radius:4px}.gemini-confidence{font-size:var(--text-xs);color:var(--color-text-muted)}.gemini-category{font-size:var(--text-sm);color:var(--color-text-muted);font-style:italic;margin:0 0 var(--space-2) 0}.gemini-reasoning{font-size:var(--text-sm);color:var(--color-forest-dark);margin:0;line-height:1.5}.compare-page{max-width:1000px;margin:0 auto;padding:var(--space-7) var(--space-5) var(--space-9)}.compare-header{margin-bottom:var(--space-6)}.compare-header h1{font-size:var(--text-3xl);margin-bottom:var(--space-2)}.compare-subtitle{color:var(--color-text-muted);margin:0;font-size:var(--text-base)}.obf-search-box{background:var(--color-paper);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-6);margin-bottom:var(--space-6);box-shadow:var(--shadow-soft)}.obf-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2)}.obf-header h2{font-size:var(--text-xl);margin:0}.obf-badge{font-size:var(--text-xs);font-weight:700;background:#e8f5e9;color:#2e7d32;padding:3px var(--space-3);border-radius:999px;border:1px solid #A5D6A7}.obf-desc{font-size:var(--text-sm);color:var(--color-text-muted);margin:0 0 var(--space-4) 0}.obf-form{display:flex;gap:var(--space-3);flex-wrap:wrap}.obf-input{flex:1;min-width:200px;font-family:var(--font-body);font-size:var(--text-sm);padding:var(--space-3);border:1.5px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-ivory);color:var(--color-forest-dark)}.obf-input:focus{border-color:var(--color-forest);outline:none}.obf-select{font-family:var(--font-body);font-size:var(--text-sm);padding:var(--space-3);border:1.5px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-ivory);color:var(--color-forest-dark)}.obf-search-btn{background:linear-gradient(135deg,var(--color-pink),#B5D8FF);color:var(--color-paper);font-weight:700;font-size:var(--text-sm);border:none;padding:var(--space-3) var(--space-5);border-radius:var(--radius-sm);cursor:pointer}.obf-search-btn:hover{background:var(--color-pink-deep)}.obf-search-btn:disabled{opacity:.6;cursor:wait}.obf-results{margin-top:var(--space-4)}.obf-source-note{font-size:var(--text-xs);color:var(--color-text-muted);font-style:italic;margin-bottom:var(--space-3)}.obf-empty{color:var(--color-text-muted);font-size:var(--text-sm)}.obf-product-grid{display:flex;flex-direction:column;gap:var(--space-2)}.obf-product-card{background:var(--color-ivory);border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.obf-product-info{flex:1;display:flex;flex-direction:column;gap:2px}.obf-product-name{font-weight:700;font-size:var(--text-sm);color:var(--color-forest-dark)}.obf-brand{font-size:var(--text-xs);color:var(--color-text-muted)}.obf-category{font-size:var(--text-xs);color:var(--color-sage)}.obf-slot-buttons{display:flex;gap:var(--space-2)}.obf-use-btn{background:var(--color-paper);border:1.5px solid var(--color-forest);color:var(--color-forest);font-size:var(--text-xs);font-weight:700;padding:var(--space-1) var(--space-3);border-radius:999px;cursor:pointer}.obf-use-btn:hover{background:linear-gradient(135deg,var(--color-pink),#B5D8FF);color:var(--color-paper)}.compare-form{background:var(--color-paper);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-soft);margin-bottom:var(--space-7)}.compare-skin-row{margin-bottom:var(--space-5)}.compare-skin-row label{font-weight:700;font-size:var(--text-sm);display:block;margin-bottom:var(--space-3)}.skin-pills{display:flex;gap:var(--space-2);flex-wrap:wrap}.skin-pill{background:var(--color-ivory-deep);border:1.5px solid var(--color-line);border-radius:999px;padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:all .15s ease}.skin-pill input{display:none}.skin-pill:hover{border-color:var(--color-forest)}.skin-pill.selected{background:linear-gradient(135deg,var(--color-pink),#B5D8FF);border-color:var(--color-forest);color:var(--color-paper)}.compare-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-5);margin-bottom:var(--space-5)}.compare-slot{display:flex;flex-direction:column;gap:var(--space-3)}.compare-slot-header{display:flex;align-items:center;justify-content:space-between}.compare-slot-label{font-weight:700;font-size:var(--text-sm);color:var(--color-forest)}.compare-remove-btn{background:none;border:none;color:var(--color-clay);font-size:var(--text-xs);font-weight:600;cursor:pointer}.compare-name-input,.compare-ingredients-input{width:100%;font-family:var(--font-body);font-size:var(--text-sm);padding:var(--space-3);border:1.5px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-ivory);color:var(--color-forest-dark);resize:vertical}.compare-name-input:focus,.compare-ingredients-input:focus{border-color:var(--color-forest);outline:none}.compare-char-count{font-size:var(--text-xs);color:var(--color-text-muted);margin:0}.compare-add-btn{background:none;border:1.5px dashed var(--color-line);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:700;padding:var(--space-3) var(--space-5);border-radius:var(--radius-sm);cursor:pointer;width:100%;margin-bottom:var(--space-5);transition:all .15s ease}.compare-add-btn:hover{border-color:var(--color-forest);color:var(--color-forest)}.compare-submit{width:100%;border:none;cursor:pointer;font-size:var(--text-lg)}.compare-submit:disabled{opacity:.6;cursor:wait}.compare-result{display:flex;flex-direction:column;gap:var(--space-6)}.compare-result-header{text-align:center}.compare-result-header h2{font-size:var(--text-2xl);margin-bottom:var(--space-3)}.compare-summary{font-size:var(--text-lg);color:var(--color-forest-dark);margin:0 0 var(--space-2) 0}.compare-skin-note{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.compare-score-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-5)}.compare-score-card{background:var(--color-paper);border:1.5px solid var(--color-line);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;flex-direction:column;align-items:center;gap:var(--space-3);position:relative;text-align:center;transition:box-shadow .2s ease}.compare-score-card.winner{border-color:var(--color-sage);border-width:2px;box-shadow:0 0 0 3px #4a7a681f}.winner-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--color-sage);color:#fff;font-size:var(--text-xs);font-weight:700;padding:3px var(--space-3);border-radius:999px;white-space:nowrap}.compare-product-name{font-weight:700;font-size:var(--text-base);color:var(--color-forest-dark)}.compare-score-ring{margin:var(--space-2) 0}.compare-verdict-badge{font-size:var(--text-xs);font-weight:700;padding:3px var(--space-3);border-radius:999px}.verdict-good{background:var(--severity-low-bg);color:var(--severity-low-fg)}.verdict-caution{background:var(--severity-medium-bg);color:var(--severity-medium-fg)}.verdict-concern{background:var(--severity-high-bg);color:var(--severity-high-fg)}.compare-verdict-text{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.compare-coverage{font-size:var(--text-xs);color:var(--color-text-muted)}.compare-concerns-section h3{font-size:var(--text-xl);margin-bottom:var(--space-4)}.compare-concerns-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-5)}.compare-concerns-col h4{font-size:var(--text-base);margin-bottom:var(--space-3);color:var(--color-forest-dark)}.compare-self-interaction{font-size:var(--text-xs);background:var(--severity-medium-bg);color:var(--severity-medium-fg);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);margin-bottom:var(--space-3);font-weight:600}.compare-no-concerns{font-size:var(--text-sm);color:var(--color-sage);font-style:italic}.compare-concerns-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.compare-concern-item{display:flex;align-items:center;gap:var(--space-2)}.concern-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dot-high{background:var(--color-clay)}.dot-medium{background:var(--color-honey)}.dot-low{background:var(--color-sage)}.concern-name{font-size:var(--text-sm);flex:1;color:var(--color-forest-dark)}.concern-sev-badge{font-size:10px;font-weight:700;padding:1px var(--space-2);border-radius:3px}.badge-high{background:var(--severity-high-bg);color:var(--severity-high-fg)}.badge-medium{background:var(--severity-medium-bg);color:var(--severity-medium-fg)}.badge-low{background:var(--severity-low-bg);color:var(--severity-low-fg)}.compare-highlights{margin-top:var(--space-3)}.compare-highlight-item{font-size:var(--text-xs);color:var(--color-sage);margin:0 0 var(--space-1) 0}.compare-stats-table{background:var(--color-paper);border:1px solid var(--color-line);border-radius:var(--radius-md);overflow:hidden}.compare-stats-table h3{font-size:var(--text-lg);padding:var(--space-4) var(--space-5);margin:0;border-bottom:1px solid var(--color-line)}.compare-stats-table table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.compare-stats-table th{background:var(--color-ivory-deep);padding:var(--space-3) var(--space-4);text-align:left;font-weight:700;border-bottom:1px solid var(--color-line);color:var(--color-forest-dark)}.compare-stats-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-line);color:var(--color-text-muted)}.compare-stats-table td:first-child{color:var(--color-forest-dark);font-weight:600}.compare-stats-table tr:last-child td{border-bottom:none}.compare-stats-table tr:hover td{background:var(--color-ivory)}.dataset-footer{font-size:var(--text-xs);color:var(--color-text-muted);text-align:center;padding-top:var(--space-4);border-top:1px solid var(--color-line)}@media (max-width: 640px){.obf-form{flex-direction:column}.compare-score-row,.compare-concerns-row{grid-template-columns:1fr}}.obf-search-error{font-size:var(--text-sm);color:var(--color-clay);margin-top:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--severity-high-bg);border-radius:var(--radius-sm)}.interactions-page{max-width:880px;margin:0 auto;padding:var(--space-7) var(--space-5) var(--space-9)}.interactions-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}.interactions-result{margin-top:var(--space-6)}.no-warnings-card{background:var(--severity-low-bg);border-radius:var(--radius-lg);padding:var(--space-5)}.no-warnings-card p{margin:0 0 var(--space-3) 0;color:var(--color-forest-dark)}.no-warnings-caveat{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:0!important}.warnings-list{display:flex;flex-direction:column;gap:var(--space-3)}.warning-card{background:var(--color-paper);border-radius:var(--radius-md);padding:var(--space-4);border-left:4px solid var(--color-line);display:flex;gap:var(--space-3);align-items:flex-start}.warning-card.severity-high{border-left-color:var(--color-clay)}.warning-card.severity-medium{border-left-color:var(--color-honey)}.warning-card.severity-low{border-left-color:var(--color-sage)}.warning-card p{margin:0;font-size:var(--text-sm);line-height:1.6}@media (max-width: 700px){.interactions-grid{grid-template-columns:1fr}}.coverage-row{display:flex;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap}.coverage-pill{flex:1;min-width:200px;background:var(--color-paper);border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4)}.coverage-label{font-weight:700;font-size:var(--text-sm);display:block;margin-bottom:2px}.coverage-stat{font-size:var(--text-sm);display:block}.coverage-warn{font-size:var(--text-xs);color:var(--color-honey);display:block;margin-top:2px}.login-page{min-height:calc(100vh - 65px);display:flex;align-items:center;justify-content:center;padding:var(--space-5)}.login-card{background:var(--color-paper);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:var(--space-7);width:100%;max-width:440px;box-shadow:var(--shadow-card)}.login-card h1{font-size:var(--text-2xl);margin-bottom:var(--space-2)}.login-subtitle{color:var(--color-text-muted);font-size:var(--text-sm);margin:0 0 var(--space-6) 0}.login-card .scan-form-row{margin-bottom:var(--space-4)}.login-card .scan-form-row label{display:block;font-weight:700;font-size:var(--text-sm);margin-bottom:var(--space-2)}.login-card input[type=email],.login-card input[type=password]{width:100%;font-family:var(--font-body);font-size:var(--text-base);padding:var(--space-3);border:1.5px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-ivory);color:var(--color-forest-dark);box-sizing:border-box}.login-card input:focus{border-color:var(--color-pink);outline:none}.login-hint{font-size:var(--text-xs);color:var(--color-text-muted);margin:var(--space-1) 0 0 0}.login-switch{background:none;border:none;color:var(--color-forest);font-size:var(--text-sm);font-weight:600;cursor:pointer;margin-top:var(--space-4);display:block;width:100%;text-align:center;text-decoration:underline;text-underline-offset:2px}.profile-page{max-width:760px;margin:0 auto;padding:var(--space-7) var(--space-5) var(--space-9)}.profile-login-prompt{text-align:center;color:var(--color-text-muted);padding:var(--space-9) 0}.profile-header{margin-bottom:var(--space-6)}.profile-header h1{font-size:var(--text-3xl);margin-bottom:var(--space-2)}.profile-subtitle{color:var(--color-text-muted);margin:0}.profile-form{display:flex;flex-direction:column;gap:var(--space-7)}.profile-section h2{font-size:var(--text-xl);margin-bottom:var(--space-3)}.profile-section-hint{font-size:var(--text-sm);color:var(--color-text-muted);margin:calc(var(--space-3) * -1) 0 var(--space-4) 0}.optional-tag{font-size:var(--text-sm);font-weight:400;color:var(--color-text-muted);font-family:var(--font-body)}.skin-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}.skin-type-card{display:flex;flex-direction:column;background:var(--color-paper);border:1.5px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-4);cursor:pointer;transition:border-color .15s ease}.skin-type-card input{display:none}.skin-type-card:hover{border-color:var(--color-pink)}.skin-type-card.selected{border-color:var(--color-pink);background:var(--color-ivory-deep);box-shadow:0 0 0 2px var(--color-pink)}.skin-type-label{font-weight:700;color:var(--color-forest-dark);margin-bottom:var(--space-1)}.skin-type-desc{font-size:var(--text-xs);color:var(--color-text-muted)}.env-options{display:flex;flex-wrap:wrap;gap:var(--space-3)}.env-pill{background:var(--color-paper);border:1.5px solid var(--color-line);border-radius:999px;padding:var(--space-2) var(--space-5);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:all .15s ease}.env-pill input{display:none}.env-pill:hover{border-color:var(--color-pink)}.env-pill.selected{background:linear-gradient(135deg,var(--color-pink),#B5D8FF);border-color:var(--color-pink);color:var(--color-paper)}.concerns-grid{display:flex;flex-wrap:wrap;gap:var(--space-2)}.concern-chip{background:var(--color-ivory-deep);border:1.5px solid var(--color-line);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:600;cursor:pointer;text-transform:capitalize;transition:all .15s ease}.concern-chip input{display:none}.concern-chip.selected{background:var(--color-honey-light);border-color:var(--color-honey);color:#7a4010}.profile-saved{background:var(--severity-low-bg);color:var(--color-sage);border-radius:var(--radius-sm);padding:var(--space-3);font-weight:600;font-size:var(--text-sm)}@media (max-width: 600px){.skin-type-grid{grid-template-columns:1fr 1fr}}.history-page{max-width:760px;margin:0 auto;padding:var(--space-7) var(--space-5) var(--space-9)}.history-page h1{font-size:var(--text-3xl);margin-bottom:var(--space-6)}.history-loading{color:var(--color-text-muted)}.history-empty{color:var(--color-text-muted);text-align:center;padding:var(--space-9) 0}.history-empty-state{text-align:center;padding:var(--space-9) 0;display:flex;flex-direction:column;align-items:center;gap:var(--space-4);color:var(--color-text-muted)}.history-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-3)}.history-card{background:var(--color-paper);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);display:flex;align-items:center;gap:var(--space-5)}.history-score{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:700;min-width:64px;text-align:center}.history-name{font-weight:700;margin:0 0 var(--space-1) 0}.history-verdict{font-size:var(--text-sm);color:var(--color-text-muted);margin:0 0 var(--space-1) 0}.history-date{font-size:var(--text-xs);color:var(--color-text-muted);margin:0}.about-page{max-width:760px;margin:0 auto;padding:var(--space-7) var(--space-5) var(--space-9)}.about-header{margin-bottom:var(--space-7)}.about-header h1{font-size:var(--text-3xl);margin-bottom:var(--space-3)}.about-lead{font-size:var(--text-lg);color:var(--color-text-muted);margin:0}.about-body{display:flex;flex-direction:column;gap:var(--space-7)}.about-body section h2{font-size:var(--text-xl);margin-bottom:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-line)}.about-body p{color:var(--color-text-muted);line-height:1.75;margin:0 0 var(--space-4) 0}.about-body p:last-child{margin-bottom:0}.about-body strong{color:var(--color-forest-dark)}.about-body a{color:var(--color-forest)}.about-body ul{color:var(--color-text-muted);padding-left:var(--space-5);line-height:1.8;margin:0}.about-body ul li{margin-bottom:var(--space-2)}main{min-height:calc(100vh - 65px)}:root{--color-bg: #FFF0F5;--color-ivory: #FFF0F5;--color-ivory-deep: #FFE4EE;--color-paper: #FFFFFF;--color-forest: #4A9B7F;--color-forest-dark: #2D6B55;--color-sage: #6BBF9E;--color-pink: #F9A8C9;--color-pink-deep: #E8728F;--color-pink-bg: #FFF0F5;--color-blue: #93C5FD;--color-blue-deep: #3B82C4;--color-blue-bg: #EFF6FF;--color-yellow: #FDE68A;--color-yellow-deep: #B45309;--color-yellow-bg: #FFFBEB;--color-green: #A7F3D0;--color-green-deep: #065F46;--color-green-bg: #ECFDF5;--color-honey: #F9A8C9;--color-honey-light: #FFD6E7;--color-clay: #E8728F;--color-clay-light: #FFD6E0;--severity-high-fg: #C23B5A;--severity-high-bg: #FFE4EC;--severity-medium-fg: #B45309;--severity-medium-bg: #FFFBEB;--severity-low-fg: #065F46;--severity-low-bg: #ECFDF5;--color-line: #F9A8C9;--color-text-muted: #9D6B8A;--font-display: "Fraunces", Georgia, serif;--font-body: "Karla", -apple-system, BlinkMacSystemFont, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--text-3xl: 2.5rem;--text-4xl: 3.5rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--space-9: 6rem;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 22px;--shadow-soft: 0 2px 12px rgba(249, 168, 201, .15);--shadow-card: 0 4px 24px rgba(249, 168, 201, .2);--shadow-lifted: 0 8px 32px rgba(249, 168, 201, .25)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--color-bg);color:var(--color-forest-dark);font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.15;margin:0;color:var(--color-forest-dark)}a{color:var(--color-forest)}button{font-family:var(--font-body)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--color-pink);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
