@import url("https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Rubik:wght@400;500;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap");

:root {
  --bg: #090b12;
  --bg2: #0e111a;
  --panel: rgba(14, 17, 26, 0.84);
  --panel-2: rgba(18, 21, 33, 0.92);

  --border: rgba(255, 128, 42, 0.14);
  --border-strong: rgba(106, 0, 255, 0.28);

  --text: #f5f7fb;
  --text-soft: #d9deea;
  --muted: #a9b1c3;

  --accent: #8D00EF;
  --accent-2: #FF5983;
  --accent-3: #FD6A00;
  --accent-4: #6A00FF;
  --accent-5: #FA459A;

  --good: #FF802A;
  --warn: #FD6A00;
  --danger: #FF6B6B;
  --info: #9E00E7;

  --shadow: 0 10px 30px rgba(0, 0, 0, 0.42);
  --radius: 16px;
  --radius-lg: 22px;
  --max: 1120px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;font-family:Rubik,Roboto,"Segoe UI",Helvetica,Arial,sans-serif;
  background:
    radial-gradient(circle at 12% 10%, rgba(253, 106, 0, 0.10) 0%, transparent 32%),
    radial-gradient(circle at 84% 12%, rgba(250, 69, 154, 0.10) 0%, transparent 34%),
    radial-gradient(circle at 70% 70%, rgba(106, 0, 255, 0.10) 0%, transparent 40%),
    linear-gradient(180deg, #080a10 0%, #0b0d14 100%);
  color:var(--text); line-height:1.5;
}


/* Command-center typography */
:where(h1,h2,h3,.brand-name,.nav a,.nav-drop-btn,.dropdown-menu a,.mobile-nav a,.btn,.tag-filter){
  letter-spacing:.06em;
}
:where(h1,h2,h3){
  font-family:"Bebas Neue",Oswald,Roboto,"Arial Narrow","Segoe UI",sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.eyebrow,.badge,.pill,.tag,.tag-filter,.brand-sub,.form-meta{
  font-family:"IBM Plex Mono","Andale Mono",Consolas,"Liberation Mono",Menlo,monospace;
  letter-spacing:.08em;
}
.brand-name{
  font-family:"Bebas Neue",Oswald,Roboto,"Arial Narrow","Segoe UI",sans-serif;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:1.05rem;
}
.brand-sub{
  letter-spacing:.05em;
}


/* Terminal label styling */
.eyebrow,.badge,.pill,.tag,.tag-filter{
  text-transform:uppercase;
  font-weight:600;
}
.eyebrow::before,.badge::before,.pill::before,.tag::before,.tag-filter::before{
  content:"[";
  opacity:.7;
  margin-right:.18em;
}
.eyebrow::after,.badge::after,.pill::after,.tag::after,.tag-filter::after{
  content:"]";
  opacity:.7;
  margin-left:.18em;
}
.eyebrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,128,42,.06);
  border:1px solid rgba(255,128,42,.16);
  padding:.22rem .5rem;
  border-radius:999px;
}
.badge,.pill,.tag,.tag-filter{
  letter-spacing:.07em;
}

a{
  color:#FF802A;
  text-decoration-color:rgba(255,128,42,.5);
  text-underline-offset:2px;
}
a:hover,a:focus-visible{
  color:#FA459A;
  text-decoration-color:rgba(250,69,154,.65);
}
a:visited{
  color:#FF5983;
}
a:focus-visible{
  outline:2px solid rgba(255,128,42,.35);
  outline-offset:2px;
  border-radius:4px;
}



/* Accessible link colors on dark backgrounds */
a {
  color: #FF802A;
  text-decoration-color: rgba(255, 128, 42, 0.45);
  text-underline-offset: 2px;
}

a:hover,
a:focus-visible {
  color: #FA459A;
  text-decoration-color: rgba(250, 69, 154, 0.65);
}

a:visited {
  color: #FF5983;
}

a:focus-visible {
  outline: 2px solid rgba(255, 128, 42, 0.35);
  outline-offset: 2px;
  border-radius: 4px;
}
.bg-grid{
  position:fixed; inset:0; pointer-events:none; opacity:.12;
  background-image:
    linear-gradient(to right, rgba(180,220,255,.08) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(180,220,255,.08) 1px, transparent 1px);
  background-size:28px 28px;
  mask-image: radial-gradient(circle at center, rgba(0,0,0,.9), rgba(0,0,0,.25));
}
.wrap{width:min(var(--max), calc(100% - 1.1rem)); margin-inline:auto}
.topbar{
  position:sticky; top:0; z-index:50; backdrop-filter:blur(8px);
  background:rgba(7,12,18,.72); border-bottom:1px solid rgba(255,128,42,.14);
}
.topbar-inner{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:.75rem}
.brand{display:flex;align-items:center;gap:.75rem;color:inherit;text-decoration:none;min-width:0}
.brand-mark{
  width:42px;
  height:42px;
  border-radius:12px;
  overflow:hidden;
  flex:0 0 auto;
  background: rgba(8,10,16,0.92);
  border:1px solid rgba(255,128,42,.28);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.03),
    0 0 0 1px rgba(106,0,255,.08),
    0 6px 16px rgba(0,0,0,.35);
  display:grid;
  place-items:center;
}

.brand-mark img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  padding:4px;
  filter: drop-shadow(0 0 8px rgba(255,128,42,.10)) drop-shadow(0 0 10px rgba(106,0,255,.12));
}

.page-logo-wrap{
  width:min(100%, 340px);
  margin:0 auto .8rem;
  padding:.65rem;
  border:1px solid rgba(255,128,42,.16);
  border-radius:18px;
  background:
    radial-gradient(circle at 18% 20%, rgba(253,106,0,.10), transparent 45%),
    radial-gradient(circle at 82% 28%, rgba(250,69,154,.10), transparent 50%),
    radial-gradient(circle at 55% 85%, rgba(106,0,255,.12), transparent 58%),
    rgba(255,255,255,.01);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02);
}
.page-logo{
  width:100%;
  max-width:280px;
  height:auto;
  max-height:96px;
  object-fit:contain;
  display:block;
  margin:0 auto;
  filter: drop-shadow(0 0 14px rgba(106,0,255,.14)) drop-shadow(0 0 10px rgba(253,106,0,.10));
}
.brand-text{display:grid;line-height:1.15;min-width:0}
.brand-name{font-weight:700;font-size:.98rem;letter-spacing:.02em}
.brand-sub{color:var(--muted);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nav{display:flex;align-items:center;gap:.1rem}
.nav a,.mobile-nav a,.dropdown-menu a,.nav-drop-btn{
  color:#FFD1B3;text-decoration:none;padding:.55rem .65rem;border-radius:10px;font-size:.9rem;
  text-transform:uppercase;
}
.nav a:hover,.mobile-nav a:hover,.dropdown-menu a:hover,.nav a.active{
  background:rgba(255,128,42,.10); color:#FFF0E6;
}
.menu-btn{display:none;width:42px;height:42px;border:1px solid var(--border);background:rgba(255,255,255,.02);border-radius:10px;align-items:center;justify-content:center;flex-direction:column;gap:4px;cursor:pointer}
.menu-btn span{width:18px;height:2px;background:var(--text-soft);border-radius:999px}
.menu-btn .sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}
.mobile-nav{display:none;border-top:1px solid rgba(255,128,42,.14);background:rgba(9,15,22,.92);padding:.35rem .5rem .65rem}
.mobile-nav.open{display:grid;gap:.2rem}

