/* Seven pieces — an ideas desk, soft geometry, strong typesetting. */
:root{--paper:#f7f5ea;--ink:#202337;--coral:#df705b;--blue:#5475b2;--gold:#d9ab43;--mint:#80a495;--pink:#d6a3b5;--purple:#897aa6;--line:#d3d2c5;--head:"Syne",sans-serif;--body:"Albert Sans",sans-serif;--font-head:var(--head);--font-body:var(--body);--primary:var(--blue);--surface:var(--paper);--text:var(--ink)}
*{box-sizing:border-box}html{scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:400 18px/1.7 var(--body)}a{color:inherit;text-underline-offset:4px}h1,h2,h3{font-family:var(--head);line-height:1.1;letter-spacing:-.035em}h1{font-size:clamp(36px,5.8vw,86px);margin:14px 0 28px}h2{font-size:clamp(25px,3vw,38px);margin:0 0 24px}p{margin:0 0 1em}:focus-visible{outline:3px solid var(--coral);outline-offset:4px}svg{display:block;width:100%;height:auto}.skip{position:absolute;top:-100px;left:12px;background:var(--ink);color:white;padding:12px;z-index:99}.skip:focus{top:12px}
header{position:sticky;top:0;z-index:40;display:flex;align-items:center;flex-wrap:wrap;gap:16px;padding:14px max(16px,calc((100vw - 1320px)/2));background:var(--paper);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;min-height:44px;text-decoration:none;font:700 24px/1 var(--head);letter-spacing:-.05em}.brand-piece{width:34px;height:34px;transform:rotate(12deg)}.toggle{margin-left:auto;min-height:44px;min-width:44px;display:flex;gap:14px;align-items:center;border:1px solid var(--ink);background:transparent;border-radius:50px;padding:10px 14px;font:600 16px/1 var(--body);cursor:pointer}.toggle span{font-size:24px}#site-nav{display:none;width:100%}#site-nav ul{list-style:none;padding:0;margin:0}#site-nav a{display:flex;align-items:center;min-height:48px;padding:10px 8px;border-bottom:1px solid var(--line);font-size:16px;text-decoration:none}header.open #site-nav{display:block}.play-link{display:none;min-height:44px;align-items:center;padding:10px 20px;background:var(--ink);color:white;text-decoration:none;border-radius:40px;font-size:15px}
.opening{position:relative;max-width:1400px;margin:auto;padding:32px 16px 44px}.idea{width:70px;transform:rotate(-10deg);margin-bottom:28px}.eyebrow{font-size:14px;letter-spacing:.05em;text-transform:uppercase;margin-bottom:14px}.lead{max-width:70ch;font-size:18px;line-height:1.65}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;min-height:54px;padding:14px 24px;border-radius:40px;background:var(--ink);color:var(--paper);text-decoration:none;font:600 17px/1.4 var(--body)}.button:hover{background:var(--blue)}.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0;font-size:15px}.breadcrumbs a{display:inline-flex;align-items:center;min-height:44px}.game-desk{position:relative;padding:32px max(10px,calc((100vw - 1280px)/2));background:#e8e2d0;display:grid;gap:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);scroll-margin-top:100px;overflow:hidden}.desk-note{padding:0 6px;position:relative;z-index:2}.desk-note p,.desk-note li{font-size:17px}.desk-note ul{list-style:none;padding:0;margin:18px 0 0}.desk-note li{padding:8px 0;border-top:1px solid #c5c0ae}.game-tile{position:relative;z-index:2;min-width:0;background:var(--ink);padding:8px;border-radius:20px;box-shadow:0 12px 0 #c4bda8}.loose{display:none}.reading{padding:36px 16px;max-width:1320px;margin:auto}.toc{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);margin-bottom:38px}.toc summary{min-height:50px;padding:12px 0;font:600 16px/1.5 var(--body);cursor:pointer}.toc ol{list-style:none;margin:0;padding:0}.toc a{display:flex;gap:10px;align-items:center;min-height:44px;padding:10px 0;text-decoration:none;font-size:16px;border-top:1px solid var(--line)}.toc i{display:block;width:10px;height:10px;flex:none;background:var(--coral);clip-path:polygon(0 0,100% 0,0 100%)}article{min-width:0}.intro{max-width:72ch;margin-bottom:40px}.chapter{margin-bottom:44px;padding-top:26px;border-top:1px solid var(--line)}.number{font:600 16px/1.5 var(--body);display:block;margin-bottom:14px;width:48px;height:48px;padding:12px;background:var(--coral);color:var(--paper);clip-path:polygon(0 0,100% 0,100% 100%,0 75%)}.shade1 .number{background:var(--blue)}.shade2 .number{background:#6f8678}.shade3 .number{background:var(--purple)}.prose{font-size:18px;max-width:74ch}.prose li{margin:10px 0}.prose h3{font-size:23px}table{width:100%;border-collapse:collapse;font-size:16px}td,th{padding:12px;border:1px solid var(--line);text-align:left;vertical-align:top}th{background:#e9e5d7}.table-wrap{overflow-x:auto}.faq{padding-top:26px;border-top:1px solid var(--ink)}.faq details{border-bottom:1px solid var(--line)}.faq summary{display:flex;justify-content:space-between;gap:16px;cursor:pointer;list-style:none;min-height:58px;padding:18px 0;font:600 18px/1.4 var(--body)}.faq summary span{font-size:24px;flex:none;color:var(--coral)}.faq .prose{padding:8px 0 16px}.faq details[open] summary span{transform:rotate(45deg)}.cta{padding:26px;background:#e9e5d7;margin-top:38px;border-radius:0 48px 0 0}.next{padding:40px max(16px,calc((100vw - 1288px)/2));background:#e9ece5}.next-grid{display:grid;gap:20px}.next-card{position:relative;padding:44px 24px 34px;background:var(--paper);text-decoration:none;min-height:220px;border-radius:0 40px 0 0;overflow:hidden;border:1px solid var(--line)}.next-card strong{font:700 23px/1.15 var(--head);display:block;padding-right:20px}.next-card p{font-size:16px;line-height:1.6;margin:14px 0}.corner{position:absolute;top:0;left:0;width:34px;height:34px;background:var(--coral);clip-path:polygon(0 0,100% 0,0 100%)}.shade1 .corner{background:var(--blue)}.shade2 .corner{background:var(--purple)}.shade3 .corner{background:var(--gold)}.arrow{position:absolute;right:20px;bottom:16px;font-size:28px}footer{padding:40px max(16px,calc((100vw - 1288px)/2));background:var(--ink);color:var(--paper)}.footer-brand p{font-size:16px;max-width:65ch;margin:24px 0}.footer-nav{display:grid;gap:24px}.footer-nav nav{display:grid}.footer-nav a{display:flex;align-items:center;min-height:44px;font-size:16px}.copyright{display:flex;align-items:center;gap:16px;border-top:1px solid #565866;margin-top:30px;padding-top:22px;font-size:14px}.copyright b{border:1px solid var(--paper);padding:8px 12px}.missing{max-width:900px;margin:auto;padding:50px 16px}
@media(min-width:700px){.opening{padding:54px 40px}.opening.home{display:grid;grid-template-columns:130px minmax(0,1fr);gap:50px}.idea{width:130px;margin-top:20px}.game-desk{padding-top:40px;padding-bottom:40px;grid-template-columns:minmax(0,1fr) minmax(320px,460px);align-items:center;gap:40px}.desk-note{max-width:470px;padding-left:20px}.reading{padding:50px 30px}.next-grid{grid-template-columns:repeat(2,1fr)}.footer-nav{grid-template-columns:1fr 1fr}.chapter,.faq{display:grid;grid-template-columns:230px minmax(0,1fr);gap:36px}.chapter h2{font-size:27px}.chapter .prose{font-size:18px}.faq h2{font-size:27px}.inner{display:grid;grid-template-columns:130px minmax(0,1fr);gap:50px}}
@media(min-width:1050px){.toggle{display:none}#site-nav{display:block;width:auto;margin-left:auto}#site-nav ul{display:flex;gap:6px}#site-nav a{border:0;padding:8px 12px;font-size:15px}.play-link{display:flex}.opening.home{grid-template-columns:220px minmax(0,1fr);padding:64px 40px}.opening.home .idea{width:200px;align-self:center}.game-desk{grid-template-columns:350px minmax(380px,500px);justify-content:center;gap:80px}.loose{display:block;position:absolute;right:-100px;bottom:-130px;width:400px;transform:rotate(18deg);opacity:.35}.toc ol{display:flex;flex-wrap:wrap;gap:6px 26px}.toc a{border:0;font-size:15px}.toc summary{cursor:default}.chapter,.faq{grid-template-columns:300px minmax(0,1fr);gap:80px}.chapter h2,.faq h2{font-size:32px}.next-grid{grid-template-columns:repeat(3,1fr)}}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}.brand-piece{transition:transform .3s}.brand:hover .brand-piece{transform:rotate(0)}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

@media(max-width:360px){header{gap:10px}.brand{font-size:18px;gap:8px}.toggle{font-size:14px;gap:8px;padding:8px 12px}}
