/* Puxinnan visitor search — light, Google-style. Shared by tenant + main site. */
:root {
  --b-primary: #2563EB;
  --b-primary-2: #1D4ED8;
  --b-link: #1A56DB;
  --b-link-visited: #6D28D9;
  --b-url: #15803D;
  --b-ink: #1D2129;
  --b-ink-2: #4E5969;
  --b-ink-3: #86909C;
  --b-bg: #FCFDFF;
  --b-surface: #FFFFFF;
  --b-border: #E4E9F2;
  --b-chip: #F1F4FA;
  --b-shadow: 0 1px 2px rgba(23,35,60,.05), 0 10px 34px rgba(37,99,235,.07);
  --b-radius: 14px;
}
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  background: var(--b-bg); color: var(--b-ink); overflow-x: hidden;
  font: 15px/1.6 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
    Arial, "PingFang SC", "Microsoft YaHei", "Noto Sans", sans-serif;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
mark { background: #FEF08A; color: inherit; padding: 0 .08em; border-radius: 2px; }

/* decorative blobs */
.page { position: relative; min-height: 100dvh; display: flex; flex-direction: column; }
.page::before, .page::after {
  content: ""; position: fixed; border-radius: 50%; z-index: 0; pointer-events: none;
  background: radial-gradient(circle at 30% 30%, #DCE9FF, #EAF1FF 60%, transparent 72%);
}
.page::before { width: 460px; height: 460px; top: -160px; right: -140px; }
.page::after  { width: 520px; height: 520px; bottom: -220px; left: -180px; opacity: .8; }
.page > * { position: relative; z-index: 1; }

.wrap { width: 100%; max-width: 760px; margin: 0 auto; padding: 0 20px; }
.wrap--wide { max-width: 1120px; }

/* brand */
.brand { display: inline-flex; align-items: center; gap: 10px; }
.brand img { height: 34px; width: auto; max-width: 44px; object-fit: contain; display: block; }
.brand .name { font-size: 20px; font-weight: 600; letter-spacing: .2px; white-space: nowrap; }
.brand .name b { font-weight: 600; }

/* top bar (results page) */
.topbar { display: flex; align-items: center; gap: 12px; padding: 18px 0; }
.topbar .brand img { height: 28px; }
.topbar .brand .name { font-size: 17px; }

/* search box */
.searchbox { display: flex; width: 100%; }
.searchbox form { display: flex; width: 100%; }
.searchbox .field {
  flex: 1; display: flex; align-items: center; background: var(--b-surface);
  border: 1px solid var(--b-border); border-inline-end: 0;
  border-radius: 999px 0 0 999px; box-shadow: var(--b-shadow); padding-inline-start: 22px;
}
.searchbox input {
  flex: 1; border: 0; outline: 0; background: transparent; font: inherit; font-size: 16px;
  padding: 15px 12px 15px 0; color: var(--b-ink);
}
.searchbox input::placeholder { color: var(--b-ink-3); }
.searchbox button {
  border: 0; cursor: pointer; color: #fff; border-radius: 0 999px 999px 0;
  background: linear-gradient(135deg, var(--b-primary), var(--b-primary-2));
  padding: 0 30px; display: flex; align-items: center; justify-content: center;
  box-shadow: var(--b-shadow);
}
.searchbox button svg { width: 20px; height: 20px; }
.searchbox:focus-within .field { border-color: #BFD3F5; }

/* hot chips */
.chips { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 16px; }
.chips__label { display: inline-flex; align-items: center; gap: 6px; color: var(--b-primary); font-size: 13px; font-weight: 500; white-space: nowrap; }
.chips__label svg { flex: none; }
.chips a {
  background: var(--b-chip); color: var(--b-ink-2); font-size: 13px; padding: 6px 14px; border-radius: 999px;
}
.chips a:hover { background: #E6ECF7; color: var(--b-ink); }

/* ---- homepage hero ---- */
.hero { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 22px; padding: 40px 20px 12vh; }
.hero__brand { display: flex; align-items: center; gap: 16px; }
.hero__brand img { height: 52px; width: auto; max-width: 84px; object-fit: contain; }
.hero__brand .name { font-size: 38px; font-weight: 600; }
.hero__tagline { color: var(--b-ink-3); font-size: 15px; letter-spacing: .12em; margin-top: -8px; }
.hero .searchbox { max-width: 620px; }
.hero .chips { justify-content: center; max-width: 620px; }

/* ---- results ---- */
.results { padding-bottom: 40px; }
.results__summary { color: var(--b-ink-3); font-size: 13px; margin: 18px 0 16px; }

.result { display: flex; align-items: flex-start; gap: 18px; padding: 16px; border: 1px solid var(--b-border); border-radius: var(--b-radius); background: var(--b-surface); margin-bottom: 12px; }
.result:hover { border-color: #D3DEF1; box-shadow: var(--b-shadow); }
.result__main { min-width: 0; flex: 1; }
.result__head { display: flex; align-items: baseline; gap: 10px; }
.result__icon { flex: none; width: 20px; height: 20px; border-radius: 50%; object-fit: cover; background: var(--b-chip); align-self: center; }
.result__title { min-width: 0; color: var(--b-link); font-size: 17px; font-weight: 500; line-height: 1.4; }
.result:visited .result__title { color: var(--b-link-visited); }
.result__title:hover { text-decoration: underline; }
.result__date { flex: none; margin-inline-start: auto; color: var(--b-ink-3); font-size: 12px; font-variant-numeric: tabular-nums; }
.result__url { color: var(--b-url); font-size: 12.5px; margin: 5px 0 6px; display: flex; align-items: center; gap: 4px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.result__url .sep { color: var(--b-ink-3); }
.result__snippet { color: var(--b-ink-2); font-size: 13.5px; line-height: 1.6; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.result__site { color: var(--b-ink-3); }

/* gallery: a row of thumbnails under the snippet, like a filmstrip */
.gallery-row { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.gallery-row__tile { flex: none; width: 60px; height: 60px; border-radius: 8px; overflow: hidden; background: #eceef1; }
.gallery-row__tile img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gallery-row__count { font-style: normal; color: var(--b-ink-3); font-size: 12.5px; margin-inline-start: 4px; }

/* video / single-image results: one thumbnail to the right of the text */
.result__thumb { position: relative; flex: none; width: 150px; height: 96px; border-radius: 10px; overflow: hidden; background: #eceef1; }
.result__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gallery-row__tile.image-unavailable > img,
.result__thumb.image-unavailable > img { visibility: hidden; }
.result__thumb.image-unavailable > .result__thumb-play,
.result__thumb.image-unavailable > .result__thumb-dur { display: none; }
.result__thumb-play {
  position: absolute; inset: 0; margin: auto; width: 32px; height: 32px; color: #fff; opacity: .92;
  filter: drop-shadow(0 1px 4px rgba(0, 0, 0, .55));
}
.result__thumb-dur {
  position: absolute; right: 6px; bottom: 6px; background: rgba(15, 23, 42, .75); color: #fff;
  font-style: normal; font-size: 11px; line-height: 1; padding: 3px 5px; border-radius: 4px;
  font-variant-numeric: tabular-nums;
}

.empty { text-align: center; padding: 64px 20px; }
.empty h2 { font-size: 18px; font-weight: 500; margin: 0 0 8px; }
.empty p { color: var(--b-ink-3); margin: 0; }

/* pagination */
.pager { display: flex; justify-content: center; align-items: center; gap: 8px; margin: 30px 0 8px; flex-wrap: wrap; }
.pager a, .pager span, .pager button {
  min-width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--b-border); border-radius: 10px; background: var(--b-surface);
  color: var(--b-ink-2); font-size: 13px; font-variant-numeric: tabular-nums;
}
.pager a:hover { border-color: #CBD5E8; color: var(--b-ink); }
.pager .cur { background: linear-gradient(135deg, var(--b-primary), var(--b-primary-2)); color: #fff; border-color: transparent; font-weight: 500; }
.pager .gap { border: 0; background: transparent; color: var(--b-ink-3); min-width: 20px; }
.pager .nav { color: var(--b-ink-2); }
.pager .nav[aria-disabled="true"] { opacity: .4; pointer-events: none; }

/* suggest dropdown */
.suggest { position: relative; }
.suggest__list {
  position: absolute; left: 0; right: 0; top: calc(100% + 8px); background: var(--b-surface);
  border: 1px solid var(--b-border); border-radius: 16px; box-shadow: var(--b-shadow);
  overflow: hidden; z-index: 15;
}
.suggest__list a { display: block; padding: 11px 22px; font-size: 15px; }
.suggest__list a:hover, .suggest__list a.on { background: var(--b-chip); }

.site-footer { margin-top: auto; text-align: center; color: var(--b-ink-3); font-size: 12px; padding: 20px; }

@media (max-width: 640px) {
  .page::before { width: 260px; height: 260px; top: -110px; right: -90px; }
  .page::after { width: 300px; height: 300px; bottom: -160px; left: -120px; }
  .hero__brand { gap: 12px; }
  .hero__brand img { height: 46px; }
  .hero__brand .name { font-size: 26px; }
  .searchbox button { padding: 0 18px; }
  .searchbox .field { padding-inline-start: 16px; }
  .result__date { display: none; }
  .result__thumb { width: 92px; height: 68px; }
  .result__thumb-play { width: 22px; height: 22px; }
  .gallery-row__tile { width: 48px; height: 48px; }
  .topbar .brand .name { font-size: 15px; }
  .topbar .brand img { height: 24px; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }

/* Default search presentation: spacious entry, focused results. */
:root { --b-bg: #F7F9FD; --b-ink: #182741; --b-ink-2: #536178; --b-ink-3: #6E7C91; --b-primary: #315FE9; --b-primary-2: #244DCD; --b-border: #E3E9F2; }
.page::before, .page::after { display: none; }
.page--home { background: radial-gradient(ellipse at 50% 22%, #EAF0FF 0, #F7F9FD 55%); }
.hero { padding: 64px 24px 14vh; gap: 28px; }
.hero__brand { gap: 18px; }
.hero__brand img { height: 60px; max-width: 72px; }
.hero__brand .name { font-size: clamp(30px, 4.5vw, 48px); line-height: 1.2; letter-spacing: -.04em; white-space: normal; overflow-wrap: anywhere; text-align: center; }
.hero__tagline { letter-spacing: .04em; color: var(--b-ink-2); font-size: 15px; margin-top: -12px; max-width:100%; overflow-wrap:anywhere; text-align:center; }
.hero .searchbox { max-width: 700px; margin-top: 14px; }
.searchbox form { padding: 6px; background: #fff; border: 1px solid #DFE6F1; border-radius: 18px; box-shadow: 0 6px 24px #1F3A6910; gap: 6px; }
.searchbox .field { min-width: 0; background: transparent; border: 0; box-shadow: none; padding-inline-start: 16px; border-radius: 12px; }
.searchbox input { min-width: 0; padding: 14px 8px 14px 0; font-size: 16px; width: 100%; }
.searchbox button { flex: none; border-radius: 12px; padding: 0 22px; background: var(--b-primary); box-shadow: none; transition: background .15s; }
.searchbox button:hover { background: var(--b-primary-2); }
.searchbox:focus-within form { border-color: #A8BDF6; box-shadow: 0 0 0 3px #315FE910, 0 6px 24px #1F3A6910; }
.chips { gap: 8px; margin-top: 18px; }
.chips a { border: 1px solid #E0E7F1; background: #FFFFFFB8; padding: 6px 13px; font-size: 12px; transition: background .15s; }
.chips a:hover { background: #EDF2FF; border-color: #B9C9FA; }
.chips__label { font-size: 12px; color: var(--b-ink-3); margin-inline-end: 4px; }
.page--results > header { padding-top: 26px; padding-bottom: 12px; }
.topbar { padding: 10px 0 20px; }
.page--results .topbar { padding: 0 0 18px; }
.topbar .brand .name { font-size: 20px; letter-spacing: -.02em; }
.results-search { width: 100%; }
.page--results .searchbox form { height: 60px; border-radius: 16px; }
.page--results .searchbox button { width: 56px; padding: 0; border-radius: 11px; }
.page--results .chips { margin-top: 14px; gap: 8px; }
.page--results .chips a { background: #fff; padding: 5px 12px; }
.results-types { display: flex; gap: 8px; align-items: center; overflow-x: auto; border-bottom: 1px solid var(--b-border); margin-bottom: 16px; }
.results-types a { flex: none; padding: 12px 14px; border-bottom: 2px solid transparent; color: var(--b-ink-2); font-size: 14px; white-space: nowrap; }
.results-types a:hover { color: var(--b-primary); background: #EEF3FF; border-radius: 8px 8px 0 0; }
.results-types a[aria-current="page"] { color: var(--b-primary); border-bottom-color: var(--b-primary); font-weight: 600; }
.results__summary { font-size: 13px; letter-spacing: .01em; margin: 0 0 18px; font-variant-numeric: tabular-nums; }
.results { padding-top: 2px; }
.result { border-radius: 14px; padding: 22px 24px; margin-bottom: 12px; gap: 24px; align-items: center; box-shadow: 0 1px 3px #1F3A6905; transition: border-color .15s, box-shadow .15s; }
.result:hover { border-color: #BFCDF0; box-shadow: 0 4px 18px #1F3A6909; }
.result__origin { display: flex; align-items: center; gap: 9px; min-width: 0; margin-bottom: 9px; }
.result__origin .result__icon { width: 18px; height: 18px; border-radius: 5px; }
.result__head { display: block; }
.result__title { font-size: 19px; line-height: 1.45; font-weight: 600; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.result__url { flex: 1; min-width: 0; margin: 0; font-size: 12px; color: var(--b-ink-3); gap: 6px; }
.result__site { color: var(--b-ink-2); font-weight: 500; flex-shrink: 1; overflow: hidden; text-overflow: ellipsis; max-width: 35%; }
.result__path { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.result__snippet { font-size: 14px; line-height: 1.7; margin-top: 8px; }
.result__thumb { width: 170px; height: 112px; border-radius: 10px; }
.result__date { font-size: 11px; }
mark { background: #EDF2FF; color: #254DC1; }
.gallery-row { gap: 8px; margin-top: 16px; }
.gallery-row__tile { width: 68px; height: 68px; border-radius: 10px; }
.suggest__list { border-radius: 14px; box-shadow: 0 8px 24px #17243B14; }
.suggest__list a { padding: 12px 22px; }
.pager .cur { background: var(--b-primary); }
.site-footer { font-size: 11px; padding: 24px; color: var(--b-ink-3); }
:focus-visible { outline: 2px solid var(--b-primary); outline-offset: 3px; }
.searchbox input:focus-visible { outline: 0; }
@media (max-width: 640px) {
  .hero { padding: 40px 20px 12vh; gap: 24px; }
  .hero__brand img { height: 46px; max-width: 54px; }
  .hero__brand { gap: 14px; }
  .hero__tagline { font-size: 13px; }
  .searchbox form { border-radius: 14px; padding: 5px; }
  .searchbox input { font-size: 16px; padding: 12px 6px 12px 0; }
  .searchbox .field { padding-inline-start: 12px; }
  .searchbox button { border-radius: 9px; padding: 0 16px; }
  .wrap { padding-left: 16px; padding-right: 16px; }
  .page--results > header { padding-top: 20px; padding-bottom: 8px; }
  .page--results .topbar { padding-bottom: 14px; }
  .page--results .searchbox form { height: 54px; border-radius: 14px; }
  .page--results .searchbox button { width: 44px; border-radius: 9px; }
  .page--results .chips { gap: 6px; margin-top: 12px; }
  .page--results .chips a { font-size: 12px; padding: 4px 10px; }
  .page--results .chips__label { width: 100%; margin-bottom: 2px; }
  .results-types { gap: 2px; margin-bottom: 14px; }
  .results-types a { padding: 10px 12px; font-size: 13px; }
  .results__summary { font-size: 12px; margin-bottom: 14px; }
  .result { padding: 16px; gap: 14px; align-items: flex-start; }
  .result__title { font-size: 16px; -webkit-line-clamp: 3; }
  .result__snippet { font-size: 13px; }
  .result__thumb { width: 96px; height: 72px; margin-top: 2px; }
  .result__url { display: block; white-space: nowrap; text-overflow: ellipsis; }
  .result__origin { gap: 7px; margin-bottom: 8px; }
  .result__origin .result__icon { width: 16px; height: 16px; }
  .result__site { display: none; }
  .result__url > .sep { display: none; }
  .gallery-row__tile { width: 50px; height: 50px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; } }

/* Site-owned content and submission pages. */
.footer-menu {display:flex;justify-content:center;gap:26px;flex-wrap:wrap;font-size:13px;}
.footer-menu a {padding:6px 2px;color:var(--b-ink-2);}
.footer-menu a:hover,.footer-menu a[aria-current="page"] {color:var(--b-primary);}
.footer-menu a:focus-visible {outline:2px solid var(--b-primary);outline-offset:4px;border-radius:3px;}
.content-home {margin-left:auto;color:var(--b-link);}
.content-main {padding-top:24px;padding-bottom:48px;}
.content-article h1 {font-size:30px;line-height:1.3;margin:0 0 24px;overflow-wrap:anywhere;}
.content-body {white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9;}
.content-body--html {white-space:normal;line-height:1.85;}
.content-body--html h1,.content-body--html h2,.content-body--html h3,.content-body--html h4,.content-body--html h5,.content-body--html h6 {color:var(--b-ink);font-weight:650;line-height:1.35;letter-spacing:-.015em;margin:1.5em 0 .6em;}
.content-body--html h1 {font-size:30px;}.content-body--html h2 {font-size:24px;}.content-body--html h3 {font-size:20px;}
.content-body--html h4,.content-body--html h5,.content-body--html h6 {font-size:17px;}
.content-body--html > :first-child {margin-top:0;}
.content-body--html p {margin:0 0 1.1em;}
.content-body--html ul,.content-body--html ol {padding-inline-start:1.6em;margin:.6em 0 1.3em;}
.content-body--html li {margin:.35em 0;}.content-body--html li > p {margin:0;}
.content-body--html blockquote {margin:1.3em 0;padding:12px 20px;border-inline-start:3px solid var(--b-primary);background:var(--b-chip);color:var(--b-ink-2);border-radius:0 8px 8px 0;}
.content-body--html blockquote p:last-child {margin-bottom:0;}
.content-body--html a {color:var(--b-link);text-decoration:underline;text-underline-offset:3px;}
.content-body--html pre {white-space:pre-wrap;padding:16px;background:var(--b-chip);border-radius:8px;}
.content-body--html hr {border:0;border-top:1px solid var(--b-border);margin:2em 0;}
@media(max-width:600px){.content-body--html h1 {font-size:26px;}.content-body--html h2 {font-size:22px;}.content-body--html h3 {font-size:19px;}}
.content-muted {color:var(--b-ink-3);font-size:14px;}
.content-notice {padding:12px 16px;margin-bottom:24px;border:1px solid var(--b-border);border-radius:10px;background:var(--b-chip);}
.submission-box {margin-top:28px;padding:24px;background:var(--b-surface);border:1px solid var(--b-border);border-radius:var(--b-radius);box-shadow:var(--b-shadow);}
.submission-box form {display:grid;gap:12px;}
.submission-box label {font-weight:600;}
.submission-box input:not([type="hidden"]):not([hidden]) {width:100%;padding:12px;border:1px solid var(--b-border);border-radius:10px;font:inherit;}
.submission-box button {justify-self:start;border:0;border-radius:10px;padding:12px 24px;background:var(--b-primary);color:white;font:inherit;cursor:pointer;}
.submission-box input:focus-visible {outline:2px solid var(--b-primary);outline-offset:2px;}
.content-success {color:#15803d;}.content-error {color:#b91c1c;}
@media(max-width:600px){.footer-menu {gap:20px;}.content-article h1 {font-size:26px;}.submission-box {padding:20px;}}

/* Public domain submission uses the search site's existing visual tokens. */
.submission-box {max-width:800px;margin-left:auto;margin-right:auto;}
.submission-intro {margin:0 0 24px;color:var(--b-ink-3);line-height:1.7;}
.submission-box form {gap:22px;}
.submission-field {display:grid;gap:10px;min-width:0;}
.submission-box select,.submission-box textarea {width:100%;padding:12px;border:1px solid var(--b-border);border-radius:10px;font:inherit;color:var(--b-ink);background:var(--b-surface);}
.submission-box textarea {resize:vertical;min-height:112px;}
.submission-box select:focus-visible,.submission-box textarea:focus-visible {outline:2px solid var(--b-primary);outline-offset:2px;}
.submission-captcha {display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.submission-captcha img {max-width:100%;border:1px solid var(--b-border);border-radius:10px;}
.submission-box button.captcha-refresh {padding:8px 12px;background:transparent;color:var(--b-link);border:1px solid var(--b-border);font-size:14px;}
.submission-box button:focus-visible {outline:2px solid var(--b-primary);outline-offset:3px;}
.submission-box button:disabled {opacity:.55;cursor:not-allowed;}
#website-captcha {max-width:280px;letter-spacing:3px;text-transform:uppercase;}
@media(max-width:600px){.submission-box {margin-top:20px;}.submission-captcha {gap:10px;}.submission-box button[type="submit"] {width:100%;}}

/* TFTU rose identity and quiet, layered homepage waves. */
:root { --b-primary:#f97187; --b-primary-2:#ed6079; --b-link:#b93451; --b-link-visited:#8f345c; --b-bg:#fffafb; --b-border:#eee2e7; --b-chip:#fff0f4; --b-on-primary:#4c2030; }
.page--home { background:radial-gradient(ellipse at 50% 24%,#fff0f4 0,#fffafb 62%); isolation:isolate; }
.page--home .home-waves {position:absolute;inset-inline:0;bottom:0;height:clamp(170px,28vh,300px);width:100%;z-index:0;pointer-events:none;overflow:hidden;}
.home-waves svg {display:block;width:100%;height:100%;}
.home-waves svg > path {transform-box:view-box;transform-origin:50% 100%;animation:home-wave-drift 18s ease-in-out infinite alternate;}
.home-waves svg > path:nth-of-type(2) {animation-duration:24s;animation-delay:-8s;animation-direction:alternate-reverse;}
.home-waves svg > path:nth-of-type(3) {animation-duration:30s;animation-delay:-16s;}
@keyframes home-wave-drift {from {transform:translateX(-2%) scale(1.12,.94);}to {transform:translateX(2%) scale(1.12,1.06);}}
@media(prefers-reduced-motion:reduce){.home-waves svg > path {animation:none;transform:none;}}
.brand {gap:10px;}
.brand .name,.topbar .brand .name {font-size:24px;font-weight:600;line-height:1;letter-spacing:-.025em;}
.brand__icon {display:inline-flex;align-items:center;justify-content:center;flex:none;width:32px;height:32px;padding:3px;border-radius:9px;background:linear-gradient(145deg,#fb95a7 0%,#f97187 60%,#f36780 100%);box-shadow:0 3px 10px #f9718714;}
.brand .brand__icon img {width:100%;height:100%;max-width:none;object-fit:contain;filter:brightness(0) invert(1);}
.hero__brand {gap:12px;}
.hero__brand .name {font-size:46px;line-height:1;letter-spacing:-.03em;}
.hero__brand .brand__icon {width:60px;height:60px;padding:5px;border-radius:18px;box-shadow:0 5px 18px #f971871c;}
.searchbox form {border-color:#ecdfe5;box-shadow:0 6px 24px #702f4510;}
.searchbox button,.submission-box button[type="submit"] {color:var(--b-on-primary);background:var(--b-primary);font-weight:600;}
.searchbox button:hover,.submission-box button[type="submit"]:hover {background:var(--b-primary-2);}
.searchbox:focus-within form {border-color:#f97187;box-shadow:0 0 0 3px #f9718718,0 6px 24px #702f4510;}
.chips a {border-color:#ecdfe5;}
.chips a:hover {background:#fff0f4;border-color:#f6b3c1;color:var(--b-link);}
.results-types a:hover {color:var(--b-link);background:#fff0f4;}
.results-types a[aria-current="page"] {color:var(--b-link);border-bottom-color:var(--b-primary);}
.result:hover {border-color:#f6b3c1;box-shadow:0 4px 18px #702f4509;}
mark {background:#fff0f4;color:#a42f4b;}
.pager .cur {background:var(--b-primary);color:var(--b-on-primary);}
.footer-menu a:hover,.footer-menu a[aria-current="page"] {color:var(--b-link);}
:focus-visible {outline-color:var(--b-link);}
@media(max-width:640px){.brand .name,.topbar .brand .name {font-size:23px;}.brand__icon {width:30px;height:30px;border-radius:9px;padding:3px;}.hero__brand {gap:10px;}.hero__brand .name {font-size:36px;}.hero__brand .brand__icon {width:50px;height:50px;padding:4px;border-radius:15px;}.page--home .home-waves {height:190px;}}
.search-understanding{padding:18px 22px;border:1px solid #f6d6de;border-radius:16px;background:linear-gradient(110deg,#fff3f6,#fff);margin:0 0 22px}.search-understanding__label{font-size:13px;font-weight:600;color:#ba4760}.search-understanding p{margin:8px 0 0;font-size:17px;line-height:1.5;overflow-wrap:anywhere}.search-understanding__concepts{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.search-understanding__concepts span{font-size:12px;padding:4px 9px;border-radius:8px;background:#fce6ec;color:#995265}.result__match{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:12px;margin-top:13px;color:#7f6970}.result__match span:first-child{padding:4px 9px;border-radius:7px;background:#fff0f4;color:#b64c66;font-weight:600}@media(max-width:600px){.search-understanding{padding:15px 17px}.search-understanding p{font-size:15px}}

/* Natural language discovery, aligned with the home search field. */
.natural-examples{width:100%;max-width:700px;margin:12px auto 0;text-align:center}
.natural-examples__heading{display:flex;align-items:center;justify-content:center;gap:7px;color:#9a526a;font-size:13px;font-weight:500;margin-bottom:16px;letter-spacing:.02em}
.natural-examples__heading::before,.natural-examples__heading::after{content:"";width:32px;height:1px;background:linear-gradient(90deg,transparent,#efbccd)}
.natural-examples__heading::after{transform:rotate(180deg)}
.natural-examples__heading svg{width:20px;height:20px;color:#ed718d;filter:drop-shadow(0 0 5px #f9718733)}
.natural-examples__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.natural-examples__grid button{position:relative;display:flex;align-items:center;gap:12px;justify-content:space-between;min-width:0;text-align:left;min-height:88px;padding:17px 16px;border:1px solid transparent;border-radius:16px;background:linear-gradient(135deg,#fffcfded,#fff6faeb) padding-box,linear-gradient(125deg,#f6c4d0,#e5d9f1,#f8d7de) border-box;box-shadow:0 4px 16px #973b5b06;color:#715364;font:inherit;font-size:13px;line-height:1.65;cursor:pointer;transition:transform .2s,border-color .2s,box-shadow .2s}
.natural-examples__grid button svg{width:17px;height:17px;flex:none;color:#d786a0;transition:transform .2s}
.natural-examples__grid button:hover{transform:translateY(-2px);border-color:#f3adc1;box-shadow:0 8px 24px #d1679020;color:#a64262}
.natural-examples__grid button:hover svg{transform:translateX(3px)}
.natural-examples__grid button:focus-visible{outline:2px solid #f97187;outline-offset:4px}
@media(max-width:600px){.natural-examples{margin-top:2px}.natural-examples__heading{margin-bottom:12px}.natural-examples__grid{grid-template-columns:1fr;gap:9px}.natural-examples__grid button{min-height:0;padding:12px 15px;border-radius:13px;font-size:13px}}
@media(prefers-reduced-motion:reduce){.natural-examples__grid button:hover,.natural-examples__grid button:hover svg{transform:none}}

.natural-examples__refresh{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border:0;border-radius:7px;background:transparent;color:#9a526a;font:inherit;font-size:11px;cursor:pointer;letter-spacing:0;white-space:nowrap}
.natural-examples__refresh svg{width:14px;height:14px}
.natural-examples__refresh:hover{background:#f9718712;color:#bd4163}
.natural-examples__refresh:focus-visible{outline:2px solid #f97187;outline-offset:2px}
.natural-examples__refresh:disabled{opacity:.5;cursor:wait}

/* Separate mandatory age entry and optional browser-local preferences. */
.entry-pending{visibility:hidden}
.entry-locked{overflow:hidden}
.entry-gate{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(150deg,#fff8fa,#fff0f4 65%,#fceaf0);overflow:auto}
.entry-gate[hidden],.entry-panel[hidden]{display:none}
.entry-panel{width:100%;max-width:440px;max-height:calc(100dvh - 48px);overflow:auto;text-align:center;padding:40px 36px 30px;background:#fff;border:1px solid #f1dce3;border-radius:26px;box-shadow:0 24px 80px #82354d12}
.entry-badge{display:inline-flex;align-items:center;justify-content:center;width:62px;height:62px;border-radius:20px;background:linear-gradient(140deg,#fc92a4,#f97187);color:#632239;font-size:22px;font-weight:700;margin-bottom:18px}
.entry-panel h2{font-size:26px;line-height:1.25;letter-spacing:-.035em;margin:0 0 12px;color:#19263d}
.entry-panel p{font-size:14px;line-height:1.7;color:#7a6770;margin:0 0 28px}
.entry-panel button{font:inherit;cursor:pointer}
.entry-enter{width:100%;min-height:56px;border:0;border-radius:14px;background:#f97187;color:#54202f;font-size:15px!important;font-weight:650!important;box-shadow:0 5px 16px #f9718730}
.entry-enter:hover{background:#f65f79}
.entry-exit,.entry-skip{display:inline-block;margin-top:20px;color:#83737b;font-size:12px;text-decoration:underline;text-underline-offset:4px}
.entry-exit:hover,.entry-skip:hover{color:#a52f50}
.entry-spark{display:block;color:#ec6c88;font-size:36px;line-height:1;margin-bottom:17px}
.entry-panel--preferences{max-width:500px}
.entry-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.entry-options button{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:70px;padding:16px;border:1px solid #eadce2;border-radius:14px;background:#fffafb;color:#59424d;font-size:13px;text-align:left;transition:background .15s,border-color .15s}
.entry-options button span:last-child{color:#cf7e97}
.entry-options button:hover,.entry-options button[aria-pressed="true"]{background:#fff0f4;border-color:#f97187;color:#a33655}
.entry-skip{border:0;background:none;padding:4px 8px}
.entry-panel .entry-note{font-size:11px;color:#9a8a92;margin:20px 0 0}
.footer-menu button[data-open-preferences]{border:0;padding:0;background:transparent;color:inherit;font:inherit;cursor:pointer}
.footer-menu button[data-open-preferences][hidden]{display:none}
.footer-menu button[data-open-preferences]:hover{color:var(--b-link)}
@media(max-width:480px){.entry-gate{padding:16px}.entry-panel{padding:30px 22px 24px;border-radius:22px;max-height:calc(100dvh - 32px)}.entry-panel h2{font-size:24px}.entry-options{gap:10px}.entry-options button{padding:13px;min-height:68px;font-size:12px}}

/* Intent anchors, practical filters and inspectable metadata evidence. */
.page--home .hero{padding-bottom:14vh;min-height:510px}
.search-essential{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:14px;font-size:12px;color:#91687b}
.search-essential>span{padding:3px 8px;border-radius:6px;background:#fff;color:#9a4963;border:1px solid #f0dce3}
.search-essential>small{font-size:11px;color:#9c8890;margin-left:4px}
.result-filters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) auto;gap:12px;align-items:end;padding:17px 18px;border:1px solid #eddee5;border-radius:14px;background:#fff;margin:12px 0 8px}
.result-filters label{display:flex;flex-direction:column;gap:5px;font-size:11px;color:#927381;min-width:0}
.result-filters select{width:100%;min-width:0;padding:8px 9px;border:1px solid #e9dde3;border-radius:8px;background:#fffafa;color:#5f4351;font:inherit;font-size:12px;line-height:1.5}
.result-filters__actions{display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:11px}
.result-filters button{border:0;border-radius:8px;padding:9px 13px;background:#f97187;color:#54202f;font:inherit;font-weight:600;cursor:pointer}
.result-filters__actions a{color:#9f7186}
.result-filter-note{font-size:11px;color:#a08794;margin:0 0 20px;line-height:1.7}
.result__content{display:block}
.result__clues{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:10px;color:#947481;font-size:11px}
.result__clue{border-radius:5px;background:#faf4f7;padding:2px 6px;color:#95647c}
.result__content:visited .result__title{color:var(--b-link-visited)}
@media(max-width:1050px){.result-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.result-filters__actions{justify-content:flex-start}}
@media(max-width:640px){.page--home .hero{min-height:510px}.result-filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:13px;gap:10px}.search-essential>small{width:100%;margin-left:0}}

/* A quiet guide instead of a second homepage section. */
.home-help-trigger{position:fixed;right:26px;bottom:26px;display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid #e9dce280;border-radius:99px;background:#fffcfde0;color:#9b8290;font:inherit;font-size:12px;cursor:pointer;z-index:4}
.home-help-trigger[hidden]{display:none}
.home-help-trigger>span{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border:1px solid currentColor;border-radius:50%;font-size:11px}
.home-help-trigger:hover{color:#a34663;border-color:#efc9d5;background:#fff7fa}
.home-help-trigger:focus-visible{outline:2px solid #f97187;outline-offset:3px}
.home-help-dialog{position:fixed;inset:0;margin:auto;width:min(460px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;padding:26px;border:1px solid #eedde5;border-radius:22px;background:#fffafb;color:#59424d;box-shadow:0 20px 70px #70374920}
.home-help-dialog::backdrop{background:#241b282d;backdrop-filter:blur(4px)}
.home-help-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}
.home-help-header h2{font-size:19px;margin:0;font-weight:600}
.home-help-header button{display:flex;align-items:center;justify-content:center;flex:none;width:32px;height:32px;border:0;border-radius:50%;background:#f7edf1;color:#967282;font-size:24px;cursor:pointer}
.home-help-steps{display:grid;gap:22px}
.home-help-steps>div{display:flex;gap:16px}
.home-help-steps .home-step-number{font-size:11px;letter-spacing:.1em;color:#c08098;margin-top:4px;flex:none}
.home-help-steps h3{margin:0 0 5px;font-size:14px;font-weight:600}
.home-help-steps p{margin:0;color:#967b88;font-size:13px;line-height:1.75}
.home-help-open{overflow:hidden}
.chips--single{flex-wrap:nowrap;gap:10px;overflow:hidden;width:100%;max-height:36px}
.page--results .chips--single .chips__label{flex:none;width:auto;margin:0}
.chips--single a{flex:none;white-space:nowrap;line-height:20px;padding:7px 14px}
.chips--single:not(.chips--ready) a{visibility:hidden}
.chips--single[hidden],.chips--single a[hidden]{display:none}
@media(max-width:640px){.home-help-trigger{right:16px;bottom:88px;padding:7px 10px;font-size:11px}.home-help-dialog{padding:22px}.chips--single{gap:8px}}
