/* Two Planets — AI Survival Guide. Layout: a travel guide between two worlds. Each level is a stage of the trip
   (Launch pad, Low orbit, Deep space, Mission control). One reading column; every topic uses the same parts. */
:root{color-scheme:dark;
  --bg:#0d191b;
  --surface:#132426;
  --ink:#e6eeeb;
  --muted:#a3b5b0;
  --line:#2b4141;
  --accent:#71d7c8;        /* navigation ink, star-chart blue */
  --accent-soft:#183b3a;
  --claude:#df8058;        /* Planet Claude: clay */
  --claude-soft:#38231e;
  --gpt:#53cbb4;           /* Planet ChatGPT: green */
  --gpt-soft:#173a35;
  --warn:#e7b66a;
  --warn-soft:#352b1d;
  --ok:#83d7a4;
  --code-bg:#101e20;
  --font-display:"IBM Plex Sans","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --font-body:"IBM Plex Sans","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0d191b;--surface:#132426;--ink:#e6eeeb;--muted:#a3b5b0;--line:#2b4141;
  --accent:#71d7c8;--accent-soft:#183b3a;--claude:#df8058;--claude-soft:#38231e;
  --gpt:#53cbb4;--gpt-soft:#173a35;--warn:#e7b66a;--warn-soft:#352b1d;--ok:#83d7a4;--code-bg:#101e20;color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0c1020;--surface:#151b31;--ink:#e8ebf7;--muted:#a3abc6;--line:#2a3352;
  --accent:#9aa8ff;--accent-soft:#1d2546;--claude:#f0956c;--claude-soft:#33201a;
  --gpt:#5fd1a8;--gpt-soft:#12302a;--warn:#e9b65c;--warn-soft:#2d2414;--ok:#7fc890;--code-bg:#0f1428;color-scheme:dark}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:18px;line-height:1.62;
  padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.wrap{max-width:1000px;margin:0 auto}
h1,h2,h3,h4{font-family:var(--font-display);line-height:1.12;text-wrap:balance;margin:0;font-weight:700}
p{margin:0}
a{color:var(--accent);text-underline-offset:2px}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
strong{font-weight:700}
.eyebrow{font-family:var(--font-display);font-weight:600;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.mono,code,kbd{font-family:var(--font-mono);font-size:.88em}
code{background:var(--code-bg);padding:1px 5px;border-radius:3px;word-break:break-word}
kbd{border:1px solid var(--line);border-bottom-width:2px;padding:0 5px;border-radius:3px;background:var(--surface)}

/* Top navigation between pages */
.topnav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 20px;padding-block:18px 14px;border-bottom:2px solid var(--ink)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.brand .orbs{display:flex;gap:4px}
.brand .orbs i{width:18px;height:18px;border-radius:50%;display:block}
.brand .orbs i:first-child{background:var(--claude)}
.brand .orbs i:last-child{background:var(--gpt)}
.brand b{font-family:var(--font-display);font-size:17px;font-weight:700;letter-spacing:-.01em}
.topnav ul{display:flex;flex-wrap:wrap;gap:4px;list-style:none;margin:0;padding:0}
.topnav ul a{display:block;padding:5px 10px;font-size:15px;font-weight:700;text-decoration:none;color:var(--muted);border:1.5px solid transparent;border-radius:999px}
.topnav ul a:hover{color:var(--ink);border-color:var(--line)}
.topnav ul a[aria-current="page"]{color:var(--ink);border-color:var(--ink)}
.topnav ul a.sos{color:var(--warn);border-color:var(--warn)}

/* Level hero */
.lvl-hero{padding-block:40px 26px;display:grid;gap:16px}
.lvl-hero .stage{display:flex;align-items:center;gap:12px}
.lvl-hero .num{font-family:var(--font-display);font-weight:700;font-size:15px;border:2px solid var(--ink);border-radius:999px;padding:3px 12px}
.lvl-hero h1{font-size:clamp(32px,5.6vw,54px);letter-spacing:-.02em;max-width:18ch}
.lvl-hero .sub{font-size:clamp(19px,2.3vw,22px);color:var(--muted);max-width:60ch}
.who{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;max-width:820px;font-size:16px}
.who div{border-top:2px solid var(--line);padding-top:8px;min-width:0}
.who b{display:block;font-family:var(--font-display);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
@media (max-width:620px){.who{grid-template-columns:1fr}}

/* Contents */
.toc{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:6px 0 28px}
.toc a{display:block;padding:6px 12px;border:1.5px solid var(--line);border-radius:6px;text-decoration:none;color:var(--ink);font-weight:700;font-size:15px;background:var(--surface)}
.toc a:hover{border-color:var(--accent)}

/* Lecture prose (for professor-style explanations) */
.lecture{display:grid;gap:14px;max-width:68ch;font-size:18px}
.lecture h3{font-size:20px;margin-top:10px}
.lecture ul,.lecture ol{margin:0;padding-left:1.2em;display:grid;gap:6px}

/* Topic format */
.topic{padding-block:36px;border-top:1px solid var(--line);scroll-margin-top:12px;display:grid;gap:18px}
.topic > header{display:grid;gap:6px}
.topic h2{font-size:clamp(26px,3.6vw,36px);letter-spacing:-.015em}
.first{background:var(--accent-soft);border-left:6px solid var(--accent);padding:12px 16px;font-size:19px;font-weight:700;max-width:68ch}
.first b{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.08em;font-size:12px;color:var(--accent);display:block;margin-bottom:2px}
.fmt{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 34px}
.fmt > div{min-width:0}
.fmt h3{font-family:var(--font-display);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin-bottom:8px;padding-bottom:5px;border-bottom:1px solid var(--line)}
.fmt ul,.fmt ol{margin:0;padding-left:1.2em;font-size:17px;display:grid;gap:6px}
.fmt p{font-size:17px}
.fmt p + p{margin-top:8px}
.fmt .wide{grid-column:1/-1}
.watch{background:var(--warn-soft);border:1px solid var(--warn);padding:14px 16px;border-radius:4px}
.watch h3{color:var(--warn);border-bottom-color:var(--warn)}
@media (max-width:720px){.fmt{grid-template-columns:1fr}}

/* Two planets: side-by-side boxes */
.planets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.planet{border:1.5px solid var(--line);border-radius:6px;padding:14px 16px;background:var(--surface);min-width:0;display:grid;gap:8px;align-content:start}
.planet > b{display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.planet > b::before{content:"";width:14px;height:14px;border-radius:50%;flex:none}
.planet.claude{border-top:5px solid var(--claude)}
.planet.claude > b{color:var(--claude)}
.planet.claude > b::before{background:var(--claude)}
.planet.gpt{border-top:5px solid var(--gpt)}
.planet.gpt > b{color:var(--gpt)}
.planet.gpt > b::before{background:var(--gpt)}
.planet ul,.planet ol{margin:0;padding-left:1.15em;font-size:16px;display:grid;gap:5px}
.planet p{font-size:16px}
.planet .checked{font-size:13px;color:var(--muted)}
@media (max-width:720px){.planets{grid-template-columns:1fr}}

/* Bertie, the guide */
.bertie{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:start;background:var(--surface);border:1.5px dashed var(--line);border-radius:8px;padding:14px 16px;max-width:760px}
.bertie .face{width:44px;height:44px;border-radius:12px;background:var(--ink);position:relative;flex:none}
.bertie .face::before,.bertie .face::after{content:"";position:absolute;top:15px;width:8px;height:8px;border-radius:50%;background:var(--bg)}
.bertie .face::before{left:10px}
.bertie .face::after{left:25px;top:17px}
.bertie p{font-size:16px}
.bertie p b{font-family:var(--font-display);font-size:12px;letter-spacing:.1em;text-transform:uppercase;display:block;color:var(--muted)}
.bertie .lesson{margin-top:6px;font-weight:700}

/* Recipe / prompt cards */
.prompts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.prompt{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:12px 14px;display:grid;gap:6px;min-width:0}
.prompt h4{font-family:var(--font-body);font-size:16px;font-weight:700}
.prompt blockquote{margin:0;font-family:var(--font-mono);font-size:14px;line-height:1.5;background:var(--code-bg);padding:10px 12px;border-radius:4px;white-space:pre-wrap;word-break:break-word}
@media (max-width:720px){.prompts{grid-template-columns:1fr}}

/* Myth vs fact */
.myths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.myth{border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--surface);min-width:0}
.myth p{padding:10px 14px;font-size:16px}
.myth p:first-child{background:var(--warn-soft);font-weight:700}
.myth p:first-child::before{content:"Myth: ";font-family:var(--font-display);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--warn)}
.myth p:last-child::before{content:"Fact: ";font-family:var(--font-display);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ok)}
@media (max-width:720px){.myths{grid-template-columns:1fr}}

/* Code */
pre.code{background:var(--code-bg);border:1px solid var(--line);border-radius:6px;padding:12px 14px;overflow-x:auto;font-family:var(--font-mono);font-size:14px;line-height:1.55;margin:0;max-width:100%}
pre.code code{background:none;padding:0}

/* Tables */
.tbl{overflow-x:auto;max-width:100%}
table{border-collapse:collapse;width:100%;font-size:16px}
th,td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-family:var(--font-display);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.07em;border-bottom:2px solid var(--ink)}
td.num{font-variant-numeric:tabular-nums;white-space:nowrap}

