*{box-sizing:border-box}html{scroll-behavior:smooth}:root{--bg:#666b6e;--surface:#faf7f1;--surface-soft:#eee8e5;--ink:#2d2b2a;--muted:#68615d;--line:#d8cdca;--line-strong:#c8bab8;--accent:#b65f45;--accent-dark:#88442f;--accent-soft:#ead9d1;--footer:#241e22;--footer-line:#42363d;--radius:14px;--shadow:0 18px 42px rgba(24,27,28,.14);--shell:min(1440px,calc(100% - 48px));--site-row-height:50px}body{margin:0;color:var(--ink);background:#666b6e;background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.018) 0,rgba(255,255,255,.018) 8px,rgba(37,41,43,.16) 8px,rgba(37,41,43,.16) 9px,rgba(255,255,255,.025) 9px,rgba(255,255,255,.025) 18px);font-family:var(--font-body,system-ui,sans-serif);font-size:16px;line-height:1.68;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}button,input{font:inherit}.shell{width:var(--shell);margin-inline:auto}.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}.eyebrow{margin:0 0 8px;color:var(--accent-dark);font-size:.74rem;font-weight:650}.site-header{position:relative;z-index:100;background:rgba(248,245,239,.985);border-bottom:1px solid rgba(50,46,43,.16);box-shadow:0 10px 26px rgba(31,34,35,.13)}.header-inner{min-height:94px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:24px}.brand{display:inline-flex;justify-self:start;align-items:center;gap:12px}.brand-copy strong{color:#282624;font-size:1.3rem;font-weight:700;letter-spacing:-.025em}.logo-mark{display:block}.header-nav{justify-self:center;display:flex;align-items:center;gap:4px}.header-nav>a{padding:7px 11px;border-radius:8px;font-size:.92rem;font-weight:550}.header-nav>a:hover{background:#f4eaed}.header-search{justify-self:end;display:grid;width:min(400px,30vw);min-height:46px;grid-template-columns:22px minmax(0,1fr) auto;gap:8px;align-items:center;padding:4px 4px 4px 14px;background:#ece7df;border:1px solid rgba(50,46,43,.16);border-radius:12px}.header-search svg{width:19px;height:19px;color:#8a7b80;fill:none;stroke:currentColor;stroke-width:1.8}.header-search input{min-width:0;padding:8px 3px;background:transparent;border:0;outline:0}.header-search button,.directory-search button{align-self:stretch;padding:7px 18px;color:#fff;background:var(--accent);border:0;border-radius:9px;font-weight:650;cursor:pointer}.directory-browser{padding:0}.directory-browser>.shell,.page-shell{background:#ded7ce;border:1px solid rgba(46,42,40,.18);border-radius:22px;box-shadow:0 26px 68px rgba(24,27,28,.20)}.directory-browser>.shell{padding:20px 22px 56px}.directory-sections{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:stretch}.category-section{display:flex;min-width:0;min-height:354px;flex-direction:column;background:var(--tone-card,#fff8fa);border:1px solid color-mix(in srgb,var(--tone,#9d3f59) 44%,#c9c4bf);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;transition:.2s}.category-section:hover{border-color:var(--tone);transform:translateY(-1px)}.category-heading{position:relative;display:flex;min-height:76px;align-items:center;justify-content:center;padding:15px 17px;background:linear-gradient(135deg,var(--tone-soft,#ead9dd),#fff);border-top:5px solid var(--tone,#9d3f59);border-bottom:1px solid var(--line)}.category-title-copy{width:100%;min-width:0;padding-inline:48px}.category-heading h2{margin:0;color:var(--tone-deep,#762f44);font-size:1.08rem;font-weight:500;text-align:center;line-height:1.26}.category-icon{display:grid;width:40px;height:40px;place-items:center;color:#fff;background:var(--tone-deep,#762f44);border-radius:11px}.category-heading>.category-icon{position:absolute;inset-inline-start:17px}.category-svg{width:21px;height:21px}.section-description{margin:0;padding:14px 16px;color:var(--muted);background:color-mix(in srgb,var(--tone,#9d3f59) 7%,#fff);font-size:.93rem;font-weight:400;line-height:1.6}.section-description-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;min-block-size:3.2em;max-block-size:3.2em;overflow:hidden;overflow-wrap:anywhere}.site-list{border-top:1px solid var(--line);max-height:calc(8 * var(--site-row-height) + 1px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.site-card{background:var(--surface);border-bottom:1px solid var(--line)}.site-card-compact{display:block;padding:0}.site-card-compact .site-name-line{display:grid;grid-template-columns:24px 28px minmax(0,1fr) auto;column-gap:8px;align-items:center;min-height:var(--site-row-height);padding-inline:12px}.site-card-compact:hover .site-name-line{background:color-mix(in srgb,var(--tone,#9d3f59) 13%,#fff)}.site-rank{color:var(--muted);font-size:.68rem;font-weight:400;font-variant-numeric:tabular-nums}.logo-cell{display:grid;width:28px;height:28px;place-items:center}.site-card-favicon{width:28px;height:28px;object-fit:contain;border-radius:6px;background:#fff}.logo-fallback{display:grid;width:var(--logo-size,28px);height:var(--logo-size,28px);place-items:center;color:#fff;background:linear-gradient(145deg,#a24860,#7d3249);border-radius:6px;font-size:calc(var(--logo-size,28px)*.58);font-weight:700}.site-name-link{display:flex;min-width:0;align-items:center;color:var(--ink);font-size:.94rem;font-weight:400}.site-name-text{display:block;font-weight:inherit;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-review-link{display:grid;width:30px;height:30px;place-items:center;color:var(--tone-deep);border:1px solid color-mix(in srgb,var(--tone) 30%,#fff);border-radius:50%}.see-all-link{display:inline-flex;align-items:center;align-self:stretch;justify-content:center;min-height:50px;padding:10px 14px;margin-top:auto;color:var(--tone-deep,#762f44);background:color-mix(in srgb,var(--tone,#9d3f59) 9%,#fff);border-top:1px solid var(--line);font-size:.88rem;font-weight:500}.see-all-link:hover{color:#fff;background:var(--tone-deep,#762f44)}[data-tone=wine]{--tone:#8f3651;--tone-deep:#642038;--tone-soft:#f1dce4;--tone-card:#fff8fa}[data-tone=rose]{--tone:#c13d72;--tone-deep:#84274d;--tone-soft:#f7dbe6;--tone-card:#fff8fb}[data-tone=violet]{--tone:#7047d8;--tone-deep:#4a2da1;--tone-soft:#e8e0fb;--tone-card:#fbf9ff}[data-tone=indigo]{--tone:#4f5fc0;--tone-deep:#34418f;--tone-soft:#e0e5f8;--tone-card:#f8f9ff}[data-tone=gold]{--tone:#a66a14;--tone-deep:#71480c;--tone-soft:#f3e5c7;--tone-card:#fffaf0}[data-tone=teal]{--tone:#22847f;--tone-deep:#145c58;--tone-soft:#d7eeeb;--tone-card:#f6fdfc}[data-tone=amber]{--tone:#c46a22;--tone-deep:#854310;--tone-soft:#f7e2cf;--tone-card:#fff9f4}[data-tone=blue]{--tone:#326db8;--tone-deep:#214d87;--tone-soft:#dce9f8;--tone-card:#f7fbff}[data-tone=cyan]{--tone:#258da8;--tone-deep:#176277;--tone-soft:#d9f0f5;--tone-card:#f6fdff}[data-tone=emerald]{--tone:#35835b;--tone-deep:#245d41;--tone-soft:#dceee4;--tone-card:#f7fcf9}[data-tone=plum]{--tone:#9544a8;--tone-deep:#672b78;--tone-soft:#efddf2;--tone-card:#fff8ff}[data-tone=coral]{--tone:#c34e43;--tone-deep:#87352e;--tone-soft:#f5ddd9;--tone-card:#fff8f7}[data-tone=slate]{--tone:#586b7b;--tone-deep:#394957;--tone-soft:#e1e7eb;--tone-card:#f9fbfc}[data-tone=olive]{--tone:#788245;--tone-deep:#535a30;--tone-soft:#e6ead7;--tone-card:#fbfcf6}.page-shell{min-height:65vh;padding:20px 22px 56px;margin-block:28px 64px}.page-header{max-width:960px;margin-inline:auto;padding:32px 0 26px}.page-header h1,.category-page-header h1{margin:0 0 13px;font-size:clamp(2rem,4vw,3.25rem);line-height:1.08}.page-header p:last-child,.category-page-header p:last-child{margin:0;color:var(--muted)}.category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius)}.category-tile{position:relative;display:flex;min-height:178px;flex-direction:column;gap:12px;padding:20px;background:var(--surface);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.category-tile h2{margin:0;font-size:1.15rem}.category-tile p{margin:0;color:var(--muted);font-size:.91rem}.tile-arrow{position:absolute;right:18px;top:16px;color:var(--accent)}.category-page-header{display:grid;grid-template-columns:72px minmax(0,1fr);gap:20px;align-items:start;padding:28px 6px 24px}.category-icon-large{width:72px;height:72px}.ranked-list{overflow:hidden;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius)}.ranked-list .site-card{display:grid;grid-template-columns:44px 46px minmax(0,1fr);gap:14px;align-items:center;padding:17px 20px}.ranked-list .site-logo{display:grid;width:46px;height:46px;place-items:center;color:#fff;background:#7d3249;border-radius:10px}.ranked-list img.site-logo{object-fit:contain;background:#fff}.site-card-body p{margin:5px 0 0;color:var(--muted);font-size:.9rem}.empty-state{padding:55px;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.reviews-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:center;padding:30px 34px;background:linear-gradient(135deg,#fdf9f7,#f3e3e7);border:1px solid #e4ccd3;border-radius:18px}.reviews-header h1{margin:0 0 10px;font-size:clamp(1.9rem,3.4vw,2.7rem)}.reviews-header p{margin:0;color:var(--muted)}.reviews-total{display:flex;flex-direction:column;align-items:center;min-width:128px;padding:18px 26px;background:#fff;border:1px solid #e4ccd3;border-radius:14px}.reviews-total strong{color:var(--accent-dark);font-size:2rem}.reviews-total span{font-size:.72rem}.directory-search{max-width:780px;padding:21px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.directory-search label{display:block;margin-bottom:8px;font-weight:650}.directory-search>div{display:flex;gap:7px}.directory-search input{min-width:0;flex:1;padding:12px 14px;background:#eee8e5;border:1px solid var(--line);border-radius:8px}.search-status{margin:24px 0 14px;color:var(--muted)}.search-results{display:grid;gap:8px}.search-result{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:18px 20px;background:var(--surface);border:1px solid var(--line);border-radius:11px}.search-result h2{margin:0}.button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 15px;border-radius:8px;font-weight:650}.button-primary{color:#fff;background:var(--accent)}.prose-card{max-width:960px;margin-inline:auto;padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.site-footer{padding:48px 0 24px;color:#f7f3f1;background:var(--footer);border-top:1px solid #251e24}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr .9fr;gap:45px}.footer-brand{color:#fff;font-size:1.3rem;font-weight:650}.footer-grid p{max-width:420px;color:#b9adb1;font-size:.96rem}.footer-notice{color:#93878c!important;font-size:.84rem!important}.footer-grid nav{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.footer-grid nav strong{margin-bottom:6px;color:#fff}.footer-grid nav a{color:#b9adb1;font-size:.93rem}.footer-bottom{padding-top:20px;margin-top:40px;color:#93878c;border-top:1px solid var(--footer-line);font-size:.84rem}.back-to-top{position:fixed;z-index:80;right:20px;bottom:20px;width:47px;height:47px;padding:0;color:var(--accent);background:var(--surface);border:1px solid var(--line);border-radius:50%;box-shadow:0 8px 24px rgba(58,39,47,.16);opacity:0;pointer-events:none;transform:translateY(12px);transition:.2s;cursor:pointer}.back-to-top[data-visible]{opacity:1;pointer-events:auto;transform:none}.back-to-top svg{width:100%;height:100%}.back-to-top circle{fill:none;stroke:currentColor;stroke-width:2;stroke-dasharray:119.4;stroke-dashoffset:119.4;transform:rotate(-90deg);transform-origin:50% 50%}.back-to-top path{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}@media(max-width:1050px){.directory-sections,.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1020px){.header-inner{display:flex;flex-wrap:wrap;gap:10px 18px}.header-nav{order:3;width:100%;justify-content:flex-start}.header-search{margin-left:auto;width:min(470px,48vw)}}@media(max-width:700px){:root{--shell:min(100% - 24px,1440px)}.directory-browser>.shell,.page-shell{padding:14px;border-radius:16px}.directory-sections,.category-grid{grid-template-columns:1fr}.category-section{min-height:0}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand-col{grid-column:1/-1}.reviews-header{grid-template-columns:1fr;gap:16px;padding:22px 18px}.directory-search>div{display:grid}}@media(max-width:430px){.header-inner{align-items:stretch;flex-direction:column}.header-search{width:100%;margin:0}.header-nav{order:3;overflow-x:auto}.footer-grid{grid-template-columns:1fr}.footer-brand-col{grid-column:auto}.category-title-copy{padding-inline:44px}}

/* Consistent row states; category accents stay in the heading and borders. */
.site-card-compact .site-name-line{color:var(--ink);background:var(--surface)}
.site-name-link:link,.site-name-link:visited,.site-name-link:hover,.site-name-link:focus-visible{color:var(--ink)}
.site-card-compact:hover .site-name-line,.site-card-compact:focus-within .site-name-line{color:var(--ink);background:var(--surface-soft)}
.site-name-link:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:2px}
.compact-review-link{color:var(--ink);background:var(--surface);border-color:var(--line-strong)}
.compact-review-link:hover,.compact-review-link:focus-visible{color:var(--ink);background:var(--surface-soft)}
.site-icon-sprite{display:block;overflow:hidden;border-radius:6px;flex:none}
.logo-cell .site-icon-sprite{width:28px;height:28px}
.ranked-list .site-icon-sprite.site-logo{width:46px;height:46px;background:transparent;border:0}

