/* ============================================
   APPZCART INVESTOR HANDBOOK · SHARED STYLES
   Dark editorial · cyan + amber · founder-first
   ============================================ */

:root{
  --bg:#06080d;
  --bg-2:#0a0e16;
  --panel:#0d1219;
  --panel-2:#10161f;
  --line:#1a2331;
  --line-2:#243046;
  --ink:#e7ecf3;
  --ink-2:#a8b3c4;
  --ink-3:#6b7689;
  --cyan:#5be9ff;
  --cyan-dim:#1a6577;
  --amber:#ffb547;
  --amber-dim:#7a4d0d;
  --danger:#ff6b6b;
  --ok:#4ade80;
  --serif:'Fraunces',serif;
  --sans:'Inter Tight','Inter',sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.55;-webkit-font-smoothing:antialiased}
body{
  background:
    radial-gradient(1200px 600px at 80% -10%, rgba(91,233,255,0.06), transparent 60%),
    radial-gradient(900px 500px at -10% 30%, rgba(255,181,71,0.05), transparent 60%),
    linear-gradient(180deg, #06080d 0%, #07090f 100%);
  min-height:100vh;
}
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:1;opacity:0.035;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' /></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='0.5'/></svg>");
}

/* ===== Top bar ===== */
.topbar{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px);background:rgba(6,8,13,0.78);border-bottom:1px solid var(--line)}
.topbar-inner{max-width:1280px;margin:0 auto;padding:14px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:12px;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink-2);text-decoration:none}
.brand-dot{width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 12px var(--cyan)}
.brand strong{color:var(--ink);letter-spacing:0.22em}
.topbar nav{display:flex;gap:4px;flex-wrap:wrap;max-width:880px;justify-content:flex-end}
.topbar nav a{font-family:var(--mono);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-3);text-decoration:none;padding:8px 12px;border-radius:6px;transition:all .2s}
.topbar nav a:hover{color:var(--cyan);background:rgba(91,233,255,0.06)}
.topbar nav a.active{color:var(--cyan);background:rgba(91,233,255,0.08);border:1px solid var(--cyan-dim)}

/* ===== Page header ===== */
.page-head{max-width:1280px;margin:0 auto;padding:96px 32px 48px;position:relative;z-index:2}
.page-meta{font-family:var(--mono);font-size:11px;letter-spacing:0.24em;text-transform:uppercase;color:var(--cyan);display:flex;align-items:center;gap:14px;margin-bottom:28px}
.page-meta::before{content:"";width:32px;height:1px;background:var(--cyan)}
.page-title{font-family:var(--serif);font-weight:400;font-size:clamp(40px,6vw,80px);line-height:1;letter-spacing:-0.03em;color:var(--ink);margin-bottom:24px}
.page-title em{font-style:italic;color:var(--amber);font-weight:300}
.page-sub{font-size:18px;color:var(--ink-2);max-width:680px;font-weight:300}

/* ===== Sections ===== */
section{max-width:1280px;margin:0 auto;padding:64px 32px;position:relative;z-index:2}
.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:48px;border-bottom:1px solid var(--line);padding-bottom:20px}
.sec-num{font-family:var(--mono);font-size:12px;letter-spacing:0.24em;color:var(--cyan)}
.sec-title{font-family:var(--serif);font-weight:400;font-size:clamp(32px,4vw,52px);letter-spacing:-0.02em;line-height:1.05}
.sec-title em{font-style:italic;color:var(--amber)}
.sec-kicker{font-family:var(--mono);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink-3)}

/* ===== Cards ===== */
.card{background:var(--panel);border:1px solid var(--line);padding:28px;position:relative}
.card-mono-label{font-family:var(--mono);font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:var(--cyan);margin-bottom:14px}
.card h3{font-family:var(--serif);font-weight:500;font-size:22px;letter-spacing:-0.01em;color:var(--ink);margin-bottom:14px;line-height:1.2}
.card p{color:var(--ink-2);font-size:15px}
.card-corner{position:absolute;top:14px;right:14px;font-family:var(--mono);font-size:10px;color:var(--ink-3);letter-spacing:0.15em}

