:root{color-scheme:light;--ink:#172943;--muted:#5a687b;--blue:#174fbb;--line:#dce3ed;--paper:#fff;--tint:#f2f6fc;--accent:#b64d19}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.95 system-ui,-apple-system,'Yu Gothic',sans-serif}a{color:var(--blue);text-underline-offset:5px}header{border-bottom:1px solid var(--line);padding:18px 5vw;display:flex;justify-content:space-between;gap:20px;font-size:14px}.brand{font-weight:700;letter-spacing:.12em}header a{text-decoration:none}.layout{max-width:1400px;margin:auto;display:grid;grid-template-columns:235px minmax(0,1fr);gap:70px;padding:0 5vw}aside{position:sticky;top:30px;align-self:start;padding-top:52px;font-size:14px}aside p{color:var(--muted);letter-spacing:.14em;font-size:12px}nav a{display:block;padding:9px 12px;border-left:2px solid var(--line);text-decoration:none;color:var(--muted)}nav a:hover,nav a.active{color:var(--blue);border-color:var(--blue);background:var(--tint)}main{min-width:0;max-width:900px}.intro{padding:58px 0 40px}.eyebrow,.number{font-size:13px;color:var(--blue);font-weight:650;letter-spacing:.13em}h1{font-size:clamp(30px,3.3vw,47px);line-height:1.55;letter-spacing:.015em;font-weight:650;margin:14px 0 22px}h1>span:not(.nowrap){display:block}h2{font-size:29px;line-height:1.5;letter-spacing:.015em;margin:10px 0 26px}h3{font-size:20px;margin:30px 0 12px}p{margin:12px 0 20px}.byline{font-size:14px;color:var(--muted)}.lead{font-size:19px;line-height:1.9}.theorem{padding:24px 28px;background:var(--ink);color:white;margin:26px 0}.theorem .label{color:#afcaff}.theorem p{margin:8px 0 0;font-size:19px}.label{font-size:13px;letter-spacing:.08em;font-weight:650}section.chapter{padding:52px 0;border-top:1px solid var(--line)}.definition{border-left:3px solid var(--blue);padding:5px 24px;margin:26px 0}.math{overflow-x:auto;overflow-y:hidden;padding:16px 4px;max-width:100%;font-size:1.02em}.katex-display{margin:.4em 0!important}.note{color:var(--muted);font-size:14px}.diagram{background:var(--tint);padding:20px;border:1px solid var(--line)}.diagram svg{display:block;width:100%;height:auto;max-height:330px}.diagram-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.diagram-title{font-size:14px;font-weight:650;display:flex;justify-content:space-between;gap:12px}.controls{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}button{font:inherit;font-size:14px;background:white;color:var(--ink);border:1px solid #aebbd0;border-radius:4px;padding:9px 15px;cursor:pointer}button:hover{border-color:var(--blue);color:var(--blue)}button:focus-visible,a:focus-visible{outline:3px solid #de8b30;outline-offset:4px}button.selected{background:var(--blue);color:white;border-color:var(--blue)}.status{min-height:28px;font-size:14px;color:var(--muted)}ol{padding-left:25px}li{padding:5px 0}.steps li{margin-bottom:15px}.classes{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.class-card{border-top:2px solid var(--line);padding-top:12px;text-align:center}.class-card svg{width:100%;height:auto}.class-card .katex{font-size:1em}.proof-flow{display:flex;gap:18px;align-items:center;margin:22px 0}.proof-flow strong{font:600 42px/1.2 Georgia,serif;display:block;color:var(--blue)}.proof-flow div{flex:1;border-left:2px solid var(--line);padding-left:20px;font-size:14px}.equation-panel{background:var(--tint);padding:20px;margin:20px 0}footer{padding:40px 0 60px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}.links{display:flex;gap:24px;flex-wrap:wrap}.dynkin{width:100%;max-width:640px;height:130px}.small-math{font-size:.92em}@media(max-width:1000px){.layout{gap:30px;grid-template-columns:180px minmax(0,1fr)}.classes{grid-template-columns:repeat(3,1fr)}}@media(max-width:720px){body{font-size:16px}header{padding:14px 6vw}.layout{display:block;padding:0 6vw}aside{position:static;padding:20px 0 0}aside p{display:none}nav{display:flex;overflow-x:auto;gap:12px;padding-bottom:8px}nav a{white-space:nowrap;padding:6px 0;border-left:0;border-bottom:2px solid var(--line);font-size:13px}.intro{padding-top:28px}h1{font-size:30px}h2{font-size:25px}.chapter{padding:38px 0!important}.diagram-row{grid-template-columns:1fr}.classes{grid-template-columns:repeat(2,1fr)}.theorem{padding:20px}.proof-flow{gap:8px}.proof-flow div{padding-left:10px}.proof-flow strong{font-size:34px}.math{font-size:.9em}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Keep typesetting internals intact; only title-level spans create line breaks. */
.nowrap{white-space:nowrap}
header{align-items:center;flex-wrap:wrap}
header>a{margin-left:auto}
.language-switch{display:flex;align-items:center;gap:4px;padding-left:16px;border-left:1px solid var(--line)}
.language-switch a{padding:5px 10px;border-radius:3px;font-size:14px;white-space:nowrap}
.language-switch a[aria-current=page]{background:var(--ink);color:white}
h1{overflow-wrap:normal;letter-spacing:0;line-height:1.4}
h2{overflow-wrap:anywhere}
html[lang=en] h1{font-size:clamp(30px,3.3vw,46px);max-width:24ch}
html[lang=en] h2{font-size:27px}
.math>.katex-display{width:max-content;min-width:100%;text-align:center;padding:3px 5px}
.math{scrollbar-width:thin;overscroll-behavior-x:contain}
figure.diagram{margin-left:0;margin-right:0}
.diagram-row>*{min-width:0}
.diagram-title .katex{font-size:1.1em}
@media(max-width:720px){header{gap:10px}.brand{font-size:12px;letter-spacing:.07em}.language-switch{padding-left:8px}.language-switch a{padding:4px 7px}header>a{font-size:13px}.intro h1{font-size:30px}html[lang=en] h2{font-size:24px}.math{font-size:1em}.proof-flow{flex-wrap:wrap}.proof-flow div{min-width:80px}h1 .nowrap{white-space:normal}}
