:root{color-scheme:dark;--bg:#0b0d12;--ink:#e8eef7;--muted:#9fb0c6;--line:#1e2430;--mint:#4fd1e0;--amber:#ffcf8c}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.65 system-ui,sans-serif}a{color:var(--mint);text-underline-offset:4px}a:hover{color:white}a:focus-visible,summary:focus-visible{outline:3px solid var(--amber);outline-offset:5px}header,main,footer{max-width:1120px;margin:auto;padding:26px}header{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{font-size:22px;font-weight:700;letter-spacing:-.7px;text-decoration:none;color:var(--ink)}.brand span{color:var(--mint)}nav{display:flex;flex-wrap:wrap;gap:20px;font-size:14px}nav a{text-decoration:none;color:var(--muted)}nav a[aria-current=page]{color:var(--mint)}.eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--mint);margin-bottom:18px}h1{font-size:clamp(38px,5.7vw,68px);font-weight:650;line-height:1.07;letter-spacing:-.055em;margin:18px 0 25px;max-width:900px}h2{font-size:29px;line-height:1.25;letter-spacing:-.025em;margin:44px 0 18px}h3{font-size:20px;margin:0 0 12px}p{max-width:760px}.lead{font-size:21px;color:var(--muted);max-width:730px}.hero{padding:60px 0 34px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.button{display:inline-block;padding:11px 18px;border:1px solid var(--mint);border-radius:7px;text-decoration:none;font-weight:600;font-size:15px}.button.primary{color:var(--bg);background:var(--mint)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:28px 0}.card{border:1px solid var(--line);border-radius:12px;padding:25px;background:#11141b}.card p{font-size:15px;color:var(--muted)}code,pre{font-family:ui-monospace,Consolas,monospace}code{font-size:.88em;color:var(--amber)}pre{padding:20px;border:1px solid var(--line);border-radius:9px;overflow:auto;background:#0d1214;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}.prompt{color:var(--ink);font-size:16px}video{width:100%;display:block;border-radius:10px;background:#080c0e;aspect-ratio:16/9}figure{margin:25px 0}figcaption{font-size:13px;color:var(--muted);margin:10px 0}.note{padding:18px 22px;border-left:3px solid var(--amber);background:#222621;color:var(--muted);margin:24px 0}.toc{display:flex;flex-wrap:wrap;gap:10px 22px;font-size:14px;margin:24px 0}.document{max-width:820px}.document h1{font-size:48px}section{scroll-margin-top:25px}details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;font-weight:600}footer{margin-top:70px;border-top:1px solid var(--line);color:var(--muted);font-size:13px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}li{margin:8px 0}@media(max-width:740px){header{align-items:flex-start;flex-direction:column}.grid{grid-template-columns:1fr}.hero{padding-top:32px}header,main,footer{padding:20px}.lead{font-size:19px}.document h1{font-size:38px}nav{gap:16px}}
.skip{position:fixed;top:8px;left:12px;z-index:100;background:var(--mint);color:var(--bg);padding:8px 14px;transform:translateY(-150%)}.skip:focus{transform:none}.text-link{align-self:center;font-size:15px}.newsletter{border-top:1px solid var(--line);padding-top:12px}img{max-width:100%;height:auto}
.hero-with-art{display:grid;grid-template-columns:minmax(0,1fr)340px;gap:42px;align-items:center}.hero-art{margin:0}.hero-art img{display:block;width:100%;border:1px solid var(--line);border-radius:12px}.hero-art figcaption{font-size:12px}.hero-with-art .lead{font-size:20px}.brand small{font-size:12px;color:var(--muted);letter-spacing:0;font-weight:400}@media(max-width:900px){.hero-with-art{grid-template-columns:1fr}.hero-art{max-width:580px}}
.compact-hero{padding:24px 0 12px}.compact-hero h1{font-size:clamp(36px,5vw,56px)}.tutorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:24px 0}.tutorial-card{min-width:0;background:#11141b;border:1px solid var(--line);border-radius:14px;overflow:hidden}.tutorial-card[hidden]{display:none}.tutorial-media{position:relative}.tutorial-media video{border-radius:0;aspect-ratio:16/9;object-fit:cover}.watch{position:absolute;bottom:12px;right:12px;border:1px solid #ffffff44;background:#0b0d12dd;color:white;padding:8px 14px;border-radius:20px;cursor:pointer}.tutorial-body{padding:20px}.tutorial-body h3{margin:12px 0 6px}.tutorial-body p{font-size:15px;color:var(--muted)}.tutorial-body details{margin-top:15px;padding:12px 0 0;border:0}.level{font-size:12px;color:var(--mint);border:1px solid #4fd1e044;padding:4px 9px;border-radius:20px}.tutorial-filters{display:flex;gap:8px;flex-wrap:wrap}.tutorial-filters button{background:transparent;color:var(--muted);border:1px solid var(--line);padding:8px 14px;border-radius:20px;cursor:pointer}.tutorial-filters button[aria-pressed=true]{background:var(--mint);color:var(--bg)}button{font:inherit}button.button{background:transparent;color:var(--mint);cursor:pointer}button:focus-visible{outline:3px solid var(--amber);outline-offset:3px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.section-heading h2{margin:0 0 20px}.section-heading .eyebrow{margin:24px 0 8px}.muted,#tutorial-count{color:var(--muted);font-size:14px}.action-card{text-decoration:none}.action-icon{font-size:30px;color:var(--mint)}dialog{width:min(1000px,calc(100% - 24px));max-height:94dvh;padding:20px;background:#11141b;color:var(--ink);border:1px solid var(--line);border-radius:14px;overflow:auto}dialog::backdrop{background:#000c}.player-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:15px}.player-heading h2{margin:0;font-size:24px}dialog .actions{margin-bottom:0}@media(max-width:1000px){.tutorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.tutorial-grid{grid-template-columns:1fr}.section-heading{align-items:flex-start}dialog{padding:12px}.compact-hero{padding-top:12px}}

.tutorial-body .tutorial-hint{font-style:italic;font-size:14px;line-height:1.6;color:var(--muted);margin:12px 0 0}.tutorial-body .prompt-copy{font-size:14px;line-height:1.4;padding:7px 12px;border-radius:7px;min-height:36px}

/* Optional teaching detail stays inside each tutorial card. */
.tutorial-steps{padding-left:1.3rem;margin:1rem 0;color:var(--muted,#aebdcb);font-size:.9rem;line-height:1.55}.tutorial-steps li+li{margin-top:.65rem}.tutorial-control pre{max-width:100%;overflow:auto;padding:12px;border-radius:8px;background:#090f15;font-size:12px;line-height:1.5}.tutorial-control summary{font-size:.9rem}

.tutorial-media.portrait-media video{object-fit:contain;background:#05090d}
