:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#eaeef7;background:#090f1a}*{box-sizing:border-box}body{margin:0;line-height:1.6}a{color:inherit}a:hover{color:#9ebafc}.topbar{padding:19px max(24px,calc((100vw - 1170px)/2));border-bottom:1px solid #24324b;display:flex;justify-content:space-between;align-items:center;gap:18px}.brand{font-weight:850;font-size:19px;text-decoration:none;letter-spacing:.5px}.brand span{color:#9bc2ff}.brand small{display:block;font-size:10px;letter-spacing:1.4px;font-weight:500;color:#899ab6}.topbar nav{display:flex;gap:22px;font-size:13px;color:#adbcd3}.topbar nav a{text-decoration:none}.hero{max-width:1170px;padding:104px 24px 105px;margin:auto}.hero h1{font-size:clamp(45px,8vw,88px);line-height:1.03;letter-spacing:-3px;margin:20px 0}.hero em{font-style:normal;color:#93b9fa}.hero>p{font-size:18px;color:#b2bed1;max-width:610px;margin-bottom:28px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:2.2px;color:#82adf9}.button,.login button{display:inline-block;background:#9dc5fc;color:#101d33;padding:13px 20px;border-radius:8px;text-decoration:none;font-weight:800;border:0;cursor:pointer}.section{padding:68px 24px;max-width:1170px;margin:auto;border-top:1px solid #24324b}.section h2{font-size:37px;margin:6px 0}.section-heading>p,.tile p,.muted,.lead{color:#a6b4cc}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:17px;margin-top:26px}.tile{border:1px solid #2b3952;background:#121c2d;padding:25px;border-radius:12px;min-height:235px}.tile h3{font-size:22px;margin:11px 0}.tile h3 a{text-decoration:none}.tile-meta{display:flex;gap:10px;flex-wrap:wrap;color:#8fb5f0;font-size:10px;font-weight:800;letter-spacing:1px}.text-link{color:#a9c7fa;font-weight:700;font-size:13px;text-decoration:none}.article{max-width:850px;margin:70px auto 105px;padding:0 24px}.article h1{font-size:clamp(35px,6vw,63px);line-height:1.1;margin:12px 0}.article .lead{font-size:21px}.article-copy{font-size:17px;color:#d6dfef;margin-top:34px}.detail-meta{display:flex;gap:12px;flex-wrap:wrap;border-top:1px solid #283750;border-bottom:1px solid #283750;padding:20px 0;color:#a7c3ed;font-size:12px}.disclaimer{padding:20px;background:#1a2436;border-radius:9px;color:#aabbd3;font-size:13px}footer{border-top:1px solid #26334b;padding:24px max(24px,calc((100vw - 1170px)/2));display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;color:#8392aa;font-size:12px}footer span:last-child{max-width:620px}.login{display:grid;min-height:100vh;place-items:center}.login-card{background:#111a2a;border:1px solid #30405b;max-width:440px;width:calc(100% - 30px);padding:34px;border-radius:15px}.login-card h1{font-size:34px;margin:6px 0}.login-card h1 span{color:#92bafd}.login-card label{display:block;font-size:13px;font-weight:bold;margin:20px 0 8px}.login-card input{width:100%;padding:13px;background:#080f19;border:1px solid #41506a;border-radius:7px;color:#fff;font-size:17px}.login-card button{margin-top:18px;width:100%}.login-card .muted{font-size:12px}.error{color:#ffa2a2}@media(max-width:640px){.topbar{align-items:flex-start;flex-direction:column}.hero{padding-top:64px}.hero h1{letter-spacing:-1.5px}.section{padding-top:40px}}