main{padding-bottom:1rem}
.hero{padding:1rem 0}
.hero-panel,.card{
  background: linear-gradient(180deg, var(--panel), var(--panel-2));
  border:1px solid var(--border); border-radius:var(--radius-lg); box-shadow:var(--shadow);
}
.hero-panel{padding:1.15rem; text-align:center}
.eyebrow{margin:0 0 .45rem;color:#FF802A;letter-spacing:.12em;font-size:.75rem;font-weight:700}
.hero h1,.section-head h2{color:#f8f4ff}
.hero h1{margin:0;font-size:clamp(1.4rem,4vw,2.2rem);line-height:1.15;text-shadow:0 0 18px rgba(106,0,255,.1)}
.hero-copy{margin:.8rem auto 0;color:var(--text-soft);max-width:62ch}
.cta-row{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.65rem;justify-content:center}
.btn{
  border:1px solid var(--border); border-radius:12px; padding:.72rem .95rem; text-decoration:none; color:var(--text);
  display:inline-flex; align-items:center; justify-content:center; font-weight:600; cursor:pointer;
  transition:transform 140ms ease, background-color 140ms ease, border-color 140ms ease;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{
  background: linear-gradient(135deg, rgba(253,106,0,.18), rgba(255,89,131,.16), rgba(106,0,255,.18));
  border-color: rgba(255,128,42,.35); color:#fff7f2;
}
.btn-primary:hover{border-color: rgba(255,128,42,.55); box-shadow:0 0 0 3px rgba(253,106,0,.10)}
.btn-secondary{background:rgba(255,255,255,.02); border-color:rgba(106,0,255,.22)}
.btn-secondary:hover{background:rgba(255,255,255,.04); border-color:rgba(255,89,131,.32)}

.grid{display:grid;gap:1rem}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.card{padding:1rem}
.card h2,.card h3{margin:0;line-height:1.2}
.card p{color:var(--text-soft)}
.card-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.65rem}
.badge,.pill{
  display:inline-flex;align-items:center;border-radius:999px;font-size:.72rem;padding:.22rem .52rem;border:1px solid var(--border);white-space:nowrap;color:var(--text-soft);font-style:normal
}
.pill{padding:.24rem .58rem}
.pill-good,.badge-good,.badge-live{border-color:rgba(255,128,42,.35);background:rgba(255,128,42,.08);color:#ffe7d2}
.pill-info,.badge-info{border-color:rgba(158,0,231,.35);background:rgba(158,0,231,.08);color:#f0dcff}
.pill-warn,.badge-warn{border-color:rgba(255,89,131,.35);background:rgba(255,89,131,.08);color:#ffe0ea}
.pill-muted,.badge-muted{background:rgba(255,255,255,.03);color:var(--text-soft)}
.meta-pills{margin-top:.95rem;display:flex;flex-wrap:wrap;gap:.45rem;justify-content:center}
.section{padding:1rem 0}
.section-head{margin-bottom:.95rem}
.section-head.center{text-align:center;display:grid;justify-items:center}
.section-head h2{margin:0;font-size:clamp(1.1rem,3vw,1.6rem)}
.section-head p{margin:.45rem 0 0;color:var(--text-soft);max-width:70ch}
.feature{text-align:center;display:grid;justify-items:center;align-content:start}
.feature p{margin:.45rem 0 .75rem}
.tag{margin-top:auto;display:inline-flex;border:1px solid rgba(158,0,231,.26);background:rgba(158,0,231,.06);color:#f0dcff;border-radius:999px;padding:.22rem .55rem;font-size:.72rem;letter-spacing:.05em}
.callout ul,.compare ul,.plain-list{margin:0;padding-left:1rem;color:var(--text-soft)}
.callout li+.callout li,.compare li+.compare li{margin-top:.25rem}
.callout.success{border-color:rgba(255,128,42,.24);background:linear-gradient(180deg, rgba(255,128,42,.04), rgba(14,23,34,.9))}
.callout.warning{border-color:rgba(255,89,131,.25);background:linear-gradient(180deg, rgba(255,89,131,.04), rgba(14,23,34,.9))}
.compare p{margin:.3rem 0 .5rem}
.kv-list{list-style:none;margin:0;padding:0}
.kv-list li{display:flex;justify-content:space-between;gap:.6rem;padding:.45rem 0;border-bottom:1px solid rgba(255,128,42,.12)}
.kv-list li:last-child{border-bottom:none}
.kv-list span{color:var(--muted)}
.kv-list strong{font-weight:600}
.kv-list li{align-items:center}
.kv-list .badge{font-size:.68rem;padding:.18rem .46rem;justify-self:end}
.flow{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem;text-align:center}
.flow-node{border:1px solid var(--border);background:rgba(255,255,255,.02);border-radius:12px;padding:.55rem .75rem;font-weight:600}
.flow-arrow{color:var(--muted);font-weight:700}
.footer{margin-top:.6rem;border-top:1px solid rgba(255,128,42,.14);background:rgba(7,12,18,.58)}
.footer-inner{min-height:62px;display:grid;place-items:center;text-align:center;color:var(--muted);font-size:.88rem;padding:.6rem 0}
.notice{border:1px solid rgba(255,89,131,.25);background:rgba(255,89,131,.05);color:var(--text-soft);border-radius:12px;padding:.65rem .75rem;font-size:.9rem}
.notice + .notice{margin-top:.55rem}
.muted{color:var(--muted); margin:.35rem 0 0}
.center{text-align:center}
.form-card{max-width:900px;margin:0 auto}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}
.field{display:grid;gap:.35rem}
.field-full{grid-column:1/-1}
.field label{font-size:.88rem;color:var(--text-soft)}
.field input,.field textarea{
  width:100%;border-radius:12px;border:1px solid rgba(255,128,42,.22);background:rgba(6,11,17,.65);color:var(--text);
  padding:.7rem .8rem; outline:none;
}
.field input::placeholder,.field textarea::placeholder{color:#8aa0b8}
.field input:focus,.field textarea:focus{border-color:rgba(158,0,231,.55);box-shadow:0 0 0 3px rgba(158,0,231,.12)}
.hp{position:absolute;left:-9999px;opacity:0;pointer-events:none}
.check{margin-top:.9rem;display:grid;grid-template-columns:auto 1fr;gap:.55rem;align-items:start;color:var(--text-soft);font-size:.92rem}
.check input{margin-top:.15rem}
.form-actions{margin-top:.9rem;display:grid;gap:.4rem;justify-items:center}
.form-meta{margin:0;color:var(--muted);font-size:.82rem}
.form-result{min-height:1.25rem;margin:.55rem 0 0;text-align:center;font-size:.9rem;color:#f0dcff}
.table-wrap{overflow:auto}
.table{width:100%;border-collapse:collapse;min-width:680px}
.table th,.table td{border-bottom:1px solid rgba(255,128,42,.12);padding:.6rem .5rem;text-align:left;vertical-align:top}
.table th{color:#ffd7bf;font-weight:700;font-size:.85rem}
.table td{color:var(--text-soft)}
.outbound-list a{color:#ffd7bf}
.outbound-list a:hover{color:#fff}
.panel-stack{display:grid;gap:1rem}
.page-hero{padding:.85rem 0 .4rem}
.page-hero .hero-panel{min-height:auto}
.compact-links{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}
.compact-links a{font-size:.86rem}

@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
@media (max-width:900px){
  .grid-3{grid-template-columns:1fr}
  .grid-2{grid-template-columns:1fr}
}
@media (max-width:760px){
  .brand-mark{width:38px;height:38px}
  .page-logo-wrap{width:min(100%, 280px); padding:.5rem; margin-bottom:.65rem}
  .page-logo{max-width:220px; max-height:72px}

  .brand-mark{width:38px;height:38px}
  .page-logo-wrap{width:min(100%, 280px); padding:.5rem; margin-bottom:.65rem}
  .page-logo{max-width:220px; max-height:72px}

  .desktop-nav{display:none}
  .menu-btn{display:inline-flex}
  .topbar-inner{min-height:64px}
  .wrap{width:min(var(--max), calc(100% - .9rem))}
  .form-grid{grid-template-columns:1fr}
  .cta-row .btn{width:100%}
  .flow-arrow{width:100%}
}


/* Logo slots */
.brand-logo {
  width: 36px;
  height: 36px;
  object-fit: contain;
  display: block;
}

.hero-logo-wrap {
  margin: 0 auto 0.9rem;
  width: min(320px, 72vw);
  border: 1px solid rgba(255, 128, 42, 0.18);
  border-radius: 16px;
  padding: 0.7rem;
  background: rgba(8, 10, 16, 0.55);
}

.hero-logo {
  width: 100%;
  max-height: 120px;
  object-fit: contain;
  display: block;
  margin: 0 auto;
}


/* v11 mobile alignment and readability tweaks */
.hero-copy, .card p { max-width: 70ch; }
.plain-list li { margin-bottom: .35rem; }
@media (max-width:760px){
  .hero-panel, .card, .page-hero .hero-panel, .section-head { text-align:center; }
  .hero-copy, .card p, .footer-inner p { text-align:center; }
  .plain-list, .kv-list, .field label, .field input, .field textarea, .check { text-align:left; }
  .plain-list { display:inline-block; margin-inline:auto; }
  .card .muted { text-align:center; }
  .cta-row { width:100%; }
}


/* v12 resources page */
.resources-grid { margin-top: .8rem; align-items: start; }
.resource-card { height: 100%; }
.resource-card h3 { font-size: 1rem; }
.resource-card .card-head { align-items: flex-start; }
code {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,128,42,.18);
  border-radius: 6px;
  padding: .1rem .35rem;
  color: #FFDCC7;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: .85em;
}
@media (max-width:760px){
  .resources-grid .card { text-align: left; }
  .resources-grid .card p, .resources-grid .card h3 { text-align: left; }
}



/* v13 nav/footer/mobile alignment overrides */
a { color: #FF802A; text-decoration-color: rgba(255,128,42,.45); text-underline-offset: 2px; }
a:hover, a:focus-visible { color: #FA459A; text-decoration-color: rgba(250,69,154,.65); }
a:visited { color: #FF5983; }

.brand-mark{
  display:flex; align-items:center; justify-content:center;
  background: rgba(255,255,255,.03) !important;
  border: 1px solid rgba(255,128,42,.22) !important;
}
.brand-mark img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 4px;
  filter: drop-shadow(0 0 10px rgba(106,0,255,.14));
}

.nav { gap: .2rem; }
.nav-group { position: relative; }
.nav-drop-btn{
  color:#FFD1B3;
  background: transparent;
  border: 1px solid transparent;
  padding:.55rem .65rem;
  border-radius:10px;
  font-size:.88rem;
  cursor:pointer;
}
.nav-drop-btn:hover, .nav-drop-btn.active, .nav-drop-btn[aria-expanded="true"]{
  background:rgba(255,128,42,.10);
  color:#FFF0E6;
  border-color: rgba(255,128,42,.16);
}
.dropdown-menu{
  position:absolute;
  right:0;
  top:calc(100% + 6px);
  min-width: 240px;
  display:none;
  background: rgba(10,14,22,.98);
  border:1px solid rgba(255,128,42,.18);
  border-radius: 12px;
  box-shadow: 0 18px 32px rgba(0,0,0,.42);
  padding:.35rem;
  z-index: 90;
}
.dropdown-menu.open{ display:block; }
#aboutMenu{ left:0; right:auto; }
#moreMenu{ right:0; left:auto; }

.dropdown-menu a{
  display:block;
  color:#FFD1B3;
  text-decoration:none;
  padding:.55rem .6rem;
  border-radius: 9px;
  font-size:.88rem;
}
.dropdown-menu a:hover{
  background: rgba(255,128,42,.10);
  color:#FFF0E6;
}
.footer{
  border-top: 1px solid rgba(255,128,42,.10);
  background: rgba(7,12,18,.45);
}
.footer-inner{
  min-height: 48px;
  font-size:.84rem;
  color:#d7c7df;
}

/* Mobile centering & readability */
@media (max-width: 760px){
  .hero-panel,
  .section-head,
  .feature,
  .card.compare,
  .status-card,
  .mini-panel { text-align:center; }

  .hero-copy,
  .section-head p { margin-left:auto; margin-right:auto; }

  .card ul, .compare ul, .callout ul,
  .status-list, .status-rows { text-align:left; }

  .form-card,
  .form-card * { text-align:left; }

  .form-actions.center { justify-items:center; }
  .notice-grid .notice { text-align:left; }

  .mobile-nav a{
    color:#FFD1B3;
    border:1px solid rgba(255,128,42,.10);
    background: rgba(255,255,255,.01);
  }
  .mobile-nav a:hover{
    background: rgba(255,128,42,.10);
    color:#FFF0E6;
  }
}

@media (max-width: 680px){
  .brand-text{ max-width: 62vw; }
  .brand-sub{ white-space: normal; line-height:1.15; }
  .hero-panel, .card { margin-left:auto; margin-right:auto; }
}



/* v15 resource filters */
.resources-toolbar{margin-top:.8rem;margin-bottom:.25rem;display:flex;justify-content:center}
.resources-toolbar-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem;width:100%}
.sort-controls{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:center}
.sort-btn{appearance:none;border:1px solid rgba(124,170,214,.22);background:rgba(255,255,255,.02);color:var(--text-soft);border-radius:999px;padding:.28rem .6rem;font-weight:800;letter-spacing:.08em;font-size:.78rem;text-transform:uppercase;cursor:pointer}
.sort-btn:hover,.sort-btn:focus-visible{border-color:rgba(255,128,42,.5);background:rgba(255,128,42,.08);color:var(--text)}
.sort-btn.active{border-color:rgba(106,0,255,.5);background:rgba(106,0,255,.10);color:var(--text)}
.tag-filters{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:center}
.tag-filter{
  --tag-rgb: 255,128,42;
  --tag-text: #FFD1B3;
  --tag-border: rgba(255,128,42,.18);
  --tag-bg: rgba(255,255,255,.02);
  border:1px solid var(--tag-border);
  background:var(--tag-bg);
  color:var(--tag-text);
  border-radius:999px;
  padding:.35rem .65rem;
  font-size:.78rem;
  cursor:pointer;
}
.tag-filter:hover{
  background: color-mix(in srgb, var(--tag-bg) 65%, rgba(var(--tag-rgb), .14));
  color:#FFF7F2;
  border-color: rgba(var(--tag-rgb), .45);
}
.tag-filter.active,.tag-filter[aria-pressed="true"]{
  background:linear-gradient(135deg, rgba(var(--tag-rgb), .22), rgba(var(--tag-rgb), .10));
  border-color:rgba(var(--tag-rgb), .60);
  color:#FFF7F2;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02), 0 0 0 2px rgba(var(--tag-rgb), .10);
}
.resource-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin:.25rem 0 .2rem}
.resource-tags .tag{
  margin-top:0;
  font-size:.68rem
}
.resource-tags .resource-tag-chip{
  border-color: var(--tag-border, rgba(158,0,231,.26));
  background: var(--tag-bg, rgba(158,0,231,.06));
  color: var(--tag-text, #f0dcff);
}
@media (max-width:760px){
  .resources-toolbar,.tag-filters{justify-content:center}
  .resources-toolbar-row{justify-content:center}
  .resource-tags{justify-content:flex-start}
}


.resource-title-link {
  color: #FFD1B3;
  text-decoration: none;
}
.resource-title-link:hover,
.resource-title-link:focus-visible {
  color: #FA459A;
  text-decoration: underline;
  text-decoration-color: rgba(250,69,154,0.65);
  text-underline-offset: 2px;
}


/* v19 heading readability tweaks */
.card h2, .card h3, .section-head h2, .hero h1 { line-height: 1.05; }
@media (max-width:760px){
  .card-head h2, .card-head h3, .resource-card h3 { text-align:left; }
  .feature h3, .section-head h2, .hero h1 { text-align:center; }
}


/* v20 nav typography consistency */
:root{ --nav-link-size: .92rem; }
.nav a, .mobile-nav a, .nav-drop-btn, .dropdown-menu a {
  font-size: var(--nav-link-size) !important;
  text-transform: uppercase;
  font-family: Oswald, "Bebas Neue", Rubik, Roboto, "Segoe UI", sans-serif;
  letter-spacing: .08em;
}
.brand-name{
  font-family: "Bebas Neue", Oswald, Arial, sans-serif;
  font-size: 1.18rem;
  letter-spacing: .10em;
}
.brand-sub{
  font-family: "IBM Plex Mono", "Andale Mono", Consolas, monospace;
  text-transform: uppercase;
  font-size: .68rem;
  letter-spacing: .09em;
}
.card h2, .card h3, .section-head h2, .hero h1 {
  font-family: "Bebas Neue", Oswald, Arial, sans-serif;
}

@media (max-width:760px){
  .card > h2, .card > h3, .card .card-head, .section-head, .hero-panel { text-align:center; justify-content:center; }
  .card > p, .card .muted { text-align:center; margin-left:auto; margin-right:auto; }
  .card ul, .card ol, .card .kv-list, .card .plain-list, .card .outbound-list, .card .resource-tags { text-align:left; }
}

/* v30 mobile centering + overflow guard */
html, body {
  max-width: 100%;
  overflow-x: clip;
}
body {
  word-wrap: break-word;
  overflow-wrap: anywhere;
}
img, svg, video, canvas, iframe {
  max-width: 100%;
  height: auto;
}
pre, code {
  max-width: 100%;
}
.wrap {
  width: min(var(--max), calc(100% - 1rem));
}
.hero-panel,
.card,
.footer-inner,
.topbar-inner {
  width: 100%;
}
.card,
.hero-panel {
  overflow: hidden;
}
.card > p,
.section-head p,
.hero-copy {
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 760px) {
  .wrap {
    width: min(var(--max), calc(100% - .8rem));
  }

  .topbar-inner {
    gap: .5rem;
  }

  .brand {
    min-width: 0;
    max-width: calc(100% - 52px);
  }

  .brand-text {
    min-width: 0;
    max-width: 100%;
  }

  .hero-panel,
  .card,
  .page-hero .hero-panel {
    padding-left: .85rem;
    padding-right: .85rem;
  }

  .card-head {
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
    row-gap: .35rem;
  }

  .card-head > * {
    min-width: 0;
  }

  .status-rows,
  .status-list,
  .table-wrap,
  .resources-toolbar-row,
  .tag-filters,
  .sort-controls {
    width: 100%;
    max-width: 100%;
  }

  .resources-toolbar-row {
    justify-content: center;
  }

  .tag-filters,
  .sort-controls {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    padding-bottom: .2rem;
  }

  .tag-filters {
    justify-content: flex-start;
    flex-wrap: nowrap;
  }

  .sort-controls {
    justify-content: center;
    flex-wrap: nowrap;
  }

  .resource-card,
  .resources-grid .card,
  .resources-grid .card p,
  .resources-grid .card h3 {
    text-align: left;
  }

  .resource-card .card-head {
    justify-content: flex-start;
    text-align: left;
  }

  .status-card .card-head {
    justify-content: space-between;
    text-align: left;
  }

  .status-card .card-head h2,
  .status-card .card-head h3 {
    text-align: left;
  }

  .footer-inner {
    text-align: center;
    padding-left: .25rem;
    padding-right: .25rem;
  }
}


/* v31 onboarding guidance + desktop/tablet alignment pass */
.nested-list{ margin-top:.35rem; padding-left:1rem; }
.nested-list li{ margin-bottom:.25rem; }
.onboarding-order-card .onboarding-order{ display:inline-block; text-align:left; margin:.35rem auto 0; padding-left:1.1rem; }
.onboarding-order-card .onboarding-order li + li{ margin-top:.28rem; }

@media (min-width: 761px){
  .card > h2, .card > h3, .card-head h2, .card-head h3{ text-align:center; }
  .card-head{ justify-content:center; flex-wrap:wrap; }
  .card p, .card .muted, .section-head p{ margin-left:auto; margin-right:auto; max-width:72ch; }
  .notice{ margin-left:auto; margin-right:auto; max-width:72ch; }
  .hero-panel, .page-hero .hero-panel, .section-head{ text-align:center; }
  .hero-copy{ text-align:center; max-width:72ch; }
  .form-card, .form-card *{ text-align:unset; }
  .form-card .card-head{ justify-content:space-between; }
  .resource-card, .resource-card h3, .resource-card p{ text-align:left; }
  .resource-card .card-head{ justify-content:space-between; text-align:left; }
  .table th, .table td{ text-align:left; }
}
@media (min-width: 761px) and (max-width: 1040px){
  .wrap{ width:min(var(--max), calc(100% - 1.4rem)); }
  .resources-toolbar-row{ justify-content:center; }
}


/* v32 layout polish */
.page-hero .hero-panel, .card { margin-inline:auto; }
@media (min-width: 700px){
  .hero-copy, .card p { text-align: justify; text-justify: inter-word; }
  .card ul.plain-list { text-align: left; max-width: 34rem; margin-inline: auto; }
}
@media (max-width: 699px){
  .hero-copy, .card p, .card li { text-align: left; }
}
.desktop-nav .dropdown-menu { min-width: 14rem; }


/* v33 donate popout */
.footer-stack{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;padding:.2rem 0}
.donate-link{appearance:none;background:none;border:0;color:#FF802A;font:inherit;font-size:.84rem;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;padding:.15rem .35rem;border-radius:8px;text-decoration:underline;text-decoration-color:rgba(255,128,42,.45);text-underline-offset:2px}
.donate-link:hover,.donate-link:focus-visible{color:#FA459A;text-decoration-color:rgba(250,69,154,.65);outline:none;background:rgba(255,128,42,.06)}
.donate-popout{margin-top:.55rem;width:min(100%,780px)}
.donate-card{position:relative;margin:0 auto;background:rgba(12,16,24,.95);border:1px solid rgba(255,128,42,.22);border-radius:16px;box-shadow:var(--shadow);padding:1rem;display:grid;gap:.55rem;text-align:center}
.donate-close{position:absolute;top:.5rem;right:.5rem;width:30px;height:30px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03);color:var(--text);cursor:pointer;font-size:1.1rem;line-height:1}
.donate-close:hover,.donate-close:focus-visible{border-color:rgba(255,128,42,.35);background:rgba(255,128,42,.08);outline:none}
.donate-qr{width:min(100%,300px);max-height:300px;object-fit:contain;border-radius:12px;margin:.15rem auto .25rem;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.02)}
.donate-title{margin:0;color:#F0AF16;font-family:"Bebas Neue",Oswald,Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;letter-spacing:.08em;font-size:1.35rem;text-transform:uppercase}
.donate-card p{margin:.1rem 0;text-align:center}
.address-wrap{overflow-wrap:anywhere;word-break:break-word}
#donate-address{font-family:"IBM Plex Mono","Andale Mono",Consolas,monospace;font-size:.88rem;color:#f5f7fb}
.donate-actions{justify-content:center;flex-wrap:wrap}
.donate-actions .btn{min-width:160px}
.donate-tip{font-size:.82rem}
.donate-note{color:#F3C14B;font-size:.9rem;max-width:66ch;margin:0 auto}
@media (max-width: 700px){
  .donate-card{padding:.9rem .8rem}
  .donate-actions .btn{width:100%}
  .donate-link{font-size:.8rem}
}

/* v34 centered copy + centered table cells */
.hero-copy,
.section-head p,
.card p,
.notice,
.muted,
.footer-inner,
.donate-card p {
  text-align: center !important;
}

/* Keep list/table-like content readable */
.card ul,
.card ol,
.callout ul,
.compare ul,
.plain-list,
.kv-list,
.outbound-list,
.field label,
.field input,
.field textarea,
.check {
  text-align: left;
}

.table th,
.table td {
  text-align: center !important;
  vertical-align: middle !important;
}

@media (max-width: 699px) {
  .hero-copy,
  .section-head p,
  .card p,
  .notice,
  .muted,
  .footer-inner,
  .donate-card p {
    text-align: center !important;
  }
}


/* v36 CTA flow + footer emphasis + donate code field */
.footer-credit{
  margin:0;
  color:#F3C14B;
  font-family:"Bebas Neue",Oswald,Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
  letter-spacing:.08em;
  font-size:1.08rem;
  text-transform:uppercase;
  text-shadow:0 0 14px rgba(240,175,22,.14);
}
.donate-link{
  font-size:.72rem;
  opacity:.9;
  letter-spacing:.08em;
}
.donate-link:hover,.donate-link:focus-visible{opacity:1;}
.code-field{
  width:min(100%, 720px);
  margin:.1rem auto .15rem;
  padding:.6rem .7rem;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.03);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.2);
  text-align:left !important;
}
.code-field #donate-address{
  display:block;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
  line-height:1.35;
}
@media (max-width:700px){
  .footer-credit{font-size:1rem;}
  .donate-link{font-size:.68rem;}
  .code-field{padding:.55rem .6rem;}
}


/* v37 final centering polish */
.donate-note,
.donate-card .donate-note,
.donate-card .donate-tip {
  text-align: center !important;
  margin-left: auto;
  margin-right: auto;
}

/* Keep only true structured data left-aligned */
.code-field,
.code-field * {
  text-align: left !important;
}

/* v38 visual polish: carry logo glow gradient into panels + remove logo container tile */
.hero-panel,
.card {
  background:
    radial-gradient(circle at 14% 14%, rgba(253,106,0,.10) 0%, transparent 34%),
    radial-gradient(circle at 84% 18%, rgba(250,69,154,.11) 0%, transparent 38%),
    radial-gradient(circle at 72% 78%, rgba(106,0,255,.12) 0%, transparent 44%),
    linear-gradient(180deg, rgba(9,12,20,.96) 0%, rgba(8,10,16,.98) 100%);
}

/* remove extra framed container around prominent page logo */
.hero-logo-wrap,
.page-logo-wrap {
  width: auto;
  max-width: min(360px, 88vw);
  margin: 0 auto .8rem;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.hero-logo,
.page-logo {
  filter: drop-shadow(0 0 18px rgba(106,0,255,.18)) drop-shadow(0 0 14px rgba(253,106,0,.12));
}

/* keep header logo readable without glowing tile */
.brand-mark {
  background: rgba(9, 11, 18, 0.75);
  border-color: rgba(255,128,42,.20);
}


/* v39 strict centering + consistent width + stacked header badges + footer aesthetic */
:root{ --max: 1000px; }
.wrap{
  width:min(var(--max), calc(100% - clamp(.9rem, 2.4vw, 1.8rem)));
}

/* One-pass centering rule for non-form / non-list text */
.hero-panel,
.section-head,
.card,
.footer-inner,
.donate-card {
  text-align: center;
}
.hero-panel :is(h1,h2,h3,p,.muted,.notice,.eyebrow,.badge,.pill,.hero-copy),
.section-head :is(h1,h2,h3,p,.muted,.notice,.eyebrow,.badge,.pill),
.card :is(h1,h2,h3,p,.muted,.notice,.eyebrow,.badge,.pill),
.footer-inner :is(p,span,strong,small),
.donate-card :is(p,span,strong,small) {
  text-align: center !important;
  margin-left: auto;
  margin-right: auto;
}

/* Explicit readability exceptions */
.form-card, .form-card *,
.card :is(ul,ol,li),
.card .kv-list, .card .kv-list *,
.card .plain-list, .card .plain-list *,
.card .outbound-list, .card .outbound-list *,
.card .resource-tags, .card .resource-tags *,
.code-field, .code-field * {
  text-align: left !important;
}

/* Status and other card header badges stack below heading */
.card-head{
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  text-align: center;
}
.card-head h2, .card-head h3 { margin:0; }
.card-head > .badge,
.card-head > .pill { margin-top: .05rem; }

/* Keep key-value rows aligned and centered nicely */
.kv-list li{
  align-items: center;
}
.kv-list li > span:first-child{ text-align:center !important; }
.kv-list li > .badge{ justify-self:center; }

/* Resource cards stay visually centered but tags remain left within tag row */
.resource-card, .resource-card .card-head, .resource-card h3, .resource-card p { text-align:center !important; }
.resource-tags{ justify-content:center; }

/* Tables center:center */
.table th,.table td{
  text-align:center !important;
  vertical-align:middle !important;
}

/* Footer look tuned to match command-center aesthetic */
.footer-stack{ gap:.12rem; }
.footer-credit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.18rem .55rem;
  border-radius:999px;
  border:1px solid rgba(255,128,42,.18);
  background:linear-gradient(135deg, rgba(253,106,0,.10), rgba(250,69,154,.08), rgba(106,0,255,.10));
  color:#FFE7D2;
  font-family:"IBM Plex Mono","Andale Mono",Consolas,monospace;
  font-size:.8rem;
  letter-spacing:.12em;
  text-shadow:none;
}
.footer-credit::before{ content:'['; opacity:.75; margin-right:.28em; }
.footer-credit::after{ content:']'; opacity:.75; margin-left:.28em; }
.donate-link{
  font-family:"IBM Plex Mono","Andale Mono",Consolas,monospace;
  font-size:.66rem;
  letter-spacing:.10em;
  color:#d9deea;
  opacity:.82;
  text-decoration:none;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.02);
  border-radius:999px;
  padding:.16rem .5rem;
}
.donate-link:hover,.donate-link:focus-visible{
  color:#FFF0E6;
  opacity:1;
  border-color:rgba(255,128,42,.20);
  background:rgba(255,128,42,.06);
}

/* Mobile consistency */
@media (max-width:760px){
  .wrap{ width:min(var(--max), calc(100% - .85rem)); }
  .hero-panel, .card{ padding-left:.9rem; padding-right:.9rem; }
  .brand{ max-width: calc(100% - 50px); }
  .table{ min-width: 0; }
  .table-wrap{ overflow-x:auto; }
  .kv-list li{ grid-template-columns:1fr; }
}

.form-card .card-head{flex-direction:row;justify-content:space-between;align-items:center;text-align:left;}
.form-card .card-head h2,.form-card .card-head h3{margin:0;}


/* v41 join consent checkbox cleanup */
.consent-field{align-content:start}
.consent-check{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  gap:.65rem;
  min-height:44px;
  width:100%;
  padding:.7rem .8rem;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  background:rgba(255,255,255,.015);
  color:var(--text-soft);
  text-align:center;
  line-height:1.35;
  cursor:pointer;
}
.consent-check input{
  margin-top:.1rem;
  width:16px;
  height:16px;
  flex:0 0 auto;
  accent-color:#FF802A;
}
.consent-check span{
  display:block;
  max-width:62ch;
}
@media (max-width:760px){
  .consent-check{justify-content:flex-start;text-align:left}
}

/* v42 donate CTA visibility + popout palette cleanup */
.donate-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.35rem;
  font-family:"IBM Plex Mono","Andale Mono",Consolas,monospace !important;
  font-size:.72rem !important;
  font-weight:600;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:#FFEFE5 !important;
  opacity:1 !important;
  text-decoration:none !important;
  border:1px solid rgba(255,128,42,.45) !important;
  background:linear-gradient(135deg, rgba(253,106,0,.18), rgba(255,128,42,.10), rgba(250,69,154,.08)) !important;
  box-shadow:0 0 0 1px rgba(255,128,42,.08) inset, 0 6px 18px rgba(0,0,0,.18);
  border-radius:999px;
  padding:.24rem .68rem !important;
  cursor:pointer;
}
.donate-link::before{content:'['; color:#FFB88A; opacity:.95;}
.donate-link::after{content:']'; color:#FFB88A; opacity:.95;}
.donate-link:hover,
.donate-link:focus-visible{
  color:#fff !important;
  border-color:rgba(250,69,154,.42) !important;
  background:linear-gradient(135deg, rgba(253,106,0,.24), rgba(255,128,42,.14), rgba(250,69,154,.14)) !important;
  box-shadow:0 0 0 1px rgba(255,128,42,.12) inset, 0 10px 26px rgba(253,106,0,.12);
  transform:translateY(-1px);
}

.donate-card{
  border-color:rgba(255,128,42,.28) !important;
  background:
    radial-gradient(900px 240px at 50% -20%, rgba(253,106,0,.12), transparent 62%),
    radial-gradient(700px 220px at 100% 100%, rgba(106,0,255,.10), transparent 65%),
    rgba(12,16,24,.96) !important;
}
.donate-title{
  color:#FF802A !important;
  text-shadow:0 0 14px rgba(255,128,42,.14);
}
.donate-card p strong{
  color:#FFE7D2;
}
.donate-tip{
  color:#D8DEEA !important;
  font-size:.82rem;
}
.donate-note{
  color:#E7ECF7 !important;
  font-size:.9rem;
  border-top:1px solid rgba(255,255,255,.07);
  padding-top:.55rem;
}
.donate-actions .btn{
  border-radius:12px;
}
.donate-actions .btn.btn-secondary{
  border-color:rgba(255,128,42,.32);
}
.donate-actions .btn.btn-primary{
  background:linear-gradient(135deg, rgba(253,106,0,.22), rgba(250,69,154,.18));
  border-color:rgba(255,128,42,.35);
}
@media (max-width:760px){
  .donate-link{font-size:.68rem !important; letter-spacing:.09em;}
}


/* v43 status page alignment cleanup */
.status-kv{max-width:760px;margin:0 auto;}
.status-kv li{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center !important;
  gap:.65rem;
  padding:.55rem 0;
}
.status-kv li > span:first-child{
  color:var(--text) !important;
  text-align:center !important;
  justify-self:center;
}
.status-kv li > .badge{
  justify-self:center !important;
  min-width: 12.8rem;
  text-align:center !important;
}
@media (max-width: 640px){
  .status-kv li{grid-template-columns:1fr; justify-items:center; gap:.35rem;}
  .status-kv li > .badge{min-width:0;}
}


/* v44 mobile resources tag readability */
@media (max-width: 760px){
  .resources-toolbar{ margin-top: .6rem; }
  .resources-toolbar-row{
    gap: .5rem;
    align-items: stretch;
  }
  .tag-filters,
  .sort-controls{
    width: 100%;
    overflow: visible;
    white-space: normal;
    flex-wrap: wrap;
    justify-content: center;
    padding-bottom: 0;
    gap: .4rem;
  }
  .tag-filter,
  .sort-btn{
    font-size: .74rem;
    line-height: 1.15;
    padding: .42rem .62rem;
    min-height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
  }
  .resource-tags{
    justify-content: center !important;
    gap: .32rem;
    margin-top: .35rem;
  }
  .resource-tags .tag,
  .resource-tags .resource-tag-chip{
    font-size: .66rem;
    line-height: 1.1;
    padding: .28rem .48rem;
    white-space: normal;
    text-align: center;
    word-break: break-word;
    max-width: 100%;
  }
  .resource-card .card-head,
  .resource-card,
  .resources-grid .card h3,
  .resources-grid .card p{
    text-align: center;
  }
  .resource-title-link{
    display: inline-block;
    text-align: center;
  }
}


/* v47 join page width/flush consistency */
:root{ --content-max: 960px; }
.page-hero .wrap,
.section > .wrap,
.footer .wrap{ max-width: var(--content-max); }
.form-card{ max-width: var(--content-max) !important; width:100%; }

.join-page .page-hero .hero-panel,
.join-page .section .card,
.join-page .form-card,
.join-page .form-card > .card,
.join-page .notice{
  width:100%;
  box-sizing:border-box;
}

.join-page .grid.grid-2{ align-items:stretch; }
.join-page .grid.grid-2 > .card{ height:100%; display:flex; flex-direction:column; }
.join-page .grid.grid-2 > .card .muted{ margin-top:auto; }

.join-page .form-card{ display:block; }
.join-page .form-card > .card{ margin-top:.75rem; }
.join-page .form-card .notice{ margin-top:.6rem; }
.join-page .form-card .notice:first-of-type{ margin-top:.8rem; }
.join-page .form-card .field.field-full[style],
.join-page .form-card .card[style],
.join-page .form-card .notice[style],
.join-page .form-card .muted[style],
.join-page .form-card .eyebrow[style],
.join-page .form-card h3[style],
.join-page .form-card .plain-list[style]{
  max-width:100%;
}

.join-page .form-card .plain-list{ width:100%; }
.join-page .form-card .plain-list li{ max-width: 100%; }
.join-page .form-card .consent-check{ width:100%; }

.join-page .hero-panel,
.join-page .card,
.join-page .notice,
.join-page .form-card{ border-radius: 16px; }

/* keep long verification phrase from forcing odd widths */
.join-page .notice span,
.join-page .code-field,
.join-page .donate-note,
.join-page .form-card .notice{ overflow-wrap:anywhere; word-break:break-word; }

/* global consistency pass across pages */
.card, .hero-panel, .table-wrap, .notice{ max-width:100%; }

@media (max-width: 1040px){
  :root{ --content-max: 920px; }
}
@media (max-width: 760px){
  :root{ --content-max: 100%; }
  .page-hero .wrap,
  .section > .wrap,
  .footer .wrap{ max-width:none; }
  .join-page .grid.grid-2 > .card{ min-width:0; }
  .join-page .form-card > .card{ margin-top:.65rem; }
}


/* v48 join ownership block + width consistency */
.join-page .section > .wrap{max-width: var(--content-max);}
.join-page .form-card,
.join-page form.form-card,
.join-page .form-card.card,
.join-page .form-card > .card,
.join-page .form-card .notice,
.join-page .form-card .field,
.join-page .form-card .field.field-full,
.join-page .ownership-check{width:100% !important; max-width:100% !important; box-sizing:border-box; min-width:0;}
.join-page .form-grid{width:100%; grid-template-columns:repeat(2,minmax(0,1fr));}
.join-page .form-grid .field{min-width:0;}
.join-page .ownership-check{display:block;}
.join-page .ownership-check .ownership-check-label,
.join-page .ownership-check h3,
.join-page .ownership-check .eyebrow{ text-align:center !important; justify-content:center; width:100%; }
.join-page .ownership-check .notice,
.join-page .ownership-check .muted,
.join-page .ownership-check p:not(.muted),
.join-page .ownership-check li{ max-width:100%; }
.join-page .ownership-check .plain-list{display:block; width:100%; margin-left:auto; margin-right:auto;}
.join-page .ownership-check .plain-list li{ text-align:left; }
.join-page .ownership-check .field.field-full{margin-left:0; margin-right:0;}
@media (max-width: 760px){
  .join-page .form-grid{grid-template-columns:1fr;}
}

/* v50 comfort level guide block */
.join-page .levels-guide{
  margin-top:.6rem;
  padding:.9rem 1rem;
  border:1px solid rgba(255,128,42,.18);
  background:rgba(255,255,255,.02);
  border-radius:12px;
}
.join-page .levels-guide p{
  margin:.2rem 0 .75rem;
  text-align:left !important;
  color:var(--text-soft);
}
.join-page .levels-guide p:last-child{margin-bottom:.1rem;}
.join-page .levels-guide strong{
  color:var(--text);
  font-family:var(--font-mono, "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);
  text-transform:uppercase;
  letter-spacing:.04em;
}


/* v51 comfort level multi-select cards */
.join-page .comfort-field .field-help{
  margin:.2rem 0 .55rem;
  text-align:center;
}
.join-page .comfort-options{
  border:0;
  margin:0;
  padding:0;
  display:grid;
  gap:.55rem;
}
.join-page .comfort-option{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:flex-start;
  gap:.7rem;
  width:100%;
  padding:.75rem .8rem;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  background:rgba(255,255,255,.015);
  text-align:left;
  cursor:pointer;
  transition:border-color .15s ease, background .15s ease, transform .15s ease;
}
.join-page .comfort-option:hover{
  border-color:rgba(255,128,42,.28);
  background:rgba(255,128,42,.04);
}
.join-page .comfort-option input{
  margin-top:.15rem;
  width:16px;
  height:16px;
  accent-color:#FF802A;
}
.join-page .comfort-copy{ display:block; min-width:0; }
.join-page .comfort-title{
  display:block;
  color:var(--text);
  font-family:"IBM Plex Mono","Andale Mono",Consolas,monospace;
  text-transform:uppercase;
  letter-spacing:.04em;
  line-height:1.25;
}
.join-page .comfort-desc{
  display:block;
  margin-top:.2rem;
  color:var(--text-soft);
  line-height:1.35;
}
.join-page .comfort-option:has(input:checked){
  border-color:rgba(255,128,42,.45);
  background:linear-gradient(135deg, rgba(253,106,0,.08), rgba(250,69,154,.06), rgba(106,0,255,.05));
  box-shadow:0 0 0 1px rgba(255,128,42,.10) inset;
}
.join-page .comfort-option:has(input:focus-visible){
  outline:2px solid rgba(255,128,42,.45);
  outline-offset:2px;
}
.join-page .comfort-field .sub-label{
  display:block;
  margin:.65rem 0 .35rem;
  text-align:left;
  color:var(--text-soft);
  font-size:.84rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-family:"IBM Plex Mono","Andale Mono",Consolas,monospace;
}
@media (max-width:760px){
  .join-page .comfort-field .field-help{ text-align:left; }
  .join-page .comfort-option{ padding:.7rem .75rem; }
  .join-page .comfort-title,.join-page .comfort-desc{ text-align:left; }
}


/* v52 comfort level layout cleanup */
.join-page .comfort-field .field-help{
  margin:.2rem 0 .55rem;
  text-align:center;
}
.join-page .comfort-guide{
  margin:.1rem 0 .65rem;
  padding:.8rem .9rem;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  background:rgba(255,255,255,.015);
  text-align:left;
}
.join-page .comfort-guide p{
  margin:0 0 .55rem;
  text-align:left !important;
  line-height:1.4;
  color:var(--text-soft);
}
.join-page .comfort-guide p:last-child{ margin-bottom:0; }
.join-page .comfort-guide strong{
  color:var(--text);
  font-family:"IBM Plex Mono","Andale Mono",Consolas,monospace;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.join-page .comfort-select-row{
  border:0;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:.55rem;
}
.join-page .comfort-chip{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding:.45rem .7rem;
  border:1px solid rgba(255,128,42,.20);
  border-radius:999px;
  background:rgba(255,255,255,.02);
  cursor:pointer;
  user-select:none;
  transition:border-color .15s ease, background .15s ease;
}
.join-page .comfort-chip:hover{
  border-color:rgba(255,128,42,.45);
  background:rgba(255,128,42,.05);
}
.join-page .comfort-chip input{
  margin:0;
  width:15px;
  height:15px;
  accent-color:#FF802A;
}
.join-page .comfort-chip span{
  color:var(--text);
  font-family:"IBM Plex Mono","Andale Mono",Consolas,monospace;
  text-transform:uppercase;
  letter-spacing:.05em;
  font-size:.86rem;
  line-height:1;
}
.join-page .comfort-chip:has(input:checked){
  border-color:rgba(255,128,42,.55);
  background:linear-gradient(135deg, rgba(253,106,0,.10), rgba(250,69,154,.07), rgba(106,0,255,.06));
  box-shadow:0 0 0 1px rgba(255,128,42,.12) inset;
}
@media (max-width:760px){
  .join-page .comfort-field .field-help{ text-align:left; }
  .join-page .comfort-select-row{ justify-content:flex-start; }
}


/* CRYPTPAD EMBED */
.join-embed-card {
  max-width: min(100%, 980px);
  margin-inline: auto;
}

.status-below {
  margin-top: -0.15rem;
  margin-bottom: 0.75rem;
}

.embed-wrap {
  width: 100%;
  border: 1px solid rgba(255,255,255,0.16);
  border-radius: 16px;
  overflow: hidden;
  background:
    radial-gradient(circle at 15% 10%, rgba(253,106,0,0.10), transparent 45%),
    radial-gradient(circle at 85% 20%, rgba(106,0,255,0.10), transparent 50%),
    rgba(255,255,255,0.02);
  margin-top: 0.75rem;
}

.embed-wrap iframe {
  display: block;
  width: 100%;
  min-height: 1180px;
  border: 0;
  background: transparent;
}

.embed-fallback {
  margin-top: 0.8rem;
  text-align: center;
}

.embed-fallback a {
  font-weight: 700;
}

@media (max-width: 900px) {
  .embed-wrap iframe { min-height: 1320px; }
}

@media (max-width: 640px) {
  .embed-wrap iframe { min-height: 1500px; }
}

.join-form-launch{display:flex;justify-content:center;align-items:center;margin:.9rem 0 .55rem;}
.code-inline{display:inline-block;margin-top:.45rem;padding:.5rem .7rem;border-radius:10px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.03);font-family:"IBM Plex Mono","Andale Mono",Consolas,monospace;font-size:.82rem;line-height:1.35;word-break:break-all;max-width:100%;}

.alpha-filters{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:center;align-items:center;}
.resources-toolbar-alpha{margin:0 0 .55rem;}
.alpha-filter{appearance:none;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.02);color:var(--text);border-radius:999px;padding:.28rem .48rem;min-width:2rem;text-align:center;cursor:pointer;font-family:"IBM Plex Mono","Andale Mono",Consolas,monospace;font-size:.78rem;line-height:1;text-transform:uppercase;}
.alpha-filter:hover{border-color:rgba(255,128,42,.4);background:rgba(255,128,42,.06);}
.alpha-filter.active{border-color:rgba(255,128,42,.55);background:linear-gradient(135deg, rgba(253,106,0,.14), rgba(250,69,154,.10), rgba(106,0,255,.08));box-shadow:0 0 0 1px rgba(255,128,42,.14) inset;}
.alpha-filter:disabled{opacity:.4;cursor:not-allowed;}


/* v55 join secure form badge centering */
.join-embed-card .status-below,
.join-page .join-embed-card .status-below{
  display:block;
  width:100%;
  text-align:center !important;
  margin-left:auto;
  margin-right:auto;
}

/* v55 resources advanced filters mobile collapse */
.resources-toolbar-primary{
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.6rem;
}
.filters-advanced{
  width:100%;
  max-width:100%;
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  background:rgba(255,255,255,.015);
}
.filters-advanced > .advanced-toggle{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:.55rem .75rem;
  color:var(--text);
  font-family:"IBM Plex Mono","Andale Mono",Consolas,monospace;
  text-transform:uppercase;
  letter-spacing:.07em;
  font-size:.78rem;
  user-select:none;
}
.filters-advanced > .advanced-toggle::-webkit-details-marker{ display:none; }
.filters-advanced > .advanced-toggle::after{
  content:"▾";
  margin-left:.45rem;
  opacity:.85;
  transition:transform .15s ease;
}
.filters-advanced[open] > .advanced-toggle::after{ transform:rotate(180deg); }
.filters-advanced[open]{
  border-color:rgba(255,128,42,.24);
  background:linear-gradient(180deg, rgba(255,255,255,.018), rgba(255,255,255,.01));
}
.advanced-filters-body{
  border-top:1px solid rgba(255,255,255,.06);
  padding:.6rem .55rem .5rem;
  display:grid;
  gap:.5rem;
}
.advanced-filter-block{
  display:grid;
  gap:.35rem;
  width:100%;
}
.advanced-label{
  margin:0;
  text-align:center;
  color:var(--text-soft);
  font-family:"IBM Plex Mono","Andale Mono",Consolas,monospace;
  text-transform:uppercase;
  letter-spacing:.07em;
  font-size:.72rem;
}
.advanced-filters-body .alpha-filters,
.advanced-filters-body .tag-filters{
  width:100%;
  justify-content:center;
}
@media (max-width:760px){
  .resources-toolbar-primary .sort-controls{
    width:100%;
    justify-content:center;
    flex-wrap:wrap;
    overflow:visible;
  }
  .filters-advanced{
    margin-top:.1rem;
  }
  .advanced-filters-body .alpha-filters,
  .advanced-filters-body .tag-filters{
    flex-wrap:wrap;
    overflow:visible;
    padding-bottom:0;
  }
  .advanced-filters-body .tag-filter,
  .advanced-filters-body .alpha-filter{
    white-space:normal;
    text-align:center;
  }
}
@media (min-width:761px){
  details.filters-advanced{
    border:0;
    background:transparent;
  }
  details.filters-advanced > .advanced-toggle{
    display:none;
  }
  details.filters-advanced:not([open]) > .advanced-filters-body{
    display:grid;
  }
  .advanced-filters-body{
    border-top:0;
    padding:.05rem 0 0;
    gap:.5rem;
  }
  .advanced-filter-block{
    gap:.4rem;
  }
}


/* v56 mobile nav accordion cleanup + secure-form centering */
.join-embed-card .status-below{display:flex;justify-content:center;align-items:center;width:max-content;margin:.35rem auto .55rem;}

.mobile-nav{gap:.35rem;padding:.45rem .55rem .75rem;}
.mobile-nav > a,
.mobile-drop-btn{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  min-height:42px;
  border-radius:10px;
  border:1px solid rgba(255,128,42,.12);
  background:rgba(255,255,255,.01);
  color:#FFD1B3;
  text-decoration:none;
  padding:.6rem .7rem;
  font-size:.9rem;
}
.mobile-nav > a.active{background:rgba(255,128,42,.12);border-color:rgba(255,128,42,.22);color:#FFF4EA;}
.mobile-nav-group{display:grid;gap:.3rem;}
.mobile-drop-btn{cursor:pointer;font-family:var(--font-ui);font-size:var(--nav-link-size);font-weight:700;letter-spacing:.06em;text-transform:uppercase;}
.mobile-drop-btn[aria-expanded="true"]{background:rgba(255,128,42,.10);border-color:rgba(255,128,42,.2);color:#FFF0E6;}
.mobile-subnav{display:none;gap:.3rem;padding:.15rem 0 .05rem;}
.mobile-subnav.open{display:grid;}
.mobile-subnav a{
  margin-left:0;
  font-size:var(--nav-link-size);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:#FFD1B3;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.015);
  padding:.55rem .65rem;
}
.mobile-subnav a.active{background:rgba(158,0,231,.10);border-color:rgba(158,0,231,.22);color:#F7ECFF;}
@media (min-width: 761px){
  .mobile-nav-group,.mobile-drop-btn,.mobile-subnav{display:none !important;}
}

/* v60 resources advanced filters visibility hardening */
.resources-toolbar .advanced-filter-block,
.resources-toolbar .advanced-label,
.resources-toolbar .alpha-filters,
.resources-toolbar .tag-filters {
  display: flex;
}
.resources-toolbar .advanced-filter-block {
  flex-direction: column;
  align-items: center;
  width: 100%;
}
.resources-toolbar .advanced-label {
  justify-content: center;
  align-items: center;
  width: 100%;
}
.resources-toolbar .alpha-filters,
.resources-toolbar .tag-filters {
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: .4rem;
  width: 100%;
  min-height: 2rem;
}
@media (max-width:760px){
  details.filters-advanced[open] > .advanced-filters-body{ display:grid !important; }
  details.filters-advanced:not([open]) > .advanced-filters-body{ display:none !important; }
}


/* v62 advanced filters robust toggle */
.filters-advanced{width:100%;max-width:100%;border:1px solid rgba(255,255,255,.10);border-radius:14px;background:rgba(255,255,255,.015);}
.filters-advanced > .advanced-toggle{cursor:pointer;display:flex;align-items:center;justify-content:center;text-align:center;width:100%;border:0;background:transparent;padding:.55rem .75rem;color:var(--text);font-family:"IBM Plex Mono","Andale Mono",Consolas,monospace;text-transform:uppercase;letter-spacing:.07em;font-size:.78rem;user-select:none;}
.filters-advanced > .advanced-toggle::after{content:"▾";margin-left:.45rem;opacity:.85;transition:transform .15s ease;}
.filters-advanced > .advanced-toggle[aria-expanded="true"]::after{transform:rotate(180deg);}
.advanced-filters-body{border-top:1px solid rgba(255,255,255,.06);padding:.6rem .55rem .5rem;display:grid;gap:.5rem;}
.advanced-filters-body[hidden]{display:none !important;}
@media (min-width:761px){.filters-advanced{border:0;background:transparent;} .filters-advanced>.advanced-toggle{display:none !important;} .advanced-filters-body{display:grid !important;border-top:0;padding:.05rem 0 0;}}
@media (max-width:760px){.filters-advanced>.advanced-toggle{display:flex !important;} .advanced-filters-body{display:grid;}}


/* v66 mobile nav font consistency + cryptpad iframe retry */
.mobile-nav > a,
.mobile-drop-btn,
.mobile-subnav a {
  font-family: Oswald, "Bebas Neue", Rubik, Roboto, "Segoe UI", sans-serif !important;
  font-size: var(--nav-link-size) !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}
.mobile-nav > a,
.mobile-drop-btn {
  line-height: 1.1;
}
.join-embed-wrap iframe{ min-height: 1200px; }
@media (max-width: 900px){ .join-embed-wrap iframe{ min-height: 1380px; } }
@media (max-width: 640px){ .join-embed-wrap iframe{ min-height: 1560px; } }




/* V73 nested advanced filter collapsibles */
.subfilter-group{
  border:1px solid rgba(255,255,255,.06);
  border-radius:12px;
  background:rgba(255,255,255,.015);
  padding:.2rem .3rem .35rem;
}
.subfilter-group + .subfilter-group{ margin-top:.15rem; }
.subfilter-group > .advanced-subtoggle{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  margin:0;
  padding:.35rem .55rem;
  border-radius:10px;
  user-select:none;
}
.subfilter-group > .advanced-subtoggle::-webkit-details-marker{ display:none; }
.subfilter-group > .advanced-subtoggle::after{
  content:"▾";
  margin-left:.45rem;
  opacity:.85;
  transition:transform .15s ease;
}
.subfilter-group:not([open]) > .advanced-subtoggle::after{ transform:rotate(-90deg); }
.subfilter-group > .subfilter-body{
  margin-top:.15rem;
  padding:.15rem .15rem .1rem;
}
.subfilter-group:not([open]) > .subfilter-body{ display:none !important; }
@media (max-width:760px){
  .subfilter-group > .advanced-subtoggle{ padding:.4rem .45rem; }
}


/* FAQ PAGE */
.faq-list{display:grid;gap:.6rem;margin-top:.5rem}
.faq-item{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.02);border-radius:14px;padding:.15rem .75rem;text-align:left}
.faq-item summary{cursor:pointer;list-style:none;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.65rem 0;color:#FFD0A6}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::before{content:'[+] ';color:#FF802A}
.faq-item[open] summary::before{content:'[-] ';color:#FA459A}
.faq-item p{margin:.15rem 0 .75rem;text-align:left}
