:root{color-scheme:light;--font-display:"Bodoni Moda", "Georgia", serif;--font-body:"Hanken Grotesk", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-mono:"JetBrains Mono", "SF Mono", "Monaco", monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:2.125rem;--text-3xl:3rem;--text-4xl:4.25rem;--text-5xl:5.5rem;--leading-tight:1.04;--leading-normal:1.6;--leading-loose:1.85;--tracking-tight:-.02em;--tracking-normal:0;--tracking-wide:.14em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--radius-xs:3px;--radius-sm:5px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:22px;--radius-full:9999px;--max-width:1240px;--nav-height:72px;--blur-xs:blur(6px) saturate(115%);--blur-sm:blur(10px) saturate(120%);--blur-md:blur(16px) saturate(125%);--blur-lg:blur(24px) saturate(130%);--blur-nav:var(--blur-md);--z-base:1;--z-deck:10;--z-nav:100;--z-sidebar:200;--z-modal:300;--z-toast:400;--ease-spring:cubic-bezier(.34, 1.4, .64, 1);--ease-spring-soft:cubic-bezier(.22, 1.1, .36, 1);--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-out-quart:cubic-bezier(.25, 1, .5, 1);--ease-glass:cubic-bezier(.32, .72, 0, 1);--duration-instant:90ms;--duration-fast:.17s;--duration-normal:.3s;--duration-slow:.48s;--duration-breath:16s;--duration-shimmer:1.1s;--spring-stiffness:300;--spring-damping:26;--spring-mass:.8;--base:#f4efe7;--base-deep:#eee7db;--base-soft:#e7decf;--ink:#1a1613;--ink-soft:#4b433a;--ink-muted:#6f665a;--ink-dim:#9a917f;--ink-on-accent:#fcf6f1;--ink-on-save:#fbefec;--surface:#fbf7f0;--surface-bright:#fff;--surface-hover:#f6eee1;--surface-subtle:#ede4d6;--surface-elevated:#fff;--glass-1-bg:#fbf7f0;--glass-2-bg:#fbf7f0;--glass-3-bg:#f4efe7db;--glass-1-blur:none;--glass-2-blur:none;--glass-3-blur:var(--blur-md);--glass:var(--glass-3-bg);--glass-edge-top:transparent;--glass-edge-bottom:transparent;--glass-border:#1a16131f;--glass-border-bright:#1a16133d;--glass-inner-highlight:0 0 0 0 transparent;--accent:#c1121f;--accent-hover:#9e0e19;--accent-soft:#c1121f14;--accent-border:#c1121f4d;--accent-glow:#c1121f2e;--save:#6e1423;--save-hover:#54101b;--save-soft:#6e142317;--save-glow:#6e142329;--skip:#1a161373;--aurora-1:var(--accent);--aurora-2:var(--ink);--mesh-1:transparent;--mesh-2:transparent;--mesh-3:transparent;--mesh-4:transparent;--shadow-sm:0 1px 2px #1a16130f;--shadow-md:0 4px 16px #1a161317;--shadow-lg:0 16px 44px #1a161321;--shadow-glow:0 2px 12px #c1121f29;--shadow-glow-save:0 2px 12px #6e142329;--shadow-inner:var(--glass-inner-highlight);--border:#1a16131f;--border-strong:#1a16133d;--overlay:#1a161373;--focus-ring:var(--accent)}[data-theme=dark]{color-scheme:dark;--base:#15120f;--base-deep:#100d0b;--base-soft:#201b16;--ink:#ece4d8;--ink-soft:#c3b9a9;--ink-muted:#8e8576;--ink-dim:#635b50;--ink-on-accent:#1a0507;--ink-on-save:#f4e7e3;--surface:#1e1915;--surface-bright:#262019;--surface-hover:#2b241c;--surface-subtle:#191510;--surface-elevated:#262019;--glass-1-bg:#1e1915;--glass-2-bg:#1e1915;--glass-3-bg:#120f0cd1;--glass-1-blur:none;--glass-2-blur:none;--glass-3-blur:var(--blur-md);--glass:var(--glass-3-bg);--glass-edge-top:transparent;--glass-edge-bottom:transparent;--glass-border:#ece4d81a;--glass-border-bright:#ece4d838;--glass-inner-highlight:0 0 0 0 transparent;--accent:#e63946;--accent-hover:#f25c5c;--accent-soft:#e6394624;--accent-border:#e6394657;--accent-glow:#e6394638;--save:#b3243a;--save-hover:#c9354b;--save-soft:#b3243a29;--save-glow:#b3243a33;--skip:#ece4d866;--aurora-1:var(--accent);--aurora-2:var(--ink);--shadow-sm:0 1px 2px #00000080;--shadow-md:0 6px 22px #0000008c;--shadow-lg:0 18px 48px #0000009e;--shadow-glow:0 2px 16px #e6394642;--shadow-glow-save:0 2px 16px #b3243a38;--border:#ece4d81a;--border-strong:#ece4d833;--overlay:#0000009e;--focus-ring:var(--accent)}@media (prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--base:#15120f;--base-deep:#100d0b;--base-soft:#201b16;--ink:#ece4d8;--ink-soft:#c3b9a9;--ink-muted:#8e8576;--ink-dim:#635b50;--ink-on-accent:#1a0507;--ink-on-save:#f4e7e3;--surface:#1e1915;--surface-bright:#262019;--surface-hover:#2b241c;--surface-subtle:#191510;--surface-elevated:#262019;--glass-1-bg:#1e1915;--glass-2-bg:#1e1915;--glass-3-bg:#120f0cd1;--glass:var(--glass-3-bg);--glass-border:#ece4d81a;--glass-border-bright:#ece4d838;--accent:#e63946;--accent-hover:#f25c5c;--accent-soft:#e6394624;--accent-border:#e6394657;--accent-glow:#e6394638;--save:#b3243a;--save-hover:#c9354b;--save-soft:#b3243a29;--save-glow:#b3243a33;--skip:#ece4d866;--shadow-sm:0 1px 2px #00000080;--shadow-md:0 6px 22px #0000008c;--shadow-lg:0 18px 48px #0000009e;--border:#ece4d81a;--border-strong:#ece4d833;--overlay:#0000009e;--focus-ring:var(--accent)}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px}body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);letter-spacing:var(--tracking-normal);color:var(--ink);background:var(--base);min-height:100vh;transition:background-color var(--duration-slow) var(--ease-glass), color var(--duration-slow) var(--ease-glass);position:relative;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-display);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);font-optical-sizing:auto;color:var(--ink);text-wrap:balance;font-weight:600}h1{font-size:var(--text-4xl);font-weight:600}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}p{text-wrap:pretty}a{color:var(--accent);transition:color var(--duration-fast) var(--ease-out);text-decoration:none}a:hover{color:var(--accent-hover)}button{font-family:inherit;font-size:inherit;cursor:pointer;color:inherit;background:0 0;border:none}input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}img{max-width:100%;display:block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;box-shadow:0 0 0 4px #00000040,0 0 0 2px #ffffff80}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full)}::selection{background:var(--accent);color:var(--ink-on-accent)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-contrast:more){:root{--border:var(--border-strong)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.fade-in{animation:fade-in var(--duration-normal) var(--ease-out) both}.btn-primary{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);background:var(--accent);color:var(--ink-on-accent);border-radius:var(--radius-full);font-weight:600;font-size:var(--text-sm);letter-spacing:.01em;transition:transform var(--duration-fast) var(--ease-spring), background var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);cursor:pointer;box-shadow:var(--shadow-sm);border:none;min-height:44px;display:inline-flex}.btn-primary:hover{color:var(--ink-on-accent);background:var(--accent-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active{transform:scale(.97)}.btn-primary:disabled{opacity:.3;cursor:not-allowed;box-shadow:none;transform:none}.btn-secondary{padding:var(--space-2) var(--space-5);background:var(--surface-subtle);color:var(--ink-soft);border:1px solid var(--border-strong);border-radius:var(--radius-full);font-size:var(--text-sm);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);min-height:44px;font-weight:500}.btn-secondary:hover{background:var(--surface-hover);color:var(--ink);border-color:var(--glass-border-bright)}.shade-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:transform var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);box-shadow:var(--shadow-sm);overflow:hidden}.shade-card.grid{flex-direction:column;display:flex}.shade-card.grid.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.shade-card.deck{width:100%;max-width:420px;box-shadow:var(--shadow-lg);border-radius:var(--radius-xl)}.swatch-block{aspect-ratio:16/10;width:100%;position:relative}.swatch-block:after{content:"";pointer-events:none;background:linear-gradient(oklch(100% 0 0/.06) 0%,#0000 25%,oklch(0% 0 0/.08) 100%);position:absolute;inset:0}.swatch-block.large{aspect-ratio:4/3;border-radius:var(--radius-md)}.detail-photo{max-width:28rem;margin:var(--space-8) 0}.detail-photo img{border-radius:var(--radius-md);border:1px solid var(--border);width:100%}.detail-photo figcaption{margin-top:var(--space-2);color:var(--ink-muted);font-size:var(--text-xs)}.card-body{padding:var(--space-4) var(--space-4) var(--space-2)}.card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-2);display:flex}.shade-name{font-size:var(--text-base);font-weight:600;font-family:var(--font-display);color:var(--ink);letter-spacing:var(--tracking-tight)}.shade-brand-line{font-size:var(--text-xs);color:var(--ink-muted);margin-top:2px}.shade-code{font-size:var(--text-xs);color:var(--ink-muted);font-family:var(--font-mono)}.reasons{margin:0 0 var(--space-2);font-size:var(--text-xs);color:var(--ink-muted);padding:0;list-style:none}.reasons li{border-bottom:1px solid var(--border);padding:4px 0}.reasons li:last-child{border-bottom:none}.card-meta{gap:var(--space-2);flex-wrap:wrap;display:flex}.meta-tag{font-size:var(--text-xs);padding:3px var(--space-2);background:var(--surface-subtle);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--ink-soft);text-transform:capitalize;font-weight:500}.quality-tag{border-color:var(--border-strong);color:var(--ink);text-transform:none}.card-actions{gap:var(--space-2);padding:0 var(--space-4) var(--space-4);display:flex}.btn-save,.btn-skip{padding:var(--space-3) var(--space-6);border-radius:var(--radius-full);font-weight:600;font-size:var(--text-sm);cursor:pointer;transition:transform var(--duration-fast) var(--ease-spring), box-shadow var(--duration-fast) var(--ease-out);border:1px solid #0000;flex:1;justify-content:center;align-items:center;min-height:48px;display:flex}.btn-save{background:var(--save);color:var(--ink-on-save);box-shadow:var(--shadow-sm)}.btn-save:hover{background:var(--save-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-save:active{transform:scale(.96)}.btn-save[aria-pressed=true]{color:var(--save);box-shadow:inset 0 0 0 1.5px var(--save);background:0 0}.btn-skip{background:var(--surface-subtle);color:var(--ink-soft);border-color:var(--border-strong)}.btn-skip:hover{background:var(--surface-hover);color:var(--ink)}.btn-skip:active{transform:scale(.96)}.btn-save-sm{padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--text-xs);background:var(--save);color:var(--ink-on-save);cursor:pointer;min-height:34px;transition:transform var(--duration-fast) var(--ease-spring);border:none;flex:1;font-weight:600}.btn-save-sm:hover{transform:scale(1.04)}.btn-save-sm.saved{color:var(--save);box-shadow:inset 0 0 0 1.5px var(--save);background:0 0;transform:none}.match-badge{padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);background:var(--surface-subtle);border:2px solid;flex-direction:column;align-items:center;min-width:48px;display:flex}.match-score{font-size:var(--text-base);font-weight:700;font-family:var(--font-mono);line-height:1.1}.match-label{text-transform:uppercase;letter-spacing:.08em;opacity:.6;font-size:8px}.compare-toggle{top:var(--space-2);right:var(--space-2);z-index:2;padding:4px var(--space-2);font-size:var(--text-xs);letter-spacing:.02em;color:var(--ink);cursor:pointer;background:color-mix(in srgb, var(--base) 94%, transparent);backdrop-filter:blur(4px);border-radius:var(--radius-full);border:1px solid var(--border-strong);font-weight:600;transition:background .18s,color .18s,border-color .18s;position:absolute}.compare-toggle:hover:not(:disabled){border-color:var(--accent-border);color:var(--accent)}.compare-toggle.active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-border)}.compare-toggle:disabled{opacity:.45;cursor:not-allowed}.empty-state{text-align:center;padding:var(--space-20) var(--space-4)}.empty-state h1{margin:var(--space-4) 0 var(--space-3);font-size:var(--text-3xl)}.empty-message{max-width:36ch;margin:0 auto var(--space-6);font-size:var(--text-lg);color:var(--ink-soft);line-height:1.5}.empty-secondary{margin:var(--space-4) 0 0;font-size:var(--text-sm)}.empty-secondary a{text-underline-offset:4px;text-decoration:underline}.profile-summary{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex}.profile-summary.empty{text-align:center;flex-direction:column}.profile-tone{border-radius:var(--radius-full);border:2px solid var(--border-strong);flex-shrink:0;width:56px;height:56px;position:relative}.profile-tone:after{content:"";border-radius:var(--radius-full);background:linear-gradient(135deg,oklch(100% 0 0/.1),#0000 50%);position:absolute;inset:0}.profile-details{flex:1}.profile-row{gap:var(--space-2);font-size:var(--text-sm);padding:2px 0;display:flex}.profile-label{color:var(--ink-muted);flex:0 0 7rem}@media (width<=520px){.profile-summary{flex-wrap:wrap}.profile-details{flex:12rem;min-width:0}.profile-summary>.btn-secondary{text-align:center;flex:1 0 100%;justify-content:center}}.profile-value{color:var(--ink);font-weight:500}.filter-chips{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.filter-chip{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);background:var(--accent-soft);border:1px solid var(--accent-border);border-radius:var(--radius-full);font-size:var(--text-xs);color:var(--accent);font-weight:500;display:inline-flex}.filter-chip button{cursor:pointer;color:var(--accent);font-size:var(--text-sm);opacity:.5;background:0 0;border:none;padding:0;line-height:1}.filter-chip button:hover{opacity:1}.clear-all{color:var(--ink-muted);font-size:var(--text-xs);cursor:pointer;padding:var(--space-1);background:0 0;border:none;text-decoration:underline}.input-instruction{color:var(--ink-muted);font-size:var(--text-sm);margin-bottom:var(--space-5);line-height:var(--leading-normal)}.preview-row{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.preview-tag{padding:var(--space-1) var(--space-3);background:var(--surface-subtle);border:1px solid var(--border);border-radius:var(--radius-full);font-size:var(--text-xs);text-transform:capitalize;color:var(--ink-soft);font-weight:500}.swipe-deck{align-items:center;gap:var(--space-5);padding:var(--space-4);flex-direction:column;display:flex}.deck-counter{font-size:var(--text-xs);color:var(--ink-muted);font-family:var(--font-mono);padding:var(--space-1) var(--space-3);background:var(--surface-subtle);border-radius:var(--radius-full);border:1px solid var(--border);letter-spacing:var(--tracking-wide);font-weight:500}.deck-stack{justify-content:center;align-items:center;width:100%;max-width:420px;height:520px;display:flex;position:relative}.deck-card-wrapper{width:100%;position:absolute}.deck-controls{gap:var(--space-4);display:flex}.deck-controls .btn-skip,.deck-controls .btn-save{min-width:130px}.deck-hint{font-size:var(--text-xs);color:var(--ink-muted);letter-spacing:var(--tracking-wide)}.swipe-deck-done{text-align:center;padding:var(--space-20) var(--space-4)}.done-message{font-size:var(--text-xl);margin-bottom:var(--space-6);color:var(--ink);font-family:var(--font-display);font-weight:600}.brand-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.brand-card{padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);color:inherit;transition:transform var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);box-shadow:var(--shadow-sm);flex-direction:column;text-decoration:none;display:flex}.brand-logo{aspect-ratio:2;border-radius:var(--radius-md);width:100%;margin-bottom:var(--space-4);position:relative;overflow:hidden}.brand-logo:after{content:"";background:linear-gradient(oklch(100% 0 0/.08) 0%,#0000 50%);position:absolute;inset:0}.brand-name{font-size:var(--text-base);margin-bottom:var(--space-1);font-weight:600;font-family:var(--font-display);letter-spacing:var(--tracking-tight)}.brand-meta{font-size:var(--text-xs);color:var(--ink-muted);margin-bottom:var(--space-4)}.brand-cta{font-size:var(--text-sm);color:var(--accent);font-weight:600}.shade-grid-wrapper{gap:var(--space-4);flex-direction:column;display:flex}.grid-controls{margin-bottom:var(--space-1);justify-content:flex-end;display:flex}.sort-control{font-size:var(--text-sm);color:var(--ink-muted);align-items:center;gap:var(--space-2);display:flex}.sort-control select{padding:var(--space-2) var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-full);background:var(--surface-subtle);font-size:var(--text-sm);color:var(--ink-soft);cursor:pointer}.sort-control select:hover{color:var(--ink)}.shade-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.filter-drawer{width:250px;top:calc(var(--nav-height) + var(--space-4));flex-shrink:0;align-self:flex-start;position:sticky}.filter-sidebar{padding:var(--space-4);background:var(--glass);-webkit-backdrop-filter:var(--blur-nav);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.filter-header{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.filter-header h3{font-size:var(--text-sm);color:var(--ink);font-weight:600}.close-btn{font-size:var(--text-lg);cursor:pointer;color:var(--ink-muted);padding:var(--space-1);border-radius:var(--radius-full);background:0 0;border:none}.close-btn:hover{color:var(--ink)}.filter-section{border-bottom:1px solid var(--border);padding:var(--space-2) 0}.filter-section:last-child{border-bottom:none}.filter-title{width:100%;padding:var(--space-1) 0;font-weight:600;font-size:var(--text-sm);cursor:pointer;color:var(--ink);background:0 0;border:none;justify-content:space-between;align-items:center;display:flex}.filter-title:hover{color:var(--accent)}.chevron{color:var(--ink-muted);font-size:var(--text-base)}.filter-options{padding-top:var(--space-1)}.filter-option{align-items:center;gap:var(--space-2);padding:5px var(--space-2);font-size:var(--text-sm);cursor:pointer;border-radius:var(--radius-xs);color:var(--ink-soft);display:flex}.filter-option:hover{background:var(--surface-subtle);color:var(--ink)}.filter-option input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px}.filter-count{color:var(--ink-muted);font-size:var(--text-xs);font-family:var(--font-mono);margin-left:auto}.filter-hint{font-size:var(--text-xs);color:var(--ink-muted);margin-bottom:var(--space-1);font-style:italic}.price-inputs{align-items:center;gap:var(--space-2);display:flex}.price-inputs input{width:72px;padding:var(--space-2) var(--space-2);border:1px solid var(--border-strong);border-radius:var(--radius-xs);background:var(--surface-subtle);font-size:var(--text-sm);color:var(--ink-soft)}.price-inputs input:focus{border-color:var(--accent);color:var(--ink);outline:none}.price-inputs span{color:var(--ink-muted);font-size:var(--text-xs)}.comparison-view{gap:var(--space-8);flex-direction:column;display:flex}.comparison-head{justify-content:space-between;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex}.comparison-head h1{font-size:var(--text-4xl);letter-spacing:-.02em}.comparison-skin-ref{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-full);align-self:flex-start;display:flex}.ref-label{font-size:var(--text-sm);color:var(--ink-soft)}.skin-tone-strip{border-radius:var(--radius-full);border:1px solid var(--border-strong);flex-shrink:0;width:40px;height:24px}.comparison-cards{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.comparison-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.comparison-card.is-winner{border-color:var(--accent-border);box-shadow:0 0 0 1px var(--accent-border), var(--shadow-md)}.comparison-remove{top:var(--space-2);right:var(--space-2);z-index:2;color:#fff;cursor:pointer;background:#1a161399;border:none;border-radius:50%;width:28px;height:28px;font-size:18px;line-height:1;position:absolute}.comparison-swatch{aspect-ratio:4/3;color:#ffffffeb;place-items:center;display:grid;position:relative}@media (width<=480px){.comparison-swatch{aspect-ratio:16/7}}.comparison-swatch svg{filter:drop-shadow(0 2px 6px #0000004d)}.comparison-card-body{padding:var(--space-3);flex-direction:column;gap:4px;display:flex}.comparison-badges{flex-wrap:wrap;gap:6px;min-height:0;display:flex}.comp-badge{font-size:var(--text-xs);border-radius:var(--radius-full);padding:2px 8px;font-weight:600}.comp-badge.best{background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent-border)}.comp-badge.cheap{background:var(--surface-subtle);color:var(--ink-soft);border:1px solid var(--border-strong)}.comp-name{font-family:var(--font-display);font-size:var(--text-lg);color:var(--ink);text-decoration:none}.comp-name:hover{color:var(--accent)}.comp-brand{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted)}.comp-meta{font-size:var(--text-sm);color:var(--ink-soft)}.comp-match{align-items:center;gap:var(--space-2);margin:var(--space-1) 0;display:flex}.comparison-dupes{padding:var(--space-4) var(--space-5);border:1px solid var(--accent-border);border-radius:var(--radius-lg);background:var(--accent-soft)}.comparison-dupes h2{font-size:var(--text-lg);margin-bottom:var(--space-2)}.comparison-dupes ul{gap:var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.comparison-dupes li{font-size:var(--text-sm);color:var(--ink-soft)}.comparison-table-wrap{overflow-x:auto}.comparison-table{border-collapse:collapse;width:100%;font-size:var(--text-sm);min-width:520px}.comparison-table th{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-strong);color:var(--ink-soft);font-weight:600}.comparison-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);color:var(--ink-soft);text-transform:capitalize}.comparison-table td:first-child{color:var(--ink);font-weight:600;font-family:var(--font-display);white-space:nowrap}.comparison-table .col-vary{background:color-mix(in srgb, var(--accent) 7%, transparent)}.comparison-table th.col-vary{color:var(--accent)}.td-swatch{border:1px solid var(--border-strong);vertical-align:middle;border-radius:4px;width:16px;height:16px;margin-right:8px;display:inline-block}.comparison-matrix-wrap h2{font-size:var(--text-lg)}.matrix-hint{font-size:var(--text-sm);color:var(--ink-muted);margin-bottom:var(--space-3)}.dm-scroll{overflow-x:auto}.delta-matrix{border-collapse:collapse;font-size:var(--text-sm)}.delta-matrix th{padding:var(--space-2) var(--space-3);text-align:left;color:var(--ink-soft);white-space:nowrap;font-weight:600}.delta-matrix thead th{text-align:center}.dm-cell{padding:var(--space-2) var(--space-3);text-align:center;border:1px solid var(--border);color:var(--ink-soft);font-variant-numeric:tabular-nums}.dm-cell.diag{color:var(--ink-dim);background:var(--surface-subtle)}.dm-cell.near{background:var(--accent-soft);color:var(--accent);font-weight:600}.dm-cell.close{background:color-mix(in srgb, var(--accent) 10%, transparent)}.dm-legend{gap:var(--space-4);margin-top:var(--space-3);font-size:var(--text-xs);color:var(--ink-muted);flex-wrap:wrap;display:flex}.dm-legend span{align-items:center;gap:6px;display:inline-flex}.dm-key{border:1px solid var(--border-strong);border-radius:3px;width:14px;height:14px;display:inline-block}.dm-key.near{background:var(--accent-soft)}.dm-key.close{background:color-mix(in srgb, var(--accent) 10%, transparent)}.page-layout{gap:var(--space-5);display:flex}.page-content{flex:1;min-width:0}.page-hero{margin-bottom:var(--space-10);padding-bottom:var(--space-5);border-bottom:1px solid var(--border)}.page-hero h1{margin-bottom:var(--space-3);font-size:var(--text-4xl);letter-spacing:-.025em}@media (width<=520px){.page-hero h1{font-size:var(--text-2xl)}}.page-hero .page-hero-action{margin-top:var(--space-5);align-items:center;display:inline-flex}.page-hero p{color:var(--ink-muted);font-size:var(--text-lg);max-width:62ch;line-height:var(--leading-normal)}@media (width<=520px){.page-hero p{font-size:var(--text-base)}}.kicker{font-size:var(--text-sm);color:var(--accent);margin-bottom:var(--space-2);font-weight:600;display:inline-block}.landing-hero{text-align:center;padding:var(--space-16) var(--space-4) var(--space-12)}.landing-hero h1{font-size:var(--text-5xl);margin-bottom:var(--space-4);color:var(--ink);letter-spacing:-.025em;font-weight:600;line-height:1}.landing-hero h1 em{color:var(--accent);font-style:italic}.landing-hero p{font-size:var(--text-lg);color:var(--ink-soft);max-width:48ch;margin:0 auto var(--space-8);line-height:var(--leading-normal)}.privacy-note{text-align:center;padding:var(--space-6) var(--space-4);font-size:var(--text-sm);color:var(--ink-muted)}.trust-note{max-width:62ch;color:var(--ink-muted);font-size:var(--text-sm);margin:var(--space-2) 0 var(--space-3);line-height:1.5}.btn-primary.btn-lg{font-size:var(--text-lg);padding:var(--space-4) var(--space-8)}.elo-status{padding:var(--space-3) var(--space-4);background:var(--surface-subtle);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:var(--space-4);align-items:center;gap:var(--space-3);font-size:var(--text-xs);color:var(--ink-muted);display:flex}.elo-status-dot{border-radius:var(--radius-full);background:var(--accent);width:8px;height:8px;box-shadow:0 0 8px var(--accent-glow);flex-shrink:0}.elo-status-dot.pulse{animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.profile-banner{padding:var(--space-3) var(--space-5);background:var(--accent-soft);border:1px solid var(--accent-border);border-radius:var(--radius-md);margin-bottom:var(--space-5);text-align:center;font-size:var(--text-sm);color:var(--ink-soft)}.profile-banner a{font-weight:600}.conditions-list{gap:var(--space-2);margin:var(--space-5) 0;flex-direction:column;display:flex}.condition-item{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface-subtle);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);display:flex}.condition-item:hover{background:var(--surface-hover);border-color:var(--border-strong)}.condition-item input{accent-color:var(--accent);width:16px;height:16px;margin-top:2px}.condition-info{flex:1}.condition-label{font-weight:600;font-size:var(--text-sm);color:var(--ink)}.condition-desc{font-size:var(--text-xs);color:var(--ink-muted);line-height:var(--leading-normal);margin-top:2px}.data-management{margin-top:var(--space-10);padding:var(--space-5);background:var(--surface-subtle);border:1px solid var(--border);border-radius:var(--radius-lg)}.data-management h2{font-size:var(--text-xl);margin-bottom:var(--space-2)}.data-management p{color:var(--ink-muted);max-width:68ch}.data-actions{gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.btn-secondary.danger{color:var(--accent);border-color:color-mix(in oklch, var(--accent), var(--border) 55%)}.btn-secondary.danger:hover{color:var(--ink-on-accent);background:var(--accent);border-color:var(--accent)}.data-status{margin-top:var(--space-3);font-size:var(--text-sm)}.mobile-filter-btn{padding:var(--space-2) var(--space-4);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-full);font-size:var(--text-sm);cursor:pointer;margin-bottom:var(--space-3);color:var(--ink);font-weight:600;display:none}@media (width<=768px){.page-layout{flex-direction:column}.filter-drawer{z-index:200;border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-height:80vh;display:none;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.filter-drawer.open{display:block}.filter-drawer .filter-sidebar{border-radius:inherit;box-shadow:var(--shadow-lg);border:0;min-height:100%}.mobile-filter-btn{display:block}.brand-grid,.shade-grid{grid-template-columns:repeat(2,1fr)}.landing-hero h1{font-size:var(--text-3xl)}.landing-hero p{font-size:var(--text-base)}.deck-controls{gap:var(--space-3)}.deck-controls .btn-skip,.deck-controls .btn-save{min-width:110px}}@media (width<=480px){.brand-grid{grid-template-columns:1fr}.shade-grid{gap:var(--space-3);grid-template-columns:1fr}.shade-card.grid{grid-template-rows:1fr auto;grid-template-columns:96px minmax(0,1fr);display:grid}.shade-card.grid .swatch-block{aspect-ratio:auto;grid-row:1/3;height:100%;min-height:132px}.shade-card.grid .card-body{padding:var(--space-3) var(--space-3) var(--space-1)}.shade-card.grid .card-actions{padding:0 var(--space-3) var(--space-3);padding-right:6.5rem}.shade-card.grid .compare-toggle{top:auto;right:var(--space-3);bottom:var(--space-3)}.shade-card.grid:hover{transform:none}.duel-stage{gap:var(--space-2)}.duel-vs{display:none}.duel-card .swatch-block{aspect-ratio:1}.duel-card .card-body{padding:var(--space-3)}}.glass{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);position:relative}.glass--floating{background:var(--surface-bright);box-shadow:var(--shadow-md)}.glass-static{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);position:relative}.glass-interactive{transition:transform var(--duration-fast) var(--ease-spring), box-shadow var(--duration-normal) var(--ease-out), border-color var(--duration-fast) var(--ease-out)}.glass-interactive:hover{border-color:var(--accent-border);box-shadow:var(--shadow-md);transform:translateY(-3px)}.glass-interactive:active{transition-duration:var(--duration-instant);transform:scale(.985)}.shimmer{position:relative;overflow:hidden}.shimmer:after{content:"";pointer-events:none;animation:shimmer-sweep var(--duration-shimmer) var(--ease-out) infinite;background:linear-gradient(105deg,#0000 30%,oklch(100% 0 0/.18) 48%,oklch(100% 0 0/.3) 50%,oklch(100% 0 0/.18) 52%,#0000 70%);position:absolute;inset:0;transform:translate(-120%)}@keyframes shimmer-sweep{to{transform:translate(120%)}}@media (prefers-reduced-motion:reduce){.shimmer:after{opacity:.25;animation:none}}.theme-toggle{border-radius:var(--radius-full);background:var(--glass-1-bg);width:44px;height:44px;-webkit-backdrop-filter:var(--glass-1-blur);border:1px solid var(--glass-border);color:var(--ink-soft);cursor:pointer;transition:transform var(--duration-fast) var(--ease-spring), color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);justify-content:center;align-items:center;display:inline-flex}.theme-toggle:hover{color:var(--ink);border-color:var(--glass-border-bright);transform:translateY(-1px)}.theme-toggle:active{transform:scale(.92)}.theme-toggle svg{width:20px;height:20px}.theme-toggle-icon{animation:toggle-pop var(--duration-normal) var(--ease-out);display:inline-flex}@keyframes toggle-pop{0%{opacity:0;transform:rotate(-90deg)scale(.4)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.theme-toggle-icon{animation:none}}.elo-meta{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.elo-rating-chip{font-family:var(--font-mono);font-size:var(--text-xs);padding:2px var(--space-2);border-radius:var(--radius-full);background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent-border);align-items:center;gap:4px;font-weight:600;display:inline-flex}.elo-rating-chip.estimated{background:var(--surface-subtle);color:var(--ink-muted);border-color:var(--border-strong)}.confidence-pill{color:var(--ink-muted);align-items:center;gap:3px;font-size:10px;display:inline-flex}.confidence-bar{border-radius:var(--radius-full);background:var(--surface-subtle);border:1px solid var(--border);width:44px;height:5px;overflow:hidden}.confidence-bar>span{background:linear-gradient(90deg, var(--accent), var(--save));border-radius:inherit;height:100%;display:block}.head-to-head{align-items:center;gap:var(--space-5);flex-direction:column;max-width:820px;margin:0 auto;display:flex}.duel-heading{text-align:center}.duel-heading h1{font-size:var(--text-3xl);margin-bottom:var(--space-1)}.duel-heading p{color:var(--ink-muted);font-size:var(--text-sm)}.duel-stage{align-items:stretch;gap:var(--space-4);justify-content:center;width:100%;display:flex}.duel-card{cursor:pointer;border-radius:var(--radius-xl);flex:1;max-width:340px;padding:0;position:relative}.duel-card .swatch-block{border-radius:var(--radius-xl) var(--radius-xl) 0 0}.duel-card{flex-direction:column;display:flex}.duel-card .shade-card{width:100%;box-shadow:none;background:0 0;border:0;flex:1}.duel-card:focus-visible{outline-offset:4px}.duel-vs{font-family:var(--font-display);font-style:italic;font-weight:600;font-size:var(--text-2xl);color:var(--accent);flex-shrink:0;align-self:center}.duel-controls{gap:var(--space-3);flex-wrap:wrap;justify-content:center;display:flex}.duel-progress{align-items:center;gap:var(--space-3);font-size:var(--text-xs);color:var(--ink-muted);font-family:var(--font-mono);display:flex}.ranked-list{gap:var(--space-3);flex-direction:column;display:flex}.rank-row{align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);display:flex}.rank-swatch{border-radius:var(--radius-md);border:1px solid var(--border-strong);flex-shrink:0;width:48px;height:48px}.value-note{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--ink-soft);font-weight:500}.shared-result{margin-bottom:var(--space-8);padding:var(--space-6);border:1px solid var(--accent-border);border-radius:var(--radius-xl);background:var(--accent-soft)}.shared-result .kicker{color:var(--accent)}.shared-result-body{gap:var(--space-5);margin-top:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.shared-result .signature-swatch{border-radius:var(--radius-lg);flex:none;justify-content:center;align-items:center;width:120px;height:120px;display:flex}.shared-result-info{flex:1;min-width:220px}.shared-result-info h2{font-family:var(--font-display);margin-bottom:2px}.shared-result-info .btn-primary{margin-top:var(--space-3)}.rank-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.rank-name{font-family:var(--font-display);color:var(--ink);font-weight:600}.rank-brand{font-size:var(--text-xs);color:var(--ink-muted)}.taste-chart{align-items:center;gap:var(--space-3);padding:var(--space-5);flex-direction:column;display:flex}.taste-chart svg{max-width:240px;height:auto}.taste-legend{gap:var(--space-4);font-size:var(--text-xs);color:var(--ink-muted);flex-wrap:wrap;justify-content:center;display:flex}.photo-analyzer{align-items:center;gap:var(--space-4);flex-direction:column;display:flex}.capture-card{aspect-ratio:4/3;border-radius:var(--radius-xl);background:var(--surface-subtle);justify-content:center;align-items:center;width:100%;max-width:420px;display:flex;position:relative;overflow:hidden}.capture-card video,.capture-card img,.capture-card canvas{object-fit:cover;width:100%;height:100%}.capture-card video{transform:scaleX(-1)}.capture-reticle{border:2px solid var(--glass-border-bright);pointer-events:none;border-radius:50%;position:absolute;inset:12% 22%;box-shadow:0 0 0 100vmax oklch(0% 0 0/.25)}.scan-line{background:linear-gradient(90deg, transparent, var(--accent), transparent);height:3px;box-shadow:0 0 14px var(--accent-glow);animation:scan-sweep 1.8s var(--ease-glass) infinite;pointer-events:none;position:absolute;left:0;right:0}@keyframes scan-sweep{0%{opacity:0;top:6%}15%{opacity:1}85%{opacity:1}to{opacity:0;top:94%}}@media (prefers-reduced-motion:reduce){.scan-line{animation:none;top:50%}}.analyzer-status{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-muted);letter-spacing:var(--tracking-wide);text-align:center;min-height:1.4em}.analyzer-result{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);width:100%;max-width:420px;display:flex}.analyzer-result .result-tone{border-radius:var(--radius-full);border:2px solid var(--border-strong);flex-shrink:0;width:56px;height:56px}.analyzer-controls{gap:var(--space-3);flex-wrap:wrap;justify-content:center;display:flex}@keyframes pop{0%{transform:scale(1)}45%{transform:scale(1.18)}to{transform:scale(1)}}.pop{animation:pop var(--duration-normal) var(--ease-spring)}.duel-card{display:block}.shade-detail{gap:var(--space-6);flex-direction:column;display:flex}.back-link{font-size:var(--text-sm);color:var(--ink-muted);align-self:flex-start;font-weight:500}.back-link:hover{color:var(--ink)}.detail-hero{gap:var(--space-6);padding:var(--space-6);align-items:stretch;display:flex}.detail-swatch{border-radius:var(--radius-lg);border:1px solid var(--glass-border);width:280px;min-height:280px;box-shadow:var(--glass-inner-highlight);flex-shrink:0;position:relative}.estimated-tag{bottom:var(--space-3);left:var(--space-3);font-size:var(--text-xs);background:var(--overlay);color:oklch(100% 0 0/.85);padding:3px var(--space-2);border-radius:var(--radius-full);font-weight:600;position:absolute}.detail-info{flex:1;min-width:0}.detail-brand{font-size:var(--text-sm);color:var(--accent);text-transform:uppercase;letter-spacing:var(--tracking-wide);font-weight:600}.detail-info h1{font-size:var(--text-3xl);margin:var(--space-1) 0}.detail-line{color:var(--ink-muted);font-size:var(--text-sm)}.detail-desc{color:var(--ink-muted);font-size:var(--text-sm);line-height:var(--leading-normal);margin-top:var(--space-3);max-width:60ch}.detail-match{align-items:center;gap:var(--space-3);margin-top:var(--space-3);display:flex}.detail-match-label{font-size:var(--text-sm);color:var(--ink-muted)}.detail-match-cta{text-underline-offset:3px;min-height:44px;margin-top:var(--space-2);font-size:var(--text-sm);color:var(--accent);align-items:center;font-weight:600;text-decoration:underline;display:inline-flex}.detail-match-cta:hover{color:var(--accent-hover)}.detail-actions{gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.detail-actions .btn-save{flex:none;min-width:120px}.formula-chip{font-size:var(--text-xs);padding:3px var(--space-2);border-radius:var(--radius-full);background:var(--save-soft);color:var(--save);border:1px solid color-mix(in oklch, var(--save) 30%, transparent);text-transform:capitalize;font-weight:500}.detail-section{padding:var(--space-5) var(--space-6)}.detail-section>h2{margin-bottom:var(--space-4)}.dupe-meta{align-items:center;gap:var(--space-2);display:flex}@media (width<=480px){.rank-row{flex-wrap:wrap}.rank-row .rank-info{flex-basis:calc(100% - 4rem)}.rank-row .dupe-meta{flex-wrap:wrap;flex-basis:100%;padding-left:4rem}}.save-chip{font-size:var(--text-xs);padding:2px var(--space-2);border-radius:var(--radius-full);background:var(--save-soft);color:var(--save);font-weight:600}.rank-name{color:var(--ink);text-decoration:none}a.rank-name:hover{color:var(--accent)}.swatch-block{display:block}.shade-name-link{color:var(--ink);text-decoration:none;display:inline-block}.shade-name-link:hover{color:var(--accent)}@media (width<=768px){.detail-hero{flex-direction:column}.detail-swatch{width:100%;min-height:200px}}.btn-secondary{min-height:44px}@media (pointer:coarse){.btn-save-sm{min-height:44px}.close-btn{min-width:44px;min-height:44px}.compare-toggle{min-height:36px}}.rule{background:var(--border);height:1px;margin:var(--space-12) 0;border:none;position:relative}.rule:before{content:"";background:var(--accent);width:22px;height:18px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);mask:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2092%2074'%3E%3Cpath%20d='M44,2C64,0,76,14,76,28C90,30,92,50,76,56C72,70,52,74,42,66C26,74,8,66,12,50C-2,46,0,26,16,22C18,8,30,4,44,2Z'/%3E%3C/svg%3E") 50%/contain no-repeat}.stamp{z-index:6;pointer-events:none;opacity:0;color:var(--accent);position:absolute}.stamp svg{width:100%;height:100%;display:block}.stamp.is-kiss{animation:stamp-in .55s var(--ease-spring) forwards}.stamp.is-blot{color:var(--ink-dim);animation:stamp-in .55s var(--ease-spring) forwards}@keyframes stamp-in{0%{opacity:0;transform:rotate(-14deg)scale(1.7)}45%{opacity:.9;transform:rotate(-9deg)scale(.96)}to{opacity:.78;transform:rotate(-9deg)scale(1)}}@media (prefers-reduced-motion:reduce){.stamp.is-kiss,.stamp.is-blot{opacity:.78;animation:none;transform:rotate(-9deg)}}.shade-name-link:after{content:"";background:var(--accent);transform-origin:0;width:100%;height:1.5px;transition:transform var(--duration-normal) var(--ease-out);position:absolute;bottom:-2px;left:0;transform:scaleX(0)}.shade-card.grid:hover .shade-name-link:after{transform:scaleX(1)}.detail-swatch{overflow:hidden}.detail-swatch:after{content:"";transform-origin:0;width:116%;height:20%;transition:transform var(--duration-slow) var(--ease-out);pointer-events:none;background:#ffffff29;position:absolute;top:40%;left:-8%;transform:scaleX(0)rotate(-4deg)}.detail-swatch:hover:after{transform:scaleX(1)rotate(-4deg)}.save-chip{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;border:1px dashed color-mix(in oklch, var(--save) 50%, transparent);transform:rotate(-2deg)}.wax-seal{color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.empty-mark{margin:0 auto var(--space-5);color:var(--accent);opacity:.9;display:block}.brand-logo{justify-content:center;align-items:center;display:flex}.brand-favicon-chip,.brand-mono{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.brand-favicon-chip img{object-fit:contain;width:70%;height:70%}.brand-mono{font-family:var(--font-display);color:#1a1613;letter-spacing:-.01em;font-weight:600}.brand-hero{align-items:center;gap:var(--space-6);display:flex}.brand-hero-logo{border-radius:var(--radius-lg);border:1px solid var(--border);width:80px;height:80px;box-shadow:var(--shadow-sm);flex-shrink:0;justify-content:center;align-items:center;display:flex}.brand-hero-text{flex:1;min-width:0}.brand-hero-meta{align-items:center;gap:var(--space-2) var(--space-4);margin-top:var(--space-3);font-size:var(--text-sm);color:var(--ink-muted);flex-wrap:wrap;display:flex}@media (width<=768px){.brand-hero{gap:var(--space-4);margin-bottom:var(--space-5);padding-bottom:var(--space-4)}.brand-hero-logo{width:68px;height:68px}.brand-hero h1{font-size:var(--text-2xl);margin-bottom:var(--space-1)}.brand-hero-text>p{display:none}.profile-banner{margin-bottom:var(--space-3);padding:var(--space-2) var(--space-3)}}.deck-stack{height:clamp(440px,70vh,560px)}.price-inputs input.invalid{border-color:var(--accent);color:var(--accent)}.filter-error{color:var(--accent);font-style:normal}.filter-scrim{display:none}@media (width<=768px){.filter-scrim{background:var(--overlay);z-index:199;display:block;position:fixed;inset:0}}.mobile-filter-btn:active{transform:scale(.97)}.mobile-filter-btn:hover{border-color:var(--accent-border)}.landing-hero{padding:var(--space-20) var(--space-4) var(--space-16)}.landing-hero p{font-size:var(--text-xl);max-width:46ch;line-height:1.5}.brand-card:hover{border-color:var(--accent-border);box-shadow:var(--shadow-md);transform:translateY(-3px)}.brand-cta{transition:transform var(--duration-fast) var(--ease-out)}.brand-card:hover .brand-cta{transform:translate(4px)}.shade-card.grid:hover{border-color:var(--accent-border);box-shadow:var(--shadow-md);transform:translateY(-3px)}.shade-name{letter-spacing:-.01em}.swatch-block:after{background:linear-gradient(#ffffff1f 0%,#0000 32%,#0000001f 100%)}@keyframes reveal-rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes reveal-fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.reveal{animation:linear both reveal-rise view();animation-range:entry cover 22%}.reveal-fade{animation:linear both reveal-fade view();animation-range:entry cover 18%}}::view-transition-old(root),::view-transition-new(root){animation-duration:.24s}::view-transition-group(*){animation-duration:.32s}}.home-duel{max-width:720px;margin:var(--space-12) auto var(--space-4);text-align:center}.home-duel-head{align-items:center;gap:var(--space-3);margin-bottom:var(--space-6);flex-direction:column;display:flex}.home-duel-prompt{font-size:var(--text-2xl);text-align:center}.home-duel-progress{gap:6px;display:inline-flex}.home-duel-progress .pip{border:1px solid var(--border-strong);border-radius:50%;width:7px;height:7px;transition:background .3s,border-color .3s}.home-duel-progress .pip.filled{background:var(--accent);border-color:var(--accent)}.home-duel-pair{gap:var(--space-6);grid-template-columns:1fr 1fr;align-items:start;display:grid;position:relative}.home-duel-card{align-items:center;gap:var(--space-2);cursor:pointer;font:inherit;color:inherit;background:0 0;border:none;flex-direction:column;padding:0;transition:transform .25s cubic-bezier(.34,1.56,.64,1);display:flex}.home-duel-card:hover{transform:translateY(-4px)}.home-duel-card.chosen{transform:scale(1.03)}.home-duel-swatch{aspect-ratio:4/5;border-radius:var(--radius-lg);border:1px solid var(--border);width:100%;box-shadow:var(--shadow-sm);color:#ffffffeb;place-items:center;display:grid;position:relative;overflow:hidden}.home-duel-swatch:after{content:"";pointer-events:none;background:linear-gradient(#ffffff24 0%,#0000 34%,#00000029 100%);position:absolute;inset:0}.home-duel-card:hover .home-duel-swatch{border-color:var(--accent-border);box-shadow:var(--shadow-md)}.home-duel-kiss{z-index:1;filter:drop-shadow(0 2px 6px #0000004d);animation:.4s both kiss-stamp;position:relative}@keyframes kiss-stamp{0%{opacity:0;transform:scale(.4)rotate(-12deg)}60%{opacity:1;transform:scale(1.15)rotate(4deg)}to{opacity:1;transform:scale(1)rotate(0)}}.home-duel-name{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:-.01em;margin-top:var(--space-1)}.home-duel-brand{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted)}.home-duel-or{font-family:var(--font-display);font-style:italic;font-size:var(--text-lg);color:var(--ink-muted);background:var(--base);border:1px solid var(--border);pointer-events:none;border-radius:50%;place-items:center;width:2.2em;height:2.2em;display:grid;position:absolute;top:32%;left:50%;transform:translate(-50%,-50%)}.home-duel-note{text-wrap:balance;color:var(--ink-soft);max-width:46ch;font-size:var(--text-sm);margin:0 auto}.home-duel-loading{min-height:22rem}.home-duel-link{padding:var(--space-2) var(--space-3);font:inherit;font-size:var(--text-sm);color:var(--accent);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;text-decoration:underline}.home-duel-controls{gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap;justify-content:center;display:flex}.home-duel-board{gap:var(--space-2) var(--space-3);margin:var(--space-6) auto 0;font-size:var(--text-sm);color:var(--ink-soft);flex-wrap:wrap;justify-content:center;align-items:center;display:flex}.home-duel-board>span:first-child{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.08em;font-size:var(--text-xs)}.home-duel-chip{color:var(--ink);align-items:center;gap:6px;display:inline-flex}.home-duel-chip-dot{border:1px solid var(--border-strong);border-radius:50%;width:12px;height:12px}.home-duel-eyebrow{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);margin:0 auto var(--space-2)}.home-duel-top{margin:0 auto var(--space-6);gap:var(--space-4);grid-template-columns:repeat(3,1fr);max-width:560px;padding:0;list-style:none;display:grid}.home-duel-top li{align-items:center;gap:var(--space-1);flex-direction:column;display:flex;position:relative}.home-duel-top-swatch{aspect-ratio:1;border-radius:var(--radius-lg);border:1px solid var(--border);width:100%;box-shadow:var(--shadow-sm);margin-bottom:var(--space-1)}.home-duel-top-rank{top:var(--space-2);left:var(--space-2);background:var(--base);border:1px solid var(--border);width:1.7em;height:1.7em;font-family:var(--font-display);font-size:var(--text-sm);border-radius:50%;place-items:center;display:grid;position:absolute}.home-duel-top .home-duel-name{font-size:var(--text-base)}.home-duel-done{animation:.4s both fade-in}.home-duel-done .home-duel-verdict{margin-bottom:var(--space-8)}.home-duel-verdict{font-size:var(--text-3xl);margin:var(--space-2) 0 var(--space-3);line-height:1.15}.home-duel-verdict em{color:var(--accent);font-style:italic}.home-duel-done p{color:var(--ink-soft);max-width:44ch;margin:0 auto var(--space-6)}.home-duel-cta{gap:var(--space-3);flex-wrap:wrap;justify-content:center;display:flex}@media (width>=700px){.home-duel-swatch{aspect-ratio:1}}@media (width<=560px){.home-duel-pair{gap:var(--space-3)}.home-duel-or{top:30%}.home-duel-verdict{font-size:var(--text-2xl)}.home-duel-top{gap:var(--space-2)}.home-duel-top .home-duel-name{font-size:var(--text-sm)}}@media (prefers-reduced-motion:reduce){.home-duel-card,.home-duel-kiss,.home-duel-done{transition:none;animation:none}}.landing-hero{max-width:900px;padding:clamp(var(--space-12), 7vw, var(--space-20)) var(--space-4) var(--space-4);text-align:center;margin:0 auto}.landing-hero h1{max-width:14ch;font-size:clamp(2.75rem, 7vw, var(--text-5xl));letter-spacing:-.035em;margin:0 auto}.landing-hero .hero-lede{max-width:54ch;margin:var(--space-6) auto 0;color:var(--ink-soft);font-size:var(--text-lg);line-height:1.55}.hero-actions{align-items:center;gap:var(--space-3);margin-top:var(--space-8);flex-direction:column;display:flex}.hero-links{justify-content:center;gap:0 var(--space-5);flex-wrap:wrap;display:flex}.hero-link{min-height:44px;color:var(--ink-soft);font-size:var(--text-sm);text-decoration:underline;text-decoration-color:var(--border-strong);text-underline-offset:4px;align-items:center;font-weight:600;text-decoration-thickness:1px;display:inline-flex}.hero-link:hover{color:var(--accent);text-decoration-color:currentColor}.hero-assurances{gap:var(--space-5);text-align:left;grid-template-columns:repeat(3,1fr);margin:0;display:grid}.landing-assurances{max-width:900px;margin:var(--space-16) auto 0;padding:0 var(--space-4)}.hero-assurances div{border-top:1px solid var(--border);padding-top:var(--space-3)}.hero-assurances dt{color:var(--ink);font-size:var(--text-sm);font-weight:700}.hero-assurances dd{margin-top:var(--space-1);color:var(--ink-muted);font-size:var(--text-xs);line-height:1.55}.homepage-section{gap:var(--space-12);padding:var(--space-16) var(--space-4);border-top:1px solid var(--border);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);display:grid}.homepage-section--stacked{align-items:start}.homepage-heading h2{max-width:13ch;font-size:var(--text-3xl)}.homepage-heading p{max-width:38ch;margin-top:var(--space-4);color:var(--ink-soft)}.match-steps{gap:var(--space-6);counter-reset:step;list-style:none;display:grid}.match-step{counter-increment:step}.match-step h3:before{content:counter(step) ". ";color:var(--accent)}.match-step h3,.method-item h3{font-family:var(--font-body);font-size:var(--text-base);letter-spacing:0;font-weight:700}.match-step p,.method-item p{margin-top:var(--space-2);color:var(--ink-muted);font-size:var(--text-sm)}.method-list{gap:0;display:grid}.method-item{gap:var(--space-5);padding:var(--space-5) 0;border-top:1px solid var(--border);grid-template-columns:minmax(10rem,.8fr) minmax(0,1.2fr);display:grid}.method-item p{margin:0}.privacy-note{justify-content:space-between;align-items:end;gap:var(--space-6);margin:var(--space-4) var(--space-4) 0;padding:var(--space-8) 0;text-align:left;border-top:1px solid var(--border-strong);border-bottom:1px solid var(--border);display:flex}.privacy-note h2{font-size:var(--text-2xl)}.privacy-note p{max-width:50ch;margin-top:var(--space-2);color:var(--ink-soft)}@media (width<=768px){.landing-hero{padding-top:var(--space-12)}.landing-hero .hero-lede{font-size:var(--text-base)}.hero-actions{align-items:stretch}.hero-actions .btn-primary{width:100%}.hero-assurances{gap:var(--space-3);grid-template-columns:1fr}.homepage-section{gap:var(--space-8);padding:var(--space-12) 0;grid-template-columns:1fr}.homepage-heading h2{max-width:16ch}.method-item{gap:var(--space-2);grid-template-columns:1fr}.privacy-note{flex-direction:column;align-items:flex-start;margin-left:0;margin-right:0}}.about-section{gap:var(--space-8) var(--space-12);max-width:1000px;padding:var(--space-12) var(--space-4);border-bottom:1px solid var(--border);grid-template-columns:1fr 1.6fr;margin:0 auto;display:grid}.about-section:last-of-type{border-bottom:none}.about-aside{position:relative}@media (width>=861px){.about-aside{top:calc(var(--space-16) + 24px);align-self:start;position:sticky}}.about-aside .kicker{margin-bottom:var(--space-2)}.about-aside h2{font-size:var(--text-2xl);letter-spacing:-.02em;line-height:1.12}.about-body p{font-size:var(--text-lg);color:var(--ink-soft);margin-bottom:var(--space-4);max-width:58ch;line-height:1.6}.about-list{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.about-list li{font-size:var(--text-sm);padding:6px var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-full);color:var(--ink);background:var(--surface)}.about-cta{text-align:center;max-width:1000px;padding:var(--space-12) var(--space-4) var(--space-16);margin:0 auto}.about-cta h2{font-family:var(--font-display);font-size:var(--text-3xl);margin-bottom:var(--space-6);letter-spacing:-.02em}@media (width<=860px){.about-section{gap:var(--space-4);padding:var(--space-8) var(--space-4);grid-template-columns:1fr}.about-body p{font-size:var(--text-base)}}.signature{gap:var(--space-8);padding:var(--space-6);border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);grid-template-columns:220px 1fr;align-items:center;display:grid}.signature-swatch{aspect-ratio:1;border-radius:var(--radius-md);border:1px solid var(--border);box-shadow:var(--shadow-md);color:#ffffffeb;place-items:center;display:grid;position:relative;overflow:hidden}.signature-swatch:after{content:"";pointer-events:none;background:linear-gradient(#ffffff24 0%,#0000 36%,#0000002e 100%);position:absolute;inset:0}.signature-swatch svg{z-index:1;filter:drop-shadow(0 2px 8px #00000059);position:relative}.signature-brand{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);margin-bottom:var(--space-2)}.signature-line{color:var(--ink-soft);margin-bottom:var(--space-4)}@media (width<=600px){.signature{gap:var(--space-4);text-align:center;grid-template-columns:1fr}.signature-swatch{max-width:180px;margin:0 auto}}.compare-bar{left:50%;bottom:var(--space-4);z-index:250;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-full);box-shadow:var(--shadow-lg);max-width:calc(100vw - var(--space-6));animation:.3s cubic-bezier(.34,1.56,.64,1) both compare-bar-in;display:flex;position:fixed;transform:translate(-50%)}@keyframes compare-bar-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.compare-bar-count{font-size:var(--text-sm);color:var(--ink);white-space:nowrap;font-weight:600}.compare-bar-actions{align-items:center;gap:var(--space-2);display:flex}.compare-bar-clear{color:var(--ink-muted);font-size:var(--text-sm);cursor:pointer;padding:var(--space-2);background:0 0;border:none;min-width:44px;min-height:44px}.compare-bar-clear:hover{color:var(--accent)}.compare-bar-go{padding:var(--space-2) var(--space-4);white-space:nowrap}.compare-bar-hint{font-size:var(--text-sm);color:var(--ink-muted);padding:var(--space-2) var(--space-3);white-space:nowrap}@media (prefers-reduced-motion:reduce){.compare-bar{animation:none}}.card-verdict{font-size:var(--text-xs);color:var(--ink-soft);margin:2px 0;line-height:1.4}.suit-verdict{font-size:var(--text-sm);margin:var(--space-2) 0 0;padding:var(--space-2) var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-subtle);line-height:1.45}.verdict-great{color:var(--ink);border-left:3px solid var(--accent)}.verdict-good{color:var(--ink)}.verdict-workable{color:var(--ink-soft)}.verdict-skip{color:var(--ink-muted)}.card-verdict.verdict-great{color:var(--ink)}.brand-fit{align-items:center;gap:var(--space-2);margin-top:6px;display:flex}.brand-fit-chip{font-size:var(--text-xs);letter-spacing:.02em;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-border);border-radius:var(--radius-full);white-space:nowrap;padding:2px 8px;font-weight:600}.brand-fit-swatches{gap:3px;display:inline-flex}.brand-fit-swatch{border:1px solid var(--border-strong);border-radius:3px;width:14px;height:14px}.saved-dupes{padding:var(--space-5) var(--space-6);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);margin-bottom:var(--space-6)}.saved-dupes h2{font-size:var(--text-xl);margin:var(--space-1) 0 var(--space-1)}.saved-dupes-sub{font-size:var(--text-sm);color:var(--ink-muted);margin-bottom:var(--space-4)}.saved-dupes-list{gap:var(--space-3);flex-direction:column;padding:0;list-style:none;display:flex}.saved-dupes-list li{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.sd-swatches{flex-shrink:0;display:inline-flex}.sd-swatch{border:1px solid var(--border-strong);border-radius:6px;width:28px;height:28px}.sd-swatch:last-child{margin-left:-8px}.sd-text{min-width:220px;font-size:var(--text-sm);color:var(--ink-soft);flex:1}.sd-compare{border:1px solid var(--border-strong);border-radius:var(--radius-full);padding:4px var(--space-3);font-size:var(--text-xs);color:var(--ink);cursor:pointer;background:0 0;font-weight:600}.sd-compare:hover{border-color:var(--accent-border);color:var(--accent)}.saved-dupes-gap{font-size:var(--text-sm);color:var(--ink-soft);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border)}.tryon-grid-section{gap:var(--space-2);flex-direction:column;display:flex}.tryon-grid-section h2{font-size:var(--text-lg)}.tryon-grid{gap:var(--space-3);margin:var(--space-3) 0;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.tryon-tile{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);margin:0;overflow:hidden}.tryon-tile img{aspect-ratio:1;object-fit:cover;width:100%;display:block}.tryon-tile figcaption{padding:var(--space-2) var(--space-3) 0;font-size:var(--text-sm);font-family:var(--font-display);color:var(--ink)}.tryon-approx{font-family:var(--font-body);font-size:var(--text-xs);color:var(--ink-muted)}.tryon-tile-share{width:calc(100% - var(--space-3) * 2);margin:var(--space-2) var(--space-3) var(--space-3);font-size:var(--text-xs);padding:var(--space-2) var(--space-3);display:block}.btn-undo{border:1px solid var(--border-strong);border-radius:var(--radius-full);padding:var(--space-2) var(--space-4);color:var(--ink-soft);font-size:var(--text-sm);cursor:pointer;background:0 0}.btn-undo:hover:not(:disabled){border-color:var(--accent-border);color:var(--accent)}.btn-undo:disabled{opacity:.4;cursor:not-allowed}.deck-done-actions{gap:var(--space-3);flex-wrap:wrap;justify-content:center;display:flex}.main{padding-bottom:var(--space-16)}body.compare-active .site-footer{padding-bottom:calc(var(--space-12) + 76px)}@media (pointer:coarse){.comparison-remove{width:44px;height:44px;font-size:22px}.compare-toggle{min-height:36px;padding:8px var(--space-3)}}.mr-taste-why{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--accent)}.mr-picks{margin:0 0 var(--space-4);justify-content:flex-start}.mr{gap:var(--space-6);flex-direction:column;max-width:52rem;margin:0 auto;display:flex}.mr-head h1{font-size:var(--text-3xl)}.mr-tone{align-items:center;gap:var(--space-2);margin-top:var(--space-2);color:var(--ink-soft);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.mr-tone-dot{border-radius:var(--radius-full);border:1px solid var(--border-strong);width:1rem;height:1rem}.mr-link{min-height:44px;padding:0 var(--space-2);color:var(--accent);font:inherit;text-underline-offset:3px;align-items:center;text-decoration:underline;display:inline-flex}.mr-link:hover{color:var(--accent-hover)}.mr-controls{gap:var(--space-5);display:grid}.mr-group{border:0;min-width:0}.mr-group legend,.mr-price label{margin-bottom:var(--space-2);color:var(--ink-soft);font-size:var(--text-sm);font-weight:600;display:block}.mr-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.mr-chip{min-height:44px;padding:0 var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-full);color:var(--ink);font-size:var(--text-sm);transition:background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);font-weight:500}.mr-chip:hover{background:var(--surface-subtle)}.mr-chip[aria-checked=true]{background:var(--ink);border-color:var(--ink);color:var(--base)}.mr-hint{max-width:60ch;margin-top:var(--space-2);color:var(--ink-muted);font-size:var(--text-sm)}.mr-price select{min-height:44px;padding:0 var(--space-4);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-full);font-size:var(--text-sm)}.mr-note{color:var(--ink-soft);font-size:var(--text-sm)}.mr-top{gap:var(--space-5);display:grid}.mr-top-swatch{aspect-ratio:5/2;border-radius:var(--radius-lg);display:block;box-shadow:inset 0 0 0 1px #00000014}.mr-top-label{color:var(--accent);font-size:var(--text-sm);font-weight:600}.mr-top-body h2{margin-top:var(--space-1);font-size:var(--text-2xl)}.mr-top-actions{align-items:center;gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.mr-meta{margin-top:var(--space-1);color:var(--ink-muted);font-size:var(--text-sm)}.mr-why{max-width:56ch;margin-top:var(--space-2);color:var(--ink-soft);font-size:var(--text-sm);line-height:var(--leading-normal)}.mr-list{flex-direction:column;list-style:none;display:flex}.mr-row{gap:var(--space-4);padding:var(--space-4) 0;border-top:1px solid var(--border);grid-template-columns:4rem 1fr auto;display:grid}.mr-swatch{border-radius:var(--radius-md);width:4rem;height:4rem;box-shadow:inset 0 0 0 1px #00000014}.mr-row-body{min-width:0}.mr-name{color:var(--ink);font-family:var(--font-display);font-size:var(--text-lg);font-weight:600}.mr-name:hover{color:var(--accent)}.mr-row-side{align-items:flex-end;gap:var(--space-2);flex-direction:column;display:flex}.mr-row-side .btn-save-sm{flex:none;min-width:6rem}.mr-more{align-self:center}.mr-saved{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border:1px solid var(--border-strong);border-radius:var(--radius-lg);flex-wrap:wrap;display:flex}.mr-saved p{color:var(--ink-soft);font-size:var(--text-sm)}.mr-saved-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.mr-taste{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-5);background:var(--surface-subtle);border-radius:var(--radius-lg);flex-wrap:wrap;display:flex}.mr-taste h2{font-size:var(--text-xl)}.mr-taste p{max-width:48ch;margin-top:var(--space-1);color:var(--ink-soft);font-size:var(--text-sm)}.taste-bar{justify-content:space-between;align-items:center;gap:var(--space-3);max-width:52rem;margin:0 auto var(--space-6);flex-wrap:wrap;display:flex}@media (width>=720px){.mr-top{align-items:center;gap:var(--space-8);grid-template-columns:1fr 1fr}.mr-top-swatch{aspect-ratio:4/3}}@media (width<=520px){.mr-head h1{font-size:var(--text-2xl)}.mr-row{gap:var(--space-3);grid-template-columns:3.5rem 1fr}.mr-swatch{width:3.5rem;height:3.5rem}.mr-row-side{flex-direction:row;grid-column:1/-1;justify-content:space-between;align-items:center}}.mr-tune{border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.mr-tune summary{min-height:48px;color:var(--ink-soft);font-size:var(--text-sm);cursor:pointer;align-items:center;font-weight:600;display:flex}.mr-tune[open] summary{color:var(--ink)}.mr-tune .mr-controls{padding:var(--space-2) 0 var(--space-5)}.dupes{max-width:52rem;padding-top:var(--space-6);margin:0 auto}.dupes h1{font-size:var(--text-3xl)}.dupes-lede{max-width:54ch;margin:var(--space-3) 0 var(--space-6);color:var(--ink-soft)}.dupes-search label{margin-bottom:var(--space-2);color:var(--ink-soft);font-size:var(--text-sm);font-weight:600;display:block}.dupes-search input{width:100%;min-height:52px;padding:0 var(--space-4);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);font-size:var(--text-base)}.dupes-suggestions{margin-top:var(--space-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);list-style:none;overflow:hidden}.dupes-suggestions button{align-items:center;gap:var(--space-3);width:100%;min-height:56px;padding:var(--space-2) var(--space-4);text-align:left;display:flex}.dupes-suggestions button:hover{background:var(--surface-hover)}.dupes-suggestions li+li{border-top:1px solid var(--border)}.dupes-chip{border-radius:var(--radius-sm);flex:none;width:2rem;height:2rem;box-shadow:inset 0 0 0 1px #0000001a}.dupes-suggest-name{font-weight:600;display:block}.dupes-suggest-meta{color:var(--ink-muted);font-size:var(--text-sm);display:block}.dupes-none{padding:var(--space-4);color:var(--ink-muted);font-size:var(--text-sm)}.dupes-result{margin-top:var(--space-8)}.dupes-original{align-items:center;gap:var(--space-5);margin-bottom:var(--space-4);display:flex}.dupes-big-chip{border-radius:var(--radius-lg);flex:none;width:6rem;height:6rem;box-shadow:inset 0 0 0 1px #0000001a}.dupes-kicker{color:var(--ink-muted);font-size:var(--text-sm)}.dupes-original h2{font-size:var(--text-2xl)}.dupes-original .mr-link{padding-left:0}.dupes-save{color:var(--accent);font-weight:600}.dupes-cost{color:var(--ink-muted);font-size:var(--text-sm)}.dupes-caveat{margin-top:var(--space-6);color:var(--ink-muted);font-size:var(--text-sm)}.store{gap:var(--space-5);flex-direction:column;max-width:34rem;margin:0 auto;display:flex}.store-top{color:var(--ink-soft);font-size:var(--text-sm);justify-content:space-between;align-items:center;display:flex}.store-swatch{border-radius:var(--radius-xl);height:min(40vh,22rem);box-shadow:inset 0 0 0 1px #0000001a}.store-info h1{font-size:var(--text-2xl)}.store-brand{margin-top:var(--space-1);color:var(--ink-soft)}.store-backup{margin-top:var(--space-3);color:var(--ink-soft);font-size:var(--text-sm)}.store-nav{gap:var(--space-3);grid-template-columns:1fr 2fr;display:grid}.store-nav .btn-primary,.store-nav .btn-secondary{justify-content:center;min-height:56px}.store-caveat{color:var(--ink-muted);font-size:var(--text-sm)}.profile-section-title{margin-top:var(--space-10);margin-bottom:var(--space-3)}.profile-section-lede{margin-bottom:var(--space-4)}.profile-taste-chart{margin-top:var(--space-4);max-width:320px}.profile-actions{gap:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.profile-clear{margin-top:var(--space-8)}.profile-confidence{color:var(--ink-muted);font-size:var(--text-sm);font-weight:400;display:block}.condition-tip{margin-top:var(--space-2);font-style:italic}.condition-tip a{font-style:normal}.detail-meta{margin:var(--space-3) 0}.detail-formula{margin-bottom:var(--space-3)}.detail-elo{margin-top:var(--space-2)}.detail-reasons{margin-top:var(--space-3)}.is-error{color:var(--accent)}.result-body{flex:1}.result-body .preview-row{margin-bottom:var(--space-2)}.result-note{color:var(--ink-muted);font-size:var(--text-xs)}.deck-done-note{margin-bottom:var(--space-4);color:var(--ink-muted);font-size:var(--text-sm)}.taste-empty{color:var(--ink-muted);font-size:var(--text-sm);text-align:center}.taste-legend strong{color:var(--ink)}.taste-finish{text-transform:capitalize}.page-hero-action{margin-top:var(--space-4)}.nav-count{min-width:1.25rem;height:1.25rem;margin-left:var(--space-1);border-radius:var(--radius-full);background:var(--accent);color:#fff;justify-content:center;align-items:center;padding:0 .3rem;font-size:.7rem;font-weight:700;line-height:1;display:inline-flex}.browse-search{margin-bottom:var(--space-6)}.browse-count{margin-bottom:var(--space-3);color:var(--ink-muted);font-size:var(--text-sm)}.dupes-starters{margin-top:var(--space-6)}.dupes-starters+.dupes-starters{margin-top:var(--space-5)}.dupes-starters h2{margin-bottom:var(--space-2);color:var(--ink-soft);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600}.dupes-starter-list{gap:var(--space-2);flex-wrap:wrap;list-style:none;display:flex}.dupes-starter-list button{align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-4) 0 var(--space-2);border:1px solid var(--border-strong);border-radius:var(--radius-full);color:var(--ink);font-size:var(--text-sm);font-weight:500;display:inline-flex}.dupes-starter-list button:hover{background:var(--surface-subtle)}.dupes-starter-list .dupes-chip{width:1.75rem;height:1.75rem}.flow-placeholder{min-height:60vh}.ob{max-width:40rem;padding:var(--space-4) 0 var(--space-8);margin:0 auto}.ob-top{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);display:flex}.ob-progress p{color:var(--ink-muted);font-size:var(--text-sm);font-weight:600}.ob-bars{gap:var(--space-1);margin-top:var(--space-2);list-style:none;display:flex}.ob-bars li{border-radius:var(--radius-full);background:var(--border-strong);width:2.25rem;height:4px}.ob-bars li.done,.ob-bars li.current{background:var(--accent)}.ob-bars li.current{opacity:.55}.ob-skip,.ob-link{min-height:44px;padding:0 var(--space-1);color:var(--ink-soft);font:inherit;font-size:var(--text-sm);text-decoration:underline;text-decoration-color:var(--border-strong);text-underline-offset:3px;align-items:center;font-weight:600;display:inline-flex}.ob-skip:hover,.ob-link:hover{color:var(--accent);text-decoration-color:currentColor}.ob h1{max-width:18ch;font-size:var(--text-3xl)}.ob h1:focus-visible{box-shadow:none;outline:none}.ob-lede{max-width:46ch;margin:var(--space-3) 0 var(--space-6);color:var(--ink-soft)}.ob-fieldset{min-width:0;margin:0 0 var(--space-6);border:0;padding:0}.ob-legend{margin-bottom:var(--space-3);color:var(--ink);font-size:var(--text-base);font-weight:600}.ob-hint,.ob-scale-note,.ob-current{color:var(--ink-muted);font-size:var(--text-sm)}.ob-hint{margin:calc(var(--space-1) * -1) 0 var(--space-3)}.ob-scale-note{margin-top:var(--space-3)}.ob-current{margin-bottom:var(--space-4)}.ob-input{opacity:0;pointer-events:none;width:1px;height:1px;margin:0;position:absolute}.ob-tones{gap:var(--space-3);grid-template-columns:repeat(5,1fr);display:grid}.ob-tone{aspect-ratio:1;border-radius:var(--radius-md);cursor:pointer;min-height:56px;transition:transform var(--duration-fast) var(--ease-out);position:relative;box-shadow:inset 0 0 0 1px #0000001f}.ob-tone:hover{transform:translateY(-2px)}.ob-tone:has(:checked){box-shadow:inset 0 0 0 1px #0000001f, 0 0 0 3px var(--base), 0 0 0 6px var(--accent)}.ob-tone:has(:focus-visible){outline:2px solid var(--ink);outline-offset:4px}.ob-tone-number{border-radius:var(--radius-full);color:#fff;font-family:var(--font-mono);font-size:var(--text-xs);background:#0000009e;padding:1px 7px;font-weight:600;line-height:1.5;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}.ob-choices{gap:var(--space-2);display:grid}.ob-choice{align-items:flex-start;gap:var(--space-3);min-height:56px;padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);display:flex}.ob-choice:hover{background:var(--surface-hover)}.ob-choice:has(:checked){background:var(--accent-soft);border-color:var(--accent)}.ob-choice:has(:focus-visible){outline:2px solid var(--ink);outline-offset:2px}.ob-choice-mark{border:2px solid var(--ink-muted);border-radius:var(--radius-full);flex:none;width:1.25rem;height:1.25rem;margin-top:2px}.ob-choice:has(:checked) .ob-choice-mark{border-color:var(--accent);background:radial-gradient(circle, var(--accent) 0 45%, transparent 50%)}.ob-choice-body{gap:2px;display:grid}.ob-choice-title{color:var(--ink);font-weight:600}.ob-choice-desc{color:var(--ink-soft);font-size:var(--text-sm)}.ob-pills{gap:var(--space-2);flex-wrap:wrap;display:flex}.ob-pill{min-height:44px;padding:0 var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-full);color:var(--ink);font-size:var(--text-sm);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);align-items:center;font-weight:500;display:inline-flex}.ob-pill:hover{background:var(--surface-subtle)}.ob-pill:has(:checked){background:var(--ink);border-color:var(--ink);color:var(--base)}.ob-pill:has(:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.ob-inline-action{margin-top:var(--space-5)}.ob-nav{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-6);display:flex}.ob-nav-single{justify-content:flex-end}.ob-nav .btn-primary:only-child{margin-left:auto}.ob-methods{gap:var(--space-2) var(--space-5);margin-top:var(--space-6);padding-top:var(--space-3);border-top:1px solid var(--border);flex-wrap:wrap;display:flex}@media (width<=520px){.ob h1{font-size:var(--text-2xl)}.ob-tones{gap:var(--space-2)}.ob-nav .btn-primary{flex:1}.ob-nav-single .btn-primary{width:100%}}.ob-picks-note{margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border-left:3px solid var(--accent);background:var(--surface-subtle);color:var(--ink-soft);font-size:var(--text-sm)}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}.nav[data-astro-cid-hkbrpulz]{height:var(--nav-height);padding:0 var(--space-6);z-index:100;background:var(--base);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.nav-logo[data-astro-cid-hkbrpulz]{min-width:44px;min-height:44px;font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:.01em;color:var(--ink);flex:none;align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.nav-logo[data-astro-cid-hkbrpulz]:after{content:".";color:var(--accent)}.nav-actions[data-astro-cid-hkbrpulz],.nav-links[data-astro-cid-hkbrpulz]{align-items:center;gap:var(--space-1);min-width:0;display:flex}.nav-links[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]{color:var(--ink-soft);font-size:var(--text-sm);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);transition:all var(--duration-fast) var(--ease-out);font-weight:500;text-decoration:none}.nav-links[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]:hover{color:var(--ink);background:var(--surface-subtle)}.nav-links[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz].active{color:var(--accent);background:var(--accent-soft)}.mobile-nav[data-astro-cid-hkbrpulz]{display:none}.main[data-astro-cid-hkbrpulz]{max-width:var(--max-width);padding:var(--space-6) var(--space-6) var(--space-20);min-height:calc(100vh - var(--nav-height));margin:0 auto}.site-footer[data-astro-cid-hkbrpulz]{max-width:var(--max-width);padding:var(--space-8) var(--space-6) var(--space-12);border-top:1px solid var(--border);align-items:center;gap:var(--space-5);flex-wrap:wrap;margin:0 auto;display:flex}.footer-brand[data-astro-cid-hkbrpulz]{align-items:baseline;gap:var(--space-3);display:flex}.footer-mark[data-astro-cid-hkbrpulz]{font-family:var(--font-display);font-size:var(--text-lg);color:var(--ink);font-weight:600}.footer-dot[data-astro-cid-hkbrpulz]{color:var(--accent)}.footer-nav[data-astro-cid-hkbrpulz]{gap:var(--space-4);flex-wrap:wrap;display:flex}.footer-nav[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]{min-width:44px;min-height:44px;color:var(--ink-muted);font-size:var(--text-sm);align-items:center;font-weight:500;display:inline-flex}.footer-nav[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]:hover{color:var(--accent)}.footer-note[data-astro-cid-hkbrpulz]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-muted);letter-spacing:.02em;margin-left:auto}@media (width<=768px){.footer-note[data-astro-cid-hkbrpulz]{flex-basis:100%;margin-left:0}.nav[data-astro-cid-hkbrpulz]{padding:0 var(--space-3);gap:var(--space-2);overflow:visible}.nav-actions[data-astro-cid-hkbrpulz]{flex:auto;justify-content:flex-end;gap:0;min-width:0}.nav-links[data-astro-cid-hkbrpulz]{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex:auto;gap:0;min-width:0;overflow-x:auto;mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000 100%)}.nav-links[data-astro-cid-hkbrpulz]::-webkit-scrollbar{display:none}.nav-links[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]{padding:var(--space-2) var(--space-2);min-height:44px;font-size:var(--text-xs);white-space:nowrap;align-items:center;display:inline-flex}.main[data-astro-cid-hkbrpulz]{padding:var(--space-4) var(--space-3) var(--space-16)}}@media (width<=620px){.nav-links[data-astro-cid-hkbrpulz]{display:none}.mobile-nav[data-astro-cid-hkbrpulz]{display:block;position:relative}.mobile-nav[data-astro-cid-hkbrpulz] summary[data-astro-cid-hkbrpulz]{min-height:44px;padding:var(--space-2) var(--space-3);color:var(--ink-soft);cursor:pointer;font-size:var(--text-xs);justify-content:center;align-items:center;font-weight:600;list-style:none;display:inline-flex}.mobile-nav[data-astro-cid-hkbrpulz] summary[data-astro-cid-hkbrpulz]::-webkit-details-marker{display:none}.mobile-nav[data-astro-cid-hkbrpulz][open] summary[data-astro-cid-hkbrpulz]{color:var(--accent);background:var(--accent-soft);border-radius:var(--radius-full)}.mobile-nav-panel[data-astro-cid-hkbrpulz]{top:calc(100% + var(--space-2));z-index:var(--z-sidebar);min-width:11rem;padding:var(--space-2);background:var(--surface-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-md);display:grid;position:absolute;right:0}.mobile-nav-panel[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]{padding:var(--space-3);color:var(--ink-soft);font-size:var(--text-sm);font-weight:600}.mobile-nav-panel[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]:hover,.mobile-nav-panel[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz].active{color:var(--accent);background:var(--accent-soft);border-radius:var(--radius-sm)}}.skip-link[data-astro-cid-hkbrpulz]{min-height:44px;left:var(--space-3);z-index:var(--z-toast);padding:var(--space-2) var(--space-4);background:var(--accent);color:var(--ink-on-accent);border-radius:var(--radius-full);transition:top var(--duration-fast) var(--ease-out);align-items:center;font-weight:600;text-decoration:none;display:inline-flex;position:absolute;top:-100px}.skip-link[data-astro-cid-hkbrpulz]:focus{top:var(--space-3)}
