@font-face{font-family:"Source Sans 3";src:url(fonts/source-sans-3-latin-400-normal.woff2?v=0f73f35e08) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url(fonts/source-sans-3-latin-600-normal.woff2?v=14527d193b) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url(fonts/source-sans-3-latin-700-normal.woff2?v=ae35266f2a) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url(fonts/jetbrains-mono-latin-400-normal.woff2?v=14425ba9c6) format("woff2");font-weight:400;font-display:swap}
:root{--sans:"Source Sans 3",system-ui,sans-serif;--mono:"JetBrains Mono",ui-monospace,monospace;
--bg:#FAF7F0;--surface:#F2EEE4;--raised:#FDFBF6;--line:#DDD6C6;--text:#1E2430;--muted:#545A66;--link:#1B5AB8;

--btn-bg:#1E2430;--btn-text:#FAF7F0;--ok-bg:#E4F0E6;--ok-text:#0F6A45;--ph-a:#F2EEE4;--ph-b:#E9E3D6;color-scheme:light}
@media (prefers-color-scheme:dark){:root{
--bg:#101216;--surface:#15181D;--raised:#1B1F25;--line:#2B3038;--text:#E6E9EE;--muted:#A3ABB8;--link:#7FB8FF;

--btn-text:#101216;--ok-bg:#12261D;--ok-text:#7FDDB0;--ph-a:#15181D;--ph-b:#1A1E24;color-scheme:dark}}
/* ACCENTS:BEGIN (generated by scripts/build-accents.py; cyan is the default) */
:root{--accent:#00677D;--mark:#0094B3;--glow:92,225,255;--status-bg:#D6F4FA;--status-text:#004C5C;--status-line:#7FCFE0;--cube:url(img/cube-cyan.svg?v=3e33619d95)}
html[data-accent=violet]{--accent:#5B34C7;--mark:#7C4DFF;--glow:185,163,255;--status-bg:#EAE3FF;--status-text:#43249E;--status-line:#B5A2F0;--cube:url(img/cube-violet.svg?v=2b75e275ad)}
html[data-accent=green]{--accent:#0B6E3E;--mark:#12A15A;--glow:108,242,168;--status-bg:#DDF6E7;--status-text:#08552F;--status-line:#86D6A8;--cube:url(img/cube-green.svg?v=9b9e24cd97)}
html[data-accent=coral]{--accent:#B4234F;--mark:#E8456F;--glow:255,157,181;--status-bg:#FCE3EA;--status-text:#8E1A3D;--status-line:#F2A3B7;--cube:url(img/cube-coral.svg?v=a96a71129d)}
html[data-accent=amber]{--accent:#7A4A00;--mark:#A86800;--glow:255,212,92;--status-bg:#F8EBC8;--status-text:#5A3B00;--status-line:#D9B65A;--cube:url(img/cube-amber.svg?v=c15698ff4e)}
@media (prefers-color-scheme:dark){
:root{--accent:#3FD8F5;--mark:#3FD8F5;--glow:155,239,255;--status-bg:#0E2A31;--status-text:#9BEFFF;--status-line:#1E5A66;--btn-bg:#3FD8F5;--cube:url(img/cube-cyan-dark.svg?v=afe4d64298)}
html[data-accent=violet]{--accent:#B9A3FF;--mark:#A88BFF;--glow:201,184,255;--status-bg:#211A3A;--status-text:#D3C6FF;--status-line:#4A3C80;--btn-bg:#B9A3FF;--cube:url(img/cube-violet-dark.svg?v=eb28ef0990)}
html[data-accent=green]{--accent:#4BE38F;--mark:#4BE38F;--glow:163,247,198;--status-bg:#10291C;--status-text:#A3F7C6;--status-line:#22603F;--btn-bg:#4BE38F;--cube:url(img/cube-green-dark.svg?v=0ea9b3a828)}
html[data-accent=coral]{--accent:#FF8FAB;--mark:#FF7A9C;--glow:255,184,202;--status-bg:#33161F;--status-text:#FFC2D1;--status-line:#73303F;--btn-bg:#FF8FAB;--cube:url(img/cube-coral-dark.svg?v=a4140800d6)}
html[data-accent=amber]{--accent:#F2C14B;--mark:#F2C14B;--glow:255,231,160;--status-bg:#2A2312;--status-text:#F7D98A;--status-line:#6B5520;--btn-bg:#F2C14B;--cube:url(img/cube-amber-dark.svg?v=1d03896016)}}
/* ACCENTS:END */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font:400 1.125rem/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2{text-wrap:balance;line-height:1.1;margin:0 0 .5em}
p{text-wrap:pretty;margin:0 0 1em}
a{color:var(--link);text-underline-offset:.18em}
a:focus-visible{outline:2px solid var(--mark);outline-offset:3px;border-radius:4px}
.wrap{max-width:68rem;margin:0 auto;padding:0 1.5rem}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:var(--raised);padding:.5rem 1rem;z-index:9}
.top{border-bottom:1px solid var(--line);background:var(--bg);position:relative;z-index:2}
.bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;min-height:4rem}
.brand{display:flex;align-items:center;gap:.6rem}.brand img{display:block;height:30px;width:auto}.mark{display:block;flex:none;background:var(--cube) center/contain no-repeat}.brand .mark{width:104px;height:104px;margin:-36px -30px -36px -38px}
.hero-mark{width:400px;height:400px;margin:-6rem 0 -5rem calc(50% - 200px)}
nav{display:flex;gap:1.25rem;flex-wrap:wrap}
nav a{color:var(--muted);text-decoration:none;font-weight:600;font-size:1rem}
nav a:hover{color:var(--text)}
.hero{position:relative;overflow:hidden;padding:5rem 0 4rem;border-bottom:1px solid var(--line)}
.glow{position:absolute;inset:-30% -10% auto;height:44rem;background:radial-gradient(closest-side,rgba(var(--glow),.38),rgba(var(--glow),.12) 55%,transparent);pointer-events:none;animation:breathe 7s ease-in-out infinite alternate}
@keyframes breathe{from{opacity:.75;transform:scale(.97)}to{opacity:1;transform:scale(1.03)}}
.hero .wrap{position:relative;text-align:center}
.badge{display:inline-flex;align-items:center;gap:.55rem;background:var(--status-bg);color:var(--status-text);border:1px solid var(--status-line);border-radius:999px;padding:.3rem .9rem;font-weight:600;font-size:.95rem}
.dot{width:.55rem;height:.55rem;border-radius:50%;background:var(--mark);box-shadow:0 0 0 0 rgba(var(--glow),.7);animation:pulse 2.4s ease-out infinite}
@keyframes pulse{to{box-shadow:0 0 0 .55rem rgba(var(--glow),0)}}
h1{font-size:clamp(3rem,8vw,5.5rem);font-weight:700;letter-spacing:-.03em;margin-top:1.25rem}
.aka a{color:inherit;text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.18em}.aka a:hover{text-decoration-thickness:.14em}.aka a:focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:2px}
.aka{display:block;font-size:.3em;font-weight:600;letter-spacing:0;color:var(--accent);margin-top:.6em}
.lede{font-size:clamp(1.2rem,2.4vw,1.5rem);color:var(--muted);max-width:36rem;margin:0 auto 2rem}
.cta{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap}
.btn,.ghost{display:inline-block;padding:.7rem 1.3rem;border-radius:.6rem;font-weight:600;text-decoration:none}
.btn{background:var(--btn-bg);color:var(--btn-text)}
.ghost{color:var(--text);border:1px solid var(--line);background:var(--raised)}
.ph{margin:3.5rem auto 0;max-width:52rem;border:1px solid var(--line);border-radius:.9rem;overflow:hidden;background:repeating-linear-gradient(135deg,var(--ph-a) 0 14px,var(--ph-b) 14px 28px);box-shadow:0 20px 60px -20px rgba(var(--glow),.45)}
.chrome{display:flex;gap:.45rem;padding:.75rem 1rem;background:var(--raised);border-bottom:1px solid var(--line)}
.chrome i{width:.7rem;height:.7rem;border-radius:50%;background:var(--line)}
.ph figcaption{display:grid;place-content:center;justify-items:center;text-align:center;text-wrap:balance;gap:.25rem;aspect-ratio:16/7;color:var(--muted);font-family:var(--mono);font-size:.95rem;padding:1rem}
.ph strong{color:var(--text);font-family:var(--sans);font-size:1.1rem}
.ph figcaption>*{background:var(--raised);padding:0 .5rem;border-radius:.3rem}
.sec{padding:4rem 1.5rem 1rem;max-width:44rem}
h2{font-size:clamp(1.75rem,3.5vw,2.25rem)}
h2::before{content:"";display:block;width:2.5rem;height:3px;border-radius:3px;background:var(--mark);box-shadow:0 0 12px rgba(var(--glow),.8);margin-bottom:.9rem}
.card{background:var(--surface);border:1px solid var(--line);border-radius:.9rem;padding:1.5rem 1.5rem .5rem}
.foot{margin-top:5rem;border-top:1px solid var(--line);color:var(--muted);font-size:1rem}
.foot p{margin:0}
@media (max-width:480px){.hero{padding:3.5rem 0 3rem}.ph figcaption{aspect-ratio:4/3}nav{gap:1rem}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

h3{font-size:1.15rem;margin:0 0 .15rem;line-height:1.3;text-wrap:balance}
.road{list-style:none;margin:1.5rem 0 0;padding:0;position:relative}
.road::before{content:"";position:absolute;left:.45rem;top:.6rem;bottom:.6rem;width:2px;background:var(--line)}
.road li{position:relative;display:grid;grid-template-columns:7.5rem 1fr;gap:1rem;padding:0 0 1.25rem 1.75rem}
.road li::before{content:"";position:absolute;left:0;top:.35rem;width:.95rem;height:.95rem;border-radius:50%;background:var(--bg);border:2px solid var(--muted)}
.road .done::before{background:var(--mark);border-color:var(--mark)}
.road .now::before{background:var(--bg);border-color:var(--mark);box-shadow:0 0 10px rgba(var(--glow),.8)}
.road p{margin:0;color:var(--muted)}
.tag{justify-self:start;align-self:start;font-size:.85rem;font-weight:700;padding:.1rem .6rem;border-radius:999px;border:1px solid var(--line);color:var(--muted);background:var(--raised);white-space:nowrap}
.done .tag{background:var(--ok-bg);color:var(--ok-text);border-color:transparent}
.now .tag{background:var(--status-bg);color:var(--status-text);border-color:var(--status-line)}
details{border:1px solid var(--line);border-radius:.7rem;background:var(--raised);margin:0 0 .75rem}
summary{cursor:pointer;padding:.85rem 1.1rem;font-weight:600;list-style-position:outside;margin-left:1rem}
summary:focus-visible{outline:2px solid var(--mark);outline-offset:2px;border-radius:.7rem}
details p{padding:0 1.1rem 1rem;margin:0}
@media (max-width:480px){.road li{grid-template-columns:1fr;gap:.35rem}}
