/* Prairie tokens, generated from tokens.json */
:root{--ground:#f2ebde;--plate:#faf6ee;--sand:#e4d8c3;--walnut:#2e2118;--on-walnut:#f2ebde;--ink:#231b14;--ink-muted:#5e5143;--hairline:#bfae93;--border-strong:#7a6a55;--cherokee:#9c3a24;--on-cherokee:#fbf5ea;--amethyst:#5a3b78;--on-amethyst:#fbf5ea;--prairie:#b8892f;--on-prairie:#231b14;--patina:#3f6b5a;--on-patina:#fbf5ea;--focus-ring:#5a3b78;--focus-ring-on-walnut:#e0b457;--shadow-eave:0 6px 0 0 #d6c8ae;--shadow-ledge:0 2px 0 0 #bfae93;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--space-24:96px;--space-32:128px;--radius-0:0;--radius-1:2px;--radius-2:4px;--page-max:1200px;--measure:64ch;--rule-thin:1px;--rule-course:4px;--font-display:"Josefin Sans", Futura, "Century Gothic", sans-serif;--font-text:"Source Serif 4", Georgia, serif;--font-mono:"IBM Plex Mono", ui-monospace, Menlo, monospace;}
@media (prefers-color-scheme:dark){:root{--ground:#1c1510;--plate:#261d16;--sand:#33271d;--walnut:#4a3626;--on-walnut:#f1e8d8;--ink:#f1e8d8;--ink-muted:#bfae93;--hairline:#5a4a3a;--border-strong:#8a7a64;--cherokee:#d9694c;--on-cherokee:#1c1510;--amethyst:#b79adb;--on-amethyst:#1c1510;--prairie:#d9a84e;--on-prairie:#1c1510;--patina:#7fb5a0;--on-patina:#1c1510;--focus-ring:#d9a84e;--focus-ring-on-walnut:#d9a84e;--shadow-eave:0 6px 0 0 #110c08;--shadow-ledge:0 2px 0 0 #110c08;}}

.pr-mark { position: relative; display: inline-block; width: 20px; height: 20px; background: var(--cherokee); flex: none; }
.pr-mark::after { content: ""; position: absolute; inset: 6px; background: var(--plate); }

.pr-btn { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-6); font-family: var(--font-display); font-size: 14px; line-height: 16px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; text-decoration: none; border: 2px solid transparent; border-radius: var(--radius-0); box-shadow: var(--shadow-ledge); cursor: pointer; transition: background-color 120ms, color 120ms, border-color 120ms; }
.pr-btn--primary { background: var(--cherokee); border-color: var(--cherokee); color: var(--on-cherokee); }
.pr-btn--primary:hover { background: var(--walnut); border-color: var(--walnut); color: var(--on-walnut); }
.pr-btn--accent { background: var(--amethyst); border-color: var(--amethyst); color: var(--on-amethyst); }
.pr-btn--accent:hover { background: var(--walnut); border-color: var(--walnut); color: var(--on-walnut); }
.pr-btn--quiet { background: var(--plate); border-color: var(--border-strong); color: var(--ink); }
.pr-btn--quiet:hover { background: var(--sand); }
.pr-btn--sm { padding: var(--space-2) var(--space-4); font-size: 12px; line-height: 16px; }
.pr-btn:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 3px; }
.pr-btn[disabled], .pr-btn[aria-disabled="true"] { background: var(--sand); border: 2px dashed var(--border-strong); color: var(--ink-muted); box-shadow: none; cursor: not-allowed; }

.pr-plate { background: var(--plate); color: var(--ink); padding: var(--space-8); border-top: var(--rule-course) solid var(--ink); box-shadow: var(--shadow-eave); transition: transform 120ms; }
.pr-plate--cherokee { border-top-color: var(--cherokee); }
.pr-plate--amethyst { border-top-color: var(--amethyst); }
.pr-plate--patina { border-top-color: var(--patina); }
.pr-plate--prairie { border-top-color: var(--prairie); }
.pr-plate--walnut { background: var(--walnut); color: var(--on-walnut); border-top-color: var(--prairie); }
.pr-plate--link { display: block; text-decoration: none; }
.pr-plate--link:hover { transform: translateY(-2px); }
.pr-plate--link:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 3px; }
.pr-plate h3 { margin: 0 0 var(--space-3); font-family: var(--font-display); font-size: 30px; line-height: 36px; font-weight: 600; letter-spacing: 0.02em; }
.pr-plate p { margin: 0; font-family: var(--font-text); font-size: 15px; line-height: 24px; }