.g2{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.g2>*,.g3>*,.g4>*{background:var(--panel)}

/* ===== Pitch block ===== */
.pitch-block{background:linear-gradient(135deg, var(--panel) 0%, var(--bg-2) 100%);border:1px solid var(--line-2);padding:48px;position:relative;overflow:hidden}
.pitch-block::before{content:"";position:absolute;top:-1px;left:0;height:1px;width:120px;background:var(--cyan)}
.pitch-block .lead{font-family:var(--serif);font-size:28px;line-height:1.35;font-weight:300;color:var(--ink);letter-spacing:-0.01em;max-width:920px;margin-bottom:24px}
.pitch-block .lead em{color:var(--amber);font-style:italic}
.pitch-block .sub{color:var(--ink-2);max-width:760px;font-size:15px}

/* ===== QA ===== */
.qa-item{border-bottom:1px solid var(--line);padding:28px 0;display:grid;grid-template-columns:60px 1fr;gap:24px}
.qa-item:last-child{border-bottom:none}
.qa-num{font-family:var(--mono);font-size:13px;color:var(--cyan);letter-spacing:0.1em;padding-top:4px}
.qa-q{font-family:var(--serif);font-size:20px;font-weight:500;color:var(--ink);margin-bottom:14px;line-height:1.3;letter-spacing:-0.01em}
.qa-q::before{content:"Q. ";color:var(--amber);font-style:italic}
.qa-a{color:var(--ink-2);font-size:15px;line-height:1.7}
.qa-a strong{color:var(--ink);font-weight:600}

/* ===== Timeline ===== */
.timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.tl-phase{background:var(--panel);padding:24px;position:relative;min-height:280px}
.tl-phase-num{font-family:var(--mono);font-size:11px;color:var(--cyan);letter-spacing:0.2em;margin-bottom:14px}
.tl-phase-time{font-family:var(--serif);font-size:18px;font-weight:500;color:var(--amber);margin-bottom:14px;font-style:italic}
.tl-phase-title{font-family:var(--serif);font-size:20px;font-weight:500;color:var(--ink);margin-bottom:14px;line-height:1.2;letter-spacing:-0.01em}
.tl-phase ul{list-style:none;padding:0}
.tl-phase li{color:var(--ink-2);font-size:13px;padding:6px 0;border-bottom:1px dashed var(--line);line-height:1.4}
.tl-phase li:last-child{border-bottom:none}

/* ===== Marketing pillars ===== */
.pillar{background:var(--panel);border:1px solid var(--line);padding:24px;transition:all .25s;position:relative}
.pillar:hover{border-color:var(--cyan-dim);background:var(--panel-2)}
.pillar-num{position:absolute;top:18px;right:20px;font-family:var(--serif);font-size:40px;color:var(--line-2);font-weight:300;font-style:italic;line-height:1}
.pillar h4{font-family:var(--serif);font-size:18px;font-weight:500;color:var(--ink);margin-bottom:10px;padding-right:44px;line-height:1.25;letter-spacing:-0.01em}
.pillar p{color:var(--ink-2);font-size:14px;line-height:1.55}
.pillar .tag{display:inline-block;font-family:var(--mono);font-size:10px;color:var(--cyan);letter-spacing:0.18em;text-transform:uppercase;margin-top:14px;padding:4px 8px;border:1px solid var(--cyan-dim);background:rgba(91,233,255,0.05)}

/* ===== Financial table ===== */
.fin-table{width:100%;border-collapse:collapse;border:1px solid var(--line);background:var(--panel);font-family:var(--mono);font-size:13px}
.fin-table th{background:var(--bg-2);color:var(--cyan);text-align:left;padding:14px 18px;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;font-size:11px;border-bottom:1px solid var(--line-2)}
.fin-table td{padding:14px 18px;border-bottom:1px solid var(--line);color:var(--ink-2)}
.fin-table tr:last-child td{border-bottom:none}
.fin-table td:first-child{color:var(--ink);font-weight:500}
.fin-table tr:hover td{background:var(--panel-2)}
.fin-positive{color:var(--ok)!important}
.fin-amber{color:var(--amber)!important}

/* ===== Team ===== */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.team-card{background:var(--panel);border:1px solid var(--line);padding:24px;position:relative}
.team-card .role{font-family:var(--mono);font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:var(--cyan);margin-bottom:10px}
.team-card .name{font-family:var(--serif);font-size:22px;font-weight:500;color:var(--ink);margin-bottom:8px;letter-spacing:-0.01em}
.team-card .desc{color:var(--ink-2);font-size:14px}

/* ===== Checklist ===== */
.check-section{margin-bottom:36px}
.check-section-title{font-family:var(--mono);font-size:11px;letter-spacing:0.22em;text-transform:uppercase;color:var(--amber);margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--line-2)}
.check-row{display:flex;align-items:flex-start;gap:14px;padding:12px 0;border-bottom:1px dashed var(--line);font-size:14px;color:var(--ink-2)}
.check-row:last-child{border-bottom:none}
.check-box{width:16px;height:16px;border:1.5px solid var(--cyan);flex-shrink:0;margin-top:3px;position:relative}
.check-box.done{background:var(--cyan);border-color:var(--cyan)}
.check-box.done::after{content:"";position:absolute;top:2px;left:5px;width:4px;height:8px;border:solid var(--bg);border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}
.check-box.partial{background:var(--amber);border-color:var(--amber)}
.check-row .label{flex:1}
.check-row .status{font-family:var(--mono);font-size:10px;letter-spacing:0.15em;text-transform:uppercase;color:var(--ink-3)}
.check-row .status.todo{color:var(--danger)}
.check-row .status.wip{color:var(--amber)}
.check-row .status.done{color:var(--ok)}

