/* ─────────────────────────────────────────────────────────────
   yaya tech pbc — investor site enhancement layer
   Additive: it refines the per-page styles rather than replacing
   them. Owns cross-page navigation, citations, focus, responsive
   tables and print.
   ───────────────────────────────────────────────────────────── */

:root{
  --y-accent:      #10b981;
  --y-accent-soft: rgba(16,185,129,.10);
  --y-bg:          #0a0e14;
  --y-surface:     #0f1520;
  --y-border:      #1e2630;
  --y-text:        #e9edf2;
  --y-muted:       #9aa5b1;   /* lifted from #8892a0 for AA contrast */
  --y-focus:       #5eead4;
  --y-radius:      10px;
  --y-ease:        cubic-bezier(.22,.61,.36,1);
}

/* ── base refinements ─────────────────────────────────────── */
html{ scroll-behavior:smooth; scroll-padding-top:118px; }
body{ text-rendering:optimizeLegibility; }
::selection{ background:var(--y-accent); color:#04120c; }

/* muted text across the suite reads at AA */
:where(.muted,.label,.sub,.form-micro,.note,.section-desc,.fig-s){ color:var(--y-muted); }

/* visible keyboard focus everywhere */
:where(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline:2px solid var(--y-focus);
  outline-offset:3px;
  border-radius:4px;
}

/* skip link */
.y-skip{
  position:absolute; left:-9999px; top:0; z-index:1000;
  background:var(--y-accent); color:#04120c; font-weight:700;
  padding:12px 20px; border-radius:0 0 var(--y-radius) 0; font-size:.9rem;
}
.y-skip:focus{ left:0; }

/* ── document switcher ────────────────────────────────────── */
.y-docbar{
  position:sticky; top:0; z-index:200;
  background:rgba(6,9,13,.96);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--y-border);
}
.y-docbar-in{
  max-width:1180px; margin:0 auto; padding:0 24px;
  display:flex; align-items:center; gap:10px; min-height:46px;
}
.y-brand{
  font-size:.82rem; font-weight:700; letter-spacing:-.01em;
  color:var(--y-text); white-space:nowrap; margin-right:6px;
  text-decoration:none;
}
.y-brand span{ color:var(--y-accent); }
.y-docnav{
  display:flex; gap:2px; overflow-x:auto; scrollbar-width:none;
  flex:1; -webkit-overflow-scrolling:touch;
}
.y-docnav::-webkit-scrollbar{ display:none; }
.y-docnav a{
  font-size:.76rem; font-weight:600; letter-spacing:.01em;
  color:var(--y-muted); text-decoration:none; white-space:nowrap;
  padding:7px 11px; border-radius:6px; transition:color .18s var(--y-ease), background .18s var(--y-ease);
}
.y-docnav a:hover{ color:var(--y-text); background:rgba(255,255,255,.05); }
.y-docnav a[aria-current="page"]{ color:var(--y-accent); background:var(--y-accent-soft); }
.y-pdf{
  display:inline-flex; align-items:center; gap:6px;
  font-size:.74rem; font-weight:700; letter-spacing:.02em;
  color:var(--y-accent); text-decoration:none; white-space:nowrap;
  padding:7px 13px; border:1px solid rgba(16,185,129,.4); border-radius:6px;
  transition:background .18s var(--y-ease), border-color .18s var(--y-ease);
}
.y-pdf:hover{ background:var(--y-accent-soft); border-color:var(--y-accent); }
.y-pdf svg{ width:12px; height:12px; flex:none; }

/* reading-progress hairline */
.y-progress{
  position:fixed; top:0; left:0; height:2px; width:0;
  background:var(--y-accent); z-index:400;
  transition:width .1s linear; pointer-events:none;
}

/* the page's own sticky nav sits below the docbar */
body > nav{ top:46px !important; z-index:150 !important; }

/* per-page nav: scrollable on narrow screens instead of wrapping */
body > nav ul{
  overflow-x:auto; scrollbar-width:none; flex-wrap:nowrap !important;
}
body > nav ul::-webkit-scrollbar{ display:none; }
body > nav .nav-links{ overflow-x:auto; scrollbar-width:none; flex-wrap:nowrap !important; }
body > nav .nav-links::-webkit-scrollbar{ display:none; }

/* ── citations ────────────────────────────────────────────── */
.y-cite{
  display:inline-block;
  font-size:.68em; font-weight:600; letter-spacing:.01em;
  color:var(--y-muted); text-decoration:none;
  border-bottom:1px dotted rgba(154,165,177,.5);
  padding:0 1px; margin-left:3px; vertical-align:.15em;
  transition:color .18s var(--y-ease), border-color .18s var(--y-ease);
  white-space:nowrap;
}
.y-cite:hover{ color:var(--y-accent); border-bottom-color:var(--y-accent); opacity:1; }
.y-cite::before{ content:"↗ "; opacity:.6; }
.y-cites{ white-space:normal; }
/* an unverifiable claim, marked honestly rather than dressed up */
.y-nosrc{
  display:inline-block; font-size:.68em; font-weight:600;
  color:#f59e0b; letter-spacing:.02em; margin-left:4px;
  vertical-align:.15em; white-space:nowrap; opacity:.85;
}

/* ── responsive tables ────────────────────────────────────── */
.y-tablewrap{
  overflow-x:auto; -webkit-overflow-scrolling:touch;
  margin:20px 0; border-radius:var(--y-radius);
  scrollbar-width:thin; scrollbar-color:var(--y-border) transparent;
}
.y-tablewrap > table{ margin:0 !important; min-width:520px; }
.y-tablewrap::-webkit-scrollbar{ height:8px; }
.y-tablewrap::-webkit-scrollbar-thumb{ background:var(--y-border); border-radius:4px; }
.y-tablewrap[data-overflow="true"]{
  box-shadow:inset -22px 0 18px -20px rgba(16,185,129,.35);
}

/* ── forms ────────────────────────────────────────────────── */
input:where([type=text],[type=email],[type=tel]){ font-size:16px !important; } /* no iOS zoom */
.y-formmsg{
  padding:16px 18px; border-radius:var(--y-radius);
  font-size:.9rem; font-weight:600; line-height:1.5; margin-top:14px;
}
.y-formmsg[data-kind="ok"]{
  border:1px solid var(--y-accent); background:var(--y-accent-soft); color:var(--y-accent);
}
.y-formmsg[data-kind="err"]{
  border:1px solid #ef4444; background:rgba(239,68,68,.08); color:#fca5a5;
}
.y-formmsg a{ color:inherit; text-decoration:underline; }

/* ── motion & density ─────────────────────────────────────── */
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:.01ms !important; transition-duration:.01ms !important; }
}

@media (max-width:720px){
  .y-docbar-in{ padding:0 16px; gap:8px; }
  .y-brand{ font-size:.76rem; }
  .y-pdf span{ display:none; }
  .y-pdf{ padding:7px 9px; }
  html{ scroll-padding-top:104px; }
}

/* ── print ────────────────────────────────────────────────── */
@media print{
  .y-docbar, .y-progress, .y-skip, body > nav, .y-pdf{ display:none !important; }
  html, body{ background:#fff !important; color:#111 !important; }
  body *{ background-image:none !important; }
  a{ color:#111 !important; text-decoration:underline; }
  .y-cite::after{ content:" (" attr(href) ")"; font-size:.85em; word-break:break-all; }
  .y-tablewrap{ overflow:visible !important; }
  table{ page-break-inside:auto; }
  tr, .card, .box{ page-break-inside:avoid; }
  h1,h2,h3{ page-break-after:avoid; }
  section{ page-break-inside:auto; }
}
