/* Extracted from knowledge.html. Do not edit generated cascade by hand unless this page is being refactored. */

/* ================================================================
   ASKGAAP · KNOWLEDGE BASE (Layer-2 index)
   DESIGN.md tokens · dark IDE aesthetic · tight radius ≤5px
   Register-Rule discipline: cyan left-rule reserved for the
   featured hub + intro card only (NOT on the grid cards).
   ================================================================ */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}

:root{
  --bg:#0A0B0D; --bg2:#0B1F3A; --bg3:#0E1A2E; --deep:#08090B;
  --panel:#121418; --panel2:#171A20; --panel3:#1B1F26;
  --line:#1F2228; --line2:#262A32; --line3:#2E323A;
  --ink:#f5f5f7; --ink2:#c9ccd3; --muted:#8B8E96;
  --cyan:#00D4FF; --cyan2:#4FE3FF; --pos:#B4FF39;
  --green:#43D26F; --green-dk:#2AB558; --paper:#F4F2EA;
  --focus:#00D4FF;
}

body{
  background:var(--bg); font-family:'Inter','Segoe UI',sans-serif;
  color:var(--ink2); line-height:1.5;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}

/* ============ ACCESSIBILITY: skip-to-content + focus rings ============ */
.skip-link{
  position:absolute; top:-100px; left:8px;
  background:var(--cyan); color:#0A0B0D;
  padding:10px 16px; font-weight:700; font-size:13px;
  border-radius:4px; z-index:9999; text-decoration:none;
  transition:top .15s;
}
.skip-link:focus{top:8px;outline:none}
*:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:2px}