/* ==== Card vs site-row background separation (mirrors shenshidh design) ==== */
.category-section{background:color-mix(in srgb,var(--tone,#9d3f59) 11%,#ffffff)}
.category-section .site-name-line,.category-section .site-card-compact .site-name-line{
  background:color-mix(in srgb,var(--tone,#9d3f59) 3%,#ffffff);
  border-bottom:1px solid color-mix(in srgb,var(--tone,#9d3f59) 12%,#ece7e2);
  color:var(--ink);
}
.category-section .site-card-compact:hover .site-name-line,
.category-section .site-card-compact:focus-within .site-name-line{
  background:color-mix(in srgb,var(--tone,#9d3f59) 10%,#ffffff);
  color:var(--ink);
}
.category-section .section-description{
  background:color-mix(in srgb,var(--tone,#9d3f59) 6%,#ffffff);
  color:var(--muted);
}

/* ---- 搜索页（与 AdultRankly 参考实现一致） ---- */
.search-page .page-header { max-width: 720px; }
.search-status { margin: 26px 0 16px; color: var(--muted); font-weight: 600; letter-spacing: 0.01em; }
.search-results { gap: 16px; max-width: none; }
.search-result {
  position: relative;
  display: grid;
  grid-template-columns: 232px minmax(0, 1fr) auto;
  gap: 20px;
  align-items: center;
  padding: 16px 22px 16px 16px;
  border-radius: 16px;
  transition: box-shadow .22s ease, border-color .22s ease, transform .22s ease, background .22s ease;
}
.search-result:hover {
  border-color: #c9a3ae;
  box-shadow: 0 18px 40px rgba(57, 42, 49, 0.12);
  transform: translateY(-2px);
}
/* Screenshot frame: layered frame + soft depth */
.search-result-visual {
  position: relative;
  display: grid;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #e6d7dc;
  background: #fff;
  aspect-ratio: 16 / 9;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4), 0 2px 8px rgba(57, 42, 49, 0.06);
  transition: box-shadow .22s ease;
}
.search-result:hover .search-result-visual {
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4), 0 6px 16px rgba(57, 42, 49, 0.10);
}
.search-result-shot {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
}
.search-result-shot-empty {
  display: grid;
  place-items: center;
  background:
    radial-gradient(120% 90% at 20% 0%, rgba(255, 255, 255, 0.75) 0%, rgba(255, 255, 255, 0) 55%),
    linear-gradient(135deg, #f3e6eb 0%, #e9d6dd 58%, #e2c9d2 100%);
}
.search-result-shot-empty strong {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 4px 12px rgba(57, 42, 49, 0.10);
  color: #a06e7e;
  font-size: 1.5rem;
  font-weight: 760;
  letter-spacing: -0.02em;
}
.search-result-main { min-width: 0; }
.search-result-titleline {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-bottom: 7px;
}
.search-result-logo {
  flex: none;
  border-radius: 9px;
  box-shadow: 0 1px 4px rgba(57, 42, 49, 0.10);
}
.search-result-letter {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 9px;
  background: linear-gradient(145deg, #f6edf0, #ecdbe1);
  box-shadow: 0 1px 4px rgba(57, 42, 49, 0.10);
  color: #96707e;
  font-weight: 720;
  font-size: 1.1rem;
}
.search-result-title { margin: 0; font-size: 1.18rem; letter-spacing: -0.014em; }
.search-result-titleline .price-chip { flex: none; }
.search-result-main p {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0 0 8px;
  color: var(--muted);
  font-size: 0.94rem;
  line-height: 1.5;
}
.search-result-main small {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 999px;
  background: #f6eef1;
  color: #94757f;
  font-size: 0.78rem;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.search-result-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 138px;
}
.search-result-actions .button { justify-content: center; text-align: center; }
@media (max-width: 900px) {
  .search-result { grid-template-columns: 168px minmax(0, 1fr); gap: 15px; }
  .search-result-actions {
    grid-column: 1 / -1;
    flex-direction: row;
    min-width: 0;
  }
  .search-result-actions .button { flex: 1; }
}
@media (max-width: 560px) {
  .search-result { grid-template-columns: 1fr; gap: 13px; padding: 14px; }
  .search-result-visual { max-height: 180px; }
  .search-result-titleline { flex-wrap: wrap; }
}

.button-outline { color: var(--link); background: transparent; border-color: #68585f; }

:root{
  --ink-soft: var(--muted);
  --link: var(--accent-dark);
  --page-light-text: var(--surface);
  --page-muted-text: var(--muted);
  --premium-line: var(--line-strong);
  --reference-ink: var(--ink);
  --reference-line: var(--line);
  --reference-panel-bright: var(--surface);
  --text-line-height: 1.66;
}
/* 网站大全页所需规则（自参考站样式抽取，供瘦骨架站点复用） */
.review-mini {
  border-radius: 999px;
  text-transform: none;
  letter-spacing: 0;
  background: rgba(255, 255, 255, 0.58);
  border-color: color-mix(in srgb, var(--tone) 44%, #ffffff);
  color: var(--tone-deep);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.25);
  transition:
    color .2s ease,
    background-color .2s ease,
    border-color .2s ease,
    box-shadow .2s ease,
    transform .2s cubic-bezier(.2, .72, .3, 1);
}
.review-mini:hover {
  color: #fff;
  background: var(--tone);
  border-color: var(--tone);
  box-shadow: 0 7px 18px color-mix(in srgb, var(--tone) 24%, transparent);
  transform: translateY(-1px);
}
.review-mini:active {
  transform: translateY(0);
  box-shadow: 0 2px 8px color-mix(in srgb, var(--tone) 18%, transparent);
  transition-duration: .1s;
}
.breadcrumbs,
.breadcrumbs a,
.page-header > p,
.reviews-header p,
.reviews-toolbar > p,
.review-taxonomy .eyebrow {
  color: var(--page-muted-text);
}
.page-header h1,
.reviews-header h1,
.page-shell > .section-heading h2,
.review-visual-page > .section-heading h2 {
  color: var(--page-light-text);
}
.review-mini {
  display: inline-flex;
  min-height: 26px;
  align-items: center;
  padding: 2px 7px;
  color: var(--accent-dark);
  background: var(--surface);
  border: 1px solid #c88f9f;
  border-radius: 4px;
  font-size: 0.72rem;
  font-weight: 650;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}
.review-mini:hover { color: #fff; background: var(--accent); border-color: var(--accent); }
.reviews-header {
  display: grid;
  align-items: center;
}
.reviews-header h1 {
  margin: 0 0 10px;
  color: var(--ink);
  font-size: clamp(2.15rem, 4vw, 3.25rem);
  font-weight: 650;
  line-height: 1.08;
  letter-spacing: -0.045em;
}
.reviews-header-copy > p:last-child { max-width: 680px; margin: 0; color: var(--muted); font-size: 1rem; }
.reviews-total {
  display: flex;
  min-width: 108px;
  flex-direction: column;
  align-items: flex-end;
  padding: 15px 18px;
  background: var(--accent-soft);
  border: 1px solid #cfafb7;
  border-radius: 12px;
}
.reviews-total strong { color: var(--accent-dark); font-size: 1.65rem; line-height: 1; }
.reviews-total span { margin-top: 5px; color: var(--muted); font-size: 0.75rem; letter-spacing: 0.06em; text-transform: uppercase; }
.reviews-toolbar {
  display: flex;
  min-height: 64px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 10px 12px 10px 18px;
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-radius: 12px 12px 0 0;
}
.reviews-toolbar > p { margin: 0; color: var(--muted); font-size: 0.88rem; }
.reviews-toolbar label { display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: 0.82rem; }
.reviews-toolbar select {
  min-width: 176px;
  padding: 9px 34px 9px 11px;
  color: var(--ink);
  background: var(--surface);
  border: 1px solid var(--line-strong);
  border-radius: 9px;
  font: inherit;
  font-weight: 650;
}
.reviews-list {
  padding: 0;
  margin: 0;
  overflow: hidden;
  background: var(--surface);
  border: 1px solid var(--line);
  border-top: 0;
  border-radius: 0 0 var(--radius) var(--radius);
  box-shadow: var(--shadow);
  list-style: none;
}
.review-directory-item {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  padding: 23px 24px;
  border-bottom: 1px solid var(--line);
}
.review-directory-item:last-child { border-bottom: 0; }
.review-directory-item:hover { background: #f1e9e7; }
.review-directory-index {
  color: #8c7d82;
  font-size: 0.8rem;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
}
.review-directory-content { min-width: 0; }
.review-directory-title { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; }
.review-directory-title h2 { margin: 0; font-size: 1.12rem; line-height: 1.3; letter-spacing: -0.018em; }
.review-directory-title h2 a:hover { color: var(--accent-dark); }
.review-directory-content > p { max-width: 740px; margin: 6px 0 10px; color: var(--muted); font-size: 0.9rem; line-height: 1.55; }
.review-directory-meta { display: flex; flex-wrap: wrap; gap: 5px; }
.review-directory-meta span {
  padding: 3px 7px;
  color: #5f5358;
  background: #e8e0de;
  border-radius: 6px;
  font-size: 0.7rem;
}
.review-directory-actions { display: flex; gap: 8px; }
.review-directory-actions .button { min-height: 42px; padding: 8px 13px; font-size: 0.84rem; white-space: nowrap; }
.reviews-pagination {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 20px;
  margin-top: 24px;
}
.reviews-pagination > div { display: flex; gap: 6px; }
.reviews-pagination > div a {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  color: var(--ink-soft);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 9px;
  font-size: 0.86rem;
  font-weight: 650;
}
.reviews-pagination > div a[aria-current="page"] { color: #fff; background: var(--accent); border-color: var(--accent); }
.pagination-direction { color: var(--accent-dark); font-size: 0.88rem; font-weight: 650; }
.reviews-pagination > .pagination-direction:last-child { justify-self: end; }
.pagination-direction.is-disabled { color: #9c9094; }
.breadcrumbs,
.breadcrumbs a,
.page-header > p,
.reviews-header p,
.reviews-toolbar > p,
.review-taxonomy .eyebrow {
  color: #675c61;
}
.page-header h1,
.reviews-header h1,
.page-shell > .section-heading h2,
.review-visual-page > .section-heading h2 {
  color: var(--ink);
}
.category-page-header,
.prose-card,
.reviews-header,
.reviews-toolbar,
.review-directory-item,
.empty-state {
  border-color: var(--premium-line);
}
.breadcrumbs,
.breadcrumbs a,
.page-header > p,
.reviews-header p,
.reviews-toolbar > p,
.category-page-header > div > p:last-child {
  color: #5f5459;
}
.page-header h1,
.reviews-header h1,
.category-page-header h1,
.page-shell > .section-heading h2,
.review-visual-page > .section-heading h2 {
  color: #2f292d;
}
.category-section,
.site-card,
.category-page-header,
.reviews-header,
.reviews-toolbar,
.review-directory-item,
.prose-card,
.empty-state,
.review-simple-identity,
.review-detail-panel,
.review-overview-card,
.related-visual-card,
.directory-search,
.search-result,
.method-grid section,
.ranked-list {
  background: var(--reference-panel-bright);
  border-color: var(--reference-line);
}
.category-section,
.category-page-header,
.reviews-header,
.review-simple-identity,
.review-overview-card,
.prose-card,
.ranked-list,
.directory-search {
  box-shadow: 0 18px 42px rgba(24, 27, 28, 0.14);
}
.site-card:hover,
.search-result:hover,
.review-directory-item:hover {
  background: #f0ebe4;
}
.page-header h1,
.page-shell > .section-heading h2,
.review-visual-page > .section-heading h2,
.category-page-header h1,
.reviews-header h1,
.review-simple-identity h1,
.review-overview-card h2,
.review-detail-panel h2 {
  color: var(--reference-ink);
}
.page-header > p,
.category-page-header > div > p:last-child,
.reviews-header p {
  color: #5f5955;
}
.reviews-list {
  gap: 12px;
}
.review-directory-item {
  box-shadow: 0 10px 26px rgba(27, 30, 31, 0.09);
}
.pagination-ellipsis {
  display: inline-grid;
  min-width: 34px;
  height: 34px;
  place-items: center;
  color: #6f6762;
  font-weight: 700;
}
.directory-search,
.search-result,
.method-grid section,
.prose-card,
.reviews-toolbar,
.review-directory-item {
  border-color: var(--reference-line);
}
.category-stats { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 14px; color: var(--muted); font-size: 0.88rem; }
.category-stats strong { color: var(--ink); }
.reviews-hub-search { display: flex; gap: 8px; margin-top: 16px; max-width: 460px; }
.reviews-hub-search input {
  flex: 1; min-width: 0; padding: 9px 13px; border: 1px solid #ddc9d0; border-radius: 9px; font-size: 0.94rem;
}
.reviews-hub-search button { padding: 9px 15px; border: 0; border-radius: 9px; background: var(--accent); color: #fff; cursor: pointer; }
.review-directory-meta { display: flex; flex-wrap: wrap; gap: 5px 14px; }
.review-directory-meta a { color: var(--link); font-size: 0.84rem; }
.review-directory-meta span { color: var(--muted); font-size: 0.84rem; }
.review-directory-content > p {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.review-directory-item { border-bottom: 1px solid var(--line-strong); }
.review-directory-title h2 { font-size: 1.14rem; font-weight: 650; }
.review-directory-cat a {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  color: var(--accent-dark);
  background: var(--accent-soft);
  border: 1px solid #cfa9b3;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 650;
  text-decoration: none;
}
.review-directory-cat a:hover { background: #efd9e0; border-color: #bf96a2; }
.review-directory-meta { flex-wrap: wrap; gap: 8px; }
.review-directory-meta span {
  padding: 0;
  color: var(--muted);
  background: transparent;
  border: 0;
  font-size: 0.72rem;
}
.review-directory-actions .button { min-height: 40px; }
.review-directory-actions .button-outline { border-color: var(--line-strong); }
.reviews-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  column-gap: 40px;
  row-gap: 22px;
  width: 100%;
  box-sizing: border-box;
  margin-top: 26px;
  padding: 30px 34px;
  background: linear-gradient(135deg, #fdf9f7 0%, #f7edee 58%, #f3e3e7 100%);
  border: 1px solid #e4ccd3;
  border-radius: 18px;
  box-shadow: 0 14px 34px rgba(57, 42, 49, 0.08);
  position: relative;
  overflow: hidden;
}
.reviews-header::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: linear-gradient(90deg, var(--accent) 0%, #c98a6d 45%, #8d5b74 100%);
}
.reviews-header .eyebrow { margin-bottom: 8px; }
.reviews-header h1 {
  margin: 0 0 10px;
  color: var(--ink);
  font-size: clamp(1.9rem, 3.4vw, 2.7rem);
  font-weight: 680;
  line-height: 1.08;
  letter-spacing: -0.038em;
}
.reviews-header-copy { min-width: 0; display: flex; flex-direction: column; }
.reviews-header-copy > p:last-child { max-width: 62ch; margin: 0; color: #67565e; font-size: 1rem; line-height: 1.6; }
.reviews-total {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  min-width: 128px;
  padding: 18px 26px;
  background: #ffffff;
  border: 1px solid #e4ccd3;
  border-radius: 14px;
  box-shadow: 0 8px 20px rgba(57, 42, 49, 0.07);
  text-align: center;
}
.reviews-total strong {
  color: var(--accent-dark);
  font-size: 2rem;
  font-weight: 720;
  line-height: 1;
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
}
.reviews-total span { margin-top: 4px; color: #8d7b82; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; }
.reviews-hub-search {
  grid-column: 1 / -1;
  display: flex;
  gap: 10px;
  margin-top: 0;
  max-width: none;
  width: 100%;
}
.reviews-hub-search input {
  flex: 1; min-width: 0; padding: 13px 18px;
  border: 1px solid #dcc3ca; border-radius: 12px;
  font-size: 0.98rem; background: #fff;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.reviews-hub-search input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(157, 63, 89, 0.12); }
.reviews-hub-search button {
  padding: 13px 26px; border: 0; border-radius: 12px;
  background: var(--accent); color: #fff; cursor: pointer;
  font-weight: 660; font-size: 0.95rem;
  transition: background .2s ease, transform .15s ease;
}
.reviews-hub-search button:hover { background: var(--accent-dark); transform: translateY(-1px); }
.review-directory-title {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  column-gap: 12px;
  row-gap: 6px;
  min-width: 0;
}
.review-directory-item { align-items: center; }
.search-result-visual {
  position: relative;
  display: grid;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #e6d7dc;
  background: #fff;
  aspect-ratio: 16 / 9;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4), 0 2px 8px rgba(57, 42, 49, 0.06);
  transition: box-shadow .22s ease;
}
.search-result:hover .search-result-visual {
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4), 0 6px 16px rgba(57, 42, 49, 0.10);
}
.search-result-shot {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
}
.search-result-shot-empty {
  display: grid;
  place-items: center;
  background:
    radial-gradient(120% 90% at 20% 0%, rgba(255, 255, 255, 0.75) 0%, rgba(255, 255, 255, 0) 55%),
    linear-gradient(135deg, #f3e6eb 0%, #e9d6dd 58%, #e2c9d2 100%);
}
.search-result-shot-empty strong {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 4px 12px rgba(57, 42, 49, 0.10);
  color: #a06e7e;
  font-size: 1.5rem;
  font-weight: 760;
  letter-spacing: -0.02em;
}
.search-result-letter {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 9px;
  background: linear-gradient(145deg, #f6edf0, #ecdbe1);
  box-shadow: 0 1px 4px rgba(57, 42, 49, 0.10);
  color: #96707e;
  font-weight: 720;
  font-size: 1.1rem;
}
