:root{--primary:#432578;--primary-contrast:#fff;--accent:#ceef48;--surface:#f3f3ff;--surface-2:#e4e5f4;--text:#211833;--heading:#24124a;--muted:#615573;--border:#b9b1cc;--font-body:'Be Vietnam Pro',sans-serif;--font-head:'Newsreader',serif}*{box-sizing:border-box}html{scroll-padding-top:20px}body{margin:0;background:#e4e5f4;color:var(--text);font:400 16px/1.8 var(--font-body)}a{color:var(--primary);text-underline-offset:4px}a,button,summary{touch-action:manipulation}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #432578;outline-offset:5px}h1,h2,h3{font-family:var(--font-head);line-height:1.2;overflow-wrap:anywhere}h1{font-size:clamp(36px,5vw,80px);font-weight:500;margin:16px 0 24px}h2{font-size:clamp(28px,3vw,44px);font-weight:600;margin:0 0 20px}p{margin:0 0 20px}svg{display:block;max-width:100%}table{max-width:100%;border-collapse:collapse}td,th{padding:10px;border:1px solid var(--border)}.skip{position:absolute;left:12px;top:-80px;padding:10px;background:var(--accent);z-index:30}.skip:focus{top:12px}.site-header{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;gap:12px;padding:20px 4vw;border-bottom:1px solid var(--border)}.brand{display:inline-flex;align-items:center;gap:10px;min-height:44px;text-decoration:none;font-weight:700;font-size:20px}.phase-mark{display:block;width:25px;height:30px;border-left:4px solid;border-right:4px solid;transform:skewY(-20deg)}.languages{display:flex;gap:6px;flex-wrap:wrap}.languages a{min-height:44px;padding:7px 10px;display:flex;align-items:center}.languages [aria-current]{background:var(--primary);color:#fff}.nav-toggle{display:none;width:48px;height:48px;border:1px solid var(--border);background:var(--surface);color:var(--primary);padding:10px}.nav-toggle svg{stroke:currentColor;fill:none;stroke-width:2}#site-nav{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap}#site-nav a{min-height:44px;padding:8px 12px;border-top:1px solid var(--border);text-decoration:none}#site-nav [aria-current]{border-color:var(--primary);font-weight:700}main{width:min(1280px,92%);margin:0 auto}.opening{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);grid-template-rows:auto auto;gap:20px 50px;padding:70px 0 45px;align-items:center}.opening-copy{grid-column:1;grid-row:2;min-width:0}.phase-plate{grid-column:2;grid-row:2;background:var(--accent);color:var(--primary);padding:12px;transform:rotate(-4deg);border:1px solid var(--primary)}.breadcrumbs{grid-column:1/-1;grid-row:1}.breadcrumbs ol{display:flex;gap:12px;flex-wrap:wrap;padding:0;list-style:none}.breadcrumbs li>a,.breadcrumbs li>span{display:inline-flex;min-height:44px;align-items:center}.eyebrow{font-size:12px;line-height:1.8;margin:0;color:var(--muted)}.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:12px 20px;background:var(--primary);color:white;text-decoration:none}.simulator{display:grid;grid-template-columns:minmax(0,.7fr) minmax(300px,1.3fr);align-items:start;gap:24px;border-top:2px solid var(--primary);padding:40px 0}.simulator-caption{position:sticky;top:25px}.simulator-bed{min-width:0;border:1px solid var(--primary);box-shadow:10px 10px 0 #ceef48}.reading{display:grid;grid-template-columns:minmax(160px,.55fr) minmax(0,1.45fr);gap:60px;margin:55px 0}.contents{min-width:0}.contents details{position:sticky;top:20px;border-top:1px solid var(--primary)}summary{min-height:44px;cursor:pointer;line-height:1.7;padding:8px 0}.contents a{display:flex;align-items:center;min-height:44px;padding:8px 0;border-bottom:1px solid var(--border);overflow-wrap:anywhere}.chapter{padding:30px 0;border-top:1px solid var(--border)}article{min-width:0}.prose{overflow-wrap:anywhere}.prose ul,.prose ol{padding-left:24px}.prose pre{overflow:auto}.faq{padding:30px 0}.faq details{border-bottom:1px solid var(--border)}.faq summary{font-weight:600;padding:14px 0}.faq .prose{padding:12px 0}.callout{padding:24px;border:1px solid var(--primary);background:var(--accent)}.related{padding:40px 0}.related>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.related a{display:block;padding:20px;border:1px solid var(--border);text-decoration:none;overflow-wrap:anywhere}.related p{font-size:16px;margin:12px 0 0}footer{padding:40px 4vw;background:var(--primary);color:#fff}footer a{color:#fff}footer>p{max-width:850px;margin:25px 0}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:20px}.footer-links nav{display:flex;flex-wrap:wrap;gap:8px}.footer-links a{display:inline-flex;min-height:44px;align-items:center;padding:7px 10px}.imprint{display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin-top:25px}.missing{padding:60px 0}#game-root{border-radius:0}#game-root .g-title{line-height:1.5;font-family:var(--font-body);font-size:18px}#game-root .g-msg{line-height:1.7}#game-root .g-main{font-family:var(--font-body);letter-spacing:0}@media(max-width:979px){.site-header{grid-template-columns:minmax(0,1fr) auto auto;padding:12px 4vw}.nav-toggle{display:block}#site-nav{display:none}.site-header.nav-open #site-nav{display:flex;flex-direction:column;gap:0;background:var(--surface);grid-column:1/-1;width:100%}.site-header.nav-open #site-nav a{padding:12px;min-height:44px}.opening{grid-template-columns:minmax(0,1fr) minmax(0,.55fr);gap:25px}.simulator{grid-template-columns:minmax(0,1fr)}.simulator-caption{position:static}.reading{grid-template-columns:minmax(0,1fr);gap:25px}.contents details{position:static}.related>div{grid-template-columns:minmax(0,1fr)}}@media(max-width:600px){.site-header{grid-template-columns:minmax(0,1fr) 48px}.site-header>.languages{grid-column:1/-1;grid-row:2}.nav-toggle{grid-column:2;grid-row:1}.site-header.nav-open #site-nav{grid-row:3}.opening{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;padding:35px 0}.opening-copy{grid-column:1;grid-row:2}.phase-plate{grid-column:1;grid-row:3;transform:none;width:100%;max-height:150px;overflow:hidden}.phase-plate svg{max-height:130px;width:100%}.simulator{padding:25px 0}.simulator-bed{box-shadow:5px 5px 0 #ceef48}.footer-links{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

:root{--primary:#253944;--primary-contrast:#fff;--accent:#dd9f60;--surface:#f5f0e7;--surface-2:#e6e4d8;--panel:#e6e4d8;--text:#203139;--heading:#203139;--muted:#5c6b6c;--border:#a4b0a9;--font-body:'Public Sans',sans-serif;--font-head:'DM Serif Display',serif}body{background:var(--surface);line-height:1.8}h1,h2,h3{line-height:1.25;letter-spacing:0}.eyebrow,.phase-mark{letter-spacing:0;text-transform:none;transform:none}.site-header{max-width:1320px;margin:auto}footer{background:var(--surface-2);border-top:1px solid var(--primary);color:var(--text)}footer a{color:var(--primary)}.opening{grid-template-columns:minmax(0,1fr);gap:0}.opening-copy{grid-column:1;grid-row:2}.phase-plate{grid-column:1;grid-row:3;transform:none;max-height:160px;border:0;border-radius:90% 90% 0 0;background:var(--panel);overflow:hidden}.phase-plate svg{max-height:150px}.simulator{grid-template-columns:minmax(0,.55fr) minmax(0,1.45fr);border-top:3px double var(--primary)}.simulator-caption{position:static}.simulator-bed{border-radius:22px;box-shadow:none}.chapter{border-top:3px double var(--primary)}@media(max-width:979px){.simulator{grid-template-columns:minmax(0,1fr);margin-left:0;padding-left:0;border-left:0}.simulator-caption{grid-column:1;grid-row:1;position:static}.simulator-bed{grid-column:1;grid-row:2}.reading{grid-template-columns:minmax(0,1fr)}.contents{grid-column:1;grid-row:1}.reading article{grid-column:1;grid-row:2}}@media(max-width:600px){.opening{grid-template-columns:minmax(0,1fr);padding-left:0;border-left:0;text-align:left}.opening-copy{grid-column:1;grid-row:2}.phase-plate{grid-column:1;grid-row:3;transform:none;aspect-ratio:auto;max-height:150px;border-radius:0;overflow:hidden}.phase-plate svg{max-height:140px;width:100%}.simulator-bed{box-shadow:none;border-radius:0}.simulator-caption{display:block;padding:16px}.contents details{display:block}.contents a{display:flex;margin-right:0}}

/* Language links retain a complete pointer target for short native codes. */
.languages a{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}

/* Language and breadcrumb links retain a complete pointer target for short native codes. */
.languages a,.breadcrumbs a{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}

/* Long source-rule expressions remain readable within their actual text column. */
.lead,.eyebrow,.simulator-caption p{overflow-wrap:anywhere}

/* Individual studio: Run Register — coral four-row interval folio, full-width title above a linear band diagram, compact centered game desk and label/value reading grid */
:root{--primary:#583d35;--accent:#c24732;--surface:#fcf5e9;--surface-2:#f0dfd1;--text:#302623;--muted:#6f625d;--border:#c8b4a7;--heading:#583d35;--font-body:'Public Sans',sans-serif;--font-head:'DM Serif Display',serif}body{background:var(--surface)}
.site-header{border-bottom:6px solid var(--accent);background:var(--surface)}.phase-mark{border:1px solid var(--primary);transform:none;position:relative;height:24px;width:32px;background:linear-gradient(to bottom,transparent 20%,var(--accent) 20%,var(--accent) 31%,transparent 31%,transparent 62%,var(--accent) 62%,var(--accent) 73%,transparent 73%)}
.opening{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;gap:28px;padding:40px 0;align-items:stretch}.opening-copy{grid-column:1;grid-row:2;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,.75fr);grid-template-rows:auto auto auto;gap:20px 55px;margin:0;max-width:none}.opening-copy .eyebrow{grid-column:1/-1;grid-row:1}.opening h1{grid-column:1;grid-row:2;font-family:var(--font-head);font-size:clamp(38px,5.5vw,78px);line-height:1.1;margin:0;font-weight:400}.opening .lead{grid-column:2;grid-row:2;font-size:17px;line-height:1.8}.opening .button{grid-column:2;grid-row:3;justify-self:start}.phase-plate{grid-column:1;grid-row:3;transform:none;border:1px solid var(--primary);background:var(--surface-2);padding:25px;border-radius:0;aspect-ratio:auto;max-height:none;overflow:visible;color:var(--accent)}.phase-plate svg{width:100%;max-height:220px;display:block}.button{background:var(--primary);color:var(--surface);border:0;border-radius:4px 25px 4px 4px;padding-inline:28px}.simulator{display:block;max-width:1000px;margin:36px auto 65px;border:0;padding:0}.simulator-caption{position:static;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:30px;border-bottom:3px solid var(--accent);padding-bottom:20px;margin-bottom:20px}.simulator-caption h2{font-size:38px;font-weight:400}.simulator-caption p{text-align:right}.simulator-bed{border:1px solid var(--primary);border-radius:0;box-shadow:0 12px 0 var(--surface-2);background:var(--surface);padding:16px}.reading{grid-template-columns:minmax(0,1fr);gap:35px}.contents{grid-column:1;grid-row:1;border-block:1px solid var(--primary);padding:15px 0}.contents details{position:static}.contents a{display:inline-flex;margin-right:20px}.reading article{grid-column:1;grid-row:2}.chapter{display:grid;grid-template-columns:minmax(0,.5fr) minmax(0,1fr);gap:35px;padding:32px 0;border-top:1px solid var(--border);margin:0}.chapter h2{font-size:34px;font-weight:400;line-height:1.2;border-left:7px solid var(--accent);padding-left:18px}.chapter:nth-child(even){background:var(--surface-2);padding:30px 25px}.faq{border-top:6px solid var(--accent);padding-top:24px}.related a{border:1px solid var(--primary);border-radius:4px 28px 4px 4px;background:var(--surface);padding:24px}.related a:nth-child(even){background:var(--surface-2)}footer{background:var(--primary);color:var(--surface);border-top:16px solid var(--accent)}footer a{color:var(--surface)}
@media(max-width:979px){.opening-copy{grid-template-columns:minmax(0,1fr);gap:20px}.opening-copy .eyebrow,.opening h1,.opening .lead,.opening .button{grid-column:1;grid-row:auto}.phase-plate{padding:10px;grid-column:1;grid-row:3}.phase-plate svg{max-height:none}.simulator-caption{display:block}.simulator-caption p{text-align:left}.simulator-bed{padding:8px}.contents a{display:flex;margin-right:0}.chapter{grid-template-columns:minmax(0,1fr);gap:12px}.chapter:nth-child(even){padding:24px 14px}.chapter h2{font-size:30px}.related>div{grid-template-columns:minmax(0,1fr)}}