.pr-nav { display: flex; align-items: center; justify-content: space-between; gap: var(--space-8); padding: var(--space-4) var(--space-8); background: var(--plate); border-bottom: var(--rule-course) solid var(--ink); }
.pr-nav__brand { display: inline-flex; align-items: center; gap: var(--space-3); text-decoration: none; color: var(--ink); font-family: var(--font-display); font-size: 22px; line-height: 24px; font-weight: 600; letter-spacing: 0.02em; }
.pr-nav__wing { font-family: var(--font-mono); font-size: 14px; line-height: 22px; color: var(--ink-muted); }
.pr-nav__links { display: flex; gap: var(--space-8); margin: 0; padding: 0; list-style: none; }
.pr-nav__link { display: inline-block; padding: var(--space-2) 0; font-family: var(--font-display); font-size: 13px; line-height: 16px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; text-decoration: none; color: var(--ink); border-bottom: 3px solid transparent; }
.pr-nav__link:hover, .pr-nav__link[aria-current="page"] { border-bottom-color: var(--cherokee); }
.pr-nav__link:focus-visible, .pr-nav__brand:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 3px; }

.pr-hero { background: var(--ground); color: var(--ink); border-top: var(--rule-course) solid var(--hero-course, var(--cherokee)); padding: var(--space-12) var(--space-8) var(--space-16); }
.pr-hero__inner { max-width: var(--page-max); margin: 0 auto; display: grid; gap: var(--space-6); }
.pr-hero h1 { margin: 0; font-family: var(--font-display); font-size: 96px; line-height: 96px; font-weight: 600; letter-spacing: -0.01em; }
.pr-hero .pr-hero__lede { max-width: var(--measure); margin: 0; font-family: var(--font-text); font-size: 22px; line-height: 34px; }
.pr-hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-4); margin-top: var(--space-4); }
.pr-courses { display: grid; gap: var(--space-2); margin-top: var(--space-12); }
.pr-courses span { display: block; height: 6px; background: var(--hairline); }
.pr-courses span:nth-child(1) { width: 100%; background: var(--ink); height: 4px; }
.pr-courses span:nth-child(2) { width: 72%; background: var(--hero-course, var(--cherokee)); }
.pr-courses span:nth-child(3) { width: 44%; }

.pr-eyebrow { margin: 0; font-family: var(--font-display); font-size: 13px; line-height: 16px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-muted); }

.pr-wing { display: grid; grid-template-rows: 96px 1fr; background: var(--plate); color: var(--ink); text-decoration: none; box-shadow: var(--shadow-eave); transition: transform 120ms; }
.pr-wing:hover { transform: translateY(-2px); }
.pr-wing:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 3px; }
.pr-wing__band { display: flex; align-items: flex-end; padding: var(--space-4) var(--space-6); background: var(--wing, var(--walnut)); color: var(--on-wing, var(--on-walnut)); font-family: var(--font-mono); font-size: 14px; line-height: 22px; }
.pr-wing__body { display: grid; gap: var(--space-3); align-content: start; padding: var(--space-6); }
.pr-wing__body h3 { margin: 0; font-family: var(--font-display); font-size: 30px; line-height: 36px; font-weight: 600; letter-spacing: 0.02em; }
.pr-wing__body p { margin: 0; font-family: var(--font-text); font-size: 15px; line-height: 24px; }
.pr-wing--aios { --wing: var(--amethyst); --on-wing: var(--on-amethyst); }
.pr-wing--kiriko { --wing: var(--cherokee); --on-wing: var(--on-cherokee); }
.pr-wing--pitchiq { --wing: var(--patina); --on-wing: var(--on-patina); }
.pr-wing--play { --wing: var(--prairie); --on-wing: var(--on-prairie); }
.pr-wing--now { --wing: var(--walnut); --on-wing: var(--on-walnut); }