/* Checklist */
.chk-title{font-family:var(--font-display);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}
.check{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
.check label{display:flex;gap:10px;align-items:flex-start;padding:5px 6px;cursor:pointer;font-size:17px}
.check input{width:20px;height:20px;margin-top:3px;flex:none;accent-color:var(--ok)}
.check input:checked + span{color:var(--muted);text-decoration:line-through}
@media (max-width:640px){.check{grid-template-columns:1fr}}
.levelup{background:var(--surface);border:2px solid var(--ink);border-radius:8px;padding:18px 20px;display:grid;gap:12px;margin-block:30px}
.levelup h2{font-size:24px}

/* Glossary */
.gloss{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px;margin:0}
.gloss div{padding:9px 0;border-bottom:1px solid var(--line);min-width:0}
.gloss dt{font-weight:700}
.gloss dd{margin:0;color:var(--muted);font-size:16px}
@media (max-width:640px){.gloss{grid-template-columns:1fr}}

/* Sources */
.src{font-size:14px;color:var(--muted);border-top:1px dashed var(--line);padding-top:10px}
.tracking-note{font-size:13px;color:var(--muted);max-width:72ch}
.src a{word-break:break-word}

/* Next stage link */
.next{display:flex;flex-wrap:wrap;gap:12px;margin-block:30px}
.next a{flex:1 1 260px;display:grid;gap:2px;text-decoration:none;color:var(--ink);background:var(--surface);border:2px solid var(--ink);border-radius:8px;padding:16px 18px}
.next a span{font-family:var(--font-display);font-weight:700;font-size:20px}
.next a small{color:var(--muted);font-size:15px}
.next a:hover{outline:3px solid var(--accent);outline-offset:2px}

footer{border-top:2px solid var(--ink);padding-block:22px 44px;font-size:15px;color:var(--muted);display:grid;gap:10px;margin-top:20px}
footer p{max-width:80ch}
footer strong{color:var(--ink)}

/* Let grid children shrink so code blocks scroll inside instead of widening the page */
.topic > *, .lecture > *, .planet > *, .levelup > *, .fmt > div > *, .watch > *{min-width:0}
li{min-width:0}

/* AINet visual language: deep teal, quiet mint signals, editorial edges. */
body{background:radial-gradient(ellipse at 50% 0%,#14292b 0,var(--bg) 58%);}
.eyebrow,.mono,code,kbd,.topnav ul a,.planet .checked,.src,.tracking-note{font-family:var(--font-mono);}
.topnav{border-bottom:1px solid var(--line);}
.topnav ul a[aria-current="page"]{border-color:var(--accent);color:var(--accent);}
.topnav ul a.sos{color:var(--warn);border-color:var(--warn);}
.door,.quiz,.levelup,.topic,.planet,.prompt,.myth,.bertie,.stages a,.same>div,.next a{border-radius:4px;}
.door,.quiz,.levelup,.next a{border-color:var(--line);}
.door:hover,.stages a:hover{border-color:var(--accent);}
.btn{border-radius:4px;background:var(--accent);color:#09201d;}
.btn.ghost{color:var(--accent);border-color:var(--accent);}
.bertie .face{border-radius:4px;background:var(--accent);}
.bertie .face::before,.bertie .face::after{background:var(--bg);}
footer{border-top:1px solid var(--line);}
