:root{--ink-950:#0a0908;--ink-900:#100e0c;--ink-850:#161311;--ink-800:#1c1815;--ink-700:#262019;--ink-600:#342c22;--ink-500:#4a3f30;--paper-100:#f6f1e7;--paper-200:#ece3d1;--paper-300:#d9cbb0;--paper-400:#b7a688;--gold-300:#f0d59c;--gold-400:#e2b96c;--gold-500:#cf9c47;--gold-600:#a97a2f;--amber-glow:#ffb35c;--rose-400:#d98f8f;--sage-400:#93a887;--wine-400:#a4586a;--owned-color:#8fb996;--wishlist-color:#e2b96c;--neutral-color:#6b6259;--success:#7fb88a;--danger:#c66a5c;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-xl:28px;--shadow-soft:0 8px 30px #00000059;--shadow-deep:0 20px 60px #0000008c;--glass-bg:#1c1815b8;--glass-border:#f0d59c1f;--glass-blur:18px;--font-display:"Fraunces", "Iowan Old Style", "Palatino Linotype", serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:radial-gradient(ellipse at top, var(--ink-850) 0%, var(--ink-950) 65%);color:var(--paper-100);font-family:var(--font-body);-webkit-font-smoothing:antialiased;background-attachment:fixed;margin:0;padding:0;overflow:hidden}#root{width:100vw;height:100dvh}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:.01em;margin:0;font-weight:500}a{color:inherit}button{font-family:inherit}::selection{background:var(--gold-500);color:var(--ink-950)}*{scrollbar-width:thin;scrollbar-color:var(--ink-500) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--ink-500);border-radius:8px}::-webkit-scrollbar-track{background:0 0}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);box-shadow:var(--shadow-soft)}.scrim-fade{transition:opacity .35s,filter .35s}@media (width<=720px){html,body{overflow:auto}}.app-boot-loading,.app-boot-error{z-index:9999;background:radial-gradient(ellipse at top, var(--ink-850) 0%, var(--ink-950) 65%);width:100vw;height:100dvh;color:var(--paper-300);font-family:var(--font-body);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:24px;display:flex;position:fixed;inset:0}.spinner-mark{border:2px solid var(--ink-600);border-top-color:var(--gold-400);border-radius:50%;animation:.9s linear infinite spin}.app-boot-loading__mark{width:48px;height:48px}@keyframes spin{to{transform:rotate(360deg)}}.app-boot-error h2{color:var(--paper-100);font-size:20px}.skeleton-block{border-radius:var(--radius-md);background:linear-gradient(90deg, var(--ink-800) 0%, var(--ink-700) 50%, var(--ink-800) 100%);background-size:200% 100%;animation:1.4s ease-in-out infinite skeleton-shimmer;display:inline-block}.skeleton-block--line{width:60%;height:18px}.skeleton-block--narrow{width:40%}[class$=--skeleton]{cursor:default}[class$=--skeleton]:hover{box-shadow:none;transform:none}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.app-shell{grid-template-columns:92px 1fr;width:100%;height:100%;display:grid}.app-shell__nav{border-right:1px solid var(--glass-border);background:linear-gradient(180deg, var(--ink-900), var(--ink-950));flex-direction:column;align-items:center;gap:4px;padding:20px 0;display:flex}.app-shell__brand{background:radial-gradient(circle at 35% 30%, var(--gold-300), var(--gold-600) 70%);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:24px;text-decoration:none;transition:box-shadow .2s,transform .2s;display:flex;box-shadow:0 0 24px #e2b96c59}.app-shell__brand:hover{transform:scale(1.04);box-shadow:0 0 32px #e2b96c80}.app-shell__brand svg{width:22px;height:22px;color:var(--ink-950)}.app-shell__brand--topbar{flex-shrink:0;width:36px;height:36px;margin-bottom:0;display:none}.app-shell__brand--topbar svg{width:18px;height:18px}.app-shell__nav-item{border-radius:var(--radius-md);width:76px;color:var(--paper-400);letter-spacing:.02em;cursor:pointer;font-size:11px;font-family:var(--font-body);background:0 0;border:none;flex-direction:column;align-items:center;gap:6px;padding:10px 4px;text-decoration:none;transition:color .2s,background .2s;display:flex}.app-shell__nav-item span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.app-shell__nav-item svg{width:20px;height:20px}.app-shell__nav-item:hover{color:var(--paper-100);background:#ffffff0a}.app-shell__nav-item.active{color:var(--gold-300);background:#e2b96c1a}.app-shell__main{flex-direction:column;display:flex;position:relative;overflow:hidden}.app-shell__topbar{border-bottom:1px solid var(--glass-border);z-index:20;align-items:center;gap:16px;padding:16px 28px;display:flex;position:relative}.app-shell__content{flex:1;min-height:0;position:relative;overflow-y:auto}@media (width<=900px){.app-shell{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr;width:100vw;overflow:hidden}.app-shell__nav{border-right:none;border-top:1px solid var(--glass-border);-webkit-overflow-scrolling:touch;flex-direction:row;order:2;justify-content:flex-start;width:100%;padding:8px 6px;overflow-x:auto}.app-shell__brand{display:none}.app-shell__brand--topbar{display:flex}.app-shell__nav-item{flex-shrink:0;width:auto;padding:8px 10px}.app-shell__main{order:1;min-width:0;min-height:0}.app-shell__topbar{padding:12px 16px}}.search-bar{flex:1;max-width:560px;position:relative}.search-bar__input-wrap{border:1px solid var(--glass-border);background:#ffffff0a;border-radius:999px;align-items:center;gap:10px;padding:10px 14px;transition:border-color .2s,background .2s;display:flex}.search-bar__input-wrap:focus-within{border-color:var(--gold-500);background:#ffffff0f}.search-bar__input-wrap svg{width:17px;height:17px;color:var(--paper-400);flex-shrink:0}.search-bar input{color:var(--paper-100);font-size:14.5px;font-family:var(--font-body);background:0 0;border:none;outline:none;flex:1}.search-bar input::placeholder{color:var(--paper-400)}.search-bar__results{border-radius:var(--radius-md);background:var(--glass-bg);max-height:420px;-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);box-shadow:var(--shadow-deep);z-index:50;padding:6px;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto}.search-bar__result{border-radius:var(--radius-sm);width:100%;color:var(--paper-100);text-align:left;cursor:pointer;font-family:var(--font-body);background:0 0;border:none;align-items:center;gap:10px;padding:9px 10px;display:flex}.search-bar__result:hover,.search-bar__result.active{background:#e2b96c1a}.search-bar__result-kind{width:26px;height:26px;color:var(--gold-400);background:#ffffff0f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.search-bar__result-kind svg{width:13px;height:13px}.search-bar__result-text{flex:1;min-width:0}.search-bar__result-label{white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;overflow:hidden}.search-bar__result-sub{color:var(--paper-400);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.search-bar__empty{color:var(--paper-400);text-align:center;padding:18px 12px;font-size:13px}.sign-in-dialog__overlay{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a0908b3;animation:.15s sign-in-overlay-in;position:fixed;inset:0}@keyframes sign-in-overlay-in{0%{opacity:0}}.sign-in-dialog__dialog{z-index:101;border-radius:var(--radius-lg);background:var(--glass-bg);width:min(360px,100vw - 40px);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);box-shadow:var(--shadow-deep);padding:28px;animation:.18s sign-in-dialog-in;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes sign-in-dialog-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.96)}}.sign-in-dialog__close{border:1px solid var(--glass-border);width:28px;height:28px;color:var(--paper-300);cursor:pointer;background:#ffffff0a;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:16px;right:16px}.sign-in-dialog__close:hover{color:var(--paper-100);border-color:var(--gold-500)}.sign-in-dialog__close svg{width:13px;height:13px}.sign-in-dialog__title{color:var(--paper-100);font-size:19px;font-weight:600;font-family:var(--font-display);margin:0 0 6px}.sign-in-dialog__description{color:var(--paper-400);margin:0 0 20px;font-size:13px}.sign-in-dialog__description--standalone{margin-bottom:28px}.sign-in-dialog__google{border-radius:var(--radius-md);border:1px solid var(--glass-border);width:100%;color:var(--paper-100);cursor:pointer;font-size:13.5px;font-weight:500;font-family:var(--font-body);background:#ffffff0f;justify-content:center;align-items:center;gap:10px;padding:10px 16px;display:flex}.sign-in-dialog__google:hover:not(:disabled){background:#ffffff1a}.sign-in-dialog__google:disabled{opacity:.6;cursor:default}.sign-in-dialog__divider{color:var(--paper-400);align-items:center;gap:10px;margin:18px 0;font-size:12px;display:flex}.sign-in-dialog__divider:before,.sign-in-dialog__divider:after{content:"";background:var(--glass-border);flex:1;height:1px}.sign-in-dialog__form{flex-direction:column;gap:10px;display:flex}.sign-in-dialog__form input{border-radius:var(--radius-md);border:1px solid var(--glass-border);color:var(--paper-100);font-size:13.5px;font-family:var(--font-body);background:#ffffff0a;padding:10px 12px}.sign-in-dialog__form input::placeholder{color:var(--paper-400)}.sign-in-dialog__form input:focus{border-color:var(--gold-500);outline:none}.sign-in-dialog__error{color:var(--danger);margin:0;font-size:12.5px}.sign-in-dialog__submit{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--gold-400), var(--gold-600));color:var(--ink-950);cursor:pointer;font-size:13.5px;font-weight:600;font-family:var(--font-body);border:none;margin-top:4px;padding:10px 16px}.sign-in-dialog__submit:hover:not(:disabled){filter:brightness(1.05)}.sign-in-dialog__submit:disabled{opacity:.6;cursor:default}.sign-in-dialog__toggle-mode{width:100%;color:var(--paper-400);cursor:pointer;font-size:12.5px;font-family:var(--font-body);background:0 0;border:none;margin-top:16px;text-decoration:underline}.sign-in-dialog__toggle-mode:hover{color:var(--gold-300)}.auth-button__signin{border:1px solid var(--glass-border);color:var(--paper-100);cursor:pointer;font-size:13px;font-weight:500;font-family:var(--font-body);background:#ffffff0a;border-radius:999px;flex-shrink:0;margin-left:auto;padding:8px 18px}.auth-button__signin:hover{border-color:var(--gold-500);color:var(--gold-300)}.auth-button{flex-shrink:0;margin-left:auto;position:relative}.auth-button__avatar{border:1px solid var(--glass-border);background:radial-gradient(circle at 35% 30%, var(--gold-300), var(--gold-600) 70%);width:36px;height:36px;color:var(--ink-950);cursor:pointer;font-size:14px;font-weight:700;font-family:var(--font-body);border-radius:50%;justify-content:center;align-items:center;display:flex}.auth-button__menu{z-index:30;border-radius:var(--radius-md);background:var(--glass-bg);min-width:180px;-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);box-shadow:var(--shadow-soft);padding:6px;position:absolute;top:calc(100% + 8px);right:0}.auth-button__menu-label{color:var(--paper-400);text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid var(--glass-border);margin-bottom:4px;padding:8px 10px 6px;font-size:12px;overflow:hidden}.auth-button__menu-item{text-align:left;border-radius:var(--radius-sm);width:100%;color:var(--paper-200);cursor:pointer;font-size:13px;font-family:var(--font-body);background:0 0;border:none;padding:8px 10px}.auth-button__menu-item:hover{color:var(--paper-100);background:#ffffff0f}.toast-host{z-index:200;flex-direction:column;gap:8px;width:min(420px,100vw - 32px);display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast{border-radius:var(--radius-md);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);box-shadow:var(--shadow-deep);align-items:center;gap:10px;padding:12px 14px;animation:.18s toast-in;display:flex}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.toast--error{border-color:#c66a5c66}.toast__message{color:var(--paper-100);flex:1;font-size:13.5px}.toast__close{width:22px;height:22px;color:var(--paper-400);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.toast__close:hover{color:var(--paper-100)}.toast__close svg{width:12px;height:12px}.hover-tooltip__popup{z-index:30;border-radius:var(--radius-sm);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);box-shadow:var(--shadow-soft);color:var(--paper-100);text-transform:none;letter-spacing:normal;width:max-content;max-width:min(260px,90vw);padding:5px 9px;font-size:12px;font-weight:500;line-height:1.3}.perfume-card{border-radius:var(--radius-lg);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);color:var(--paper-100);flex-direction:column;gap:6px;min-width:0;padding:16px 18px;text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex;position:relative}.perfume-card:hover{box-shadow:var(--shadow-soft);border-color:#e2b96c66;transform:translateY(-3px)}.perfume-card__badge{z-index:1;background:#0a0908d9;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:flex;position:absolute;top:12px;right:12px;box-shadow:0 1px 4px #0006}.perfume-card__badge svg{stroke-width:2.2px;width:20px;height:20px}.perfume-card__badge--owned{color:var(--owned-color)}.perfume-card__badge--wishlist{color:var(--wishlist-color)}.perfume-card__swatch{--swatch-tint:var(--gold-500);border-radius:var(--radius-md);background:var(--ink-800);justify-content:center;align-items:center;width:100%;height:64px;margin-bottom:4px;display:flex;position:relative;overflow:hidden}.perfume-card__swatch:before{content:"";background:radial-gradient(circle at 50% 40%, var(--swatch-tint), transparent 72%);opacity:.28;position:absolute;inset:0}.perfume-card__swatch img{object-fit:contain;width:100%;height:100%;position:relative}.perfume-card__swatch-icon{width:30px;height:40px;color:var(--swatch-tint);opacity:.7;position:relative}.perfume-card__brand{letter-spacing:.06em;text-transform:uppercase;color:var(--gold-400);text-overflow:ellipsis;white-space:nowrap;padding-right:24px;font-size:11px;overflow:hidden}.perfume-card__name{font-family:var(--font-display);color:var(--paper-100);-webkit-line-clamp:2;-webkit-box-orient:vertical;padding-right:24px;font-size:17px;line-height:1.25;display:-webkit-box;overflow:hidden}.perfume-card__meta{color:var(--paper-400);flex-wrap:wrap;align-items:center;gap:6px;margin-top:auto;padding-top:8px;font-size:12px;display:flex}.perfume-card__chip{border:1px solid var(--glass-border);background:#ffffff0d;border-radius:999px;padding:2px 8px}.perfume-card__rating{color:var(--gold-300);margin-left:auto}.perfume-card__rating-count{color:var(--paper-400)}.scentgraph-preview{border-radius:var(--radius-xl);background:radial-gradient(ellipse at 50% 45%, #e2b96c14, transparent 65%), var(--ink-850);border:1px solid var(--glass-border);cursor:pointer;width:100%;height:clamp(320px,42vw,460px);text-decoration:none;display:block;position:relative;overflow:hidden}.scentgraph-preview--loading{animation:1.6s ease-in-out infinite scentgraph-preview-pulse}@keyframes scentgraph-preview-pulse{0%,to{opacity:.5}50%{opacity:.8}}.scentgraph-preview__lines{width:100%;height:100%;position:absolute;inset:0}.scentgraph-preview__line{stroke:var(--gold-500);stroke-width:1px;opacity:0;stroke-dasharray:4 300;stroke-dashoffset:300px;transition:opacity .6s,stroke-dashoffset .8s}.scentgraph-preview__line.mounted{opacity:.35;stroke-dashoffset:0}.scentgraph-preview__node{opacity:0;border-radius:50%;justify-content:center;align-items:center;transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .5s;display:flex;position:absolute;transform:translate(-50%,-50%)scale(.5);box-shadow:0 6px 20px #0006}.scentgraph-preview__node.mounted{opacity:1;transform:translate(-50%,-50%)scale(1)}.scentgraph-preview__node--center{border:2px solid var(--gold-300);z-index:3;width:clamp(84px,11vw,116px);height:clamp(84px,11vw,116px);top:50%;left:50%;box-shadow:0 0 0 8px #e2b96c14,0 10px 30px #00000080}.scentgraph-preview__node--orbit{background:radial-gradient(circle at 35% 30%, var(--gold-400), var(--ink-800) 75%);z-index:2;border:1.5px solid #f6f1e759;width:clamp(46px,6vw,62px);height:clamp(46px,6vw,62px)}.scentgraph-preview__node-label{color:var(--paper-100);text-align:center;pointer-events:none;padding:0 6px;font-size:10.5px;font-weight:600;line-height:1.2}.scentgraph-preview__node--center .scentgraph-preview__node-label{font-size:12px}.scentgraph-preview__node-label--orbit{white-space:nowrap;text-overflow:ellipsis;max-width:130px;color:var(--paper-300);margin-top:6px;font-weight:500;position:absolute;top:100%;overflow:hidden}.scentgraph-preview__score{color:var(--gold-300);font-variant-numeric:tabular-nums;margin-bottom:4px;font-size:10px;position:absolute;bottom:100%}.scentgraph-preview__cta{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);color:var(--gold-300);z-index:4;border-radius:999px;align-items:center;gap:8px;padding:9px 18px;font-size:12.5px;font-weight:600;transition:background .2s,border-color .2s;display:inline-flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.scentgraph-preview__cta svg{width:14px;height:14px}.scentgraph-preview:hover .scentgraph-preview__cta{border-color:var(--gold-500);background:#e2b96c24}@media (width<=720px){.scentgraph-preview__node-label--orbit{display:none}}.home-view{flex-direction:column;gap:48px;height:100%;padding:40px 48px 64px;display:flex;overflow-y:auto}.home-hero{border-radius:var(--radius-xl);background:linear-gradient(160deg, var(--ink-800) 0%, var(--ink-900) 60%, var(--ink-950) 100%);border:1px solid var(--glass-border);box-shadow:var(--shadow-deep);flex-shrink:0;padding:64px 56px;position:relative;overflow:hidden}.home-hero__glow{pointer-events:none;background:radial-gradient(circle,#e2b96c47 0%,#e2b96c00 65%);width:60%;height:140%;position:absolute;inset:-40% -10% auto auto}.home-hero__content{flex-direction:column;gap:20px;max-width:720px;display:flex;position:relative}.home-hero__eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--gold-400);font-size:12px}.home-hero__title{color:var(--paper-100);font-size:44px;font-weight:500;line-height:1.15}.home-hero__title em{color:var(--gold-300);font-style:italic}.home-hero__subtitle{color:var(--paper-300);max-width:560px;margin:0;font-size:16px;line-height:1.6}.home-hero__search{max-width:480px;margin-top:4px}.home-hero__search .search-bar{max-width:none}.home-hero__search .search-bar__input-wrap{background:#ffffff0f;padding:14px 18px}.home-hero__stats{align-items:center;gap:24px;margin-top:12px;display:flex}.home-stat{flex-direction:column;gap:2px;display:flex}.home-stat__value{font-family:var(--font-display);color:var(--paper-100);font-size:26px}.home-stat__label{letter-spacing:.04em;color:var(--paper-400);text-transform:uppercase;font-size:12px}.skeleton-block--stat-value{width:48px;height:26px}.skeleton-block--stat-label{width:60px;height:12px}.home-stat__divider{background:var(--glass-border);width:1px;height:30px}.home-section{flex-direction:column;flex-shrink:0;gap:18px;display:flex}.home-section__head{align-items:baseline;gap:12px;display:flex}.home-section__head h2{color:var(--paper-100);font-size:22px}.home-section__hint{color:var(--paper-400);font-size:13px}.home-features{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;display:grid}.home-feature{border-radius:var(--radius-lg);background:linear-gradient(160deg, #e2b96c0d, transparent 60%), var(--ink-850);border:1px solid var(--glass-border);color:var(--paper-100);flex-direction:column;gap:10px;padding:22px 20px;text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex}.home-feature:hover{box-shadow:var(--shadow-soft);border-color:#e2b96c73;transform:translateY(-3px)}.home-feature__icon{width:36px;height:36px;color:var(--gold-400);justify-content:center;align-items:center;display:flex}.home-feature__icon svg{width:22px;height:22px}.home-feature__label{font-family:var(--font-display);font-size:16.5px}.home-feature__desc{color:var(--paper-400);font-size:12.5px;line-height:1.5}.home-quicklinks{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.home-quicklink{border-radius:var(--radius-lg);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);color:var(--paper-100);align-items:center;gap:14px;padding:18px 20px;text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex}.home-quicklink:hover{box-shadow:var(--shadow-soft);border-color:#e2b96c66;transform:translateY(-2px)}.home-quicklink__icon{background:radial-gradient(circle at 35% 30%, var(--gold-300), var(--gold-600) 70%);width:40px;height:40px;color:var(--ink-950);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.home-quicklink__icon svg{width:18px;height:18px}.home-quicklink__text{flex-direction:column;gap:2px;display:flex}.home-quicklink__label{font-family:var(--font-display);font-size:16px}.home-quicklink__desc{color:var(--paper-400);font-size:12px}.home-perfume-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}@media (width<=720px){.home-view{padding:24px 20px 48px}.home-hero{padding:40px 24px}.home-hero__title{font-size:30px}}.graph-view{grid-template-columns:1fr;width:100%;height:100%;min-height:0;display:grid}.graph-view__canvas{background:radial-gradient(circle at 50% 40%, var(--ink-800) 0%, var(--ink-950) 75%);width:100%;min-width:0;height:100%;min-height:0;position:relative;overflow:hidden}.graph-view--fullscreen{z-index:40;position:fixed;inset:0}.graph-view__fullscreen-toggle{z-index:16;border:1px solid var(--glass-border);background:var(--glass-bg);width:34px;height:34px;-webkit-backdrop-filter:blur(var(--glass-blur));color:var(--paper-300);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:background .2s,color .2s;display:flex;position:absolute;top:16px;left:16px}.graph-view__fullscreen-toggle:hover{color:var(--gold-300);background:#e2b96c29}.graph-view__fullscreen-toggle svg{width:16px;height:16px}.graph-view__hover-tooltip{border-radius:var(--radius-sm);pointer-events:none;white-space:nowrap;z-index:10;flex-direction:column;gap:2px;padding:6px 10px;display:flex;position:absolute;transform:translate(-50%,-130%)}.graph-view__hover-brand{color:var(--paper-400);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.graph-view__hover-score{color:var(--gold-300);font-size:12.5px;font-weight:600}.graph-view__node-label{border-radius:var(--radius-sm);color:#d9cbb0;white-space:nowrap;pointer-events:none;z-index:10;background:#0a0908bf;padding:1px 6px;font-size:12px;font-weight:500;position:absolute;transform:translate(-50%,6px)}.graph-view__node-label--focus{color:#f6f1e7;font-size:13px;font-weight:600}.graph-view__canvas canvas{cursor:grab}.graph-zoom-controls{z-index:14;border-radius:var(--radius-lg);border:1px solid var(--glass-border);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));flex-direction:column;gap:6px;padding:3px;display:flex;position:absolute;top:58px;left:15px}.graph-zoom-controls__btn{border:1px solid var(--glass-border);width:30px;height:30px;color:var(--paper-300);cursor:pointer;background:#ffffff08;border-radius:50%;justify-content:center;align-items:center;transition:background .2s,color .2s;display:flex}.graph-zoom-controls__btn:hover{color:var(--gold-300);background:#e2b96c29}.graph-zoom-controls__btn svg{width:14px;height:14px}.graph-view__detail-wrap{z-index:15;transition:transform .22s,opacity .22s;position:absolute;top:20px;bottom:20px;right:20px}.graph-view__detail-wrap .detail-panel{height:100%}.graph-view__detail-wrap--closed{opacity:0;pointer-events:none;transform:translate(24px)}@media (width<=900px){.graph-view__detail-wrap{position:static;inset:auto}}.graph-view__detail-slot{justify-content:center;align-items:center;height:100%;padding:32px;display:flex}.graph-view__detail-placeholder{color:var(--paper-400);text-align:center;flex-direction:column;align-items:center;gap:14px;font-size:14px;display:flex}.graph-view__detail-placeholder svg{width:40px;height:56px;color:var(--gold-500);opacity:.6}.graph-view--empty{justify-content:center;align-items:center;width:100%;height:100%;padding:24px;display:flex}.graph-view__empty-card{border-radius:var(--radius-xl);text-align:center;width:100%;max-width:480px;box-shadow:var(--shadow-deep);flex-direction:column;align-items:center;gap:14px;padding:40px 36px;display:flex}.graph-view__empty-icon{background:radial-gradient(circle at 35% 30%, var(--gold-300), var(--gold-600) 70%);border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:4px;display:flex}.graph-view__empty-icon svg{width:26px;height:26px;color:var(--ink-950)}.graph-view__empty-card h2{color:var(--paper-100);font-size:24px}.graph-view__empty-card p{color:var(--paper-400);margin:0;font-size:14px;line-height:1.5}.graph-view__empty-search{width:100%;margin-top:10px}.graph-view__loading{color:var(--paper-300);flex-direction:column;justify-content:center;align-items:center;gap:14px;font-size:13px;display:flex;position:absolute;inset:0}.graph-view__loading-mark{width:36px;height:36px}.graph-view__error{z-index:20;border-radius:var(--radius-md);color:var(--danger);padding:10px 18px;font-size:13px;position:absolute;top:20px;left:50%;transform:translate(-50%)}.graph-controls{z-index:15;border-radius:var(--radius-lg);background:#100e0cf0;flex-direction:column;gap:12px;width:420px;max-width:calc(100% - 40px);padding:16px 18px;transition:transform .22s,opacity .22s;display:flex;position:absolute;bottom:20px;left:20px}.graph-controls-wrap--closed .graph-controls{opacity:0;pointer-events:none;transform:translateY(24px)}.graph-controls__close{z-index:1;border:1px solid var(--glass-border);width:30px;height:30px;color:var(--paper-300);cursor:pointer;background:#ffffff08;border-radius:50%;justify-content:center;align-items:center;transition:background .2s,color .2s;display:flex;position:absolute;top:8px;right:8px}.graph-controls__close:hover{color:var(--gold-300);background:#e2b96c29}.graph-controls__close svg{width:14px;height:14px}.graph-controls__row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.graph-controls__row--sliders{flex-direction:row;gap:14px}.graph-controls__row--depth{align-items:center;gap:20px}.graph-controls__explainer p{margin:0}.graph-controls__explainer p+p{margin-top:8px}.graph-controls__btn{border-radius:var(--radius-md);border:1px solid var(--glass-border);color:var(--gold-300);letter-spacing:.01em;cursor:pointer;white-space:nowrap;background:#e2b96c1f;align-items:center;gap:6px;padding:8px 14px;font-size:12.5px;font-weight:600;transition:background .2s,color .2s,opacity .2s;display:inline-flex}.graph-controls__btn:hover:not(:disabled){background:#e2b96c38}.graph-controls__btn:disabled{opacity:.45;cursor:default}.graph-controls__btn svg{width:14px;height:14px}.graph-controls__btn--ghost{color:var(--paper-300);background:0 0}.graph-controls__btn--ghost:hover:not(:disabled){color:var(--paper-100);background:#ffffff0d}.graph-controls__depth-group{flex-direction:column;flex-shrink:0;align-items:flex-start;gap:8px;display:flex}.graph-controls__rings{display:block}.graph-controls__depth-buttons{align-items:center;gap:6px;display:inline-flex}.graph-controls__chevron{width:12px;height:12px;transition:transform .2s}.graph-controls__chevron.open{transform:rotate(90deg)}.graph-controls__collapse-wrap{position:relative}.graph-controls__collapse-menu{background:var(--ink-850);border:1px solid var(--glass-border);border-radius:var(--radius-md);min-width:200px;max-height:220px;box-shadow:var(--shadow-deep);z-index:30;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;bottom:calc(100% + 6px);left:0;overflow-y:auto}.graph-controls__collapse-item{text-align:left;border-radius:var(--radius-sm);color:var(--paper-300);cursor:pointer;background:0 0;border:none;padding:7px 10px;font-size:12.5px}.graph-controls__collapse-item:hover{color:var(--gold-300);background:#e2b96c24}.graph-controls__slider{min-width:150px;color:var(--paper-300);flex-direction:column;flex:1;gap:5px;font-size:11.5px;display:flex}.graph-controls__slider input[type=range]{width:100%;accent-color:var(--gold-400);height:4px}.graph-controls__row--footer{border-top:1px solid var(--glass-border);justify-content:flex-end;padding-top:10px}.graph-controls__readout-group{align-items:center;gap:8px;display:flex}.graph-controls__icon-btn{border:1px solid var(--glass-border);width:30px;height:30px;color:var(--paper-300);cursor:pointer;background:#ffffff08;border-radius:50%;justify-content:center;align-items:center;transition:background .2s,color .2s;display:flex}.graph-controls__icon-btn:hover{color:var(--gold-300);background:#e2b96c29}.graph-controls__icon-btn svg{width:14px;height:14px}.graph-controls__readout{color:var(--paper-400);font-variant-numeric:tabular-nums;font-size:12px}.graph-controls__spinner{flex-shrink:0;width:12px;height:12px}@media (width<=900px){.graph-controls{width:calc(100% - 40px)}.graph-view__detail-wrap .detail-panel{transition:transform .22s,opacity .22s}.graph-view__detail-wrap--closed .detail-panel{opacity:0;pointer-events:none;transform:translateY(24px)}}.graph-view__reopen-detail{z-index:15;border-radius:var(--radius-lg);border:1px solid var(--glass-border);background:var(--glass-bg);max-width:320px;-webkit-backdrop-filter:blur(var(--glass-blur));box-shadow:var(--shadow-soft);color:var(--paper-100);text-align:left;cursor:pointer;align-items:center;gap:8px;padding:8px 14px;font-size:13.5px;font-weight:600;display:flex;position:absolute;top:16px;right:16px}.graph-view__reopen-detail svg{width:16px;height:16px;color:var(--gold-400);flex-shrink:0}.graph-view__reopen-detail-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.graph-view__reopen-detail-chevron{width:14px;height:14px;color:var(--paper-400)}.graph-view__reopen-detail:hover{border-color:#e2b96c66}.graph-view__reopen-detail:hover .graph-view__reopen-detail-chevron{color:var(--gold-400)}@media (width<=900px){.graph-view__reopen-detail{left:62px}}.graph-view__reopen-controls{z-index:15;border-radius:var(--radius-lg);border:1px solid var(--glass-border);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));box-shadow:var(--shadow-soft);color:var(--paper-100);cursor:pointer;align-items:center;gap:6px;padding:10px 14px;font-size:13.5px;font-weight:600;display:flex;position:absolute;bottom:20px;left:20px}.graph-view__reopen-controls:hover{border-color:#e2b96c66}.graph-view__reopen-controls-chevron{width:14px;height:14px;color:var(--gold-400)}.info-tooltip__trigger{width:20px;height:20px;color:var(--paper-400);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:background .2s,color .2s;display:inline-flex}.info-tooltip__trigger:hover,.info-tooltip__trigger[data-state=open]{color:var(--gold-300);background:#e2b96c29}.info-tooltip__trigger svg{width:15px;height:15px}.info-tooltip__popup{z-index:30;border-radius:var(--radius-md);background:var(--glass-bg);width:max-content;max-width:min(300px,90vw);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);box-shadow:var(--shadow-soft);color:var(--paper-100);padding:12px 14px;font-size:12.5px;line-height:1.5}.info-tooltip__arrow{fill:var(--glass-bg)}.detail-panel{border-radius:var(--radius-lg);background:#100e0cf0;width:420px;max-width:100%;height:100%;padding:28px 24px 32px;animation:.28s detail-panel-in;position:relative;overflow:hidden auto}@keyframes detail-panel-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.detail-panel__close{border:1px solid var(--glass-border);width:32px;height:32px;color:var(--paper-300);cursor:pointer;z-index:2;background:#ffffff0a;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:16px;right:16px}.detail-panel__close:hover{color:var(--paper-100);border-color:var(--gold-500)}.detail-panel__close svg{width:15px;height:15px}.detail-panel__content{flex-direction:column;gap:22px;display:flex}.detail-panel__hero{border-radius:var(--radius-md);background:linear-gradient(160deg, var(--ink-700) 0%, var(--ink-850) 100%);justify-content:center;align-items:center;width:100%;height:220px;display:flex;overflow:hidden}.detail-panel__image{object-fit:contain;background:var(--ink-800);width:100%;height:100%}.detail-panel__image-fallback{--fallback-tint:var(--gold-500);justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.detail-panel__image-fallback:before{content:"";background:radial-gradient(circle at 50% 42%, var(--fallback-tint), transparent 68%);opacity:.22;position:absolute;inset:0}.detail-panel__image-fallback svg{color:var(--fallback-tint);opacity:.75;filter:drop-shadow(0 6px 18px #00000059);width:88px;height:118px}.detail-panel__identity{flex-direction:column;gap:4px;display:flex}.detail-panel__brand{letter-spacing:.04em;text-transform:uppercase;color:var(--gold-400);width:fit-content;font-size:13px;text-decoration:none}.detail-panel__brand:hover{color:var(--gold-300);text-decoration:underline}.detail-panel__name{color:var(--paper-100);font-size:26px;line-height:1.15}.detail-panel__meta-row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px;display:flex}.detail-panel__meta-item{color:var(--paper-300);font-size:13px}.detail-panel__meta-item:not(:last-child):after{content:"·";color:var(--paper-400);margin-left:10px}.detail-panel__meta-divider{color:var(--paper-400);font-size:13px}.detail-panel__compare-link{letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--glass-border);width:fit-content;color:var(--paper-200);background:#ffffff0a;border-radius:999px;align-items:center;gap:4px;padding:3px 9px;font-size:11px;text-decoration:none;transition:border-color .2s;display:inline-flex}.detail-panel__compare-link:hover{color:var(--gold-400);border-color:#e2b96c66}.detail-panel__compare-link svg:not(.detail-panel__compare-link-arrow){width:12px;height:12px}.detail-panel__compare-link-arrow{opacity:.7;width:9px;height:9px;margin-left:1px}.gender-badge{letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--glass-border);color:var(--paper-200);background:#ffffff0a;border-radius:999px;padding:3px 9px;font-size:11px}.gender-badge--women{color:var(--rose-400);border-color:#d98f8f66}.gender-badge--men{color:var(--sage-400);border-color:#93a88766}.gender-badge--unisex{color:var(--gold-400);border-color:#e2b96c66}.detail-panel__section{flex-direction:column;gap:10px;display:flex}.detail-panel__section-header{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.detail-panel__section-title{color:var(--paper-100);letter-spacing:.01em;font-size:15px}.detail-panel__caption{letter-spacing:.05em;text-transform:uppercase;color:var(--paper-400);font-size:10.5px}.chip-row{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--glass-border);color:var(--paper-200);white-space:nowrap;background:#ffffff08;border-radius:999px;padding:5px 11px;font-size:12.5px;text-decoration:none}.chip--accord{color:var(--gold-300);cursor:pointer;background:#e2b96c12;border-color:#e2b96c47;transition:border-color .2s,background .2s,color .2s}.chip--accord:hover{border-color:var(--gold-400);background:#e2b96c24}.chip--note{--note-tint:var(--paper-400);color:var(--paper-200);align-items:center;gap:6px;display:inline-flex}.chip--note-link{cursor:pointer;text-decoration:none;transition:border-color .2s,background .2s,color .2s}.chip--note-link:hover{color:var(--paper-100);border-color:var(--note-tint);background:#ffffff0f}.chip--note__icon{width:12px;height:12px;color:var(--note-tint);opacity:.85;flex-shrink:0}.chip--note__icon svg{width:100%;height:100%}.detail-panel__notes{gap:14px}.note-tier{flex-direction:column;gap:6px;display:flex}.note-tier__label{letter-spacing:.06em;text-transform:uppercase;color:var(--paper-400);font-size:11px}.rating-display{align-items:center;gap:8px;display:flex}.rating-display__stars{color:var(--ink-600);gap:1px;font-size:15px;display:flex}.star--filled{color:var(--gold-400)}.rating-display__value{color:var(--paper-100);font-size:13.5px;font-weight:600}.rating-display__count{color:var(--paper-400);font-size:12px}.detail-panel__description{color:var(--paper-300);font-size:13.5px;line-height:1.55}.collection-controls{flex-wrap:wrap;gap:8px;display:flex}.collection-btn{border-radius:var(--radius-md);border:1px solid var(--glass-border);color:var(--paper-200);cursor:pointer;background:#ffffff08;align-items:center;gap:6px;padding:8px 14px;font-size:13px;transition:border-color .15s,background .15s,color .15s;display:flex}.collection-btn svg{width:15px;height:15px}.collection-btn:hover{border-color:var(--gold-500)}.collection-btn--owned.active{color:var(--owned-color);border-color:var(--owned-color);background:#8fb9961a}.collection-btn--wishlist.active{color:var(--wishlist-color);border-color:var(--wishlist-color);background:#e2b96c1a}.collection-btn--clear{color:var(--paper-400)}.detail-panel-confirm__overlay{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a0908b3;position:fixed;inset:0}.detail-panel-confirm__dialog{z-index:101;border-radius:var(--radius-lg);background:var(--glass-bg);width:min(360px,100vw - 40px);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);box-shadow:var(--shadow-deep);padding:24px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.detail-panel-confirm__title{color:var(--paper-100);font-size:17px;font-weight:600;font-family:var(--font-display);margin:0 0 8px}.detail-panel-confirm__description{color:var(--paper-400);margin:0 0 20px;font-size:13.5px}.detail-panel-confirm__actions{justify-content:flex-end;gap:10px;display:flex}.detail-panel-confirm__yes,.detail-panel-confirm__no{border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font-body);border:none;padding:8px 16px}.detail-panel-confirm__yes{color:var(--danger);background:#c66a5c2e}.detail-panel-confirm__yes:hover{background:#c66a5c4d}.detail-panel-confirm__no{color:var(--paper-300);background:#ffffff0f}.detail-panel-confirm__no:hover{background:#ffffff1a}.similarity-card-list{flex-direction:column;gap:8px;display:flex}.similarity-card{text-align:left;border-radius:var(--radius-md);border:1px solid var(--glass-border);width:100%;color:inherit;cursor:pointer;background:#ffffff08;align-items:flex-start;gap:12px;padding:12px 14px;transition:border-color .15s,background .15s;display:flex}.similarity-card:hover{border-color:var(--gold-500);background:#e2b96c0f}.similarity-card__rank{font-family:var(--font-display);color:var(--gold-500);flex-shrink:0;min-width:22px;font-size:13px}.similarity-card__body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.similarity-card__top-row{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.similarity-card__name{color:var(--paper-100);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;overflow:hidden}.similarity-card__brand{color:var(--paper-400)}.similarity-card__score{color:var(--gold-400);flex-shrink:0;font-size:13px;font-weight:600}.similarity-card__summary{color:var(--paper-400);font-size:12px;line-height:1.4}.should-i-buy{flex-direction:column;gap:10px;display:flex}.should-i-buy__closest{color:var(--paper-200);font-size:13px}.should-i-buy__new-notes{flex-direction:column;gap:6px;display:flex}.should-i-buy__redundancy{color:var(--paper-300);align-items:center;gap:6px;font-size:13px;display:flex}.detail-panel__empty{color:var(--paper-400);font-size:12.5px;font-style:italic}.detail-panel__error{text-align:center;color:var(--paper-300);padding:40px 12px}.detail-panel__skeleton{flex-direction:column;gap:18px;display:flex}.skeleton-block--hero{height:220px}.skeleton-block--wide{width:80%;height:24px}.skeleton-block--chips{width:100%;height:32px}.detail-panel__skeleton-list{border-radius:var(--radius-md);background:linear-gradient(90deg, var(--ink-800) 0%, var(--ink-700) 50%, var(--ink-800) 100%);background-size:200% 100%;height:90px;animation:1.4s ease-in-out infinite skeleton-shimmer}@media (width<=900px){.graph-view__detail-wrap .detail-panel{z-index:20;border-radius:0;width:100%;height:100%;padding:24px 18px 40px;animation:.25s detail-panel-in-mobile;position:fixed;inset:0}.graph-view__detail-wrap .detail-panel__hero{height:180px}}@keyframes detail-panel-in-mobile{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.redundancy-badge{letter-spacing:.04em;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-block}.redundancy-badge--low{color:var(--owned-color);background:#8fb9962e}.redundancy-badge--medium{color:var(--gold-300);background:#e2b96c2e}.redundancy-badge--high{color:var(--danger);background:#c66a5c2e}.accord-bars{flex-direction:column;gap:5px;display:flex}.accord-bar{width:100%}.accord-bar__fill{cursor:pointer;border-radius:0 999px 999px 0;align-items:center;height:30px;padding:0 14px;text-decoration:none;transition:width .4s,filter .2s,box-shadow .2s;display:flex;box-shadow:0 2px 8px #00000040}.accord-bar__fill:hover{filter:brightness(1.12);box-shadow:0 2px 10px #00000059}.accord-bar__label{color:var(--ink-950);text-transform:capitalize;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 1px #ffffff1f;font-size:12.5px;font-weight:600;overflow:hidden}.purchase-details{flex-direction:column;gap:8px;margin-top:10px;display:flex}.purchase-details__list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.purchase-record-row{border-radius:var(--radius-sm);border:1px solid var(--glass-border);background:#ffffff08;justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;display:flex}.purchase-record-row__main{text-align:left;font-size:12.5px;font-family:var(--font-body);color:var(--paper-300);cursor:pointer;background:0 0;border:none;flex:1;padding:0}.purchase-record-row__main:hover{color:var(--paper-100)}.purchase-record-row__remove{width:20px;height:20px;color:var(--paper-400);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.purchase-record-row__remove:hover{color:var(--danger)}.purchase-record-row__remove svg{width:11px;height:11px}.purchase-details__add{border-radius:var(--radius-md);border:1px dashed var(--glass-border);color:var(--paper-400);cursor:pointer;font-size:12.5px;font-family:var(--font-body);background:0 0;align-self:flex-start;padding:6px 12px}.purchase-details__add:hover{border-color:var(--gold-500);color:var(--gold-300)}.purchase-details__error{color:var(--danger);margin:0;font-size:12px}.purchase-record-form{border-radius:var(--radius-md);border:1px solid var(--glass-border);background:#ffffff05;flex-direction:column;gap:8px;padding:10px;display:flex}.purchase-record-form__row{gap:8px;display:flex}.purchase-record-form label{color:var(--paper-400);flex-direction:column;flex:1;gap:4px;font-size:11px;display:flex}.purchase-record-form input{border-radius:var(--radius-sm);border:1px solid var(--glass-border);color:var(--paper-100);font-size:12.5px;font-family:var(--font-body);background:#ffffff0a;padding:7px 9px}.purchase-record-form input:focus{border-color:var(--gold-500);outline:none}.purchase-record-form__actions{justify-content:flex-end;gap:8px;margin-top:2px;display:flex}.purchase-record-form__cancel{border-radius:var(--radius-md);border:1px solid var(--glass-border);color:var(--paper-400);cursor:pointer;font-size:12.5px;font-family:var(--font-body);background:0 0;padding:6px 12px}.purchase-record-form__cancel:hover:not(:disabled){color:var(--paper-100)}.purchase-record-form__submit{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--gold-400), var(--gold-600));color:var(--ink-950);cursor:pointer;font-size:12.5px;font-weight:600;font-family:var(--font-body);border:none;padding:6px 14px}.purchase-record-form__submit:disabled,.purchase-record-form__cancel:disabled{opacity:.6;cursor:default}.fragrance-view{justify-content:center;height:100%;padding:16px clamp(16px,4vw,48px);display:flex;overflow-y:auto}.fragrance-view__inner{flex-direction:column;gap:18px;width:100%;max-width:720px;display:flex}.fragrance-view__cta{background:linear-gradient(135deg, var(--gold-400), var(--gold-600));color:var(--ink-950);border-radius:999px;align-self:flex-start;align-items:center;gap:8px;padding:10px 20px;font-size:13.5px;font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 8px 24px #e2b96c40}.fragrance-view__cta:hover{transform:translateY(-1px);box-shadow:0 10px 28px #e2b96c59}.fragrance-view__cta svg{width:16px;height:16px}.fragrance-view .detail-panel{width:100%;height:auto;overflow-y:visible}.fragrance-view__not-found{text-align:center;color:var(--paper-300);flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:80px 20px;display:flex}.collection-graph{border-radius:var(--radius-lg);background:radial-gradient(circle at 50% 35%, var(--ink-800) 0%, var(--ink-950) 78%);border:1px solid var(--glass-border);width:100%;height:420px;box-shadow:var(--shadow-soft);flex-direction:column;gap:10px;padding:14px 16px;display:flex;position:relative}.collection-graph__legend{color:var(--paper-300);z-index:2;flex-wrap:wrap;align-items:center;gap:16px;font-size:12px;display:flex}.collection-graph__legend-item{align-items:center;gap:6px;display:inline-flex}.collection-graph__dot{border-radius:50%;width:10px;height:10px;display:inline-block}.collection-graph__dot--owned{background:var(--owned-color);box-shadow:0 0 8px #8fb99680}.collection-graph__dot--wishlist{background:var(--wishlist-color);border:1.5px dashed #e2b96ce6}.collection-graph__legend-hint{color:var(--paper-400);margin-left:auto;font-size:11.5px}.collection-graph__canvas{border-radius:var(--radius-md);flex:1;width:100%;min-height:0;position:relative;overflow:hidden}.collection-graph__hover-tooltip{border-radius:var(--radius-sm);pointer-events:none;white-space:nowrap;z-index:6;flex-direction:column;gap:2px;padding:6px 10px;display:flex;position:absolute;transform:translate(-50%,-130%)}.collection-graph__hover-brand{color:var(--paper-400);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.collection-graph__hover-status{font-size:12.5px;font-weight:600}.collection-graph__hover-status--owned{color:var(--owned-color)}.collection-graph__hover-status--wishlist{color:var(--wishlist-color)}.collection-graph__canvas canvas{cursor:grab}@media (width<=720px){.collection-graph{height:320px}.collection-graph__legend-hint{width:100%;margin-left:0}}.gap-analysis{border-radius:var(--radius-lg);flex-direction:column;gap:14px;padding:20px 22px;display:flex}.gap-analysis__empty{color:var(--paper-400);margin:0;font-size:14px}.gap-analysis__note{color:var(--paper-400);margin:0;font-size:12.5px;line-height:1.55}.gap-analysis__note strong{color:var(--paper-200)}.gap-analysis__list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.gap-analysis__row{flex-direction:column;gap:5px;display:flex}.gap-analysis__row-head{justify-content:space-between;align-items:baseline;gap:10px;font-size:13px;display:flex}.gap-analysis__accord-name{color:var(--paper-100);text-transform:capitalize;font-weight:600;text-decoration:none}.gap-analysis__accord-name:hover{color:var(--gold-300);text-decoration:underline}.gap-analysis__counts{color:var(--paper-400);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12px}.gap-analysis__bar-track{background:#ffffff0d;border-radius:999px;height:8px;position:relative;overflow:hidden}.gap-analysis__bar-db{background:#e2b96c47;border-radius:999px;height:100%;position:absolute;inset:0 auto 0 0}.gap-analysis__bar-owned{background:var(--owned-color);border-radius:999px;height:100%;position:absolute;inset:0 auto 0 0}.gap-analysis__legend{color:var(--paper-400);border-top:1px solid var(--glass-border);gap:18px;padding-top:4px;font-size:11.5px;display:flex}.gap-analysis__legend span{align-items:center;gap:6px;display:inline-flex}.gap-analysis__swatch{border-radius:3px;width:10px;height:10px;display:inline-block}.gap-analysis__swatch--db{background:#e2b96c47}.gap-analysis__swatch--owned{background:var(--owned-color)}@media (width<=600px){.gap-analysis{padding:16px}}.owned-breakdown__empty{color:var(--paper-400);margin:0;padding:20px 22px;font-size:14px}.owned-breakdown__grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;display:grid}.owned-breakdown__tile{border-radius:var(--radius-md);border:1px solid var(--glass-border);color:var(--paper-100);background:#ffffff08;align-items:center;gap:10px;padding:14px 16px;text-decoration:none;transition:border-color .2s,background .2s,transform .2s;display:flex}.owned-breakdown__tile:hover{border-color:var(--gold-400);background:#ffffff0d;transform:translateY(-2px)}.owned-breakdown__icon{width:16px;height:16px;color:var(--gold-400);opacity:.85;flex-shrink:0}.owned-breakdown__icon svg{width:100%;height:100%}.owned-breakdown__label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13.5px;overflow:hidden}.owned-breakdown__count{color:var(--paper-400);flex-shrink:0;font-size:11px}.collection-stats__empty{color:var(--paper-400);margin:0;padding:20px 22px;font-size:14px}.collection-stats{flex-direction:column;gap:24px;display:flex}.collection-stats__totals{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));align-items:stretch;gap:10px;display:grid}.stat-tile{border-radius:var(--radius-md);border:1px solid var(--glass-border);background:#ffffff08;flex-direction:column;gap:4px;padding:16px 18px;display:flex}.stat-tile__value{font-size:24px;font-weight:700;font-family:var(--font-display);color:var(--paper-100)}.stat-tile__value--muted{color:var(--paper-400);opacity:.8;font-weight:600}.stat-tile__label{color:var(--paper-400);font-size:12px}.stat-tile__caption{min-height:28px;color:var(--paper-400);margin-top:2px;font-size:11px;display:block}.collection-stats__highlights{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;display:grid}.highlight-card{border-radius:var(--radius-md);border:1px solid var(--glass-border);color:inherit;background:#ffffff08;flex-direction:column;gap:10px;padding:18px;text-decoration:none;transition:border-color .2s,background .2s,transform .2s;display:flex}.highlight-card:hover{border-color:var(--gold-400);background:#ffffff0d;transform:translateY(-2px)}.highlight-card__head{align-items:center;gap:8px;display:flex}.highlight-card__icon{width:26px;height:26px;color:var(--gold-400);background:#e2b96c1f;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.highlight-card__icon svg{width:14px;height:14px}.highlight-card__label{color:var(--paper-400);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.highlight-card__value{font-size:26px;font-weight:700;line-height:1;font-family:var(--font-display);color:var(--paper-100);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.highlight-card__caption{color:var(--paper-300);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.35;display:-webkit-box;overflow:hidden}.highlight-card__caption strong{color:var(--paper-100)}.collection-stats__section h3{color:var(--paper-100);font-size:15px;font-weight:600;font-family:var(--font-display);margin:0 0 12px}.collection-stats__estimate-note{color:var(--paper-400);margin:-6px 0 12px;font-size:12px}.longevity-tiers{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.longevity-tier{border-radius:var(--radius-md);border:1px solid var(--glass-border);background:#ffffff08;flex-direction:column;gap:4px;padding:16px 18px;display:flex}.longevity-tier__label{color:var(--paper-400);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.longevity-tier__value{font-size:20px;font-weight:700;font-family:var(--font-display);color:var(--paper-100)}.collection-stats__compare{grid-template-columns:1fr 1fr;gap:24px;display:grid}.collection-stats__compare h4{color:var(--paper-400);text-transform:uppercase;letter-spacing:.04em;margin:0 0 8px;font-size:12px;font-weight:600}@media (width<=640px){.collection-stats__compare{grid-template-columns:1fr}}.collection-stats__toggle{border-radius:var(--radius-md);border:1px solid var(--glass-border);color:var(--paper-400);cursor:pointer;font-size:12px;font-family:var(--font-body);background:0 0;margin:10px auto 0;padding:6px 14px;display:block}.collection-stats__toggle:hover{border-color:var(--gold-500);color:var(--gold-300)}.accord-share-bars{flex-direction:column;gap:8px;display:flex}.accord-share-bar{grid-template-columns:90px 1fr 36px;align-items:center;gap:10px;display:grid}.accord-share-bar__label{color:var(--paper-300);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.accord-share-bar__track{background:#ffffff0d;border-radius:999px;height:8px;overflow:hidden}.accord-share-bar__fill{border-radius:999px;height:100%}.accord-share-bar__pct{color:var(--paper-400);text-align:right;font-size:11px}.spend-timeline{align-items:flex-end;gap:24px;height:160px;padding:26px 12px 0;display:flex;overflow-x:auto}.spend-timeline__bar{flex-direction:column;flex-shrink:0;align-items:center;gap:6px;width:48px;height:100%;display:flex}.spend-timeline__track{flex:1;align-items:flex-end;width:100%;display:flex}.spend-timeline__fill{border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:linear-gradient(180deg, var(--gold-400), var(--gold-600));width:100%;min-height:2px;position:relative}.spend-timeline__amount{color:var(--paper-200);white-space:nowrap;padding-bottom:6px;font-size:11px;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.spend-timeline__label{flex-direction:column;align-items:center;line-height:1.3;display:flex}.spend-timeline__label-month{color:var(--paper-300);font-size:10.5px}.spend-timeline__label-year{color:var(--paper-400);font-size:10px}.collection-add-picker{flex:1;min-width:220px;max-width:640px;position:relative}.collection-add-picker__input-wrap{border-radius:var(--radius-md);background:var(--glass-bg);border:1px solid var(--glass-border);align-items:center;gap:10px;padding:10px 16px;transition:border-color .2s;display:flex}.collection-add-picker__input-wrap:focus-within{border-color:var(--gold-500)}.collection-add-picker__input-wrap svg{width:16px;height:16px;color:var(--paper-400);flex-shrink:0}.collection-add-picker input{color:var(--paper-100);font-size:14px;font-family:var(--font-body);background:0 0;border:none;outline:none;flex:1}.collection-add-picker input::placeholder{color:var(--paper-400)}.collection-add-picker__results{z-index:5;border-radius:var(--radius-md);background:var(--glass-bg);max-height:340px;-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);box-shadow:var(--shadow-deep);padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.collection-add-picker__row{border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.collection-add-picker__row:hover{background:#ffffff0a}.collection-add-picker__name{min-width:0;color:var(--paper-100);text-overflow:ellipsis;white-space:nowrap;align-items:baseline;gap:8px;font-size:13.5px;display:flex;overflow:hidden}.collection-add-picker__meta{color:var(--paper-400);flex-shrink:0;font-size:12px}.collection-add-picker__add{border:1px solid var(--glass-border);color:var(--paper-300);font-size:12px;font-family:var(--font-body);cursor:pointer;background:0 0;border-radius:999px;flex-shrink:0;align-items:center;gap:5px;padding:5px 10px;transition:border-color .15s,color .15s,background .15s;display:flex}.collection-add-picker__add svg{width:12px;height:12px}.collection-add-picker__add:hover:not(:disabled){border-color:var(--gold-400);color:var(--gold-300);background:#e2b96c1a}.collection-add-picker__add:disabled{opacity:.5;cursor:default}.collection-add-picker__empty{color:var(--paper-400);text-align:center;padding:14px 12px;font-size:13px}.clear-all-control__btn{color:var(--paper-400);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:13px;text-decoration:underline}.clear-all-control__btn:hover{color:var(--danger)}.clear-all-control__overlay{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a0908b3;animation:.15s clear-all-overlay-in;position:fixed;inset:0}@keyframes clear-all-overlay-in{0%{opacity:0}}.clear-all-control__dialog{z-index:101;border-radius:var(--radius-lg);background:var(--glass-bg);width:min(360px,100vw - 40px);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);box-shadow:var(--shadow-deep);padding:24px;animation:.18s clear-all-dialog-in;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes clear-all-dialog-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.96)}}.clear-all-control__title{color:var(--paper-100);font-size:17px;font-weight:600;font-family:var(--font-display);margin:0 0 8px}.clear-all-control__description{color:var(--paper-400);margin:0 0 16px;font-size:13.5px}.clear-all-control__input{border-radius:var(--radius-md);border:1px solid var(--glass-border);width:100%;color:var(--paper-100);font-size:13.5px;font-family:var(--font-body);background:#ffffff0a;margin-bottom:20px;padding:9px 12px}.clear-all-control__input:focus{border-color:var(--danger);outline:none}.clear-all-control__actions{justify-content:flex-end;gap:10px;display:flex}.clear-all-control__yes,.clear-all-control__no{border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font-body);border:none;padding:8px 16px}.clear-all-control__yes{color:var(--danger);background:#c66a5c2e}.clear-all-control__yes:hover:not(:disabled){background:#c66a5c4d}.clear-all-control__yes:disabled{opacity:.4;cursor:default}.clear-all-control__no{color:var(--paper-300);background:#ffffff0f}.clear-all-control__no:hover{background:#ffffff1a}.collection-empty-state{border-radius:var(--radius-xl);text-align:center;width:100%;max-width:520px;box-shadow:var(--shadow-deep);flex-direction:column;align-items:center;gap:14px;margin:40px auto;padding:40px 36px;display:flex}.collection-empty-state .collection-add-picker{text-align:left;width:100%;margin-top:6px}.collection-empty-state__icon{background:radial-gradient(circle at 35% 30%, var(--gold-300), var(--gold-600) 70%);border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:2px;display:flex}.collection-empty-state__icon svg{width:24px;height:24px;color:var(--ink-950)}.collection-empty-state h2{color:var(--paper-100);font-size:22px}.collection-empty-state p{color:var(--paper-400);margin:0;font-size:14px;line-height:1.55}.collection-empty-state p strong{color:var(--gold-300)}.collection-empty-state__sample{border-radius:var(--radius-md);border:1px solid var(--glass-border);color:var(--paper-300);font-size:13.5px;font-weight:600;font-family:var(--font-body);cursor:pointer;background:0 0;align-items:center;gap:8px;margin-top:2px;padding:10px 18px;transition:border-color .2s,color .2s,background .2s;display:inline-flex}.collection-empty-state__sample svg{width:15px;height:15px;color:var(--gold-400)}.collection-empty-state__sample:hover{border-color:var(--gold-400);color:var(--gold-300);background:#e2b96c1a}.collection-view{flex-direction:column;gap:22px;width:100%;height:100%;padding:28px 32px 48px;display:flex;overflow-y:auto}.collection-view__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.collection-view__header h1{color:var(--paper-100);font-size:28px}.collection-view__subtitle{color:var(--paper-400);margin:6px 0 0;font-size:14px}.collection-view__subtitle strong{color:var(--gold-300);font-variant-numeric:tabular-nums}.collection-view__mode-toggle{border-radius:var(--radius-md);border:1px solid var(--glass-border);background:#ffffff0a;gap:4px;padding:4px;display:inline-flex}.collection-view__mode-toggle button,.collection-view__mode-toggle a{border-radius:var(--radius-sm);color:var(--paper-400);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;text-decoration:none;transition:background .2s,color .2s;display:inline-flex}.collection-view__mode-toggle button svg,.collection-view__mode-toggle a svg{width:15px;height:15px}.collection-view__mode-toggle button:hover,.collection-view__mode-toggle a:hover{color:var(--paper-100)}.collection-view__mode-toggle button.active,.collection-view__mode-toggle a.active{color:var(--gold-300);background:#e2b96c29}.collection-view__toolbar{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.collection-view__body{flex-direction:column;gap:24px;display:flex}.collection-view__grid-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.collection-view__grid-head h2{color:var(--paper-200);text-transform:capitalize;margin:0;font-size:16px}.collection-view__sub-toggle{border-radius:var(--radius-md);border:1px solid var(--glass-border);background:#ffffff0a;gap:4px;padding:3px;display:inline-flex}.collection-view__sub-toggle button{border-radius:var(--radius-sm);color:var(--paper-400);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;font-weight:600;transition:background .2s,color .2s;display:inline-flex}.collection-view__sub-toggle button svg{width:13px;height:13px}.collection-view__sub-toggle button:hover{color:var(--paper-100)}.collection-view__sub-toggle button.active{color:var(--gold-300);background:#e2b96c29}.collection-view__grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.collection-view__loading-text{color:var(--paper-400);font-size:14px}@media (width<=720px){.collection-view{padding:20px 16px 40px}.collection-view__header{flex-direction:column}.collection-view__mode-toggle{width:100%}.collection-view__mode-toggle button,.collection-view__mode-toggle a{flex:1;justify-content:center}}.wishlist-view{flex-direction:column;gap:22px;width:100%;height:100%;padding:28px 32px 48px;display:flex;overflow-y:auto}.wishlist-view__header h1{color:var(--paper-100);font-size:28px}.wishlist-view__subtitle{color:var(--paper-400);margin:6px 0 0;font-size:14px}.wishlist-view__subtitle strong{color:var(--gold-300);font-variant-numeric:tabular-nums}.wishlist-view__toolbar{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.wishlist-view__list{flex-direction:column;gap:10px;display:flex}.wishlist-view__loading-text{color:var(--paper-400);font-size:14px}.wishlist-row{border-radius:var(--radius-lg);color:inherit;justify-content:space-between;align-items:center;gap:18px;padding:16px 20px;text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex}.wishlist-row:hover{box-shadow:var(--shadow-soft);border-color:#e2b96c66;transform:translateY(-2px)}@media (width<=720px){.wishlist-row{flex-direction:column;align-items:stretch}}.wishlist-row__main{flex-direction:column;flex:260px;gap:4px;min-width:0;display:flex}@media (width<=720px){.wishlist-row__main{flex-basis:auto}}.wishlist-row__brand{letter-spacing:.06em;text-transform:uppercase;color:var(--gold-400);font-size:11px}.wishlist-row__name{font-family:var(--font-display);color:var(--paper-100);font-size:17px}.wishlist-row__accords{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.wishlist-row__chip{border:1px solid var(--glass-border);color:var(--paper-400);text-transform:capitalize;background:#ffffff0d;border-radius:999px;padding:2px 8px;font-size:11px}.wishlist-row__verdict{white-space:nowrap;flex:none;align-items:center;gap:10px;display:flex}.wishlist-row__match{color:var(--paper-400);font-size:12.5px}.wishlist-row__match strong{color:var(--paper-200)}.wishlist-row__match--muted{font-style:italic}@media (width<=720px){.wishlist-view{padding:20px 16px 40px}.wishlist-row{flex-direction:column;align-items:flex-start}.wishlist-row__verdict{justify-content:flex-start;width:100%}}.brands-view{flex-direction:column;gap:28px;height:100%;padding:40px 48px 64px;display:flex;overflow-y:auto}.brands-view__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.brands-view__head h1{color:var(--paper-100);font-size:32px}.brands-view__subtitle{color:var(--paper-400);margin:6px 0 0;font-size:14px}.brands-view__filter{border-radius:var(--radius-md);background:var(--glass-bg);border:1px solid var(--glass-border);align-items:center;gap:10px;min-width:280px;padding:10px 16px;display:flex}.brands-view__filter svg{width:16px;height:16px;color:var(--paper-400);flex-shrink:0}.brands-view__filter input{color:var(--paper-100);background:0 0;border:none;outline:none;width:100%;font-size:14px}.brands-view__filter input::placeholder{color:var(--paper-400)}.brands-view__empty{text-align:center;color:var(--paper-400);padding:48px 0}.brands-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.brand-tile{border-radius:var(--radius-lg);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);color:var(--paper-100);flex-direction:column;gap:6px;padding:18px 20px;text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex}.brand-tile:hover{box-shadow:var(--shadow-soft);border-color:#e2b96c66;transform:translateY(-3px)}.brand-tile__name{font-family:var(--font-display);font-size:17px}.brand-tile__count{color:var(--paper-400);font-size:12px}.brands-view__more{align-items:center;gap:16px;padding-top:8px;display:flex}.brands-view__more button{border:1px solid var(--gold-600);color:var(--gold-300);cursor:pointer;letter-spacing:.02em;background:#e2b96c14;border-radius:999px;padding:10px 22px;font-size:13px;transition:background .2s,border-color .2s}.brands-view__more button:hover{border-color:var(--gold-400);background:#e2b96c29}.brands-view__more-hint{color:var(--paper-400);font-size:12px}@media (width<=720px){.brands-view{padding:24px 20px 48px}.brands-view__filter{width:100%;min-width:0}}.infinite-scroll-sentinel{justify-content:center;padding:24px 0;display:flex}.infinite-scroll-sentinel__label{color:var(--paper-400);font-size:12.5px}.not-found-state{text-align:center;color:var(--paper-300);flex-direction:column;align-items:center;gap:12px;margin:auto;padding:64px 24px;display:flex}.not-found-state svg{width:36px;height:36px;color:var(--gold-400)}.not-found-state h1{color:var(--paper-100);font-size:24px}.not-found-state__back{border:1px solid var(--gold-600);color:var(--gold-300);background:#e2b96c14;border-radius:999px;margin-top:8px;padding:10px 22px;font-size:13px;text-decoration:none}.not-found-state__back:hover{border-color:var(--gold-400);background:#e2b96c29}.filter-count-bar{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.filter-count-bar__filter{border-radius:var(--radius-md);background:var(--glass-bg);border:1px solid var(--glass-border);flex:1;align-items:center;gap:10px;max-width:360px;padding:10px 16px;display:flex}.filter-count-bar__filter svg{width:16px;height:16px;color:var(--paper-400);flex-shrink:0}.filter-count-bar__filter input{color:var(--paper-100);background:0 0;border:none;outline:none;width:100%;font-size:14px}.filter-count-bar__filter input::placeholder{color:var(--paper-400)}.filter-count-bar__count{color:var(--paper-400);white-space:nowrap;font-size:12.5px}.brand-detail-view{flex-direction:column;gap:28px;height:100%;padding:40px 48px 64px;display:flex;overflow-y:auto}.brand-detail-view__head{flex-direction:column;gap:6px;display:flex}.brand-detail-view__crumb{letter-spacing:.06em;text-transform:uppercase;color:var(--gold-400);width:fit-content;font-size:12px;text-decoration:none}.brand-detail-view__crumb:hover{color:var(--gold-300)}.brand-detail-view__head h1{color:var(--paper-100);font-size:34px}.brand-detail-view__subtitle{color:var(--paper-400);margin:0;font-size:14px}.brand-detail-view__grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.brand-detail-view__empty{text-align:center;color:var(--paper-400);justify-content:center;padding:96px 0;display:flex}@media (width<=720px){.brand-detail-view{padding:24px 20px 48px}}.notes-view{flex-direction:column;gap:24px;height:100%;padding:40px 48px 64px;display:flex;overflow-y:auto}.notes-view__head h1{color:var(--paper-100);font-size:32px}.notes-view__subtitle{color:var(--paper-400);max-width:640px;margin:6px 0 0;font-size:14px}.notes-view__selection{border-radius:var(--radius-lg);background:var(--glass-bg);border:1px solid var(--glass-border);flex-direction:column;gap:10px;padding:18px 20px;display:flex;position:relative}.notes-view__selection-row{align-items:center;gap:14px;display:flex}.notes-view__selection-label{letter-spacing:.05em;text-transform:uppercase;width:60px;color:var(--paper-400);flex-shrink:0;font-size:12px}.notes-view__chips{flex-wrap:wrap;align-items:center;gap:8px;min-height:30px;display:flex}.notes-view__chips-empty{color:var(--paper-400);font-size:13px;font-style:italic}.note-chip{cursor:pointer;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:5px 10px 5px 12px;font-size:13px;transition:opacity .15s;display:flex}.note-chip svg{width:12px;height:12px}.note-chip:hover{opacity:.85}.note-chip--include{color:var(--owned-color);background:#8fb99624;border-color:#8fb99666}.note-chip--exclude{color:var(--danger);background:#c66a5c24;border-color:#c66a5c66}.notes-view__selection-actions{align-items:center;gap:16px;margin-top:4px;display:flex}.notes-view__clear{color:var(--paper-400);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;text-decoration:underline}.notes-view__clear:hover{color:var(--paper-100)}.notes-view__view-results{color:var(--gold-400);cursor:pointer;background:0 0;border:none;padding:0;font-size:12.5px;font-weight:500}.notes-view__view-results:hover{color:var(--gold-300)}.notes-view__filter-wrap{border-top:1px solid var(--glass-border);max-width:420px;margin-top:6px;padding-top:16px;position:relative}.notes-view__filter{border-radius:var(--radius-md);background:var(--glass-bg);border:1px solid var(--glass-border);align-items:center;gap:10px;padding:10px 16px;display:flex}.notes-view__filter svg{width:16px;height:16px;color:var(--paper-400);flex-shrink:0}.notes-view__filter input{color:var(--paper-100);background:0 0;border:none;outline:none;width:100%;font-size:14px}.notes-view__filter input::placeholder{color:var(--paper-400)}.notes-view__quick-add{z-index:5;border-radius:var(--radius-md);background:var(--glass-bg);max-height:320px;-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);box-shadow:var(--shadow-deep);padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.notes-view__quick-add-row{border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.notes-view__quick-add-row:hover{background:#ffffff0a}.notes-view__quick-add-name{color:var(--paper-100);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:10px;min-width:0;font-size:13.5px;text-decoration:none;display:flex;overflow:hidden}.notes-view__quick-add-name:hover{color:var(--gold-300)}.notes-view__categories{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;display:grid}.category-tile{--category-tint:var(--gold-400);border-radius:var(--radius-md);border:1px solid var(--glass-border);color:var(--paper-100);cursor:pointer;text-align:left;font-family:var(--font-body);background:#ffffff08;align-items:center;gap:10px;padding:14px 16px;transition:border-color .2s,background .2s,transform .2s;display:flex}.category-tile:hover{border-color:var(--category-tint);background:#ffffff0d;transform:translateY(-2px)}.category-tile__icon{width:18px;height:18px;color:var(--category-tint);flex-shrink:0}.category-tile__icon svg{width:100%;height:100%}.category-tile__label{text-transform:capitalize;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;overflow:hidden}.category-tile__count{color:var(--paper-400);flex-shrink:0;font-size:12px}.note-tile__actions{flex-shrink:0;gap:4px;display:flex}.note-tile__action{border:1px solid var(--glass-border);width:20px;height:20px;color:var(--paper-300);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;font-size:13px;line-height:1;display:flex}.note-tile__action:disabled{opacity:.35;cursor:default}.note-tile__action--include:hover:not(:disabled){border-color:var(--owned-color);color:var(--owned-color)}.note-tile__action--exclude:hover:not(:disabled){border-color:var(--danger);color:var(--danger)}.notes-view__results{border-top:1px solid var(--glass-border);flex-direction:column;gap:14px;padding-top:8px;display:flex}.notes-view__results-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.notes-view__results-head h2{color:var(--paper-100);font-size:18px}.notes-view__browse-toggle{color:var(--paper-400);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px}.notes-view__browse-toggle:hover{color:var(--gold-300)}.notes-view__result-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.notes-view__empty{text-align:center;color:var(--paper-400);justify-content:center;align-items:center;padding:64px 0;display:flex}@media (width<=720px){.notes-view{padding:24px 20px 48px}.notes-view__selection-row{flex-direction:column;align-items:flex-start;gap:6px}}.note-detail-view{flex-direction:column;gap:28px;height:100%;padding:40px 48px 64px;display:flex;overflow-y:auto}.note-detail-view__head{flex-direction:column;gap:6px;display:flex}.note-detail-view__crumb{letter-spacing:.06em;text-transform:uppercase;color:var(--gold-400);width:fit-content;font-size:12px;text-decoration:none}.note-detail-view__crumb:hover{color:var(--gold-300)}.note-detail-view__head h1{color:var(--paper-100);font-size:34px}.note-detail-view__subrow{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.note-detail-view__subtitle{color:var(--paper-400);margin:0;font-size:14px}.note-detail-view__combine{color:var(--gold-400);font-size:13px;text-decoration:none}.note-detail-view__combine:hover{color:var(--gold-300)}.note-detail-view__grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.note-detail-view__empty{text-align:center;color:var(--paper-400);justify-content:center;align-items:center;gap:10px;padding:96px 0;display:flex}@media (width<=720px){.note-detail-view{padding:24px 20px 48px}}.note-category-view{height:100%;padding:32px clamp(16px,4vw,48px) 64px;overflow-y:auto}.note-category-view__head{margin-bottom:28px}.note-category-view__crumb{color:var(--paper-400);font-size:12.5px;text-decoration:none}.note-category-view__crumb:hover{color:var(--gold-300)}.note-category-view__head h1{--category-tint:var(--gold-400);color:var(--paper-100);text-transform:capitalize;border-left:4px solid var(--category-tint);margin-top:6px;padding-left:14px;font-size:clamp(26px,3.2vw,34px)}.note-category-view__subtitle{color:var(--paper-400);max-width:60ch;margin:8px 0 0 18px;font-size:13.5px}.note-category-view .filter-count-bar{margin-bottom:20px}.note-category-view__empty{color:var(--paper-400);padding:20px 0;font-size:13.5px}.note-category-view__grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;display:grid}.note-category-tile{--note-tint:var(--paper-400);border-radius:var(--radius-md);border:1px solid var(--glass-border);color:var(--paper-100);background:#ffffff08;align-items:center;gap:10px;padding:14px 16px;text-decoration:none;transition:border-color .2s,background .2s,transform .2s;display:flex}.note-category-tile:hover{border-color:var(--note-tint);background:#ffffff0d;transform:translateY(-2px)}.note-category-tile__icon{width:16px;height:16px;color:var(--note-tint);opacity:.85;flex-shrink:0}.note-category-tile__icon svg{width:100%;height:100%}.note-category-tile__label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13.5px;overflow:hidden}.note-category-tile__count{color:var(--paper-400);flex-shrink:0;font-size:11px}.note-category-view__notfound{text-align:center;color:var(--paper-300);flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:80px 20px;display:flex}.note-category-view__notfound svg{opacity:.5;width:40px;height:40px}.note-category-view__back{color:var(--gold-300);text-decoration:none}.compare-view{flex-direction:column;gap:22px;max-width:1200px;height:100%;margin:0 auto;padding:32px clamp(16px,4vw,48px) 60px;display:flex;overflow-y:auto}.compare-view__header{flex-direction:column;gap:6px;display:flex}.compare-view__title{color:var(--paper-100);font-size:28px}.compare-view__subtitle{color:var(--paper-400);margin:0;font-size:14px}.compare-picker{max-width:420px;position:relative}.compare-picker__input-wrap{border:1px solid var(--glass-border);background:#ffffff0a;border-radius:999px;align-items:center;gap:10px;padding:10px 14px;display:flex}.compare-picker__input-wrap:focus-within{border-color:var(--gold-500)}.compare-picker__input-wrap svg{width:16px;height:16px;color:var(--paper-400);flex-shrink:0}.compare-picker__input-wrap input{color:var(--paper-100);font-size:14px;font-family:var(--font-body);background:0 0;border:none;outline:none;flex:1}.compare-picker__results{z-index:20;border-radius:var(--radius-md);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);box-shadow:var(--shadow-deep);max-height:320px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.compare-picker__result{text-align:left;border-radius:var(--radius-sm);width:100%;color:var(--paper-100);cursor:pointer;background:0 0;border:none;padding:9px 12px;font-size:13.5px}.compare-picker__result:hover{background:#e2b96c1a}.compare-view__empty{border-radius:var(--radius-lg);text-align:center;color:var(--paper-300);padding:40px 24px}.compare-view__loading{color:var(--paper-400);padding:20px 0}.compare-view__hint{color:var(--paper-400);font-size:13px;font-style:italic}.compare-pairwise{border-radius:var(--radius-lg);align-items:center;gap:12px;width:fit-content;padding:14px 20px;display:flex}.compare-pairwise__label{letter-spacing:.05em;text-transform:uppercase;color:var(--paper-400);font-size:11px}.compare-pairwise__score{font-family:var(--font-display);color:var(--gold-400);font-size:22px}.compare-matrix{border-radius:var(--radius-lg);flex-direction:column;gap:10px;padding:16px 20px;display:flex}.compare-matrix__rows{flex-direction:column;gap:8px;display:flex}.compare-matrix__row{color:var(--paper-200);justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.compare-matrix__pair{color:var(--paper-200)}.compare-matrix__x{color:var(--paper-400)}.compare-matrix__score{color:var(--gold-400);flex-shrink:0;font-weight:600}.compare-table-wrap{border-radius:var(--radius-lg);border:1px solid var(--glass-border);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));overflow-x:auto}.compare-table{border-collapse:collapse;width:100%;min-width:640px}.compare-table__row-label{text-align:left;letter-spacing:.03em;color:var(--paper-400);white-space:nowrap;vertical-align:top;border-right:1px solid var(--glass-border);border-top:1px solid var(--glass-border);z-index:1;background:var(--ink-850);padding:14px 16px;font-size:12px;position:sticky;left:0}.compare-table thead .compare-table__row-label{background:var(--ink-850);border-top:none}.compare-table__col-head{text-align:left;border-bottom:1px solid var(--glass-border);vertical-align:top;min-width:220px;padding:18px 16px 14px;position:relative}.compare-table__brand{letter-spacing:.04em;text-transform:uppercase;width:fit-content;color:var(--gold-400);font-size:11.5px;text-decoration:none;display:block}.compare-table__brand:hover{color:var(--gold-300);text-decoration:underline}.compare-table__name{font-family:var(--font-display);color:var(--paper-100);margin-top:2px;font-size:17px;text-decoration:none;display:block}.compare-table__name:hover{color:var(--gold-300);text-decoration:underline}.compare-table__remove{border:1px solid var(--glass-border);width:24px;height:24px;color:var(--paper-400);cursor:pointer;background:#ffffff08;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:10px;right:10px}.compare-table__remove:hover{color:var(--danger);border-color:var(--danger)}.compare-table__remove svg{width:12px;height:12px}.compare-table__cell{border-top:1px solid var(--glass-border);vertical-align:top;min-width:220px;color:var(--paper-200);padding:12px 16px;font-size:13.5px}.compare-table__none{color:var(--paper-400);font-style:italic}.compare-table tbody tr:nth-child(odd) .compare-table__cell{background:#ffffff04}.compare-table tbody tr:nth-child(odd) .compare-table__row-label{background:var(--ink-800)}.chip--shared{border-color:var(--gold-500);color:var(--gold-300);background:#e2b96c2e;font-weight:600}@media (width<=720px){.compare-view{padding:24px 16px 48px}.compare-table__col-head,.compare-table__cell{min-width:180px}}.rankings-view{height:100%;padding:28px clamp(16px,4vw,48px) 64px;overflow-y:auto}.rankings-view__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px;display:flex}.rankings-view__title h1{color:var(--paper-100);font-size:clamp(26px,3.4vw,36px)}.rankings-view__title p{color:var(--paper-400);max-width:60ch;margin:6px 0 0;font-size:13.5px}.rankings-view__mode-toggle{border:1px solid var(--glass-border);background:#ffffff0a;border-radius:999px;gap:2px;padding:3px;display:flex}.rankings-view__mode-btn{color:var(--paper-400);cursor:pointer;font-size:13px;font-family:var(--font-body);background:0 0;border:none;border-radius:999px;padding:8px 18px;transition:background .2s,color .2s}.rankings-view__mode-btn.active{background:var(--gold-500);color:var(--ink-950)}.rankings-view__filters{flex-wrap:wrap;gap:10px;margin-bottom:22px;display:flex}.rankings-view__filters select,.rankings-view__filters input{border:1px solid var(--glass-border);color:var(--paper-100);border-radius:var(--radius-sm);font-size:13px;font-family:var(--font-body);background:#ffffff0a;outline:none;padding:8px 12px}.rankings-view__filters select:focus,.rankings-view__filters input:focus{border-color:var(--gold-500)}.rankings-view__count{color:var(--paper-400);align-self:center;margin-left:auto;font-size:12.5px}.rankings-table{border-collapse:collapse;width:100%}.rankings-table thead th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--paper-400);border-bottom:1px solid var(--glass-border);background:var(--ink-900);z-index:1;padding:10px 14px;font-size:11px;position:sticky;top:0}.rankings-table tbody tr{cursor:pointer;transition:background .15s}.rankings-table tbody tr:hover{background:#e2b96c0f}.rankings-table td{color:var(--paper-200);vertical-align:middle;border-bottom:1px solid #ffffff0a;padding:11px 14px;font-size:13.5px}.rankings-table__rank{font-family:var(--font-display);color:var(--gold-400);width:56px;font-size:16px}.rankings-table__name{color:var(--paper-100);align-items:center;gap:6px;font-weight:500;display:inline-flex}.rankings-table__name .inline-badge{flex-shrink:0;width:13px;height:13px}.rankings-table__name .inline-badge.owned{color:var(--owned-color)}.rankings-table__name .inline-badge.wishlist{color:var(--wishlist-color)}.rankings-table__brand{color:var(--paper-400);font-size:12.5px}.rankings-table__rating-bar-wrap{align-items:center;gap:8px;min-width:140px;display:flex}.rankings-table__rating-bar{background:#ffffff14;border-radius:4px;flex:1;height:5px;overflow:hidden}.rankings-table__rating-bar-fill{background:linear-gradient(90deg, var(--gold-600), var(--gold-300));border-radius:4px;height:100%}.rankings-table__votes{color:var(--paper-400);font-size:11.5px}.rankings-view__load-more{border:1px solid var(--glass-border);color:var(--paper-200);cursor:pointer;background:#ffffff0d;border-radius:999px;margin:20px auto 0;padding:10px 24px;font-size:13px;display:block}.rankings-view__load-more:hover{border-color:var(--gold-500);color:var(--gold-300)}.rankings-visual{border-radius:var(--radius-lg);border:1px solid var(--glass-border);background:radial-gradient(ellipse at 50% 0%, #e2b96c0f, transparent 60%), var(--ink-850);width:100%;height:calc(100vh - 260px);min-height:420px;position:relative;overflow:hidden}.rankings-visual__axis-label{letter-spacing:.08em;text-transform:uppercase;color:var(--paper-400);pointer-events:none;font-size:10.5px;position:absolute;left:14px}.rankings-visual__axis-label--top{top:10px}.rankings-visual__axis-label--bottom{bottom:10px}.rankings-bubble{cursor:pointer;opacity:0;background:radial-gradient(circle at 35% 30%, var(--gold-300), var(--gold-600) 75%);border-radius:50%;justify-content:center;align-items:center;transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .5s,box-shadow .2s;display:flex;position:absolute;transform:translate(-50%,-50%)scale(.4);box-shadow:0 4px 18px #0006}.rankings-bubble.mounted{opacity:.92;transform:translate(-50%,-50%)scale(1)}.rankings-bubble:hover{box-shadow:0 0 0 2px var(--gold-300), 0 6px 24px #00000080;z-index:5;opacity:1!important}.rankings-bubble__label{color:var(--paper-300);white-space:nowrap;text-overflow:ellipsis;pointer-events:none;text-align:center;max-width:120px;margin-top:4px;font-size:10px;position:absolute;top:100%;left:50%;overflow:hidden;transform:translate(-50%)}.rankings-visual__tooltip{pointer-events:none;z-index:20;border-radius:var(--radius-sm);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);box-shadow:var(--shadow-deep);color:var(--paper-100);min-width:160px;padding:10px 14px;font-size:12.5px;position:absolute}.rankings-visual__tooltip strong{margin-bottom:2px;font-size:13.5px;display:block}.rankings-visual__tooltip span{color:var(--paper-400)}@media (width<=720px){.rankings-table thead{display:none}.rankings-table,.rankings-table tbody,.rankings-table tr,.rankings-table td{width:100%;display:block}.rankings-table tr{border-bottom:1px solid var(--glass-border);padding:10px 4px}.rankings-table td{border-bottom:none;padding:2px 4px}}.admin-view{flex-direction:column;gap:20px;height:100%;padding:32px 48px 64px;display:flex;overflow-y:auto}.admin-view__banner{border-radius:var(--radius-md);border:1px solid var(--glass-border);color:var(--gold-300);background:#e2b96c14;align-items:center;gap:12px;padding:12px 18px;font-size:13px;display:flex}.admin-view__banner svg{width:16px;height:16px;color:var(--gold-400);flex-shrink:0}.admin-view__banner p{margin:0}.admin-view__header h1{color:var(--paper-100);font-size:30px}.admin-view__subtitle{color:var(--paper-400);margin:6px 0 0;font-size:14px}.admin-view__body{flex:1;align-items:flex-start;gap:24px;min-height:0;display:flex}.admin-view__tabbar{flex-direction:column;flex-shrink:0;gap:4px;width:220px;display:flex;position:sticky;top:0}.admin-view__tab{border-radius:var(--radius-sm);color:var(--paper-300);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:10px;padding:10px 14px;font-size:13px;transition:background .15s,color .15s,border-color .15s;display:flex}.admin-view__tab svg{opacity:.8;flex-shrink:0;width:15px;height:15px}.admin-view__tab:hover{background:var(--ink-800);color:var(--paper-100)}.admin-view__tab.active{background:var(--glass-bg);border-color:var(--glass-border);color:var(--gold-300)}.admin-view__panel{flex:1;min-width:0}.admin-tab{flex-direction:column;gap:18px;display:flex}.admin-tab__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.admin-tab__head h2{color:var(--paper-100);font-size:22px}.admin-tab__desc{color:var(--paper-400);max-width:640px;margin:8px 0 0;font-size:13px;line-height:1.6}.admin-tab__desc code,.admin-tab__hint code{background:var(--ink-800);border:1px solid var(--glass-border);border-radius:4px;padding:1px 5px;font-size:12px}.admin-tab__stats{flex-shrink:0;gap:20px;display:flex}.admin-stat{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.admin-stat__value{font-family:var(--font-display);color:var(--gold-300);font-size:24px}.admin-stat__label{color:var(--paper-400);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.admin-tab__subhead{justify-content:space-between;align-items:center;gap:16px;margin-top:8px;display:flex}.admin-tab__subhead h3{color:var(--paper-100);font-size:15px;font-family:var(--font-display)}.admin-tab__hint{color:var(--paper-400);margin:0;font-size:12px}.admin-empty{color:var(--paper-400);text-align:center;flex-direction:column;align-items:center;gap:10px;padding:40px 0;display:flex}.admin-empty svg{width:24px;height:24px;color:var(--sage-400)}.admin-btn{border:1px solid var(--gold-600);color:var(--gold-300);cursor:pointer;letter-spacing:.02em;background:#e2b96c14;border-radius:999px;align-items:center;gap:8px;padding:9px 16px;font-size:13px;transition:background .2s,border-color .2s,opacity .2s;display:inline-flex}.admin-btn svg{width:14px;height:14px}.admin-btn:hover{border-color:var(--gold-400);background:#e2b96c29}.admin-btn:disabled{opacity:.4;cursor:not-allowed}.admin-btn--primary{background:var(--gold-500);border-color:var(--gold-500);color:var(--ink-950);font-weight:600}.admin-btn--primary:hover{background:var(--gold-400);border-color:var(--gold-400)}.admin-btn--ghost{border-color:var(--glass-border);color:var(--paper-300);background:0 0}.admin-btn--ghost:hover{border-color:var(--paper-400);color:var(--paper-100);background:var(--ink-800)}.admin-btn--sm{padding:6px 12px;font-size:12px}.admin-chip{border:1px solid var(--glass-border);background:var(--ink-800);color:var(--paper-300);cursor:pointer;border-radius:999px;padding:6px 14px;font-size:12px}.admin-chip.active{border-color:var(--gold-400);color:var(--gold-300);background:#e2b96c1a}.admin-filter-row{flex-wrap:wrap;gap:8px;display:flex}.admin-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;flex-shrink:0;align-items:center;padding:3px 10px;font-size:11px;display:inline-flex}.admin-badge--owned{color:var(--owned-color);background:#8fb99626}.admin-badge--wishlist{color:var(--wishlist-color);background:#e2b96c26}.admin-badge--staged{color:var(--gold-300);background:#e2b96c26}.admin-badge--rel{color:var(--wine-400);text-transform:none;background:#a4586a2e;font-size:11px}.admin-selected-chip{border-radius:var(--radius-md);background:var(--ink-800);border:1px solid var(--glass-border);color:var(--paper-100);align-items:center;gap:10px;width:fit-content;padding:8px 14px;font-size:13px;display:inline-flex}.admin-selected-chip svg{width:14px;height:14px;color:var(--gold-400)}.admin-chip-remove{color:var(--paper-400);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:16px;line-height:1}.admin-chip-remove:hover{color:var(--paper-100)}.admin-selected-row{flex-wrap:wrap;gap:10px;display:flex}.admin-saved-flash{color:var(--success);align-items:center;gap:6px;font-size:13px;display:inline-flex}.admin-saved-flash svg{width:14px;height:14px}.admin-picker{max-width:420px;position:relative}.admin-picker__input-wrap{border-radius:var(--radius-md);background:var(--glass-bg);border:1px solid var(--glass-border);align-items:center;gap:10px;padding:10px 16px;display:flex}.admin-picker__input-wrap--inline{max-width:360px}.admin-picker__input-wrap svg{width:15px;height:15px;color:var(--paper-400);flex-shrink:0}.admin-picker__input-wrap input{color:var(--paper-100);background:0 0;border:none;outline:none;width:100%;font-size:13px}.admin-picker__input-wrap input::placeholder{color:var(--paper-400)}.admin-picker__results{z-index:20;border-radius:var(--radius-md);background:var(--ink-850);border:1px solid var(--glass-border);max-height:320px;box-shadow:var(--shadow-deep);flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.admin-picker__result{border-radius:var(--radius-sm);text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.admin-picker__result:hover{background:var(--ink-800)}.admin-picker__result-name{color:var(--paper-100);font-size:13px}.admin-picker__result-meta{color:var(--paper-400);font-size:11px}.admin-picker__empty{color:var(--paper-400);padding:10px;font-size:12px}.admin-compare-pickers{grid-template-columns:1fr 1fr;gap:16px;display:grid}.admin-compare-pickers .admin-picker{max-width:none}.admin-form{flex-direction:column;gap:16px;display:flex}.admin-form__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.admin-field{color:var(--paper-400);flex-direction:column;gap:6px;font-size:12px;display:flex}.admin-field--wide{grid-column:1/-1}.admin-field input,.admin-field select,.admin-field textarea{background:var(--ink-800);border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--paper-100);outline:none;padding:9px 12px;font-family:inherit;font-size:13px;transition:border-color .15s}.admin-field input:focus,.admin-field select:focus,.admin-field textarea:focus{border-color:var(--gold-400)}.admin-field textarea{resize:vertical}.admin-form__error{color:var(--danger);font-size:12px}.admin-form__actions{align-items:center;gap:14px;display:flex}.admin-table{border-radius:var(--radius-md);border:1px solid var(--glass-border);flex-direction:column;display:flex;overflow:hidden}.admin-table__row{color:var(--paper-200);border-bottom:1px solid var(--glass-border);grid-template-columns:2fr 2fr 1fr 1fr auto;align-items:center;gap:12px;padding:10px 16px;font-size:13px;display:grid}.admin-table__row:last-child{border-bottom:none}.admin-table__row--head{background:var(--ink-850);color:var(--paper-400);text-transform:uppercase;letter-spacing:.05em;font-size:11px}.admin-table__mono{color:var(--paper-300);text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;overflow:hidden}.admin-unresolved-list{flex-direction:column;gap:12px;display:flex}.admin-unresolved-card{border-radius:var(--radius-lg);background:var(--glass-bg);border:1px solid var(--glass-border);flex-direction:column;gap:10px;padding:16px 18px;display:flex}.admin-unresolved__head{align-items:center;gap:10px;display:flex}.admin-unresolved__label{font-family:var(--font-display);color:var(--paper-100);font-size:15px}.admin-unresolved__reason{color:var(--paper-400);margin:0;font-size:12.5px}.admin-unresolved__entry-id{color:var(--paper-400);opacity:.6;width:100%;font-size:10px}.admin-unresolved__candidates{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-candidate{border-radius:var(--radius-sm);background:var(--ink-800);border:1px solid var(--glass-border);color:var(--paper-100);cursor:pointer;text-align:left;flex-direction:column;gap:2px;padding:8px 12px;transition:border-color .15s,background .15s;display:flex}.admin-candidate:hover{border-color:var(--gold-400);background:#e2b96c14}.admin-candidate__name{font-size:13px}.admin-candidate__meta{color:var(--paper-400);font-size:11px}.admin-unresolved__manual{flex-direction:column;gap:10px;display:flex}.admin-unresolved__manual-results{flex-wrap:wrap;gap:8px;display:flex}.admin-edit-panel{border-radius:var(--radius-lg);background:var(--glass-bg);border:1px solid var(--glass-border);flex-direction:column;gap:16px;padding:18px 20px;display:flex}.admin-edit-panel__head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.admin-edit-panel__head h3{color:var(--paper-100);font-size:18px}.admin-compare-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.admin-compare-card{border-radius:var(--radius-lg);background:var(--glass-bg);border:1px solid var(--glass-border);flex-direction:column;gap:12px;padding:16px 18px;display:flex}.admin-compare-card--canonical{border-color:var(--gold-400);background:#e2b96c0f}.admin-compare-card__head{justify-content:space-between;align-items:center;gap:10px;display:flex}.admin-compare-card__head h4{font-family:var(--font-display);color:var(--paper-100);font-size:16px}.admin-compare-card__dl{grid-template-columns:100px 1fr;gap:6px 10px;margin:0;font-size:12.5px;display:grid}.admin-compare-card__dl dt{color:var(--paper-400)}.admin-compare-card__dl dd{color:var(--paper-200);word-break:break-word;margin:0}.admin-howto{border-radius:var(--radius-lg);background:var(--glass-bg);border:1px solid var(--glass-border);padding:18px 20px}.admin-howto h3{color:var(--gold-300);align-items:center;gap:8px;margin:0 0 10px;font-size:15px;display:flex}.admin-howto h3 svg{width:15px;height:15px}.admin-howto ol{color:var(--paper-300);flex-direction:column;gap:8px;margin:0;padding-left:20px;font-size:13px;line-height:1.6;display:flex}.admin-code-block{border-radius:var(--radius-sm);background:var(--ink-950);border:1px solid var(--glass-border);color:var(--gold-300);white-space:pre-wrap;margin:8px 0 0;padding:10px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}@media (width<=900px){.admin-view__body{flex-direction:column}.admin-view__tabbar{flex-flow:wrap;width:100%;position:static}.admin-form__grid,.admin-compare-grid,.admin-compare-pickers{grid-template-columns:1fr}.admin-table__row{grid-template-columns:1fr;gap:4px}}@media (width<=720px){.admin-view{padding:20px 20px 48px}}