/* ===== Risks ===== */
.risk-row{display:grid;grid-template-columns:200px 1fr 1fr;gap:24px;padding:24px 0;border-bottom:1px solid var(--line)}
.risk-row:last-child{border-bottom:none}
.risk-label{font-family:var(--serif);font-size:18px;font-weight:500;color:var(--amber);font-style:italic;letter-spacing:-0.01em}
.risk-desc,.risk-mit{color:var(--ink-2);font-size:14px;line-height:1.6}
.risk-mit strong{color:var(--cyan);font-weight:500;font-family:var(--mono);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;display:block;margin-bottom:8px}

/* ===== Gap ===== */
.gap-card{background:var(--panel);border-left:2px solid var(--amber);padding:24px;margin-bottom:16px}
.gap-card .tag{font-family:var(--mono);font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:var(--amber);margin-bottom:10px}
.gap-card h4{font-family:var(--serif);font-size:18px;font-weight:500;color:var(--ink);margin-bottom:8px;letter-spacing:-0.01em}
.gap-card p{color:var(--ink-2);font-size:14px;line-height:1.6}

/* ===== Deck outline ===== */
.deck-slide{display:grid;grid-template-columns:80px 1fr 2fr;gap:24px;padding:20px 0;border-bottom:1px solid var(--line);align-items:start}
.deck-slide:last-child{border-bottom:none}
.deck-num{font-family:var(--mono);font-size:13px;color:var(--cyan);letter-spacing:0.1em}
.deck-title{font-family:var(--serif);font-size:17px;font-weight:500;color:var(--ink);letter-spacing:-0.01em}
.deck-content{color:var(--ink-2);font-size:14px;line-height:1.6}

/* ===== USP block ===== */
.usp-block{background:var(--panel);border:1px solid var(--line);padding:32px;display:grid;grid-template-columns:auto 1fr;gap:32px;align-items:center}
.usp-block .icon{width:64px;height:64px;border:1px solid var(--cyan-dim);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:32px;color:var(--cyan);font-style:italic;font-weight:300;background:rgba(91,233,255,0.04)}
.usp-block h4{font-family:var(--serif);font-size:22px;font-weight:500;color:var(--ink);margin-bottom:8px;letter-spacing:-0.01em}
.usp-block p{color:var(--ink-2);font-size:15px;line-height:1.6}

