:root{--color-bg:#faf9f7;--color-surface:#fff;--color-primary:#2d5016;--color-accent:#7c9a52;--color-text:#2c2c2c;--color-muted:#888;--color-border:#e2e0db;--radius:12px}body{background-color:#faf9f7;background-color:var(--color-bg);color:#2c2c2c;color:var(--color-text);font-family:Georgia,serif;line-height:1.6}.app{flex-direction:column;min-height:100vh;padding:48px 20px 80px}.app,.github-link{align-items:center;display:flex}.github-link{background:#faf9f7;background:var(--color-bg);border-radius:50%;color:#888;color:var(--color-muted);padding:4px;position:fixed;right:16px;top:16px;transition:color .2s;z-index:10}.github-link:hover{color:#2d5016;color:var(--color-primary)}.github-link svg{fill:currentColor;display:block;height:22px;width:22px}.app-header{margin-bottom:40px;padding:0 40px;text-align:center}.app-header h1{font-size:2.6rem;letter-spacing:.04em;margin:0 0 10px}.app-header h1,.app-tagline{color:#2d5016;color:var(--color-primary)}.app-tagline{font-size:1.15rem;font-style:italic;letter-spacing:.02em;margin:0 0 8px}.app-subtitle{color:#888;color:var(--color-muted);font-size:.95rem;margin:0}.app-main{max-width:720px;width:100%}.description-form{display:flex;flex-direction:column;gap:12px;margin-bottom:32px}.description-input{background:#fff;background:var(--color-surface);border:1.5px solid #e2e0db;border:1.5px solid var(--color-border);border-radius:12px;border-radius:var(--radius);color:#2c2c2c;color:var(--color-text);font-family:inherit;font-size:1rem;padding:14px 16px;resize:vertical;transition:border-color .2s;width:100%}.description-input:focus{border-color:#7c9a52;border-color:var(--color-accent);outline:none}.generate-btn{align-self:flex-end;background:#2d5016;background:var(--color-primary);border:none;border-radius:12px;border-radius:var(--radius);color:#fff;cursor:pointer;font-family:inherit;font-size:1rem;min-height:48px;padding:13px 28px;transition:background .2s}.generate-btn:hover:not(:disabled){background:#7c9a52;background:var(--color-accent)}.generate-btn:disabled{cursor:not-allowed;opacity:.5}.generation-progress{display:flex;flex-direction:column;gap:12px;padding:16px 0 4px}.progress-stages{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}.progress-stage{align-items:center;color:#e2e0db;color:var(--color-border);display:flex;font-family:Arial,sans-serif;font-size:.88rem;gap:10px;transition:color .3s}.progress-stage.done{color:#7c9a52;color:var(--color-accent)}.progress-stage.active{color:#2c2c2c;color:var(--color-text)}.stage-icon{flex-shrink:0;font-size:.9rem;text-align:center;width:18px}.stage-spinner{animation:spin .8s linear infinite;border:2px solid #7c9a52;border:2px solid var(--color-accent);border-radius:50%;border-top:2px solid #0000;display:inline-block;height:10px;width:10px}@keyframes spin{to{transform:rotate(1turn)}}.progress-elapsed{color:#888;color:var(--color-muted);font-family:Arial,sans-serif;font-size:.78rem;margin:0}.error-message{background:#fff3f3;border:1px solid #f5c6cb;border-radius:12px;border-radius:var(--radius);color:#c0392b;margin-bottom:20px;padding:12px 16px}.fragrance-card{background:#fff;background:var(--color-surface);border:1.5px solid #e2e0db;border:1.5px solid var(--color-border);border-radius:12px;border-radius:var(--radius);box-shadow:0 2px 12px #0000000f;padding:28px}.card-header{align-items:baseline;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}.fragrance-name{color:#2d5016;color:var(--color-primary);font-size:1.7rem;margin:0}.scent-family-badge{background:#7c9a52;background:var(--color-accent);border-radius:20px;color:#fff;font-family:Arial,sans-serif;font-size:.78rem;letter-spacing:.04em;padding:3px 10px;white-space:nowrap}.notes-pyramid{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}.pyramid-tier{align-items:flex-start;display:flex;gap:12px}.tier-label{color:#888;color:var(--color-muted);flex-shrink:0;font-family:Arial,sans-serif;font-size:.75rem;letter-spacing:.08em;min-width:52px;padding-top:4px;text-transform:uppercase}.tier-notes{display:flex;flex-wrap:wrap;gap:6px}.note-pill{align-items:center;background:#faf9f7;background:var(--color-bg);border:1px solid #e2e0db;border:1px solid var(--color-border);border-radius:20px;display:flex;font-size:.88rem;gap:4px;padding:4px 12px}.tier-top .note-pill{background:#eef6fb;border-color:#b8d4e8}.tier-middle .note-pill{background:#f1f8f1;border-color:#c8e6c9}.tier-base .note-pill{background:#f5f0ee;border-color:#d7ccc8}.note-pct{color:#888;color:var(--color-muted);font-size:.78rem}.poetic-description{border-left:3px solid #7c9a52;border-left:3px solid var(--color-accent);color:#555;font-style:italic;line-height:1.8;margin:0 0 24px;padding:8px 16px}.similar-fragrances h4{color:#888;color:var(--color-muted);font-family:Arial,sans-serif;font-size:.8rem;letter-spacing:.08em;margin:0 0 10px;text-transform:uppercase}.similar-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.similar-chip{align-items:center;background:#faf9f7;background:var(--color-bg);border:1px solid #e2e0db;border:1px solid var(--color-border);border-radius:20px;display:flex;font-size:.85rem;gap:6px;padding:4px 12px}.similarity-score{color:#7c9a52;color:var(--color-accent);font-size:.78rem}.card-footer{border-top:1px solid #e2e0db;border-top:1px solid var(--color-border);padding-top:12px}.confidence{color:#888;color:var(--color-muted);font-family:Arial,sans-serif;font-size:.8rem}.note-selector{display:flex;flex-direction:column;gap:8px;margin-bottom:4px}.note-selector-selected{display:flex;flex-wrap:wrap;gap:6px}.note-chip{align-items:center;background:#7c9a52;background:var(--color-accent);border:none;border-radius:20px;color:#fff;cursor:pointer;display:inline-flex;font-family:Arial,sans-serif;font-size:.82rem;gap:5px;min-height:36px;padding:6px 12px;transition:background .15s}.note-chip:hover{background:#2d5016;background:var(--color-primary)}.note-selector-filter{background:#fff;background:var(--color-surface);border:1.5px solid #e2e0db;border:1.5px solid var(--color-border);border-radius:12px;border-radius:var(--radius);color:#2c2c2c;color:var(--color-text);font-family:inherit;font-size:1rem;min-height:44px;padding:10px 14px;transition:border-color .2s;width:100%}.note-selector-filter:focus{border-color:#7c9a52;border-color:var(--color-accent);outline:none}.note-selector-filter:disabled{cursor:not-allowed;opacity:.5}.note-options-list{display:flex;flex-wrap:wrap;gap:6px}.note-option{background:#faf9f7;background:var(--color-bg);border:1px solid #e2e0db;border:1px solid var(--color-border);border-radius:20px;cursor:pointer;font-family:Arial,sans-serif;font-size:.82rem;min-height:36px;padding:6px 14px;transition:background .15s,border-color .15s}.note-option:hover:not(:disabled){background:#f0f5ea;border-color:#7c9a52;border-color:var(--color-accent)}.note-option.selected{background:#7c9a52;background:var(--color-accent);border-color:#7c9a52;border-color:var(--color-accent);color:#fff}.note-option:disabled{cursor:not-allowed;opacity:.4}.feedback-widget{background:#fff;background:var(--color-surface);border:1.5px solid #e2e0db;border:1.5px solid var(--color-border);border-radius:12px;border-radius:var(--radius);margin-top:16px;padding:16px 20px}.feedback-label{color:#888;color:var(--color-muted);font-family:Arial,sans-serif;font-size:.78rem;letter-spacing:.08em;margin:0 0 10px;text-transform:uppercase}.star-row{display:flex;gap:4px;margin-bottom:12px}.star-btn{align-items:center;background:none;border:none;color:#e2e0db;color:var(--color-border);cursor:pointer;display:flex;font-size:1.8rem;justify-content:center;line-height:1;min-height:44px;min-width:44px;padding:4px;transition:color .12s,transform .1s}.star-btn.filled,.star-btn:hover{color:#e6a817}.star-btn:hover{transform:scale(1.15)}.star-btn:disabled{cursor:not-allowed;opacity:.5}.feedback-comment-row{display:flex;flex-direction:column;gap:8px}.feedback-comment{background:#faf9f7;background:var(--color-bg);border:1.5px solid #e2e0db;border:1.5px solid var(--color-border);border-radius:12px;border-radius:var(--radius);color:#2c2c2c;color:var(--color-text);font-family:inherit;font-size:.92rem;padding:10px 12px;resize:vertical;transition:border-color .2s;width:100%}.feedback-comment:focus{border-color:#7c9a52;border-color:var(--color-accent);outline:none}.feedback-submit-btn{align-self:flex-end;background:#2d5016;background:var(--color-primary);border:none;border-radius:12px;border-radius:var(--radius);color:#fff;cursor:pointer;font-family:inherit;font-size:.92rem;min-height:44px;padding:10px 24px;transition:background .2s}.feedback-submit-btn:hover{background:#7c9a52;background:var(--color-accent)}.feedback-thanks{color:#7c9a52;color:var(--color-accent);font-size:.95rem;font-style:italic;margin:0}.app-divider{background:#e2e0db;background:var(--color-border);height:1px;margin:48px 0 36px;width:100%}.section-heading{color:#888;color:var(--color-muted);font-family:Arial,sans-serif;font-size:.78rem;font-weight:400;letter-spacing:.1em;margin:0 0 16px;text-transform:uppercase}.metrics-dashboard{margin-bottom:60px}.metrics-summary{font-size:.95rem;margin:0 0 16px}.metric-value{color:#2d5016;color:var(--color-primary);font-size:1.1rem}.metric-label{color:#888;color:var(--color-muted);font-size:.88rem}.metric-separator{color:#e2e0db;color:var(--color-border)}.metrics-bars{display:flex;flex-direction:column;gap:8px}.metrics-bar-row{align-items:center;display:flex;gap:10px}.bar-label{color:#888;color:var(--color-muted);flex-shrink:0;font-family:Arial,sans-serif;font-size:.78rem;text-align:right;width:28px}.bar-track{background:#e2e0db;background:var(--color-border);border-radius:4px;flex:1 1;height:8px;overflow:hidden}.bar-fill{background:#7c9a52;background:var(--color-accent);border-radius:4px;height:100%;min-width:2px;transition:width .4s ease}.bar-count{color:#888;color:var(--color-muted);flex-shrink:0;font-family:Arial,sans-serif;font-size:.82rem;width:28px}.share-container{display:flex;flex-direction:column;gap:8px;margin-top:12px}.share-btn{align-self:flex-start;background:#0000;border:1.5px solid #2d5016;border:1.5px solid var(--color-primary);border-radius:12px;border-radius:var(--radius);color:#2d5016;color:var(--color-primary);cursor:pointer;font-family:inherit;font-size:.92rem;min-height:44px;padding:10px 22px;transition:background .2s,color .2s}.share-btn:hover:not(:disabled){background:#2d5016;background:var(--color-primary);color:#fff}.share-btn:disabled{cursor:not-allowed;opacity:.5}.share-url{color:#888;color:var(--color-muted);font-family:Arial,sans-serif;font-size:.78rem;margin:0;word-break:break-all}.shared-banner{align-items:center;background:#f0f5ea;border:1px solid #7c9a52;border:1px solid var(--color-accent);border-radius:12px;border-radius:var(--radius);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:24px;padding:12px 16px}.shared-banner-text{color:#2d5016;color:var(--color-primary);font-size:.95rem;font-style:italic;margin:0}.shared-banner-btn{background:#2d5016;background:var(--color-primary);border:none;border-radius:12px;border-radius:var(--radius);color:#fff;cursor:pointer;font-family:inherit;font-size:.88rem;min-height:44px;padding:8px 18px;transition:background .2s;white-space:nowrap}.shared-banner-btn:hover{background:#7c9a52;background:var(--color-accent)}@media (max-width:600px){.app{padding:24px 16px 60px}.app-header{margin-bottom:28px;padding:0 32px}.app-header h1{font-size:2rem}.app-tagline{font-size:1.05rem}.app-subtitle{font-size:.88rem}.description-input{font-size:16px}.generate-btn{align-self:stretch;font-size:1rem;width:100%}.fragrance-card{padding:18px 16px}.card-header{gap:8px;margin-bottom:18px}.fragrance-name{font-size:1.4rem}.tier-label{font-size:.7rem;min-width:44px}.note-pill{font-size:.82rem;padding:4px 10px}.poetic-description{font-size:.95rem;padding:6px 12px}.share-btn{text-align:center}.feedback-submit-btn,.share-btn{align-self:stretch;width:100%}.feedback-widget{padding:14px 16px}.shared-banner{align-items:flex-start;flex-direction:column}.shared-banner-btn{text-align:center;width:100%}.search-controls{flex-direction:column}.result-score{margin-left:0}.app-divider{margin:32px 0 24px}}@media (max-width:380px){.app-header h1{font-size:1.75rem}.fragrance-name{font-size:1.25rem}.star-btn{font-size:1.6rem;min-width:38px}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;padding:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}:root{font-size:16px}
/*# sourceMappingURL=main.83db0135.css.map*/