:root{--bg:#f3f0e8;--surface:#fffcf8;--surface-2:#f7f4ee;--well:#f7f4ee;--text:#1d1d1f;--muted:#6e6e73;--accent:#245b8a;--accent-hover:#1d4e78;--border:#d2d2d7;--chip-bg:#e8e8ed;--chip-active:#1d1d1f;--chip-active-text:#f5f5f7;--banner-bg:#fff8e6;--banner-border:#e8d9a8;--banner-text:#5c4b1a;--radius:18px;--radius-sm:12px;--shadow:0 2px 12px rgba(0,0,0,.06);--font:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.wrap{width:min(1440px,calc(100% - 3rem));margin-inline:auto}.site-header{border-bottom:1px solid rgba(0,0,0,.08);background:rgba(255,252,248,.88);position:-webkit-sticky;position:sticky;top:0;z-index:10;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 0;flex-wrap:wrap}.brand{font-weight:600;letter-spacing:-.01em;color:var(--text);font-size:1.05rem}.brand:hover{text-decoration:none;opacity:.8}.nav{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem}.nav a{color:var(--muted);font-size:.875rem;font-weight:400}.nav a:hover{color:var(--text);text-decoration:none}main{padding-bottom:4rem;min-height:60vh}.page-intro{padding:2.75rem 0 1.25rem;text-align:center}.page-intro h1{margin:0 0 .5rem;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:600;letter-spacing:-.02em;line-height:1.15}.page-intro .subtitle{margin:0 auto;max-width:36rem;color:var(--muted);font-size:1.1rem;font-weight:400}.note-banner{background:var(--banner-bg);border:1px solid var(--banner-border);color:var(--banner-text);padding:.7rem 1rem;border-radius:var(--radius-sm);margin:0 auto 1.75rem;max-width:42rem;font-size:.85rem;text-align:center}.disclosure{margin:1.1rem auto 0;max-width:40rem;font-size:1rem;line-height:1.45;color:var(--text)}.category-browse{padding:.5rem 0 1.75rem}.category-browse-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.85rem}.category-browse-head h2{margin:0;font-size:clamp(1.35rem,2.5vw,1.75rem);font-weight:600;letter-spacing:-.02em}.category-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.75rem;gap:.75rem}@media (min-width:834px){.category-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}}.category-tile{display:flex;flex-direction:column;justify-content:flex-end;gap:.2rem;min-height:148px;padding:1.35rem;background:var(--surface);border-radius:22px;color:inherit;text-decoration:none;box-shadow:0 1px 2px rgba(60,48,28,.04),0 10px 28px rgba(60,48,28,.05)}.category-tile:hover{text-decoration:none;border-color:var(--accent)}.category-kicker{font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.category-tile strong{font-size:1.2rem;font-weight:600;letter-spacing:-.02em}.category-count{color:var(--muted);font-size:.85rem}.category-jump{margin-top:1.1rem}.category-jump .facet-label{margin:.65rem 0 .15rem}a.chip-link{display:inline-flex;align-items:center;color:var(--text);text-decoration:none}a.chip-link:hover{text-decoration:none;border-color:#b5b5ba}.crumb{margin:0 0 .85rem;font-size:.85rem}.crumb,.crumb a{color:var(--muted)}.sibling-row{margin-bottom:.5rem}.category-index{margin-top:2.75rem}.category-index h2{margin:0 0 1rem;font-size:1.35rem;font-weight:600;letter-spacing:-.02em}.category-cover-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1.15rem;gap:1.15rem}@media (min-width:834px){.category-cover-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.35rem}}@media (min-width:1069px){.category-cover-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}}.category-cover{display:flex;flex-direction:column;min-height:100%;background:var(--surface);border-radius:22px;overflow:hidden;color:inherit;box-shadow:0 1px 2px rgba(60,48,28,.04),0 10px 28px rgba(60,48,28,.05)}.category-cover,.category-cover:hover{text-decoration:none}.category-cover:hover strong{color:var(--accent)}.category-cover-body{display:flex;flex-direction:column;gap:.2rem;padding:.95rem 1.05rem 1.15rem}.category-cover-body strong{font-size:1.05rem;font-weight:600;letter-spacing:-.02em}.grid-disclosure{margin:.25rem 0 .75rem;font-size:.95rem;line-height:1.45;color:var(--text);text-align:center}.shop{padding-bottom:1rem}.shop-toolbar{padding:.35rem 0 1.35rem}.facet-stack{display:flex;flex-direction:column;gap:.7rem}.facet{display:grid;grid-template-columns:4.5rem minmax(0,1fr);grid-gap:.35rem .75rem;gap:.35rem .75rem;align-items:center}.facet-label{font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.chip-row{display:flex;flex-wrap:nowrap;gap:.4rem;overflow-x:auto;padding:.15rem .1rem .35rem;scrollbar-width:none}.chip-row::-webkit-scrollbar{display:none}.chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);cursor:pointer;font-family:inherit;font-size:.875rem;font-weight:500;min-height:44px;padding:.4rem .9rem;border-radius:9999px;background:var(--surface);color:var(--text);flex:0 0 auto}.chip:hover:not(:disabled){border-color:#b5b5ba}.chip.is-active,.chip[aria-pressed=true]{background:var(--chip-active);color:var(--chip-active-text);border-color:transparent}.chip:disabled{opacity:.38;cursor:default}.applied-chip:focus-visible,.btn:focus-visible,.chip:focus-visible,.filter-launch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chip-count{color:inherit;opacity:.7;font-weight:500}.applied-row{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin:.35rem 0 .75rem}.applied-chip,.applied-clear{-webkit-appearance:none;-moz-appearance:none;appearance:none;font-family:inherit;min-height:44px;border-radius:9999px;cursor:pointer}.applied-chip{border:1px solid var(--border);background:var(--surface);padding:.35rem .8rem;font-size:.85rem}.applied-clear{border:none;background:transparent;color:var(--accent);font-weight:600;padding:.35rem .5rem}.grid-meta{text-align:center;color:var(--muted);font-size:.85rem;margin:0 0 1.25rem}.empty-shop{text-align:center;padding:2rem 0 3rem}.empty-shop .btn{margin:.75rem 0}.product-section{padding:0 0 2.5rem}.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1.25rem;gap:1.25rem}@media (min-width:834px){.card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}}@media (min-width:1069px){.card-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.75rem}}.product-card{background:var(--surface);border-radius:22px;min-height:100%;overflow:hidden;box-shadow:0 1px 2px rgba(60,48,28,.04),0 10px 28px rgba(60,48,28,.05)}.product-card-link{display:flex;flex-direction:column;min-height:100%;color:inherit;height:100%}.product-card-link,.product-card-link:hover{text-decoration:none}.product-card-link:hover .product-title{color:var(--accent)}.product-card-body{display:flex;flex-direction:column;gap:.35rem;padding:1.05rem 1.15rem 1.25rem;flex:1 1}.product-thumb{position:relative;width:100%;aspect-ratio:1/1;background:var(--well);overflow:hidden}.product-thumb-img{object-fit:contain;padding:28px}.product-thumb-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--well);color:var(--muted);font-size:.8rem}.product-title{font-size:.95rem;font-weight:600;line-height:1.35;letter-spacing:-.015em;color:var(--text);-webkit-line-clamp:2;line-clamp:2;min-height:2.7em}.meta,.product-title{margin:0;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.meta{color:var(--muted);font-size:.8rem;-webkit-line-clamp:1;line-clamp:1}.dot{margin:0 .3rem}.price-stack{margin-top:.35rem}.price-line{margin:0;font-weight:600;font-size:1.05rem;letter-spacing:-.02em;color:var(--text)}.price-note{margin:0;color:var(--muted);font-size:.75rem;line-height:1.3}.btn{display:inline-block;margin-top:auto;align-self:flex-start;background:var(--accent);color:#fff;font-weight:500;font-size:.875rem;min-height:44px;line-height:1.2;padding:.7rem 1.1rem;border-radius:9999px;border:none;cursor:pointer;font-family:inherit}.btn,.btn:hover{text-decoration:none}.btn:hover{background:var(--accent-hover)}.badge{background:var(--chip-bg);color:var(--text);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;padding:.2rem .5rem;border-radius:6px;margin-bottom:.15rem}.badge,.category-tag{align-self:flex-start}.category-tag{font-size:.75rem;font-weight:500;margin:0}.category-tag,.muted{color:var(--muted)}.small{font-size:.85rem}.tiny{font-size:.75rem}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.guides-strip{padding:2.5rem 0 1rem;border-top:1px solid var(--border);margin-top:1rem}.guides-strip-inner{background:var(--surface);border:1px solid rgba(0,0,0,.06);border-radius:var(--radius);padding:1.75rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;box-shadow:var(--shadow)}.guides-strip h2{margin:0 0 .35rem;font-size:1.25rem;font-weight:600;letter-spacing:-.015em}.guides-strip p{margin:0;color:var(--muted);font-size:.95rem;max-width:28rem}.guides-strip .btn{margin-top:0;flex-shrink:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.filter-dock,.sheet-root{display:none}@media (max-width:833px){main{padding-bottom:6.5rem}.header-inner,.nav{flex-wrap:nowrap}.nav{overflow-x:auto;scrollbar-width:none;gap:.85rem}.nav::-webkit-scrollbar{display:none}.page-intro{padding:.85rem 0 .35rem}.page-intro h1{font-size:1.65rem;margin-bottom:.2rem}.page-intro .subtitle{font-size:.92rem}.page-intro .disclosure{display:none}.grid-disclosure{font-size:.75rem;line-height:1.35;margin:0 0 .35rem}.grid-meta{margin-bottom:.55rem}.category-browse{padding:.15rem 0 .55rem}.category-browse-head{margin-bottom:.45rem}.category-browse-head h2{font-size:1.15rem}.category-tiles{display:flex;flex-wrap:nowrap;gap:.6rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:.1rem}.category-tiles::-webkit-scrollbar{display:none}.category-tile{flex:0 0 9.25rem;min-height:92px;padding:.75rem .85rem;scroll-snap-align:start}.category-tile strong{font-size:1rem}.category-jump,.shop-toolbar,.sibling-row{display:none}.filter-dock{display:block;position:fixed;left:0;right:0;bottom:0;z-index:20;padding:.6rem 1rem calc(.6rem + env(safe-area-inset-bottom));background:hsla(0,0%,100%,.92);border-top:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.filter-launch{width:100%;min-height:48px;border:none;border-radius:9999px;background:var(--chip-active);color:var(--chip-active-text);font-family:inherit;font-size:.95rem;font-weight:600;cursor:pointer}.sheet-root{display:block;position:fixed;inset:0;z-index:40}.sheet-backdrop{position:absolute;inset:0;border:none;background:rgba(0,0,0,.4);cursor:pointer}.sheet{position:absolute;left:0;right:0;bottom:0;max-height:min(86vh,760px);background:#fff;border-radius:18px 18px 0 0;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom)}.sheet-foot,.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem}.sheet-head{border-bottom:1px solid var(--border)}.sheet-head h2{margin:0;font-size:1.05rem}.sheet-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;font-family:inherit;font-weight:600;min-height:44px;color:var(--accent);cursor:pointer}.sheet-body{overflow:auto;padding:.75rem 1rem 1rem}.sheet-foot{border-top:1px solid var(--border)}.sheet-foot .btn{margin-top:0}}.skeleton-block,.skeleton-line{background:linear-gradient(90deg,#ececf0,#f7f7f9 50%,#ececf0);background-size:200% 100%;animation:skeleton 1.2s ease-in-out infinite}.skeleton-line{height:.8rem;border-radius:6px;margin-top:.45rem}.skeleton-line.short{width:70%}.skeleton-line.shorter{width:42%}@keyframes skeleton{0%{background-position:100% 0}to{background-position:-100% 0}}.page{padding:2.5rem 0}.page h1{margin-top:0;font-weight:600;letter-spacing:-.02em;font-size:clamp(1.75rem,3.5vw,2.25rem)}.page h2{font-weight:600;letter-spacing:-.015em;margin-top:1.75rem}.prose{max-width:42rem}.prose li,.prose p{color:var(--muted)}.prose strong{color:var(--text)}.compare-table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;box-shadow:var(--shadow)}.compare-table td,.compare-table th{text-align:left;padding:.85rem 1rem;border-bottom:1px solid var(--border);vertical-align:top}.compare-table th{background:var(--surface-2);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600}.compare-table tr:last-child td{border-bottom:none}.example-tag{color:#b45309;font-weight:700;font-size:.7rem;letter-spacing:.04em}.guide-list{list-style:none;padding:0;margin:1.25rem 0 0}.guide-list li{background:var(--surface);border:1px solid rgba(0,0,0,.06);border-radius:var(--radius-sm);padding:1.15rem 1.25rem;margin-bottom:.75rem;box-shadow:var(--shadow)}.guide-list a{font-weight:600;color:var(--text)}.guide-list a:hover{color:var(--accent)}.shelf{padding:1.5rem 0}.shelf h2{margin:0 0 1rem;font-size:1.35rem;font-weight:600;letter-spacing:-.015em}.site-footer{border-top:1px solid var(--border);padding:2.5rem 0;background:#ebe6dc}.footer-inner p{margin:.35rem 0;font-size:.875rem}.footer-links{margin-top:.85rem!important}.footer-links a{color:var(--muted)}.footer-links a:hover{color:var(--accent)}