/* Readable, server-rendered section headings for informational-sandwich articles. */
.article-copy h2{font-size:clamp(23px,3vw,29px);line-height:1.25;color:#f1f5ff;margin:38px 0 12px}.article-copy p{margin:12px 0 21px}

/* Domain Overlord immersive, replaceable hero: one asset per public page type.
 * Swap the SVG files in public_assets/heroes/ without editing the application.
 */
html{scroll-behavior:smooth}
.topbar{position:absolute;z-index:30;top:0;left:0;right:0;background:linear-gradient(180deg,rgba(5,10,20,.86),rgba(5,10,20,.08));border-color:rgba(185,201,232,.12)}
.viewport-hero{--gate-progress:0;position:relative;display:flex;align-items:center;isolation:isolate;min-height:100vh;min-height:100svh;overflow:hidden;background:#0a1222}
.viewport-hero__background,.viewport-hero__shade{position:absolute;inset:0;pointer-events:none;z-index:-1}
.viewport-hero__background{background-position:center center;background-repeat:no-repeat;background-size:cover;transform:scale(1);transition:transform 1.15s cubic-bezier(.22,.61,.36,1),filter 1.15s ease}
.viewport-hero--home .viewport-hero__background{background-image:url('/overlord-hero/home')}
.viewport-hero--domain .viewport-hero__background{background-image:url('/overlord-hero/domain')}
.viewport-hero--blog .viewport-hero__background{background-image:url('/overlord-hero/blog')}
.viewport-hero__shade{background:linear-gradient(90deg,rgba(3,9,20,.8) 0%,rgba(3,9,20,.54) 42%,rgba(3,9,20,.05) 100%)}
.viewport-hero--domain .viewport-hero__shade{background:linear-gradient(90deg,rgba(13,10,22,.86),rgba(13,10,22,.44) 57%,rgba(13,10,22,.05))}
.viewport-hero--blog .viewport-hero__shade{background:linear-gradient(90deg,rgba(6,12,27,.88),rgba(6,12,27,.52) 57%,rgba(6,12,27,.06))}
.viewport-hero__content{width:min(1170px,100%);position:relative;margin:auto;padding:138px 24px 150px;transition:transform .85s cubic-bezier(.22,.61,.36,1),opacity .85s ease}
.viewport-hero h1{font-size:clamp(3rem,7.5vw,6.4rem);line-height:1.055;letter-spacing:-.055em;max-width:900px;overflow-wrap:anywhere;margin:18px 0 20px;text-wrap:balance}
.viewport-hero--domain h1,.viewport-hero--blog h1{font-size:clamp(2.9rem,6.5vw,5.65rem);max-width:980px}
.viewport-hero h1 em{font-style:normal;color:#a4dcd8}
.viewport-hero--domain .eyebrow{color:#f2bc8c}
.viewport-hero--blog .eyebrow{color:#c9bbff}
.viewport-hero__lead{font-size:clamp(1rem,1.55vw,1.25rem);line-height:1.55;color:#d6ddeb;max-width:630px;margin:0 0 33px;text-wrap:pretty}
.hero-cta{border-radius:3px;background:#b5e5e0;color:#0b1c22;padding:14px 23px;box-shadow:0 15px 40px rgba(0,0,0,.15)}
.viewport-hero--domain .hero-cta{background:#f2c19a;color:#26180f}
.viewport-hero--blog .hero-cta{background:#d9ceff;color:#1d1638}
.hero-cta span{margin-left:20px}
.scroll-cue{position:absolute;z-index:2;bottom:38px;left:max(24px,calc((100vw - 1122px)/2));display:flex;gap:14px;align-items:center;color:#dce8f4;font-size:10px;font-weight:750;letter-spacing:.23em;text-decoration:none}
.scroll-cue__meter{display:block;position:relative;width:2px;height:40px;background:rgba(255,255,255,.25);overflow:hidden}
.scroll-cue__fill{position:absolute;inset:0;background:#b0f5e3;transform:scaleY(var(--gate-progress));transform-origin:top;transition:transform .15s linear}
.scroll-cue:hover{color:#fff}
.viewport-hero.is-leaving .viewport-hero__background{transform:scale(1.085);filter:brightness(.8)}
.viewport-hero.is-leaving .viewport-hero__content{opacity:.55;transform:translateY(-28px)}
.section{scroll-margin-top:0;padding-top:110px;padding-bottom:110px;min-height:55vh}
.article{scroll-margin-top:0;margin-top:0;padding-top:110px;padding-bottom:110px}
.article-copy h2:first-child{margin-top:26px}
.article .eyebrow{margin-bottom:28px}
@media(max-width:700px){
 .topbar{padding:15px 20px;gap:10px;flex-direction:row;align-items:center}.topbar nav{gap:12px;font-size:11px}.brand{font-size:14px}.brand small{font-size:8px;letter-spacing:.7px}
 .viewport-hero__content{padding:135px 22px 136px}.viewport-hero h1{font-size:clamp(2.5rem,10.7vw,4.3rem);letter-spacing:-.043em}.viewport-hero__lead{font-size:1rem;max-width:90%}.viewport-hero__shade{background:linear-gradient(90deg,rgba(3,9,20,.93),rgba(3,9,20,.64))}.scroll-cue{bottom:28px;left:22px}
 .section,.article{padding-top:80px;padding-bottom:72px}
}
@media(max-height:600px){.viewport-hero__content{padding-top:115px;padding-bottom:110px}.viewport-hero h1{font-size:clamp(2.4rem,5vw,4.7rem)}.scroll-cue{bottom:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.viewport-hero__background,.viewport-hero__content,.scroll-cue__fill{transition:none!important}}

/* v0.11.0: reserved fixed gutter keeps the full-height progress rail off content.
 * The native browser scrollbar remains available for direct navigation. */
.public-page{--rail-width:42px;padding-inline-end:var(--rail-width);overflow-x:clip}
.public-page .topbar{right:var(--rail-width)}
.public-page .scroll-cue{left:max(24px,calc((100vw - var(--rail-width) - 1122px)/2))}
.section-rail{--page-progress:0;--charge-progress:0;--charge-position:0%;position:fixed;right:0;top:0;z-index:70;width:var(--rail-width);height:100vh;height:100dvh;background:#0a1423;border-left:1px solid #31465b;user-select:none}
.section-rail__track{position:absolute;left:calc(50% - 1px);top:21px;bottom:21px;width:2px;background:#344358;pointer-events:none}
.section-rail__read{display:block;position:absolute;top:0;left:0;width:100%;height:calc(var(--page-progress) * 100%);background:linear-gradient(#90a6e8,#7ce0ce);transition:height .12s linear}
.section-rail__charge{display:block;position:absolute;width:6px;left:-2px;top:clamp(0px,calc(var(--charge-position) - 21px),calc(100% - 45px));height:calc(45px * var(--charge-progress));border-radius:4px;background:#b9f6e9;box-shadow:0 0 11px #70e5d7;opacity:0;transition:height .1s linear,opacity .18s ease}
.section-rail.is-charging .section-rail__charge{opacity:1}
.section-rail[data-direction="up"] .section-rail__charge{transform:translateY(calc(-45px * var(--charge-progress)))}
.section-rail__stops{position:absolute;inset:21px 0;pointer-events:none}
.section-rail__stop{pointer-events:auto;position:absolute;left:50%;top:var(--stop-position);width:11px;height:11px;padding:0;border:2px solid #647994;border-radius:50%;background:#0a1423;transform:translate(-50%,-50%);cursor:pointer;transition:background .16s,border-color .16s}
.section-rail__stop.is-current,.section-rail__stop:hover{background:#8ce2d6;border-color:#8ce2d6}
.section-rail__stop:focus-visible{outline:2px solid white;outline-offset:4px}
.section-rail__hint{position:absolute;right:calc(100% + 8px);top:50%;color:#b6f6e8;font-size:9px;letter-spacing:.15em;font-weight:800;background:#152a3c;border-radius:4px;padding:4px 7px;opacity:0;pointer-events:none;transition:opacity .16s}
.section-rail.is-charging .section-rail__hint{opacity:1}
.site-footer{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:space-between;gap:50px;padding:clamp(90px,12vh,160px) max(24px,calc((100vw - var(--rail-width) - 1170px)/2)) 30px;background:radial-gradient(circle at 78% 22%,#183951 0%,#0a1729 39%,#070e1a 80%);border-top:1px solid #35475f;color:#e9f0f9}
.site-footer .footer-primary h2{font-size:clamp(3rem,7vw,6rem);line-height:1.05;letter-spacing:-.055em;margin:20px 0 22px;color:#f4f8ff}
.site-footer .footer-primary h2 em{font-style:normal;color:#99ded5}
.site-footer .footer-primary p{max-width:520px;color:#b2c5d8;font-size:17px;margin:0 0 27px}
.site-footer .footer-bottom{border-top:1px solid #35465d;display:grid;grid-template-columns:1fr 1.2fr;gap:22px 32px;padding-top:23px;align-items:start}
.site-footer .footer-brand{font-weight:900;font-size:17px;letter-spacing:.03em;text-decoration:none}
.site-footer .footer-brand span{color:#a5cbfb}
.site-footer .footer-bottom>div p{font-size:12px;color:#a6b9ce;margin:5px 0}
.site-footer .footer-bottom nav{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:14px 22px}
.site-footer .footer-bottom nav a{font-size:13px;color:#c9d9e9;text-decoration:none}
.site-footer .footer-bottom nav a:hover{text-decoration:underline}
.site-footer .footer-legal{grid-column:1/-1;font-size:11px;line-height:1.7;color:#aabbd0;max-width:800px;margin:0}
@media(max-width:700px){
 .public-page{--rail-width:25px}
 .section-rail__hint{display:none}
 .section-rail__stop{width:9px;height:9px}
 .site-footer{padding:100px 22px 30px;gap:45px}
 .site-footer .footer-bottom{grid-template-columns:1fr}
 .site-footer .footer-bottom nav{justify-content:flex-start}
 .site-footer .footer-primary h2{font-size:clamp(2.8rem,10vw,5rem)}
}
@media(prefers-reduced-motion:reduce){.section-rail__read,.section-rail__charge,.section-rail__stop{transition:none!important}}
/* Fit ordinary hero copy within the first viewport instead of enlarging its
   section just because headline and padding exceed the screen. */
.viewport-hero{height:100svh}
.viewport-hero__content{padding:clamp(86px,12vh,130px) 24px clamp(58px,9vh,90px)}
.viewport-hero h1{font-size:clamp(2.4rem,min(6.1vw,9vh),5.8rem)}
.viewport-hero--domain h1,.viewport-hero--blog h1{font-size:clamp(2.4rem,min(5.6vw,8vh),5rem)}
@media(max-width:700px){.viewport-hero__content{padding:95px 20px 88px}.viewport-hero h1{font-size:clamp(2.1rem,min(10vw,8vh),4.3rem)}}
@media(max-height:550px){.viewport-hero{height:auto;min-height:100svh;overflow:visible}.viewport-hero__content{padding:94px 22px 76px}.viewport-hero h1{font-size:clamp(2rem,8vh,3.7rem)}}


/* v0.10.11 — every public section has one viewport of outer height.
 * Overflow stays within its own section; transitions only happen after reading
 * to the beginning/end of that content. The rail owns a separate page gutter.
 */
.public-page [data-scroll-section] {
  height: 100vh;
  height: 100dvh;
  min-height: 0;
  max-height: 100dvh;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  scrollbar-gutter: stable;
  scroll-margin-top: 0;
}
.public-page .viewport-hero {
  overflow-x: hidden;
  align-items: center;
}
.public-page .section {
  padding-block: clamp(34px, 7vh, 86px);
  margin-block: 0;
}
.public-page .article {
  padding-block: clamp(28px, 6vh, 78px);
  margin-block: 0;
}
.public-page .site-footer {
  padding-top: clamp(35px, 9vh, 110px);
  padding-bottom: clamp(20px, 4vh, 42px);
  gap: clamp(18px, 4vh, 40px);
}
@media(max-width:700px) {
  .public-page .section,.public-page .article {padding-block: 36px 48px}
  .public-page .site-footer {padding:40px 18px 24px}
}
/* Allow natural scroll chaining on touch devices and for reduced-motion users.
 * Gate navigation is an enhancement, not a requirement to read content. */
@media(pointer:coarse),(prefers-reduced-motion:reduce) {
  .public-page [data-scroll-section] {overscroll-behavior-y:auto}
}


/* v0.10.12: Give every public scrollable panel the full width of its page.
 * This moves the internal scrollbar from the text column to the viewport edge,
 * directly alongside (and outside) the separate fixed navigation rail. */
.public-page .article,
.public-page .section {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  scrollbar-width: thin;
  scrollbar-color: #72d9ca #142437;
}
/* Full-bleed backgrounds must sit outside content gutters. Keep the old
 * horizontal padding on an inner wrapper so text/cards do not shift. */
.public-page :is(.section,.article) { padding-inline: 0; }
.public-page .section > .section-content {
  width:100%;
  padding-inline: max(24px, calc((100vw - var(--rail-width) - 1170px) / 2));
}
.public-page .article > .section-content {
  width:100%;
  padding-inline: max(24px, calc((100vw - var(--rail-width) - 850px) / 2));
}
.public-page [data-scroll-section] {
  scrollbar-width: thin;
  scrollbar-color: #72d9ca #142437;
  scrollbar-gutter: stable;
}
.public-page [data-scroll-section]::-webkit-scrollbar { width: 8px; }
.public-page [data-scroll-section]::-webkit-scrollbar-track { background: #142437; }
.public-page [data-scroll-section]::-webkit-scrollbar-thumb {
  background: #72d9ca;
  border-radius: 8px;
  border: 1px solid #142437;
}
.public-page [data-scroll-section]::-webkit-scrollbar-thumb:hover { background: #b3f4e6; }
@media(max-width:700px) {
  .public-page :is(.article,.section) > .section-content { padding-inline:20px; }
}

/* v0.10.13: Published-domain discovery filters and full-width banner images. */
.viewport-hero__background {background-image:none!important}
.viewport-hero__background img {display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.domain-filters{display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin:24px 0 15px;padding:20px;background:#101c2e;border:1px solid #2a3a53;border-radius:12px}
.domain-filters label{display:flex;flex-direction:column;gap:7px;color:#afc1d9;font-size:12px;font-weight:700;flex:1 1 180px}
.domain-filters label:first-child{flex:2 1 240px}
.domain-filters input,.domain-filters select{width:100%;height:42px;min-width:0;padding:10px 12px;border:1px solid #3d506b;background:#080f1b;border-radius:7px;color:#eaf2ff;font:inherit;font-size:14px}
.domain-filters .filter-apply{height:42px;padding:0 19px;border:0;border-radius:7px;background:#9dc5fc;color:#111d31;font-weight:800;cursor:pointer}
.domain-filters .filter-reset{height:42px;display:inline-flex;align-items:center;text-decoration:none;color:#afc7f5;font-size:13px;padding:0 8px}
.domain-result-count{font-size:12px;color:#9eb2d0;margin:8px 0 0}
.domain-pagination{display:flex;justify-content:center;gap:25px;align-items:center;margin:28px 0 14px;font-size:13px;color:#a6b4cc}
.domain-pagination a{color:#a5c7fa;text-decoration:none;font-weight:700}
@media(max-width:700px){.domain-filters{padding:14px;gap:10px}.domain-filters label{flex-basis:100%}}
/* Themeable public surface. All UI colours below come from the six saved
   appearance settings. Additional shades are derived, not independently fixed. */
:root {
  --od-background:#090f1a; --od-surface:#121c2d; --od-text:#eaeef7;
  --od-muted:#a6b4cc; --od-accent:#9dc5fc; --od-highlight:#a4dcd8;
  --od-heading-font:ui-sans-serif,system-ui,sans-serif;
  --od-body-font:ui-sans-serif,system-ui,sans-serif;
  --od-on-accent:#101010; --od-ui-scheme:dark;
  --od-border:color-mix(in srgb,var(--od-muted) 24%,var(--od-background));
  --od-field:color-mix(in srgb,var(--od-background) 82%,var(--od-surface));
  --od-elevated:color-mix(in srgb,var(--od-surface) 85%,var(--od-background));
}
.public-page{background:var(--od-background);color:var(--od-text);font-family:var(--od-body-font)}
.public-page :is(h1,h2,h3,.brand,.footer-brand){color:var(--od-text);font-family:var(--od-heading-font)}
.public-page :is(.topbar,.site-footer,.tile,.domain-filters,.detail-meta,.disclaimer){border-color:var(--od-border)}
.public-page a:hover{color:var(--od-highlight)}
.public-page :is(.brand span,.footer-brand span,.eyebrow,.tile-meta,.text-link,.domain-pagination a){color:var(--od-accent)}
.public-page :is(.brand small,.topbar nav,.topbar nav a,.section-heading>p,.tile p,.muted,.lead,.article .lead,.article-copy,.detail-meta,.site-footer .footer-primary p,.site-footer .footer-bottom>div p,.site-footer .footer-bottom nav a,.site-footer .footer-legal,.domain-result-count,.domain-pagination,.filter-reset){color:var(--od-muted)}
.public-page .topbar{background:linear-gradient(180deg,color-mix(in srgb,var(--od-background) 92%,transparent),color-mix(in srgb,var(--od-background) 13%,transparent))}
.public-page .viewport-hero{background:var(--od-background)}
.public-page .viewport-hero__shade{background:linear-gradient(90deg,color-mix(in srgb,var(--od-background) 90%,transparent),color-mix(in srgb,var(--od-background) 55%,transparent) 47%,color-mix(in srgb,var(--od-background) 9%,transparent))}
.public-page .viewport-hero .eyebrow{color:var(--od-accent)}
.public-page :is(.viewport-hero__lead,.scroll-cue){color:var(--od-text)}
.public-page :is(.viewport-hero h1 em,.site-footer .footer-primary h2 em){color:var(--od-highlight)}
.public-page .hero-cta,.public-page .button,.public-page .filter-apply{background:var(--od-accent);color:var(--od-on-accent);border-color:transparent}
.public-page :is(.hero-cta,.button,.filter-apply):hover{background:var(--od-highlight);color:var(--od-background)}
.public-page .scroll-cue__meter{background:var(--od-border)}
.public-page .scroll-cue__fill{background:var(--od-highlight)}
.public-page .section{border-color:var(--od-border)}
.public-page .tile{background:var(--od-surface);border-color:var(--od-border)}
.public-page .tile h3 a{color:var(--od-text)}
.public-page .tile h3 a:hover{color:var(--od-accent)}
.public-page .article-copy :is(h2,h3),.public-page .article h1{color:var(--od-text)}
.public-page .disclaimer{background:var(--od-surface);color:var(--od-muted)}
.public-page .domain-filters{background:var(--od-surface);border-color:var(--od-border)}
.public-page .domain-filters label{color:var(--od-muted)}
.public-page .domain-filters :is(input,select){background:var(--od-field);border-color:var(--od-border);color:var(--od-text);color-scheme:var(--od-ui-scheme)}
.public-page .domain-filters input::placeholder{color:var(--od-muted);opacity:.8}
.public-page .domain-filters .filter-reset{color:var(--od-accent)}
.public-page .domain-filters :is(input,select):focus-visible,.public-page a:focus-visible,.public-page button:focus-visible{outline:2px solid var(--od-highlight);outline-offset:2px}
.public-page .section-rail{background:var(--od-background);border-color:var(--od-border)}
.public-page .section-rail__track{background:var(--od-border)}
.public-page .section-rail__read{background:linear-gradient(var(--od-accent),var(--od-highlight))}
.public-page .section-rail__charge{background:var(--od-highlight);box-shadow:0 0 10px color-mix(in srgb,var(--od-highlight) 55%,transparent)}
.public-page .section-rail__stop{background:var(--od-background);border-color:var(--od-muted)}
.public-page .section-rail__stop.is-current,.public-page .section-rail__stop:hover{background:var(--od-highlight);border-color:var(--od-highlight)}
.public-page .section-rail__hint{background:var(--od-surface);color:var(--od-highlight)}
.public-page .section-rail__stop:focus-visible{outline-color:var(--od-accent)}
.public-page [data-scroll-section]{scrollbar-color:var(--od-highlight) var(--od-surface)}
.public-page [data-scroll-section]::-webkit-scrollbar-track{background:var(--od-surface)}
.public-page [data-scroll-section]::-webkit-scrollbar-thumb{background:var(--od-highlight);border-color:var(--od-surface)}
.public-page [data-scroll-section]::-webkit-scrollbar-thumb:hover{background:var(--od-accent)}
.public-page .site-footer{color:var(--od-text);border-color:var(--od-border);background:radial-gradient(circle at 78% 22%,color-mix(in srgb,var(--od-accent) 16%,var(--od-surface)) 0%,color-mix(in srgb,var(--od-surface) 45%,var(--od-background)) 43%,var(--od-background) 82%)}
.public-page .site-footer .footer-primary h2{color:var(--od-text)}
.public-page .site-footer .footer-bottom{border-color:var(--od-border)}
.public-page .site-footer .footer-bottom nav a:hover{color:var(--od-accent)}
.public-page .login-card{background:var(--od-surface);border-color:var(--od-border)}
@media(prefers-reduced-motion:reduce){.public-page .section-rail__charge{box-shadow:none}}

/* v0.10.15: The full-viewport content panels are presentation and scrolling
   containers, not bordered cards. The old .section/.site-footer border-top
   created a coloured hairline across the top of each snapped viewport. Some
   browsers also draw a UA focus ring around focusable scroll containers,
   producing an unexpected line across the top and down the right edge.
   Keep accessible focus indicators on links, controls and rail buttons. */
.public-page [data-scroll-section] {
  border-block-start: 0;
  outline: none;
}
.public-page [data-scroll-section]:focus,
.public-page [data-scroll-section]:focus-visible {
  outline: none;
}

/* v0.10.16: Highlight only the domain name, not the full article headline. */
.public-page .tile h3 a .tile-domain-name{color:var(--od-accent)}
.public-page .tile h3 a:hover .tile-domain-name{color:var(--od-highlight)}

/* v0.10.17: Optional WebM loop for immersive hero backgrounds. */
.viewport-hero__background .viewport-hero__poster,
.viewport-hero__background .viewport-hero__video{
  position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center;
}
.viewport-hero__background .viewport-hero__video{opacity:0;transition:opacity .45s ease;pointer-events:none}
.viewport-hero__background .viewport-hero__video.is-playing{opacity:1}
@media(prefers-reduced-motion:reduce){
  .viewport-hero__background .viewport-hero__video{display:none!important;transition:none!important}
}

/* v0.10.18: Optional backgrounds for every 100vh content section and footer.
 * Only public presentation surfaces have images; the article and cards remain
 * readable on top of a theme-derived overlay. No layout/scroll metrics change. */
.public-page :is(.section,.article,.site-footer):has(> .section-background-media){
  position:relative;isolation:isolate;
}
.public-page .section-background-media{
  position:absolute;inset:0;pointer-events:none;z-index:-1;overflow:hidden;
}
.public-page .section-background-media :is(img,video){
  position:absolute;inset:0;width:100%;height:100%;display:block;
  object-fit:cover;object-position:center;
}
.public-page .section-background-media video{
  opacity:0;transition:opacity .4s ease;
}
.public-page .section-background-media video.is-playing{opacity:1}
.public-page .section-background-media:after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,
    color-mix(in srgb,var(--od-background) 90%,transparent),
    color-mix(in srgb,var(--od-background) 69%,transparent) 53%,
    color-mix(in srgb,var(--od-background) 50%,transparent));
}
.public-page .site-footer:has(> .section-background-media){background:var(--od-background)}
@media(prefers-reduced-motion:reduce){
 .public-page .section-background-media video{display:none!important;transition:none!important}
}
/* Backgrounds belong to each full-height scroll viewport, not to its
 * scrolling article content. The JS adjusts --od-media-scroll-y by scrollTop
 * using a passive, requestAnimationFrame-throttled listener. No sticky-margin
 * spacer or extra scroll height is introduced. */
.public-page :is(.section,.article) > .section-background-media {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  transform:translate3d(0,var(--od-media-scroll-y,0px),0);
  pointer-events:none;
}
.public-page .section-background-poster {
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
/* Phones use a still background rather than decoding several full-viewport
 * videos. Desktop sources are activated only as sections enter view. */
/* Mobile playback is opt-in and controlled by the idle loader.
 * Device-specific show/hide rules are defined below. */

/* Full-bleed media is always beneath content, including form controls and tiles. */
.public-page :is(.section,.article) > .section-content {position:relative;z-index:1;}

/* v0.10.21: Optional uploaded header mark, to the left of title + tagline.
 * Em units make the image match the combined text lockup on desktop/mobile.
 * Without an upload the existing text-only header is unchanged. */
.public-page .topbar .brand{
 display:inline-flex;
 align-items:center;
 justify-content:flex-start;
 gap:.62em;
 min-width:0;
}
.public-page .topbar .brand-copy{min-width:0;display:flex;flex-direction:column;justify-content:center}
.public-page .topbar .brand-title{font:inherit;letter-spacing:inherit;line-height:1.35;white-space:nowrap}
.public-page .topbar .brand small{line-height:1.5;white-space:nowrap}
.public-page .topbar .brand-logo{
 display:block;
 height:2.14em;
 max-width:3.1em;
 width:auto;
 object-fit:contain;
 flex-shrink:0;
}
@media(max-width:700px){
 .public-page .topbar .brand{gap:.45em}
 .public-page .topbar .brand-logo{height:2.2em;max-width:2.4em}
}
@media(max-width:420px){
 .public-page .topbar{gap:6px;padding-inline:12px}
 .public-page .topbar .brand{font-size:12px}
 .public-page .topbar .brand small{font-size:7px;letter-spacing:.1px}
 .public-page .topbar nav{gap:7px;font-size:10px}
 .public-page .topbar .brand-logo{height:2.23em}
}

/* React Bits GlowCursor: background-only light. Keep one fixed WebGL canvas
 * inside the *currently active* scrollable panel. Each full-height panel is
 * a separate painting/scrolling context: a fixed root left at body level can
 * appear OVER later panel foregrounds even when its z-index looks lower.
 * The small public-glow controller moves the existing canvas between panels
 * on pointer movement and scrolling; it never creates additional simulations.
 * Within each panel: background z=0, canvas z=1, foreground z=2. */
.public-page :is(.viewport-hero,.section,.article,.site-footer) {
  isolation:auto;
}
.public-page :is(.viewport-hero__background,.viewport-hero__shade,.section-background-media) {
  z-index:0;
}
.public-page .viewport-hero__content,
.public-page .viewport-hero .scroll-cue,
.public-page :is(.section,.article) > .section-content,
.public-page .site-footer > :not(.section-background-media) {
  position:relative;
  z-index:2;
}
#public-glow-cursor-root {
  position:fixed;
  top:0;
  bottom:0;
  left:0;
  right:var(--rail-width, 0px);
  z-index:1;
  overflow:hidden;
  pointer-events:none;
  user-select:none;
  contain:layout paint;
}
#public-glow-cursor-root .glow-cursor {
  width:100%;
  height:100%;
  pointer-events:none;
}
@media (prefers-reduced-motion: reduce), (hover:none), (pointer:coarse) {
  #public-glow-cursor-root {display:none;}
}

/* Keep the public video treatment consistent across hero and section backgrounds. */
video {
  filter: sepia(1) brightness(3);
}


/* Curated-domain data table: native, server-rendered, compact and sortable.
   Theme tokens ensure appearance settings continue to apply. */
.public-page .domain-results-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0 12px;flex-wrap:wrap}
.public-page .domain-results-toolbar .domain-result-count{margin:0;font-size:12px;letter-spacing:.02em;color:var(--od-muted)}
.public-page .domain-view-switch{display:inline-flex;align-items:center;gap:3px;padding:3px;border:1px solid var(--od-border);border-radius:7px;background:var(--od-elevated)}
.public-page .domain-view-switch a{display:inline-flex;min-width:68px;justify-content:center;align-items:center;padding:7px 12px;border-radius:4px;text-decoration:none;font-weight:700;font-size:12px;color:var(--od-muted)}
.public-page .domain-view-switch a[aria-current="page"]{background:var(--od-accent);color:var(--od-on-accent)}
.public-page .domain-view-switch a:hover:not([aria-current="page"]){color:var(--od-highlight);background:var(--od-surface)}
.public-page .domain-table-scroll{width:100%;overflow-x:auto;overscroll-behavior-x:contain;border:1px solid var(--od-border);border-radius:9px;background:var(--od-elevated)}
.public-page .domain-table-scroll:focus-visible{outline:2px solid var(--od-highlight);outline-offset:3px}
.public-page .domain-listings-table{width:100%;min-width:970px;border-collapse:separate;border-spacing:0;font-size:13px;font-variant-numeric:tabular-nums;text-align:left}
.public-page .domain-listings-table caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.public-page .domain-listings-table thead th{position:sticky;top:0;z-index:1;padding:13px 12px;color:var(--od-muted);background:var(--od-surface);font-size:11px;font-weight:700;letter-spacing:.045em;white-space:nowrap;border-bottom:1px solid var(--od-border)}
.public-page .domain-listings-table th:first-child{padding-left:20px}
.public-page .domain-listings-table th:last-child{padding-right:20px}
.public-page .domain-listings-table thead a{text-decoration:none;color:inherit}
.public-page .domain-listings-table thead a:hover,.public-page .domain-listings-table th[aria-sort] a{color:var(--od-accent)}
.public-page .domain-listings-table .sort-arrow{display:inline-block;margin-left:4px;font-size:11px;opacity:.75}
.public-page .domain-listings-table tbody :is(td,th){padding:16px 12px;border-bottom:1px solid var(--od-border);vertical-align:middle;font-weight:400;white-space:nowrap}
.public-page .domain-listings-table tbody tr:last-child :is(td,th){border-bottom:0}
.public-page .domain-listings-table tbody tr:hover,.public-page .domain-listings-table tbody tr:focus-within{background:color-mix(in srgb,var(--od-accent) 7%,var(--od-elevated))}
.public-page .domain-listings-table .domain-table-name{width:36%;min-width:240px;max-width:400px;white-space:normal}
.public-page .domain-table-name > a{display:block;color:var(--od-accent);text-decoration:none;font-family:var(--od-heading-font);font-size:16px;font-weight:800;letter-spacing:-.025em;overflow-wrap:anywhere}
.public-page .domain-table-name > a:hover{color:var(--od-highlight)}
.public-page .domain-table-summary{display:block;margin-top:3px;max-width:36ch;line-height:1.45;font-size:11px;color:var(--od-muted);font-weight:400;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}
.public-page .domain-table-price{font-weight:650!important;color:var(--od-text)}
.public-page .domain-price-number{display:block;font-variant-numeric:tabular-nums}
.public-page .domain-price-basis{display:block;margin-top:4px;font-size:10px;line-height:1.45;font-weight:500;color:var(--od-muted);white-space:normal} 
.public-page .domain-table-tld{color:var(--od-muted)}
.public-page .domain-score{display:flex;align-items:baseline;gap:2px;white-space:nowrap;color:var(--od-muted)}
.public-page .domain-score strong{font-size:14px;color:var(--od-accent)}
.public-page .domain-score-track{display:block;height:3px;width:58px;margin-top:5px;background:var(--od-border);border-radius:2px;overflow:hidden}
.public-page .domain-score-track > span{display:block;height:100%;background:var(--od-accent)}
.public-page .domain-table-empty{color:var(--od-muted);opacity:.65}
.public-page .domain-table-action{display:inline-flex;align-items:center;gap:6px;color:var(--od-accent);font-size:12px;font-weight:750;text-decoration:none}
.public-page .domain-table-action:hover{color:var(--od-highlight)}
.public-page .domain-table-auction{min-width:110px}
.public-page .domain-table-note{margin:10px 1px 0;color:var(--od-muted);font-size:11px;line-height:1.55}
.public-page .domain-no-results{margin:25px 0;color:var(--od-muted)}
.public-page .domain-results-toolbar + .tiles{margin-top:10px}
@media(max-width:760px){
 .public-page .domain-results-toolbar{margin-top:15px}
 .public-page .domain-listings-table{min-width:900px}
 .public-page .domain-table-scroll{scrollbar-width:thin;scrollbar-color:var(--od-accent) var(--od-elevated)}
}
@media(prefers-reduced-motion:reduce){.public-page .domain-view-switch a{transition:none}}


/* Guard the StarBorder canvas before the delayed Vite component CSS arrives.
 * Without absolute positioning its intrinsic pixel dimensions feed back into
 * the button layout (ResizeObserver loop), causing a huge white canvas.
 * This belongs in the initial SSR stylesheet, not solely in the JS chunk. */
.public-page .star-border-mount .star-border__light {
  position:absolute;
  top:-48px;
  left:-48px;
  display:block;
  width:calc(100% + 96px);
  height:calc(100% + 96px);
  pointer-events:none;
}

/* React Bits StarBorder CTA enhancement. SSR controls remain usable when JS
 * or WebGL/canvas are disabled; only a handful of primary CTAs get an island. */
.public-page .star-border-mount{display:inline-flex;vertical-align:middle;max-width:100%}
.public-page .star-border-mount .star-border{
  font-weight:800;
  font-family:inherit;
  font-size:inherit;
  line-height:inherit;
  text-decoration:none;
  padding:13px 20px;
  display:inline-flex;
  position:relative;
  white-space:normal;
  min-height:44px;
}
.public-page .star-border-mount .star-border.hero-cta{padding:14px 23px}
.public-page .star-border-mount .star-border.filter-apply{height:42px;min-height:42px;padding:0 19px}
.public-page .star-border-mount .star-border__label{gap:0}
.public-page .star-border-mount .star-border.hero-cta > .star-border__label{margin-left:0}
.public-page .star-border-mount .star-border.hero-cta .star-border__label > span > span{margin-left:20px}
.public-page .star-border-mount .star-border:hover{color:var(--od-background);background:var(--od-highlight)}
.public-page .star-border-mount .star-border:focus-visible{outline:2px solid var(--od-highlight);outline-offset:3px}
@media(prefers-reduced-motion:reduce){.public-page .star-border-mount .star-border__light{display:none}}

/* The original hero arrow has its own spacing. StarBorder adds two wrapper
   spans, which must not inherit the old generic `.hero-cta span` margin. */
.public-page .star-border-mount .star-border.hero-cta span{margin-left:0}
.public-page .star-border-mount .star-border.hero-cta .star-border__label > span > span[aria-hidden="true"]{margin-left:20px}


/* Shared public content rail: align hero copy and domain research with the header
 * and the existing curated/journal sections. Keep backgrounds full-bleed and
 * article paragraphs readable instead of stretching prose across the screen. */
.public-page {
  --od-content-gutter: max(24px, calc((100vw - var(--rail-width) - 1170px) / 2));
}
.public-page .topbar {
  padding-inline: var(--od-content-gutter);
}
.public-page .viewport-hero__content {
  flex: 0 0 100%;
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding-inline: var(--od-content-gutter);
}
.public-page :is(.section, .article) > .section-content {
  padding-inline: var(--od-content-gutter);
}
.public-page .article > .section-content > * {
  max-width: 850px;
}
@media (max-width: 700px) {
  .public-page { --od-content-gutter: 20px; }
}
@media (max-width: 420px) {
  .public-page { --od-content-gutter: 12px; }
}

/* Hero media must be pinned to its INTERNAL scrollport, just like later
 * sections. The transform follows scrollTop; the independent `scale`
 * property preserves the leaving animation without delaying scroll sync. */
.public-page .viewport-hero > :is(.viewport-hero__background,.viewport-hero__shade) {
  transform:translate3d(0,var(--od-media-scroll-y,0px),0);
}
.public-page .viewport-hero > .viewport-hero__background {
  scale:1;
  transition:scale 1.15s cubic-bezier(.22,.61,.36,1),filter 1.15s ease;
}
.public-page .viewport-hero.is-leaving > .viewport-hero__background {
  scale:1.085;
  filter:brightness(.8);
}


/* Responsive posters are chosen by <picture>, so the browser only fetches
 * the source suited to the active device. Videos are layered above posters. */
.public-page .od-responsive-poster{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none}
.public-page .od-responsive-poster>img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:center}
@media (max-width:760px),(pointer:coarse){
  .public-page .od-video--desktop{display:none!important}
}
@media (min-width:761px) and (pointer:fine){
  .public-page .od-video--mobile{display:none!important}
}
@media (prefers-reduced-motion:reduce){
  .public-page :is(.od-video--desktop,.od-video--mobile){display:none!important}
}

/* Guide pages and editorial controls */
.guide-library,.guide-article{min-height:80vh;padding:110px max(24px,calc((100vw - 1120px)/2)) 90px;background:#0b1119;color:#e9f0f8}.guide-library h1,.guide-article h1{font-size:clamp(2rem,5vw,4rem);line-height:1.12}.guide-library p,.guide-article p,.guide-article li{color:#b2c1cf;line-height:1.8}.guide-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin:32px 0}.guide-card,.guide-affiliates{background:#17222e;border:1px solid #334453;border-radius:15px;padding:24px}.guide-card h2{font-size:1.25rem}.guide-card a,.guide-article a,.guide-home-feature a{color:var(--primary,#b8ed84)}.guide-filters{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0}.guide-filters a{border:1px solid #435568;border-radius:20px;padding:9px 14px;color:#e9f0f8}.guide-filters .active{border-color:#b8ed84;color:#b8ed84}.guide-article{max-width:none}.guide-copy{max-width:780px}.guide-copy h2{margin-top:35px}.guide-affiliates{margin:35px 0}.guide-affiliates small{display:block;color:#a9b8c5;margin-top:5px}.guide-disclosure{font-size:.88rem;color:#adb9c5}.guide-home-feature{margin:0;padding:100px 5vw;background:#111d28;text-align:center;min-height:65vh;display:flex;flex-direction:column;align-items:center;justify-content:center}.guide-home-feature p{max-width:650px}.guide-home-feature .guide-grid{text-align:left;width:min(100%,1100px)}.guides-admin textarea{width:100%;min-height:80px}.guides-admin label{display:block}.guides-admin fieldset label{display:block}.guides-admin .guide-editor{display:grid;gap:15px;margin-top:20px}@media(max-width:640px){.guide-library,.guide-article{padding:100px 18px 60px}.guide-grid{grid-template-columns:1fr}}

/* Guide sections use the same full-height independent scrolling and responsive media as the homepage. */
.public-page :is(.guide-library,.guide-article){
 position:relative;isolation:isolate;min-height:100dvh;height:100dvh;
 overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;
 padding:0;background:var(--od-background,#0b1119);
}
.public-page :is(.guide-library,.guide-article) > .guide-page-content{
 position:relative;z-index:2;
 width:100%;min-height:100%;box-sizing:border-box;
 padding:clamp(58px,7vw,110px) max(24px,calc((100% - 1120px)/2)) 90px;
}
.public-page .guide-article .guide-copy{max-width:780px}
.public-page :is(.guide-library,.guide-article,.guide-home-feature) > .section-background-media{
 position:absolute;inset:0;width:100%;height:100%;z-index:0;
 transform:translate3d(0,var(--od-media-scroll-y,0px),0);pointer-events:none;
}
.public-page :is(.guide-library,.guide-article,.guide-home-feature) > .section-background-media :is(img,video){position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.public-page :is(.guide-library,.guide-article,.guide-home-feature) > .section-background-media:after{
 content:"";position:absolute;inset:0;background:color-mix(in srgb,var(--od-background,#0b1119) 74%,transparent)
}
.public-page .guide-home-feature{position:relative;isolation:isolate;overflow:hidden}
.public-page .guide-home-feature > .guide-home-content{position:relative;z-index:2;width:100%;display:flex;flex-direction:column;align-items:center}
.public-page :is(.guide-library,.guide-article) .article-copy{overflow-wrap:anywhere}
@media(max-width:760px){
 .public-page :is(.guide-library,.guide-article) > .guide-page-content{padding:50px 18px 75px}
 .public-page :is(.guide-library,.guide-article){scrollbar-gutter:auto}
}


/* Guides: all editorial controls inherit the user-configured appearance palette. */
.public-page :is(.guide-library,.guide-article,.guide-home-feature){color:var(--od-text);font-family:var(--od-body-font)}
.public-page :is(.guide-library,.guide-article) :is(p,li,.guide-disclosure){color:var(--od-muted)}
.public-page :is(.guide-library,.guide-article,.guide-home-feature) :is(.guide-card,.guide-affiliates){background:var(--od-elevated);border-color:var(--od-border)}
.public-page :is(.guide-library,.guide-article,.guide-home-feature) a:not(.button):not(.guide-filter){color:var(--od-accent)}
.public-page :is(.guide-library,.guide-article,.guide-home-feature) a:not(.button):not(.guide-filter):hover{color:var(--od-highlight)}
.public-page :is(.guide-library,.guide-article,.guide-home-feature) a:focus-visible{outline:2px solid var(--od-highlight);outline-offset:4px}
.public-page .guide-home-feature{background:var(--od-surface)}
.public-page .guide-affiliates small{color:var(--od-muted)}
.public-page .guide-filters{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0 30px;align-items:center}
.public-page .guide-filters a.guide-filter{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 16px;border:1px solid var(--od-border);border-radius:9px;background:var(--od-surface);color:var(--od-text);text-decoration:none;font-size:.9rem;font-weight:650;line-height:1.3;transition:background .18s ease,border-color .18s ease,color .18s ease}
.public-page .guide-filters a.guide-filter:hover{background:var(--od-elevated);border-color:var(--od-accent);color:var(--od-text)}
.public-page .guide-filters a.guide-filter.active,.public-page .guide-filters a.guide-filter[aria-current="page"]{border-color:var(--od-accent);color:var(--od-accent);background:color-mix(in srgb,var(--od-accent) 11%,var(--od-surface))}
.public-page .guide-filters .star-border-mount{display:inline-flex;max-width:100%}
.public-page .guide-filters .star-border-mount .star-border{font-size:.9rem;font-weight:650;min-height:42px;padding:9px 16px;text-decoration:none;white-space:normal;text-align:center;background:var(--od-surface);color:var(--od-text)}
.public-page .guide-filters .star-border-mount .star-border.active,.public-page .guide-filters .star-border-mount .star-border[aria-current="page"]{color:var(--od-accent);background:color-mix(in srgb,var(--od-accent) 11%,var(--od-surface))}
.public-page .guide-filters .star-border-mount .star-border:hover{color:var(--od-highlight)}
.public-page .guide-search-form{display:grid;gap:9px;max-width:700px;margin:26px 0 10px}
.public-page .guide-search-form>label{color:var(--od-text);font-size:.9rem;font-weight:700}
.public-page .guide-search-controls{display:flex;gap:10px;align-items:stretch}
.public-page .guide-search-controls input[type="search"]{appearance:none;-webkit-appearance:none;flex:1;min-width:0;min-height:48px;border:1px solid var(--od-border);border-radius:9px;background:var(--od-field);color:var(--od-text);padding:11px 15px;font:inherit;font-size:1rem;line-height:1.4;transition:border-color .2s ease,box-shadow .2s ease}
.public-page .guide-search-controls input[type="search"]::placeholder{color:var(--od-muted);opacity:.8}
.public-page .guide-search-controls input[type="search"]:focus{outline:2px solid var(--od-highlight);outline-offset:1px;border-color:var(--od-accent)}
.public-page .guide-search-submit{min-height:48px;padding:11px 22px;border:1px solid transparent;border-radius:9px;background:var(--od-accent);color:var(--od-on-accent);font:inherit;font-size:.95rem;font-weight:750;cursor:pointer;transition:background .18s ease,color .18s ease}
.public-page .guide-search-submit:hover{background:var(--od-highlight);color:var(--od-background)}
.public-page .guide-search-submit:focus-visible{outline:2px solid var(--od-highlight);outline-offset:3px}
@media(max-width:600px){.public-page .guide-search-controls{flex-direction:column}.public-page .guide-search-controls input[type="search"],.public-page .guide-search-submit{width:100%}.public-page .guide-filters{gap:9px}.public-page .guide-filters a.guide-filter{font-size:.83rem;padding:8px 12px}}
@media(prefers-reduced-motion:reduce){.public-page .guide-filter,.public-page .guide-search-submit{transition:none!important}}

/* Published manual lease-to-own options sit next to outright prices without implying a live quote. */
.public-page .domain-price-stack{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap;min-width:240px}
.public-page .domain-price-stack > span{display:block;min-width:105px}
.public-page .domain-lease-price{color:var(--od-accent);font-variant-numeric:tabular-nums}
.public-page .domain-lease-price strong{display:block;font-size:13px;white-space:nowrap}
.public-page .domain-lease-price small{display:block;margin-top:4px;color:var(--od-muted);font-weight:500;font-size:10px;line-height:1.45;white-space:normal;max-width:190px}
.public-page .tile-domain-prices{display:flex;gap:16px;flex-wrap:wrap;margin:10px 0 12px;font-variant-numeric:tabular-nums}
.public-page .tile-domain-prices > span{display:flex;flex-direction:column;gap:3px}
.public-page .tile-domain-prices > span:nth-child(2){color:var(--od-accent)}
.public-page .tile-domain-prices small{font-size:11px;line-height:1.4;color:var(--od-muted)}


/* Header currency selector: public display preference; original asking prices stay stored. */
.public-page .topbar .topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:clamp(10px,1.8vw,25px);min-width:0}
.public-page .topbar .topbar-actions nav{display:flex;align-items:center;gap:clamp(8px,1.5vw,22px)}
.public-page .header-currency{position:relative;display:flex;align-items:center;flex-shrink:0}
/* A consistent inset chevron replaces platform-specific native select arrows. */
.public-page .header-currency::after{content:"";position:absolute;right:14px;top:50%;width:7px;height:7px;border-right:2px solid var(--od-text,#eaeef7);border-bottom:2px solid var(--od-text,#eaeef7);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.public-page .header-currency select{appearance:none;-webkit-appearance:none;margin:0;min-height:36px;min-width:96px;max-width:112px;padding:7px 36px 7px 12px;border:1px solid var(--od-border,#42516a);border-radius:8px;color:var(--od-text,#eaeef7);background:var(--od-surface,#141b25);font-size:12px;font-weight:700;line-height:1.3;font-family:inherit;cursor:pointer;outline-offset:3px}
.public-page .header-currency select:focus-visible{outline:2px solid var(--od-accent,#ff8800)}
.public-page .currency-feedback:not([hidden]){position:absolute;top:calc(100% + 4px);right:0;width:max-content;max-width:240px;padding:5px 9px;border:1px solid var(--od-border,#42516a);border-radius:6px;background:var(--od-surface,#141b25);color:var(--od-text,#eaeef7);font-size:10px;line-height:1.4;box-shadow:0 5px 20px #0005}
.public-page .od-money{white-space:nowrap;font-variant-numeric:tabular-nums}
@media(max-width:850px){
 .public-page .topbar .topbar-actions{gap:8px}
}
@media(max-width:570px){
 .public-page .topbar{flex-wrap:wrap}
 .public-page .topbar .topbar-actions{flex:1 1 100%;justify-content:space-between;gap:6px}
 .public-page .topbar .topbar-actions nav{flex:1;gap:12px}
 .public-page .topbar .header-currency select{min-height:32px}
}