/* ============ NAV ============ */
.nav{
  position:sticky; top:0; z-index:50;
  background:rgba(10,11,13,.82);
  backdrop-filter:blur(16px) saturate(140%);
  -webkit-backdrop-filter:blur(16px) saturate(140%);
  border-bottom:1px solid var(--line);
}
.nav-inner{
  max-width:1280px; margin:0 auto;
  padding:14px 32px;
  display:flex; align-items:center; justify-content:space-between; gap:32px;
}
.brand{
  display:inline-flex; align-items:center; text-decoration:none;
  font-family:'Inter','Segoe UI',sans-serif;
  font-size:16px; letter-spacing:-.015em; line-height:1;
}
.brand .ask{color:#5a5a66;font-weight:500}
.brand .gaap{color:#fff;font-weight:700;letter-spacing:-.005em}
.brand .tld{color:#22d3ee;font-weight:500}

.nav-links{display:flex;align-items:center;gap:24px}
.nav-link{
  color:var(--ink2); text-decoration:none;
  font-size:13px; font-weight:500; letter-spacing:.01em;
  padding:5px 0; position:relative;
}
.nav-link:hover{color:#fff}
.nav-link.current{color:#fff}
.nav-link.current::before{
  content:''; display:inline-block;
  width:6px; height:6px; border-radius:50%;
  background:var(--cyan); margin-right:6px; vertical-align:middle;
  box-shadow:0 0 0 3px rgba(0,212,255,.15);
}
.btn-cta{
  background:var(--green); color:#0A0B0D;
  font-weight:700; font-size:13px;
  padding:9px 16px; border-radius:4px;
  text-decoration:none; transition:background .15s; letter-spacing:.01em;
}
.btn-cta:hover{background:var(--green-dk)}

/* ============ KNOWLEDGE-BASE PORTAL ============ */
.kb-section{padding:84px 32px;background:var(--bg)}
.kb-inner{max-width:1240px;margin:0 auto}
.kb-label{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.22em;color:var(--cyan);text-transform:uppercase;margin-bottom:10px;font-weight:600}
.kb-title{font-size:34px;font-weight:700;color:var(--ink);letter-spacing:-.02em;line-height:1.15;margin-bottom:12px;max-width:820px}
.kb-section-sub{font-size:15px;color:var(--muted);max-width:780px;line-height:1.65;margin-bottom:34px}
.kb-section-sub b{color:var(--ink2);font-weight:600}

/* intro card — gets the signature left-cyan register rule */
.kb-intro{
  background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--cyan);
  border-radius:5px;padding:22px 26px;margin-bottom:26px;
  display:grid;grid-template-columns:170px 1fr;gap:24px;align-items:center;
}
.kb-intro-tag{
  font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.22em;color:var(--cyan);
  text-transform:uppercase;font-weight:700;line-height:1.5;border-right:1px solid var(--line2);padding-right:24px;
}
.kb-intro-tag b{display:block;color:var(--ink);font-size:11px;margin-top:5px}
.kb-intro-body{font-size:14px;line-height:1.7;color:var(--ink2)}
.kb-intro-body b{color:var(--ink);font-weight:600}
.kb-intro-body .em{color:var(--cyan);font-weight:500}

/* featured hub card — gets the signature left-cyan register rule */
.kb-hub{
  display:grid;grid-template-columns:1.1fr 1fr;gap:0;margin-bottom:18px;
  background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--cyan);
  border-radius:5px;overflow:hidden;text-decoration:none;
  transition:background .15s,transform .15s;
}
.kb-hub:hover{background:var(--panel2);transform:translateY(-2px)}
.kb-hub-l{padding:30px 32px}
.kb-hub-r{
  background:linear-gradient(135deg,rgba(0,212,255,.10),var(--deep));
  border-left:1px solid var(--line);padding:30px 32px;display:flex;flex-direction:column;justify-content:center;
}
.kb-hub-tag{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.24em;color:var(--pos);text-transform:uppercase;font-weight:700;margin-bottom:13px;display:flex;align-items:center;gap:8px}
.kb-hub-tag .pill{background:rgba(0,212,255,.12);border:1px solid var(--cyan);color:var(--cyan);padding:2px 7px;border-radius:2px;font-size:8.5px}
.kb-hub-ttl{font-size:24px;font-weight:800;color:var(--ink);letter-spacing:-.02em;line-height:1.18;margin-bottom:10px}
.kb-hub-dek{font-size:13.5px;line-height:1.7;color:var(--ink2);margin-bottom:16px}
.kb-hub-meta{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase;font-weight:600;display:flex;gap:14px}
.kb-hub-meta .ar{color:var(--cyan)}
.kb-hub-r-stat{font-family:'JetBrains Mono',monospace;font-size:11px;line-height:1.9;color:var(--ink2)}
.kb-hub-r-stat .k{color:var(--cyan)}

/* the spoke + tool grid — varied (topic-tag accent, NOT 9 identical left-rules) */
.kb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.kb-card{
  background:var(--panel);border:1px solid var(--line);border-radius:5px;
  padding:20px 22px;text-decoration:none;display:flex;flex-direction:column;
  transition:background .15s,transform .15s,border-color .15s;position:relative;
}
.kb-card:hover{background:var(--panel2);transform:translateY(-2px);border-color:var(--line3)}
.kb-card .tag{
  font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.2em;
  color:var(--cyan);text-transform:uppercase;font-weight:700;margin-bottom:11px;
  display:flex;justify-content:space-between;align-items:center;
}
.kb-card .tag .n{color:var(--muted);font-weight:500}
.kb-card.tool .tag{color:var(--pos)}
.kb-card .ttl{font-size:15px;font-weight:700;color:var(--ink);line-height:1.32;letter-spacing:-.01em;margin-bottom:9px}
.kb-card .dek{font-size:12.5px;color:var(--ink2);line-height:1.6;margin-bottom:14px;flex:1}
.kb-card .meta{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase;font-weight:500;display:flex;justify-content:space-between;padding-top:11px;border-top:1px dashed var(--line2)}
.kb-card .meta .ar{color:var(--cyan);font-weight:600}

/* subscribe strip — action-green left rule (action surface, not register) */
.kb-subscribe{
  margin-top:24px;padding:20px 24px;background:var(--deep);border:1px solid var(--line);
  border-left:3px solid var(--green);border-radius:5px;display:flex;align-items:center;gap:18px;flex-wrap:wrap;
}
.kb-subscribe .copy{flex:1;min-width:280px}
.kb-subscribe .copy b{display:block;color:var(--ink);font-weight:700;font-size:14px;margin-bottom:4px}
.kb-subscribe .copy span{color:var(--muted);font-size:12px;line-height:1.55}
.kb-subscribe .copy span em{color:var(--cyan);font-style:normal;font-weight:500}
.kb-subscribe form{display:flex;gap:8px;min-width:300px;flex-wrap:wrap}
.kb-subscribe .field-wrap{display:flex;gap:8px;flex:1;min-width:300px}
.kb-subscribe input[type="email"]{flex:1;padding:11px 14px;border:1px solid var(--line2);border-radius:3px;font-size:13px;background:var(--bg);color:var(--ink);font-family:inherit}
.kb-subscribe input[type="email"]::placeholder{color:var(--muted)}
.kb-subscribe input[type="email"]:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px rgba(0,212,255,.12)}
.kb-subscribe button{background:transparent;color:var(--ink);font-weight:600;font-size:12.5px;padding:11px 16px;border-radius:3px;border:1px solid var(--line2);cursor:pointer;font-family:inherit;transition:border-color .15s,background .15s}
.kb-subscribe button:hover:not(:disabled){border-color:var(--cyan);background:var(--panel)}
.kb-subscribe button:disabled{opacity:.6;cursor:not-allowed}
/* honeypot (anti-spam, visually hidden) */
.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}
.kb-feedback{flex-basis:100%;font-size:12.5px;line-height:1.5;margin-top:4px}
.kb-feedback.err{color:#ff8d7a}
.kb-feedback.ok{color:var(--pos)}
.kb-feedback.ok a{color:var(--cyan)}

/* ============ FOOTER ============ */
.foot{background:var(--deep);color:var(--ink);padding:54px 32px 30px;border-top:1px solid var(--line)}
.foot-inner{max-width:1240px;margin:0 auto}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:36px;margin-bottom:36px}
.foot h3,.foot h2{
  font-family:'JetBrains Mono',monospace;
  font-size:10px; letter-spacing:.26em; color:var(--cyan);
  text-transform:uppercase; font-weight:700; margin-bottom:14px;
}
.foot-brand b{
  font-family:'Inter','Segoe UI',sans-serif;
  font-size:18px; color:var(--ink); letter-spacing:-.015em; line-height:1; font-weight:500;
  display:inline-flex; align-items:center;
}
.foot-brand .ask{color:#5a5a66;font-weight:500}
.foot-brand .gaap{color:#fff;font-weight:700;letter-spacing:-.005em}
.foot-brand .tld{color:#22d3ee;font-weight:500}
.foot-tag{color:var(--cyan);font-weight:600;font-size:13px;margin-top:10px;display:block;font-family:'Inter',sans-serif;letter-spacing:-.005em}
.foot-tag2{color:var(--muted);font-size:12px;line-height:1.55;margin-top:4px;display:block}
.foot-address{font-size:11.5px;color:var(--muted);line-height:1.65;margin-top:16px}
.foot-address a{color:var(--cyan);text-decoration:none}
.foot-col a{display:block;color:var(--ink2);text-decoration:none;font-size:12.5px;margin-bottom:8px}
.foot-col a:hover{color:var(--cyan)}
.foot-caveat{
  margin-top:18px; padding:11px 14px;
  background:var(--bg); border:1px solid var(--line);
  border-left:2px solid var(--muted); border-radius:3px;
  font-size:10.5px; color:var(--muted); line-height:1.6;
}
.foot-caveat b{
  color:var(--ink); font-family:'JetBrains Mono',monospace;
  font-size:9px; letter-spacing:.26em; text-transform:uppercase;
  margin-right:8px; font-weight:700;
}
.foot-bot{
  display:flex; justify-content:space-between; align-items:center;
  padding-top:20px; border-top:1px solid var(--line);
  font-family:'JetBrains Mono',monospace;
  font-size:9.5px; letter-spacing:.2em; color:var(--muted);
  text-transform:uppercase; flex-wrap:wrap; gap:14px;
}
.foot-bot a{color:var(--ink2);text-decoration:none}
.foot-bot a:hover{color:var(--cyan)}

/* ============ RESPONSIVE ============ */
@media (max-width:1080px){
  .foot-grid{grid-template-columns:1fr 1fr 1fr;gap:28px}
  .foot-brand{grid-column:span 3}
}
@media (max-width:1000px){
  .kb-grid{grid-template-columns:repeat(2,1fr)}
  .kb-hub{grid-template-columns:1fr}
  .kb-hub-r{border-left:none;border-top:1px solid var(--line)}
}
@media (max-width:760px){
  .kb-section{padding:64px 20px}
  .kb-grid{grid-template-columns:1fr}
  .kb-intro{grid-template-columns:1fr;gap:14px}
  .kb-intro-tag{border-right:none;border-bottom:1px solid var(--line2);padding-right:0;padding-bottom:12px}
  .nav-links .nav-link{display:none}
  .foot-grid{grid-template-columns:1fr 1fr}
  .foot-brand{grid-column:span 2}
  .kb-subscribe .field-wrap{flex-direction:column}
  .kb-subscribe button{width:100%}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}

/* forced-colors: box-shadow focus ring stripped in WHCM; restore real outline (mirrors index.css:88) */
@media (forced-colors:active){
  .kb-subscribe input[type="email"]:focus{outline:2px solid Highlight;outline-offset:1px}
}
