:root{--bg: #f5efe4;--bg-elevated: #fbf6ec;--surface: #ffffff;--ink: #1a1614;--ink-soft: #4a4339;--ink-muted: #8a8175;--line: #e2d9c8;--line-soft: #ece2d0;--accent: #8b3a1d;--accent-soft: #c1693f;--sale: #b3261e;--positive: #2b6045;--font-display: "Fraunces", Georgia, "Times New Roman", serif;--font-body: "Geist", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--radius: 2px;--radius-card: 6px;--header-h: 64px;--tabs-h: 52px;--ease: cubic-bezier(.2, .6, .2, 1)}*,*:before,*:after{box-sizing:border-box}html{margin:0;padding:0}body{margin:0;padding:0;font-family:var(--font-body);font-size:15px;line-height:1.5;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}img{display:block;max-width:100%;height:auto}button{font-family:inherit;cursor:pointer;background:transparent;border:0;color:inherit;padding:0}a{color:inherit;text-decoration:none}input{font-family:inherit}.display{font-family:var(--font-display);font-weight:400;font-style:italic;letter-spacing:-.01em;font-variation-settings:"opsz" 96}.eyebrow{font-family:var(--font-body);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.18em;color:var(--ink-muted)}.app{min-height:100dvh;padding-bottom:env(safe-area-inset-bottom)}.shell{max-width:1280px;margin:0 auto;padding:0 16px}@media (min-width: 600px){.shell{padding:0 24px}}.header{position:sticky;top:0;z-index:30;background:#f5efe4eb;backdrop-filter:saturate(140%) blur(14px);-webkit-backdrop-filter:saturate(140%) blur(14px);border-bottom:1px solid var(--line)}.header-row{height:var(--header-h);display:flex;align-items:baseline;justify-content:space-between;gap:16px;min-width:0}.brand{min-width:0;flex-shrink:1}.refresh-meta{flex-shrink:0}.brand{display:flex;align-items:baseline;gap:10px}.brand-mark{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:28px;color:var(--ink);font-variation-settings:"opsz" 144}.brand-sub{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-muted)}.refresh-meta{font-size:11px;letter-spacing:.05em;color:var(--ink-muted);text-align:right}.refresh-meta strong{color:var(--ink-soft);font-weight:500}.tabs{top:var(--header-h);z-index:20;background:var(--bg);border-bottom:1px solid var(--line);position:sticky;-webkit-mask-image:linear-gradient(to right,black calc(100% - 24px),transparent);mask-image:linear-gradient(to right,black calc(100% - 24px),transparent)}@media (min-width: 600px){.tabs{-webkit-mask-image:none;mask-image:none}}.tabs-row{display:flex;gap:24px;height:var(--tabs-h);align-items:center;overflow-x:auto;scrollbar-width:none}.tabs-row::-webkit-scrollbar{display:none}.tab{position:relative;white-space:nowrap;font-size:13px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);padding:4px 0;transition:color .18s var(--ease)}.tab:hover{color:var(--ink-soft)}.tab.active{color:var(--ink)}.tab.active:after{content:"";position:absolute;left:0;right:0;bottom:-16px;height:1px;background:var(--ink)}.tab-count{margin-left:6px;font-family:var(--font-display);font-style:italic;font-size:12px;color:var(--accent)}.content{padding-top:32px;padding-bottom:64px}.page-head{margin-bottom:28px}.page-title{font-family:var(--font-display);font-size:clamp(28px,7vw,52px);line-height:1;font-weight:400;margin:8px 0 6px;letter-spacing:-.02em;font-variation-settings:"opsz" 144;word-wrap:break-word;overflow-wrap:break-word}.page-title em{font-style:italic;color:var(--accent)}.page-sub{color:var(--ink-soft);font-size:14px;max-width:60ch}.filter-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px;align-items:center}.search{flex:1 1 220px;display:flex;align-items:center;gap:8px;background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;transition:border-color .15s var(--ease)}.search:focus-within{border-color:var(--ink-soft)}.search input{flex:1;border:0;background:transparent;outline:none;font-size:14px;color:var(--ink)}.search input::placeholder{color:var(--ink-muted)}.chip{font-size:12px;letter-spacing:.04em;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elevated);color:var(--ink-soft);transition:all .15s var(--ease)}.chip:hover{border-color:var(--ink-soft);color:var(--ink)}.chip.active{background:var(--ink);color:var(--bg);border-color:var(--ink)}.chip-count{margin-left:6px;font-family:var(--font-display);font-style:italic;opacity:.6}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media (min-width: 600px){.grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s var(--ease),border-color .2s var(--ease);position:relative}.card:hover{border-color:var(--ink-soft);transform:translateY(-2px)}.card-img{aspect-ratio:1 / 1;background:var(--bg-elevated);overflow:hidden;position:relative}@media (min-width: 600px){.card-img{aspect-ratio:4 / 5}}.card-img img{width:100%;height:100%;object-fit:contain;padding:12px;transition:transform .4s var(--ease);background:#fff}.card:hover .card-img img{transform:scale(1.04)}.card-img.empty{display:flex;align-items:center;justify-content:center;color:var(--ink-muted);font-family:var(--font-display);font-style:italic;font-size:36px}.badge{position:absolute;top:10px;left:10px;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border-radius:2px;background:var(--ink);color:var(--bg)}.badge.sale{background:var(--sale)}.badge.new{background:var(--accent)}.badge.hike{background:var(--ink-soft);color:var(--bg)}.badge.oos{background:var(--bg);color:var(--ink-soft);border:1px solid var(--line)}.card-body{padding:10px 12px 12px;display:flex;flex-direction:column;gap:4px;flex:1}@media (min-width: 600px){.card-body{padding:14px 14px 16px;gap:6px}}.card-brand{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-muted)}.card-title{font-family:var(--font-display);font-weight:400;font-size:14px;line-height:1.25;margin:0;color:var(--ink);font-variation-settings:"opsz" 36;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media (min-width: 600px){.card-title{font-size:16px}}.card-meta{font-size:11px;color:var(--ink-muted);letter-spacing:.04em;display:flex;gap:6px;flex-wrap:wrap}.card-meta span:not(:last-child):after{content:"·";margin-left:6px;opacity:.6}.card-price{margin-top:auto;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;padding-top:8px}.price-now{font-family:var(--font-display);font-size:18px;font-weight:500;color:var(--ink);font-variation-settings:"opsz" 36}.price-now.sale{color:var(--sale)}.price-old{font-size:13px;color:var(--ink-muted);text-decoration:line-through}.price-pct{font-size:11px;letter-spacing:.06em;color:var(--sale);font-weight:600}.card-site{font-size:11px;letter-spacing:.06em;color:var(--ink-muted);border-top:1px solid var(--line-soft);padding-top:10px;margin-top:4px;display:flex;justify-content:space-between;align-items:center}.notice{text-align:center;padding:64px 20px;color:var(--ink-soft)}.notice-title{font-family:var(--font-display);font-style:italic;font-size:28px;color:var(--ink);margin-bottom:8px;font-variation-settings:"opsz" 96}.notice-body{max-width:50ch;margin:0 auto;line-height:1.5}.notice code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--bg-elevated);padding:2px 6px;border-radius:3px;font-size:.9em}.site-list{display:grid;gap:12px}.site-row{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);gap:16px}.site-name{font-family:var(--font-display);font-style:italic;font-size:20px;color:var(--ink);font-variation-settings:"opsz" 36}.site-meta{font-size:12px;color:var(--ink-muted);letter-spacing:.02em;margin-top:2px}.site-stat{font-family:var(--font-display);font-size:22px;color:var(--ink);text-align:right;font-variation-settings:"opsz" 36}.site-stat-label{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--ink-muted)}.change-marker{font-family:var(--font-display);font-style:italic;font-size:14px;color:var(--accent);margin-right:4px}@keyframes fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.card{animation:fade-up .4s var(--ease) both}
