: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:#5b334f;--primary-contrast:#fff;--accent:#91babb;--surface:#f8edf3;--surface-2:#eddce6;--panel:#eddce6;--text:#3e2c37;--heading:#3e2c37;--muted:#795e6f;--border:#b89dac;--font-body:'Barlow',sans-serif;--font-head:'Bodoni Moda',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:1520px;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}

/* Semibola / white-blue sidebar analytics, composition 6 */
:root{--primary:#165bc0;--primary-contrast:#fff;--accent:#80c9ff;--surface:#fff;--surface-2:#edf5ff;--panel:#e5f1ff;--text:#24394f;--heading:#122c49;--muted:#526b85;--border:#cddded;--font-body:'Barlow',system-ui,sans-serif;--font-head:'Barlow',system-ui,sans-serif}
body{background:#f4f8fd;line-height:1.75}h1{font-size:clamp(32px,3.7vw,58px);font-weight:700;max-width:1000px}h2{font-size:clamp(25px,2.6vw,35px);font-weight:700}h3{font-size:23px}.phase-mark{width:25px;height:25px;border:3px solid #165bc0;border-radius:6px;transform:none;background:linear-gradient(90deg,transparent 40%,#80c9ff 40%,#80c9ff 60%,transparent 60%)}
main{width:calc(100% - 64px);max-width:1250px}.opening{grid-template-columns:minmax(0,1fr);padding:42px 0 24px}.opening-copy{grid-column:1;grid-row:2}.opening .phase-plate{grid-column:1;grid-row:3;border-radius:12px;margin-top:28px;max-height:120px;background:repeating-linear-gradient(90deg,#e7f1fd 0,#e7f1fd 1px,transparent 1px,transparent 8.333%),linear-gradient(#fff,#edf5ff);border:1px solid var(--border)}.phase-plate svg{height:105px;width:100%}.eyebrow{font-size:13px;font-weight:600}.button{border-radius:7px;font-weight:600}.simulator{display:block;border-top:0;padding:20px 0 35px}.simulator-caption{display:flex;align-items:baseline;justify-content:space-between;gap:24px;border-bottom:1px solid var(--border);margin-bottom:18px}.simulator-caption h2{margin-bottom:10px}.simulator-bed{border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 10px 32px #17385a0c}#game-root{padding:22px;border-radius:12px}#game-root .g-stage{display:grid;grid-template-columns:220px 1fr;align-items:center;padding:16px}#game-root .roulette-wheel{width:210px;max-width:100%;grid-row:1/3;grid-column:1}#game-root .word-board{grid-column:2}#game-root .word-result{grid-column:2}.reading{grid-template-columns:minmax(0,1fr);gap:24px;margin:20px 0}.contents details{position:static;padding:14px 20px;background:#edf5ff;border:1px solid var(--border);border-radius:10px}.contents a{display:inline-flex;border:0;font-size:14px;padding:6px 13px;margin:3px;background:white;border-radius:5px;max-width:100%}.chapter{padding:28px 0;border-top:1px solid var(--border)}.reading article{background:#fff;border:1px solid var(--border);padding:30px;border-radius:12px}.table-wrap{overflow-x:auto;max-width:100%}td,th{font-size:14px;min-width:100px}.related a{background:white;border-radius:8px}.callout{background:#e5f1ff}.site-header{background:white;border-bottom:1px solid var(--border)}footer{background:#eaf2fc;border-top:1px solid var(--border)}
@media(min-width:1100px){body{padding-left:240px}.site-header{position:fixed;left:0;top:0;bottom:0;width:240px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:28px 18px;border-right:1px solid var(--border);z-index:20;overflow:auto;gap:24px}.site-header .brand{font-size:24px}.site-header .languages{padding-bottom:18px;border-bottom:1px solid var(--border)}#site-nav{display:flex;flex-direction:column;gap:6px}#site-nav a{border:0;border-radius:7px;padding:11px 12px;font-size:15px}#site-nav a[aria-current]{background:#edf5ff;border-left:3px solid var(--primary)}footer{padding:35px 32px}}
@media(min-width:980px) and (max-width:1099px){#site-nav{display:flex}.nav-toggle{display:none}}
@media(max-width:979px){main{width:92%}.opening{padding-top:28px}.simulator-caption{display:block}.reading article{padding:22px}.site-header.nav-open{max-height:100vh;overflow:auto}}
@media(max-width:600px){h1{font-size:34px}.opening .phase-plate{max-height:90px}.phase-plate svg{height:75px}.reading article{padding:18px}#game-root{padding:12px}#game-root .g-stage{display:block;padding:12px}#game-root .roulette-wheel{width:200px;margin:auto}.contents a{display:flex;margin:4px 0}.simulator-caption{padding:0}.lead{font-size:16px}.word-modes{display:flex;flex-wrap:wrap}.word-modes button{flex:1 1 100%}}
