/* Orbit164 public site, restrained dev copy (2026-11-01).
   The same system as the Today redesign (today-next.css): one typeface (Inter), quiet
   near-black surfaces, a violet tint from the app icon used only for the main action,
   links and the selected tab. No display face, no all-caps, no decoration.
   Class names are unchanged, so index.php, site.js and apply.js work as before. */
@font-face{font-family:'TN Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url('inter-var.woff2?v=1') format('woff2');}

:root{
  color-scheme:dark;
  --bg:#0C0B10; --raised:#16151C; --raised2:#1E1D26; --sep:rgba(235,232,255,.08); --sep2:rgba(235,232,255,.14);
  --text:#F3F2F7; --text2:#A3A0AF; --text3:#6E6B7A;
  --tint:#A497FF; --tint-solid:#6C5CE7; --on-tint:#FFFFFF;
  --bad:#FF6B61;
  --font:'TN Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, system-ui, sans-serif;
  --gut:clamp(20px, 4vw, 40px);
  --max:1120px;
  --r:18px;
  --sec:clamp(80px, 11vw, 148px);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth; scroll-padding-top:72px; -webkit-text-size-adjust:100%;}
body{margin:0; background:var(--bg); color:var(--text); font:400 17px/1.55 var(--font); letter-spacing:-.008em; -webkit-font-smoothing:antialiased; overflow-x:hidden; font-feature-settings:'cv11','ss01';}
img{max-width:100%; display:block;}
a{color:inherit;}
p{margin:0;}
h1,h2,h3{margin:0;}
:focus-visible{outline:2px solid var(--tint); outline-offset:3px; border-radius:6px;}
.skip{position:absolute; left:-9999px; top:8px; z-index:100; background:var(--text); color:var(--bg); padding:10px 16px; border-radius:10px; font-weight:600; text-decoration:none;}
.skip:focus{left:12px;}
.wrap{width:100%; max-width:var(--max); margin:0 auto; padding-left:max(var(--gut), env(safe-area-inset-left, 0px)); padding-right:max(var(--gut), env(safe-area-inset-right, 0px));}
.y{color:inherit;}

/* ── type ── */
.display{font-weight:700; font-size:clamp(44px, 7.2vw, 84px); line-height:1.03; letter-spacing:-.04em; text-wrap:balance;}
.display--md{font-size:clamp(38px, 5.6vw, 64px);}
.h2{font-weight:700; font-size:clamp(32px, 4.4vw, 52px); line-height:1.08; letter-spacing:-.032em; max-width:20ch; text-wrap:balance;}
.h3{font-weight:600; font-size:clamp(22px, 2.2vw, 26px); line-height:1.2; letter-spacing:-.02em;}
.sub{margin-top:18px; color:var(--text2); font-size:clamp(17px, 1.5vw, 19px); line-height:1.55; max-width:56ch;}
.lede{margin-top:22px; color:var(--text2); font-size:clamp(18px, 1.7vw, 21px); line-height:1.5; max-width:40ch;}
.kicker,.eyebrow{display:flex; align-items:center; gap:10px; flex-wrap:wrap; font-size:16px; font-weight:600; letter-spacing:-.01em; color:var(--tint); margin-bottom:14px;}
.fine{margin-top:14px; color:var(--text3); font-size:14px; line-height:1.5;}
.fine a,.qs a,.note a{color:var(--tint); text-decoration:none;}
.fine a:hover,.qs a:hover,.note a:hover{text-decoration:underline; text-underline-offset:3px;}
.note{margin-top:28px; color:var(--text3); font-size:15px; max-width:64ch;}
.pill{display:inline-block; padding:2px 8px; border-radius:6px; background:var(--raised2); color:var(--text2); font-size:13px; font-weight:500; letter-spacing:0;}
.pill--line{background:var(--raised2); color:var(--text2);}
.demo-note{color:var(--text3); font-size:13px; margin-top:12px;}

/* ── buttons ── */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:11px 20px; border-radius:12px; border:0; background:var(--tint-solid); color:var(--on-tint); font:600 15px/1.1 var(--font); letter-spacing:-.01em; text-decoration:none; cursor:pointer; transition:background-color .15s ease;}
.btn:hover{background:#7A6BF0;}
.btn:active{background:#6151DA;}
.btn--ghost{background:var(--raised2); color:var(--text);}
.btn--ghost:hover{background:#26252F;}
.btn--ghost:active{background:#1A1922;}
.btn--lg{min-height:50px; padding:14px 24px; font-size:16px; border-radius:14px;}
.btn--sm{min-height:36px; padding:8px 14px; font-size:14px; border-radius:10px;}
.btn--block{width:100%;}
.link{display:inline-block; margin-top:26px; font-weight:500; color:var(--tint); text-decoration:none;}
.link:hover{text-decoration:underline; text-underline-offset:3px;}
.cta-row{display:flex; flex-wrap:wrap; gap:12px; margin-top:32px;}

/* ── top bar ── */
.bar{position:sticky; top:0; z-index:50; background:rgba(12,11,16,.78); backdrop-filter:saturate(1.4) blur(18px); -webkit-backdrop-filter:saturate(1.4) blur(18px); border-bottom:1px solid var(--sep);}
.bar-in{max-width:var(--max); margin:0 auto; padding:8px max(var(--gut), env(safe-area-inset-right, 0px)) 8px max(var(--gut), env(safe-area-inset-left, 0px)); display:flex; align-items:center; gap:18px; min-height:56px;}
.mark{font-weight:700; font-size:19px; letter-spacing:-.03em; text-decoration:none; color:var(--text); line-height:1;}
.mark span{color:var(--text2); font-weight:600;}
.nav{margin-left:auto;}
.nav ul,.menu ul{list-style:none; margin:0; padding:0;}
.nav ul{display:flex; gap:2px;}
.nav a{display:block; padding:8px 12px; border-radius:8px; text-decoration:none; color:var(--text2); font-weight:500; font-size:14px;}
.nav a:hover,.nav a.on{color:var(--text);}
.bar-act{display:flex; align-items:center; gap:8px;}
.menu-btn{display:none; width:44px; height:44px; border-radius:10px; border:0; background:transparent; cursor:pointer; flex-direction:column; justify-content:center; align-items:center; gap:6px;}
.menu-btn span{display:block; width:18px; height:1.5px; background:var(--text); border-radius:2px; transition:transform .2s ease;}
.menu-btn[aria-expanded="true"] span:first-child{transform:translateY(3.75px) rotate(45deg);}
.menu-btn[aria-expanded="true"] span:last-child{transform:translateY(-3.75px) rotate(-45deg);}
.menu{padding:4px max(var(--gut), env(safe-area-inset-right, 0px)) 16px max(var(--gut), env(safe-area-inset-left, 0px));}
.menu a{display:block; padding:14px 0; border-bottom:1px solid var(--sep); text-decoration:none; font-weight:500; font-size:17px;}
@media (max-width:980px){ .nav{display:none;} .bar-act{margin-left:auto;} .menu-btn{display:flex;} }
@media (max-width:480px){ .bar-act .btn--ghost{display:none;} }
@media (min-width:981px){ .menu{display:none !important;} }

/* ── screenshots: the app screen itself, no device bezel ── */
.shot{display:block; padding:0; margin:0; border:0; background:none; cursor:zoom-in; color:inherit; text-align:left; border-radius:28px; overflow:hidden; box-shadow:0 0 0 1px var(--sep2);}
.shot img{width:100%; height:auto; background:var(--raised);}
.shot--wide{border-radius:14px;}
figure{margin:0;}
figcaption{margin-top:16px; color:var(--text2); font-size:15px; line-height:1.5;}
figcaption b{display:block; color:var(--text); font-weight:600; font-size:16px; margin-bottom:2px;}

/* ── hero: centred statement, then the screens ── */
.hero{padding:clamp(56px, 9vw, 120px) 0 clamp(48px, 7vw, 96px);}
.hero-grid{display:grid; gap:clamp(48px, 7vw, 88px);}
.hero-copy{display:flex; flex-direction:column; align-items:center; text-align:center;}
.hero-copy .kicker{justify-content:center; color:var(--text2); font-weight:500;}
.hero-copy .lede{margin-left:auto; margin-right:auto;}
.hero-copy .cta-row{justify-content:center;}
.hero-shots{display:flex; justify-content:center; align-items:flex-end; gap:clamp(16px, 2.4vw, 28px);}
.hero-shots .shot{flex:0 0 auto;}
.h-front{width:clamp(250px, 24vw, 310px);}
.h-back{width:clamp(200px, 19vw, 250px); margin-bottom:clamp(24px, 3vw, 40px);}
.hero .demo-note{text-align:center; margin-top:20px;}
@media (max-width:720px){
  .h-back{display:none;}
  .h-front{width:min(72vw, 300px);}
}
/* Wide screens: statement on the left, the app beside it, so the product is in the first screen. */
@media (min-width:1024px){
  .hero{padding-top:clamp(56px, 6vw, 88px);}
  .hero-grid{grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); align-items:center; gap:clamp(40px, 5vw, 72px);}
  .hero-copy{align-items:flex-start; text-align:left;}
  .hero-copy .kicker,.hero-copy .cta-row{justify-content:flex-start;}
  .hero-copy .lede{margin-left:0;}
  .hero .display{font-size:clamp(52px, 4.6vw, 68px);}
  .hero-shots{justify-content:flex-start; align-items:center;}
  .hero-shots .h-back{margin-bottom:0;}
  .h-front{width:clamp(230px, 17.5vw, 260px);}
  .h-back{width:clamp(170px, 13vw, 196px);}
  .hero-shots .h-left{display:none;}   /* two screens fit the half column; Pulse returns in Community */
  .hero .demo-note{text-align:right;}
}

/* Creator credit: the same line the current homepage carries. */
.credit{display:flex; align-items:center; gap:12px; margin-top:26px; text-align:left;}
.credit img{width:44px; height:44px; flex:0 0 auto; border-radius:50%; object-fit:cover; background:#000; box-shadow:0 0 0 1px var(--sep2);}
.credit .who{display:flex; flex-direction:column; min-width:0; line-height:1.3;}
.credit .by{font-size:15px; font-weight:400; color:var(--text2);}
.credit .by b{color:var(--text); font-weight:600;}
.credit a{align-self:flex-start; padding:2px 0; font-size:14px; color:var(--text3); text-decoration:none;}
.credit a:hover{color:var(--tint);}

/* ── connected overview ── */
.loop{padding:var(--sec) 0 0;}
.loop-flow{list-style:none; margin:44px 0 0; padding:0; display:grid; grid-template-columns:repeat(5, minmax(0, 1fr)); gap:12px;}
.loop-flow li{background:var(--raised); border-radius:var(--r);}
.loop-flow li > a,.lf-src{display:block; height:100%; padding:22px 20px 24px; text-decoration:none; border-radius:var(--r);}
.loop-flow li > a:hover{background:var(--raised2);}
.loop-flow b{display:block; font-weight:600; font-size:17px; letter-spacing:-.015em; margin-bottom:6px;}
.loop-flow span{display:block; color:var(--text2); font-size:14.5px; line-height:1.5;}
.loop-flow .lf-src b{color:var(--tint);}
@media (max-width:900px){ .loop-flow{grid-template-columns:1fr 1fr;} .loop-flow li:first-child{grid-column:1 / -1;} }
@media (max-width:520px){ .loop-flow{grid-template-columns:1fr; gap:8px;} }

/* ── feature sections ── */
.feat{padding:var(--sec) 0 0;}
.feat-grid{display:grid; grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr); gap:clamp(40px, 7vw, 96px); align-items:center;}
.feat-grid--flip{grid-template-columns:minmax(0, 1.1fr) minmax(0, .9fr);}
.feat-grid--flip .feat-copy{order:2;}
.feat-head{max-width:720px; margin-bottom:clamp(36px, 5vw, 60px);}
.steps{list-style:none; counter-reset:s; margin:32px 0 0; padding:0;}
.steps li{counter-increment:s; position:relative; padding:14px 0 14px 34px; color:var(--text2); box-shadow:0 -1px 0 var(--sep);}
.steps li::before{content:counter(s); position:absolute; left:0; top:14px; font-weight:500; font-size:15px; color:var(--text3); font-variant-numeric:tabular-nums;}
.steps b{color:var(--text); font-weight:600;}
.ticks{list-style:none; margin:24px 0 0; padding:0; display:grid; gap:10px;}
.ticks li{position:relative; padding-left:18px; color:var(--text2); line-height:1.55;}
.ticks li::before{content:""; position:absolute; left:2px; top:.7em; width:5px; height:5px; border-radius:50%; background:var(--text3);}
.ticks b{color:var(--text); font-weight:600;}
.duo{display:grid; grid-template-columns:1fr 1fr; gap:clamp(16px, 2.4vw, 28px); align-items:start;}
.duo .lower{margin-top:clamp(40px, 6vw, 80px);}
.trio{display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:clamp(20px, 3vw, 40px);}
.trio .shot{max-width:320px;}
@media (max-width:900px){
  .feat-grid,.feat-grid--flip{grid-template-columns:1fr;}
  .feat-grid--flip .feat-copy{order:0;}
  .duo{max-width:560px;}
}
@media (max-width:700px){
  .duo{grid-template-columns:repeat(2, 70vw); max-width:none; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; margin:0 calc(-1 * var(--gut)); padding:0 var(--gut) 8px;}
  .duo::-webkit-scrollbar{display:none;}
  .duo .shot{scroll-snap-align:center;}
  .duo .lower{margin-top:0;}
  .trio{grid-template-columns:1fr; max-width:320px; margin:0 auto; gap:40px;}
}

/* ── trade (2026-11-04): two copy columns under the screens, aligned to the top ── */
.feat-grid--top{align-items:start; margin-top:clamp(48px, 6vw, 80px);}
/* A screenshot button fills its column before its image loads, so lazy shots keep their reserved height (no layout
   shift, and #section links land where they should). Buttons size to their content by default. */
.rail .shot,.trio .shot,.duo .shot,.panel-shot .shot{width:100%;}

/* ── community rail ── */
.rail{display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:clamp(16px, 2.4vw, 28px);}
@media (max-width:900px){
  .rail{grid-template-columns:repeat(4, 70vw); overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; margin:0 calc(-1 * var(--gut)); padding:0 var(--gut) 8px;}
  .rail::-webkit-scrollbar{display:none;}
  .rail figure{scroll-snap-align:center;}
}
@media (min-width:600px) and (max-width:900px){ .rail{grid-template-columns:repeat(4, 300px);} }

/* ── why ── */
.why{padding:var(--sec) 0 0;}
.why-grid{margin-top:40px; display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:clamp(24px, 3vw, 40px);}
.why-grid h3{font-weight:600; font-size:18px; letter-spacing:-.015em; margin:0 0 6px;}
.why-grid p{color:var(--text2); font-size:15.5px;}
.num{display:none;}
@media (max-width:900px){ .why-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:520px){ .why-grid{grid-template-columns:1fr; gap:24px;} }

/* ── network ── */
.net{padding:var(--sec) 0 0;}
.tablist{display:inline-flex; gap:2px; padding:3px; background:var(--raised); border-radius:12px; margin-bottom:clamp(28px, 4vw, 44px); max-width:100%;}
.tablist [role=tab]{appearance:none; border:0; background:transparent; color:var(--text2); font:500 14.5px/1 var(--font); padding:10px 14px; border-radius:9px; cursor:pointer; min-height:38px; white-space:nowrap;}
.tablist [role=tab]:hover{color:var(--text);}
.tablist [role=tab][aria-selected=true]{color:var(--text); background:var(--raised2);}
.panel{display:grid; grid-template-columns:minmax(0, 1.1fr) minmax(0, .9fr); gap:clamp(32px, 5vw, 72px); align-items:center;}
.panel[hidden]{display:none;}
.panel .who{margin-top:12px; color:var(--text2); font-size:17px;}
.panel .who b,.panel .sees b{display:block; font-size:14px; font-weight:500; color:var(--text3); margin-bottom:2px;}
.panel .sees{margin:24px 0 28px; color:var(--text2);}
.panel-shot{justify-self:center; width:100%; max-width:300px;}
@media (max-width:800px){
  .panel{grid-template-columns:1fr;}
  .tablist{display:flex; overflow-x:auto; scrollbar-width:none;}
  .tablist::-webkit-scrollbar{display:none;}
  .tablist [role=tab]{flex:0 0 auto;}
}
.req{margin-top:clamp(36px, 5vw, 56px); border-radius:var(--r); background:var(--raised);}
.req:focus{outline:none;}
.req-in{padding:clamp(24px, 4vw, 40px); max-width:780px;}
.req-in > p{margin-top:12px; color:var(--text2);}
.req-steps{margin:20px 0 0; padding-left:20px; color:var(--text2); display:grid; gap:8px;}
.req-steps li::marker{color:var(--text3);}
.req-steps b{color:var(--text); font-weight:600;}

/* ── games (off on the live page; kept in the same type) ── */
.games{padding:var(--sec) 0 0;}
.game{display:grid; grid-template-columns:minmax(0, .8fr) minmax(0, 1.2fr); gap:clamp(24px, 5vw, 64px); align-items:center; padding:clamp(24px, 4vw, 40px) 0;}
.game--flip .game-copy{order:2;}
.game-copy p{margin-top:12px; color:var(--text2); max-width:42ch;}
.game-shots{display:flex; gap:14px; align-items:flex-end; justify-content:center;}
.game-shots .shot--wide{flex:1 1 auto; max-width:640px;}
.game-shots .shot:not(.shot--wide){flex:0 0 auto; width:clamp(140px, 18vw, 210px);}
@media (max-width:800px){ .game{grid-template-columns:1fr;} .game--flip .game-copy{order:0;} .game-shots{flex-wrap:wrap;} .game-shots .shot--wide{flex-basis:100%;} }

/* ── faq ── */
.faq{padding:var(--sec) 0 0;}
.faq-grid{display:grid; grid-template-columns:minmax(0, .7fr) minmax(0, 1.3fr); gap:clamp(24px, 5vw, 64px);}
.qs details{box-shadow:0 -1px 0 var(--sep);}
.qs details:last-child{box-shadow:0 -1px 0 var(--sep), 0 1px 0 var(--sep);}
.qs summary{list-style:none; cursor:pointer; padding:20px 40px 20px 0; position:relative; font-weight:500; font-size:17px; letter-spacing:-.015em;}
.qs summary::-webkit-details-marker{display:none;}
.qs summary::after{content:""; position:absolute; right:8px; top:50%; width:8px; height:8px; border-right:1.5px solid var(--text3); border-bottom:1.5px solid var(--text3); transform:translateY(-70%) rotate(45deg); transition:transform .2s ease;}
.qs details[open] summary::after{transform:translateY(-30%) rotate(-135deg);}
.qs details p{padding:0 0 22px; color:var(--text2); max-width:64ch;}
@media (max-width:800px){ .faq-grid{grid-template-columns:1fr;} }

/* ── join ── */
.join{padding:var(--sec) 0 clamp(80px, 10vw, 128px);}
.join-grid{display:grid; grid-template-columns:minmax(0, 1.1fr) minmax(0, .9fr); gap:clamp(32px, 5vw, 72px); align-items:center;}
.access{background:var(--raised); border-radius:20px; padding:clamp(22px, 3vw, 32px);}
.acc-t{font-size:15px; font-weight:500; color:var(--text2); margin-bottom:8px;}
.acc-count{margin-bottom:18px; color:var(--text2);}
.acc-count b{font-weight:700; font-size:44px; letter-spacing:-.04em; color:var(--text); margin-right:6px; line-height:1; font-variant-numeric:tabular-nums;}
.acc-code{font:600 clamp(24px, 7vw, 30px)/1 var(--font); letter-spacing:.08em; font-variant-numeric:tabular-nums; color:var(--text); text-align:center; padding:18px; background:var(--raised2); border-radius:12px; margin-bottom:14px; user-select:all;}
.acc-invite{margin-top:24px; padding-top:22px; box-shadow:0 -1px 0 var(--sep);}
.acc-invite label{display:block; font-weight:500; margin-bottom:10px;}
.acc-field{display:flex; gap:10px;}
.acc-field input{flex:1; min-width:0; min-height:48px; padding:12px 14px; border-radius:12px; border:1px solid var(--sep2); background:var(--bg); color:var(--text); font:500 16px/1 var(--font); letter-spacing:.08em; text-transform:uppercase;}
.acc-field input::placeholder{letter-spacing:0; text-transform:none; color:var(--text3);}
.acc-field input:focus{border-color:var(--tint); outline:none;}
.acc-msg{margin:0 0 14px; color:var(--bad); font-weight:500; font-size:14.5px;}
.acc-err{margin-top:8px; color:var(--bad); font-weight:500; font-size:14px;}
.hp{position:absolute; left:-9999px; width:1px; height:1px; opacity:0;}
@media (max-width:900px){ .join-grid{grid-template-columns:1fr;} }
@media (max-width:420px){ .acc-field{flex-direction:column;} }

/* ── footer ── */
.foot{border-top:1px solid var(--sep); padding:40px 0 calc(48px + env(safe-area-inset-bottom, 0px));}
.foot-grid{display:flex; flex-wrap:wrap; gap:24px 40px; justify-content:space-between;}
.foot .mark{font-size:17px;}
.foot-links{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2, auto); gap:10px 32px; align-content:start;}
.foot-links a{color:var(--text2); text-decoration:none; font-size:14px;}
.foot-links a:hover{color:var(--text);}
@media (max-width:520px){ .foot-links{grid-template-columns:1fr;} }

/* ── lightbox ── */
.lb{border:0; padding:0; background:transparent; max-width:min(96vw, 900px); max-height:96vh; color:var(--text);}
.lb::backdrop{background:rgba(6,5,9,.92);}
.lb img{max-height:84vh; width:auto; max-width:100%; margin:0 auto; border-radius:22px; background:#000;}
.lb-cap{text-align:center; margin-top:14px; color:var(--text2); font-size:15px; padding:0 12px;}
.lb-x{position:fixed; top:max(14px, env(safe-area-inset-top, 0px)); right:max(14px, env(safe-area-inset-right, 0px)); width:44px; height:44px; border-radius:50%; border:0; background:var(--raised2); color:var(--text); font-size:24px; line-height:1; cursor:pointer;}

/* ── motion: none on its own. Sections are simply there (site.js still tags them .rv). ── */
.rv,.rv.in{opacity:1; transform:none;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .btn,.qs summary::after,.menu-btn span{transition:none;}
}

/* ── request a beta code (assets/apply.js) ── */
.ask{margin-top:clamp(32px, 4vw, 48px); background:var(--raised); border-radius:var(--r);}
.ask > summary{list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; padding:clamp(18px, 3vw, 26px) clamp(20px, 3vw, 30px); color:var(--text2);}
.ask > summary::-webkit-details-marker{display:none;}
.ask > summary b{color:var(--text); font-weight:600; margin-right:4px;}
.ask-btn{display:inline-flex; align-items:center; min-height:40px; padding:9px 16px; border-radius:10px; background:var(--raised2); color:var(--text); font-weight:500; font-size:15px; white-space:nowrap;}
.ask > summary:hover .ask-btn{background:#26252F;}
.ask[open] > summary .ask-btn{display:none;}
.ask-in{padding:0 clamp(20px, 3vw, 30px) clamp(22px, 3vw, 32px);}
.ask-check{margin-top:8px; padding:18px; border-radius:12px; background:var(--raised2);}
.ask-check p{margin:8px 0 14px; color:var(--text2);}
.ask-result{margin-top:14px;}
.ask-result h4{margin:0 0 6px; font-size:17px; font-weight:600;}
.ask-result p{margin:0 0 10px; color:var(--text2);}
.ask-form{position:relative; margin-top:12px; display:grid; grid-template-columns:1fr 1fr; gap:18px 18px;}
.ask-f{display:flex; flex-direction:column; gap:6px; min-width:0;}
.ask-f--wide{grid-column:1 / -1;}
.ask-f label{font-weight:500; font-size:15px;}
.ask-hint{color:var(--text3); font-size:14px; line-height:1.45;}
.ask-f input,.ask-f select,.ask-f textarea{width:100%; min-height:48px; padding:12px 14px; border-radius:12px; border:1px solid var(--sep2); background:var(--bg); color:var(--text); font:400 16px/1.4 var(--font);}
.ask-f textarea{min-height:120px; resize:vertical;}
.ask-f input:focus,.ask-f select:focus,.ask-f textarea:focus{border-color:var(--tint); outline:none;}
.ask-e{display:none; color:var(--bad); font-weight:500; font-size:14px;}
.ask-f.bad .ask-e,.ask-ack-e.bad{display:block;}
.ask-f.bad input,.ask-f.bad select,.ask-f.bad textarea{border-color:var(--bad);}
.ask-ack{display:flex; gap:10px; align-items:flex-start; color:var(--text2); cursor:pointer;}
.ask-ack input{width:20px; height:20px; margin-top:2px; accent-color:var(--tint-solid); flex:none;}
.ask-ack-e{grid-column:1 / -1; margin-top:-8px;}
.ask-go .fine{margin-top:12px;}
.ask-done{margin-top:20px; padding:20px; border-radius:12px; background:var(--raised2);}
.ask-done h4{margin:0 0 6px; font-size:18px; font-weight:600; color:var(--text);}
.ask-done p{margin:0 0 8px; color:var(--text2);}
.ask-done.ask-done--bad h4{color:var(--bad);}
@media (max-width:640px){ .ask-form{grid-template-columns:1fr;} .ask > summary{flex-direction:column; align-items:flex-start;} }

/* Network: advertise link */
.ad-cta{display:block; margin-top:16px; padding:18px 20px; border-radius:var(--r); background:var(--raised); text-decoration:none; color:var(--text2);}
.ad-cta b{color:var(--text); font-weight:600; margin-right:6px;}
.ad-cta:hover{background:var(--raised2);}
