*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#fff;--surface:#faf9f7;--border:#ece9e3;--text:#1a1a1a;--text-muted:#888880;--badge-available-bg:#d8f3dc;--badge-available:#2d6a4f;--badge-low-bg:#fff3cd;--badge-low:#9c6700;--badge-not-sharing-bg:#f0eeeb;--badge-not-sharing:#666;--badge-for-sale-bg:#d0f0f0;--badge-for-sale:#1a6b6b;--badge-sold-bg:#f0eeeb;--badge-sold:#999;--font-serif:"Cormorant Garant", Georgia, serif;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--radius:12px;--radius-sm:8px;--header-h:56px;--bottom-nav-h:64px}html{-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);overscroll-behavior:none;min-height:100dvh}#app{flex-direction:column;min-height:100dvh;display:flex}.site-header{z-index:10;background:var(--bg);border-bottom:1px solid var(--border);min-height:var(--header-h);justify-content:space-between;align-items:center;gap:12px;padding:0 20px;display:flex;position:sticky;top:0}.site-header-text{flex-direction:column;gap:1px;padding:10px 0;display:flex}.site-title{font-family:var(--font-serif);letter-spacing:.06em;font-size:1.5rem;font-style:italic;font-weight:500;line-height:1.1}.site-subtitle{color:var(--text-muted);letter-spacing:.01em;font-size:.7rem;line-height:1.3}.top-nav{gap:4px;display:none}@media (width>=640px){.top-nav{display:flex}.bottom-nav{display:none!important}}.top-nav .nav-btn{font-family:var(--font-sans);cursor:pointer;color:var(--text-muted);background:0 0;border:1px solid #0000;border-radius:20px;padding:6px 14px;font-size:.875rem;transition:all .15s}.top-nav .nav-btn.active,.top-nav .nav-btn:hover{color:var(--text);background:var(--surface);border-color:var(--border)}#main-content{padding-bottom:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom,0px));flex:1}@media (width>=640px){#main-content{padding-bottom:40px}}.section{display:block}.loading,.error{color:var(--text-muted);justify-content:center;align-items:center;padding:80px 24px;font-size:.9rem;display:flex}.filters{border-bottom:1px solid var(--border);background:var(--bg);top:var(--header-h);z-index:5;flex-direction:column;gap:8px;padding:12px 16px 10px;display:flex;position:sticky}.search-input{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;font-family:var(--font-sans);background:var(--surface);color:var(--text);-webkit-appearance:none;outline:none;padding:10px 14px;font-size:.875rem;transition:border-color .15s}.search-input:focus{border-color:#aaa}.filter-row{gap:6px;display:flex}.chip-group{flex-wrap:wrap;gap:6px;display:flex}.chip-group.scrollable{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.chip-group.scrollable::-webkit-scrollbar{display:none}.chip{font-family:var(--font-sans);border:1px solid var(--border);background:var(--bg);color:var(--text-muted);cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;border-radius:20px;flex-shrink:0;padding:5px 12px;font-size:.78rem;transition:all .15s}.chip:hover{color:var(--text);border-color:#bbb}.chip.active{background:var(--text);color:var(--bg);border-color:var(--text)}.wearing-toggle.active{color:#e8d5ff;background:#2d1b4e;border-color:#2d1b4e}.sale-toggle.active{background:var(--badge-for-sale);color:var(--badge-for-sale-bg);border-color:var(--badge-for-sale)}#olfactory-chips .chip{background:var(--surface);color:var(--text-muted);padding:4px 10px;font-size:.72rem}#olfactory-chips .chip.active{background:var(--text);color:var(--bg);border-color:var(--text)}.card-grid{background:var(--border);grid-template-columns:1fr;gap:1px;display:grid}@media (width>=480px){.card-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=900px){.card-grid{grid-template-columns:repeat(3,1fr)}}@media (width>=1200px){.card-grid{grid-template-columns:repeat(4,1fr)}}.card{background:var(--bg);cursor:pointer;-webkit-tap-highlight-color:transparent;flex-direction:column;gap:5px;min-height:100px;padding:18px 16px;transition:background .1s;display:flex}.card:hover{background:var(--surface)}.card-brand{text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);font-size:.68rem}.card-name{font-family:var(--font-serif);font-size:1.15rem;font-weight:500;line-height:1.2}.card-meta{flex-wrap:wrap;gap:4px;margin-top:3px;display:flex}.badge{letter-spacing:.02em;border-radius:20px;padding:2px 8px;font-size:.68rem;font-weight:500;display:inline-block}.badge-available{background:var(--badge-available-bg);color:var(--badge-available)}.badge-low{background:var(--badge-low-bg);color:var(--badge-low)}.badge-not-sharing{background:var(--badge-not-sharing-bg);color:var(--badge-not-sharing)}.badge-for-sale{background:var(--badge-for-sale-bg);color:var(--badge-for-sale)}.badge-sold{background:var(--badge-sold-bg);color:var(--badge-sold);text-decoration:line-through}.olfactory-tag,.qty-tag{color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:2px 8px;font-size:.68rem}.wearing-tag{color:#7c4dbd;background:#f3e8ff;border-radius:20px;padding:2px 8px;font-size:.68rem}.card-note{color:var(--text-muted);margin-top:2px;font-size:.78rem;font-style:italic;line-height:1.4}.empty-state{text-align:center;color:var(--text-muted);padding:60px 24px;font-size:.9rem}.bottom-nav{height:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--border);z-index:10;background:#fffffff2;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav .nav-btn{font-size:.68rem;font-family:var(--font-sans);color:var(--text-muted);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;transition:color .15s;display:flex}.bottom-nav .nav-btn.active{color:var(--text)}.bottom-nav .nav-icon{font-size:1.1rem;line-height:1}.sheet-backdrop{z-index:20;-webkit-backdrop-filter:blur(1px);background:#0003;position:fixed;inset:0}.detail-sheet{z-index:21;background:var(--bg);border-radius:var(--radius) var(--radius) 0 0;-webkit-overflow-scrolling:touch;max-height:88dvh;padding:0 20px calc(40px + env(safe-area-inset-bottom,0px));position:fixed;bottom:0;left:0;right:0;overflow-y:auto}@media (width>=640px){.sheet-backdrop{-webkit-backdrop-filter:none;background:#0000001f}.detail-sheet{border-left:1px solid var(--border);border-radius:0;width:420px;max-height:100dvh;padding:0 28px 60px;animation:.22s cubic-bezier(.32,.72,0,1) slideInRight;position:fixed;inset:0 0 0 auto;box-shadow:-8px 0 32px #0000000f}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.sheet-handle{background:var(--border);border-radius:2px;width:40px;height:4px;margin:12px auto 0}@media (width>=640px){.sheet-handle{display:none}}.sheet-close{background:var(--surface);border:1px solid var(--border);cursor:pointer;width:30px;height:30px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;font-size:.9rem;transition:background .15s;display:flex;position:absolute;top:16px;right:16px}.sheet-close:hover{background:var(--border)}.sheet-content{padding-top:20px}@media (width>=640px){.sheet-content{padding-top:56px}}.sheet-brand{text-transform:uppercase;letter-spacing:.14em;color:var(--text-muted);margin-bottom:4px;font-size:.7rem}.sheet-name{font-family:var(--font-serif);margin-bottom:12px;font-size:2rem;font-weight:500;line-height:1.1}.sheet-badges{flex-wrap:wrap;gap:6px;margin-bottom:20px;display:flex}.sheet-divider{background:var(--border);height:1px;margin:20px 0}.notes-layers{flex-direction:column;gap:2px;margin-bottom:4px;display:flex}.notes-layer{border-radius:var(--radius-sm);align-items:baseline;gap:14px;padding:10px 14px;display:flex}.notes-layer--top{background:#f7f5f0}.notes-layer--heart{background:#f2ede4}.notes-layer--base{background:#ebe3d6}.notes-layer-label{text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);flex-shrink:0;width:38px;font-size:.64rem}.notes-layer-value{font-family:var(--font-serif);color:var(--text);font-size:1rem;line-height:1.4}.scent-bars{flex-direction:column;gap:10px;margin:4px 0;display:flex}.scent-bar-row{grid-template-columns:72px 1fr auto;align-items:center;gap:10px;display:grid}.scent-bar-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-size:.64rem}.scent-bar-track{background:var(--border);border-radius:2px;height:4px;overflow:hidden}.scent-bar-fill{background:var(--text);border-radius:2px;height:100%;transition:width .4s}.scent-bar-value{color:var(--text-muted);white-space:nowrap;text-align:right;font-size:.72rem}.occasion-tags{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.occasion-tag{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);letter-spacing:.02em;border-radius:4px;padding:3px 10px;font-size:.72rem}.sheet-section-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:8px;font-size:.68rem}.sheet-note{font-family:var(--font-serif);font-size:1.05rem;font-style:italic;line-height:1.5}.sheet-size{color:var(--text-muted);margin-bottom:16px;font-size:.78rem}.section-header{padding:24px 20px 0}.section-title{font-family:var(--font-serif);letter-spacing:.04em;color:var(--text);font-size:1.4rem;font-style:italic;font-weight:500}.priority-tag{letter-spacing:.02em;border-radius:20px;padding:2px 8px;font-size:.68rem;font-weight:500}.priority-high{color:#9b1c1c;background:#fde8e8}.priority-medium{color:#9c6700;background:#fff3cd}.priority-low{background:var(--surface);color:var(--text-muted);border:1px solid var(--border)}.taste-profile{border-bottom:1px solid var(--border);background:var(--surface);padding:20px 20px 18px}.taste-profile-text{font-family:var(--font-serif);color:var(--text);font-size:1.05rem;font-style:italic;line-height:1.6}#broad-chips{flex-wrap:wrap;gap:8px;display:flex}.broad-chip{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);cursor:pointer;-webkit-tap-highlight-color:transparent;flex-direction:column;align-items:center;gap:2px;min-width:62px;padding:8px 14px;transition:all .15s;display:flex}.broad-chip:hover{background:var(--surface);border-color:#bbb}.broad-chip.active{background:var(--text);border-color:var(--text)}.broad-chip-label{font-family:var(--font-sans);color:var(--text-muted);font-size:.75rem;font-weight:500;transition:color .15s}.broad-chip.active .broad-chip-label{color:var(--bg)}.broad-chip:not(.active):hover .broad-chip-label{color:var(--text)}.broad-chip-sub{color:var(--text-muted);letter-spacing:.01em;white-space:nowrap;font-size:.6rem;transition:color .15s}.broad-chip.active .broad-chip-sub{color:#ffffffa6}.card-vibes{color:var(--text-muted);margin-top:3px;font-size:.7rem;line-height:1.4}.sheet-vibe{font-family:var(--font-serif);color:var(--text-muted);margin-top:8px;font-size:1rem;font-style:italic;line-height:1.4}.projection-note{color:var(--text-muted);margin-top:6px;font-size:.78rem;font-style:italic;line-height:1.5}.comparable-to{font-family:var(--font-serif);color:var(--text);font-size:1rem;line-height:1.5}.comparable-link{font-family:var(--font-serif);cursor:pointer;color:var(--text);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border);-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:0;font-size:1rem;transition:text-decoration-color .15s}.comparable-link:hover{-webkit-text-decoration-color:var(--text);text-decoration-color:var(--text)}.sheet-sources{flex-direction:column;gap:3px;padding-bottom:8px;display:flex}.sheet-sources p{color:var(--text-muted);font-size:.68rem;line-height:1.4}.sheet-sources a{color:var(--text-muted);text-underline-offset:2px;text-decoration:underline}.sheet-sources a:hover{color:var(--text)}.hidden{display:none!important}
