:root{color-scheme:light;--paper:#f3f0e8;--ink:#25352d;--muted:#687068;--accent:#187e87;--line:#d3d4c8}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:2px solid var(--accent);outline-offset:7px}
.page{width:min(1240px,calc(100% - 112px));margin:auto}
.masthead{min-height:116px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}
.identity{display:flex;align-items:center;gap:22px}
.monogram{font-family:Georgia,'Times New Roman',serif;font-size:41px;font-weight:bold;letter-spacing:-5px}
.monogram span{color:var(--accent);letter-spacing:0}
.domain{font-size:15px;letter-spacing:.06em}
.edition{font-size:14px;line-height:1.6;letter-spacing:.025em;color:var(--muted);display:flex;align-items:center;gap:10px}
.status-dot{width:6px;height:6px;border-radius:100%;background:var(--accent);flex-shrink:0}
.introduction{display:grid;grid-template-columns:1.08fr 1fr;gap:72px;align-items:center;padding:75px 0 68px}
.copy{min-width:0}
.eyebrow{text-transform:uppercase;font-size:13px;font-weight:bold;line-height:1.6;letter-spacing:.12em;margin:0 0 31px;color:var(--muted)}
h1{font-family:Georgia,'Times New Roman',serif;font-weight:normal;font-size:clamp(80px,8.5vw,126px);line-height:.94;letter-spacing:-.065em;margin:0 0 29px}
.period{color:var(--accent)}
.soft-caron{position:relative;display:inline-block}
.soft-caron::after{content:"š";position:absolute;inset:0;color:#cdd0c8;clip-path:inset(-.2em 0 65% 0);pointer-events:none}
.lead{font-family:Georgia,'Times New Roman',serif;font-size:clamp(32px,2.8vw,40px);line-height:1.3;letter-spacing:-.025em;margin:0 0 24px}
.amp{font-style:italic;color:var(--accent)}
.description{font-size:18px;line-height:1.75;color:var(--muted);max-width:440px;margin:0 0 30px}
.github{display:inline-flex;gap:25px;align-items:center;padding:0 0 12px;border-bottom:1px solid var(--ink);font-size:16px;line-height:1.5;font-weight:bold}
.github span{font-size:20px;font-weight:normal;transition:transform .2s}
.github:hover{color:var(--accent);border-color:var(--accent)}
.github:hover span{transform:translate(2px,-2px)}
.figure{min-width:0;padding-top:28px}
.figure-label,.figure-caption{display:flex;justify-content:space-between;align-items:center;gap:12px;font-family:'Courier New',monospace;font-size:12px;line-height:1.6;letter-spacing:.025em;color:var(--muted)}
.figure-label{flex-wrap:wrap}
.figure-caption>span{min-width:0}
.figure-label{padding:0 5px 15px;border-bottom:1px solid var(--line)}
.figure .planet{display:block;width:100%;height:auto;margin:22px 0 14px}
.planet-color{transform-origin:250px 250px;animation:color-drift 24s linear infinite}
.meridian{transform-origin:250px 250px;animation:globe-turn 18s linear infinite;vector-effect:non-scaling-stroke}
.meridian-two{animation-delay:-6s}.meridian-three{animation-delay:-12s}
.satellite{offset-path:path('M490 250 A240 73 0 1 1 10 250 A240 73 0 1 1 490 250');offset-rotate:0deg;animation:orbit 26s linear infinite}
.satellite-one{animation-delay:-3s}
.satellite-two{animation-duration:43s;animation-delay:-29s}
.is-paused .planet-color,.is-paused .meridian,.is-paused .satellite{animation-play-state:paused}
@keyframes color-drift{0%{transform:translate(-95px,-35px) rotate(-25deg)}25%{transform:translate(60px,40px) rotate(65deg)}50%{transform:translate(-70px,75px) rotate(155deg)}75%{transform:translate(-100px,-60px) rotate(245deg)}100%{transform:translate(-95px,-35px) rotate(335deg)}}
@keyframes globe-turn{0%{transform:scaleX(1)}12.5%{transform:scaleX(.92388)}25%{transform:scaleX(.707107)}37.5%{transform:scaleX(.382683)}50%{transform:scaleX(0)}62.5%{transform:scaleX(-.382683)}75%{transform:scaleX(-.707107)}87.5%{transform:scaleX(-.92388)}100%{transform:scaleX(-1)}}
@keyframes orbit{to{offset-distance:100%}}
.motion-toggle{display:grid;place-items:center;width:44px;height:44px;padding:12px;flex-shrink:0;border:1px solid transparent;border-radius:50%;color:var(--accent);background:transparent;cursor:pointer}
.motion-toggle:hover{border-color:var(--line)}
.motion-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.motion-toggle svg{display:block;width:14px;height:14px}
.play-icon,.is-paused .pause-icon{display:none}.is-paused .play-icon{display:block}
.figure-caption{padding:15px 5px 0;border-top:1px solid var(--line)}
.asterisk{color:var(--accent);font-size:24px;line-height:1}
.topics{display:grid;grid-template-columns:1fr 1.2fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.topics div{display:flex;align-items:center;gap:18px;padding:25px 20px;font-size:16px;line-height:1.6}
.topics div:first-child{padding-left:0}.topics div+div{border-left:1px solid var(--line)}
.topic-index{font-family:'Courier New',monospace;font-size:13px;color:var(--accent)}
footer{display:flex;justify-content:space-between;gap:24px;padding:27px 0 30px;font-size:14px;line-height:1.7;color:var(--muted)}
.footer-mark{color:var(--accent);margin-left:18px;font-size:15px}
@media(min-width:1600px){.introduction{padding-top:100px;padding-bottom:90px}}
@media(max-width:1000px){.page{width:calc(100% - 72px)}.introduction{gap:32px}.topics div{padding:23px 15px;gap:12px}.domain{font-size:14px}}
@media(max-width:700px){.page{width:calc(100% - 40px)}.masthead{min-height:auto;flex-direction:column;align-items:flex-start;padding:20px 0;gap:14px}.identity{gap:16px}.monogram{font-size:36px}.domain{font-size:14px;letter-spacing:.025em}.edition{font-size:13px;gap:8px}.introduction{grid-template-columns:1fr;padding:43px 0 35px;gap:42px}.eyebrow{font-size:12px;letter-spacing:.08em;margin-bottom:28px}h1{font-size:clamp(80px,20vw,116px);margin-bottom:25px}.lead{font-size:34px}.description{font-size:17px;max-width:440px}.figure{padding-top:0;max-width:420px;width:100%;justify-self:center}.figure .planet{margin-top:16px;margin-bottom:10px}.topics{grid-template-columns:1fr}.topics div,.topics div:first-child{padding:18px 0;gap:18px}.topics div+div{border-left:0;border-top:1px solid var(--line)}footer{font-size:13px;padding-top:23px;gap:18px}footer>span:first-child{max-width:220px}footer>span:last-child{white-space:nowrap}.footer-mark{margin-left:8px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}.motion-toggle{display:none}.meridian-one{transform:scaleX(.27)}.meridian-two{transform:scaleX(.59)}.meridian-three{transform:scaleX(.85)}.satellite-one{offset-distance:8%}.satellite-two{offset-distance:58%}}