.pr-tag { display: inline-block; justify-self: start; padding: 2px var(--space-2); font-family: var(--font-display); font-size: 12px; line-height: 18px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink); background: var(--plate); border: 1px solid var(--border-strong); border-radius: var(--radius-1); }
.pr-tag--live { color: var(--patina); border-color: var(--patina); }
.pr-tag--building { color: var(--amethyst); border-color: var(--amethyst); }
.pr-tag--soon { color: var(--ink-muted); border-style: dashed; }
.pr-tag::before { content: "\25A0"; margin-right: var(--space-2); }

.pr-course-row { display: grid; grid-template-columns: 140px 1fr; gap: var(--space-8); padding: var(--space-6) 0; border-top: var(--rule-thin) solid var(--hairline); }
.pr-course-row:first-child { border-top: var(--rule-course) solid var(--ink); }
.pr-course-row__when { font-family: var(--font-mono); font-size: 12px; line-height: 18px; letter-spacing: 0.04em; color: var(--ink-muted); padding-top: var(--space-2); }
.pr-course-row h3 { margin: 0 0 var(--space-2); font-family: var(--font-display); font-size: 30px; line-height: 36px; font-weight: 600; letter-spacing: 0.02em; }
.pr-course-row p { margin: 0; max-width: var(--measure); font-family: var(--font-text); font-size: 15px; line-height: 24px; color: var(--ink-muted); }

.pr-margin { max-width: 32ch; padding-top: var(--space-2); border-top: var(--rule-thin) solid var(--hairline); font-family: var(--font-mono); font-size: 12px; line-height: 18px; letter-spacing: 0.04em; color: var(--ink-muted); }
.pr-margin__who { display: block; margin-bottom: var(--space-1); font-family: var(--font-display); font-size: 13px; line-height: 16px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--amethyst); }

.pr-foundation { background: var(--walnut); color: var(--on-walnut); border-top: var(--rule-course) solid var(--prairie); padding: var(--space-16) var(--space-8); }
.pr-foundation__inner { max-width: var(--page-max); margin: 0 auto; display: grid; grid-template-columns: 1fr auto; gap: var(--space-8); align-items: end; }
.pr-foundation__sign { margin: 0; font-family: var(--font-display); font-size: 44px; line-height: 48px; font-weight: 600; }
.pr-foundation ul { display: flex; flex-wrap: wrap; gap: var(--space-6); margin: 0; padding: 0; list-style: none; }
.pr-foundation a { font-family: var(--font-mono); font-size: 14px; line-height: 22px; color: var(--on-walnut); text-decoration: underline; text-underline-offset: 4px; }
.pr-foundation a:focus-visible { outline: 2px solid var(--focus-ring-on-walnut); outline-offset: 3px; }

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--font-text);font-size:17px;line-height:28px}
.wrap{max-width:var(--page-max);margin:0 auto;padding:0 var(--space-8)}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--ground);padding:var(--space-3) var(--space-4);z-index:10}
.skip:focus{left:var(--space-4);top:var(--space-4)}
.band{padding:var(--space-24) 0 var(--space-16);border-top:var(--rule-course) solid var(--ink)}
.band--sand{background:var(--sand)}
.band h2{margin:var(--space-3) 0 var(--space-12);font-family:var(--font-display);font-size:64px;line-height:68px;font-weight:600;letter-spacing:-0.005em;max-width:16ch}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8)}
.wings{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8)}
.pr-wing[aria-disabled="true"]{cursor:default}
.pr-wing[aria-disabled="true"]:hover{transform:none}
.rows{max-width:880px}
.aside{margin-top:var(--space-12)}
.pr-nav{position:sticky;top:0;z-index:5}
.pr-hero{border-top:0}
@media (max-width:900px){.wings,.grid3{grid-template-columns:repeat(2,1fr)}.band h2{font-size:44px;line-height:48px}.pr-hero h1{font-size:64px;line-height:68px}}
@media (max-width:720px){.pr-nav{flex-direction:column;align-items:flex-start;gap:var(--space-4);padding:var(--space-4)}.pr-nav__links{gap:var(--space-6);flex-wrap:wrap}.pr-course-row{grid-template-columns:1fr;gap:var(--space-2)}.pr-foundation__inner{grid-template-columns:1fr}.wrap{padding:0 var(--space-4)}.pr-hero{padding:var(--space-12) var(--space-4) var(--space-16)}}
@media (max-width:600px){.wings,.grid3{grid-template-columns:1fr}.pr-hero h1{font-size:48px;line-height:52px}.band{padding:var(--space-16) 0 var(--space-12)}}