/* ===== Index page navigation cards ===== */
.nav-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px}
.nav-card{display:block;background:var(--panel);border:1px solid var(--line);padding:32px 28px;text-decoration:none;color:var(--ink);transition:all .3s;position:relative;overflow:hidden;min-height:220px}
.nav-card::before{content:"";position:absolute;top:0;left:0;height:2px;width:0;background:var(--cyan);transition:width .4s ease}
.nav-card:hover{border-color:var(--cyan-dim);background:var(--panel-2);transform:translateY(-2px)}
.nav-card:hover::before{width:100%}
.nav-card .nav-num{font-family:var(--mono);font-size:10px;letter-spacing:0.24em;color:var(--cyan);margin-bottom:16px}
.nav-card .nav-title{font-family:var(--serif);font-size:26px;font-weight:500;letter-spacing:-0.01em;line-height:1.15;margin-bottom:12px}
.nav-card .nav-title em{color:var(--amber);font-style:italic;font-weight:300}
.nav-card .nav-desc{color:var(--ink-2);font-size:14px;line-height:1.55;margin-bottom:20px}
.nav-card .nav-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}
.nav-card .nav-tag{font-family:var(--mono);font-size:9px;letter-spacing:0.16em;text-transform:uppercase;color:var(--ink-3);padding:3px 7px;border:1px solid var(--line-2)}
.nav-card .nav-arrow{position:absolute;bottom:24px;right:24px;font-family:var(--serif);font-size:24px;color:var(--cyan);opacity:0.4;transition:all .3s;font-style:italic}
.nav-card:hover .nav-arrow{opacity:1;transform:translateX(4px)}

/* ===== Page pagination footer ===== */
.page-nav{max-width:1280px;margin:64px auto 0;padding:48px 32px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:24px}
.page-nav-prev,.page-nav-next{display:block;text-decoration:none;padding:24px;border:1px solid var(--line);background:var(--panel);transition:all .25s}
.page-nav-prev:hover,.page-nav-next:hover{border-color:var(--cyan-dim);background:var(--panel-2)}
.page-nav-next{text-align:right}
.page-nav-label{font-family:var(--mono);font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px}
.page-nav-title{font-family:var(--serif);font-size:20px;font-weight:500;color:var(--ink);letter-spacing:-0.01em}
.page-nav-title em{color:var(--amber);font-style:italic}

/* ===== Footer ===== */
footer{border-top:1px solid var(--line);margin-top:64px;padding:48px 32px;max-width:1280px;margin-left:auto;margin-right:auto;display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink-3);flex-wrap:wrap;gap:16px}
footer .sig{color:var(--cyan)}

/* ===== Responsive ===== */
@media (max-width:1024px){
  .nav-grid,.g4,.g3,.timeline,.team-grid{grid-template-columns:repeat(2,1fr)}
  .deck-slide{grid-template-columns:60px 1fr}
  .deck-content{grid-column:1/-1}
  .risk-row{grid-template-columns:1fr}
}
@media (max-width:640px){
  .topbar nav{display:none}
  .page-head{padding:60px 24px 32px}
  section{padding:48px 24px}
  .nav-grid,.g4,.g3,.g2,.timeline,.team-grid{grid-template-columns:1fr}
  .qa-item{grid-template-columns:1fr}
  .usp-block{grid-template-columns:1fr}
  .pitch-block{padding:32px 24px}
  .page-nav{grid-template-columns:1fr}
  .page-nav-next{text-align:left}
}

/* Reveal */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .8s ease, transform .8s ease}
.reveal.in{opacity:1;transform:translateY(0)}

/* Print */
@media print{
  .topbar,.page-nav{position:static}
  body{background:#fff;color:#000}
  .card,.pillar,.team-card,.pitch-block,.usp-block,.nav-card{break-inside:avoid}
}
