:root{color-scheme:light;--bg: #f2f1ec;--surface: #e8e6df;--grid-faint: #e6e4dd;--grid: #d5d2c9;--grid-strong: #bdb9ae;--rule: #d9d6ce;--century: #dca7a3;--text: #1d1c1a;--text-2: #5c5952;--accent: #a3202a;--accent-ink: #fbf8f2;--culture: #dedbd3;--culture-2: #c6c2b8;--ink-dark: #17161a;--ink-light: #fbfaf6;--letterbox: #0c0c0d;--letterbox-text: #e9e7e1;--letterbox-text-2: #a9a69e;--font: "Source Serif 4", "Source Serif Pro", Georgia, serif;--fs-s: 12px;--fs-m: 14px;--fs-l: 18px;--fs-xl: 30px;--topbar: 56px;--drawer-w: 420px}:root[data-theme=dark]{color-scheme:dark;--bg: #131315;--surface: #1a1a1d;--grid-faint: #1f1f23;--grid: #2a2a2f;--grid-strong: #3b3b42;--rule: #222227;--century: #4d2428;--text: #ecebe6;--text-2: #a3a19a;--accent: #c8343c;--accent-ink: #fbf8f2;--culture: #26262b;--culture-2: #36363d;--ink-dark: #141416;--ink-light: #f6f5f0;--letterbox: #050506}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--fs-m);line-height:1.45;font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button,input{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}:focus-visible{outline:2px solid var(--text);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}#stage{position:fixed;inset:0;display:block;touch-action:none;cursor:grab}#stage.dragging{cursor:grabbing}#stage.pointing{cursor:pointer}#stage.scrubbing{cursor:ew-resize}.btn{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 12px;border-radius:4px;font-size:var(--fs-m);font-weight:500;white-space:nowrap;transition:background-color .12s ease,color .12s ease}.btn:hover{background:var(--surface)}a.btn{color:inherit;text-decoration:none}.btn[aria-pressed=true]{background:var(--text);color:var(--bg)}.btn-primary{background:var(--accent);color:var(--accent-ink);font-weight:600;padding:0 16px}.btn-primary:hover{background:var(--accent);filter:brightness(1.08)}.icon-btn{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:4px;transition:background-color .12s ease}.icon-btn:hover{background:var(--surface)}.icon-btn svg,.btn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.link{text-decoration:underline;text-decoration-color:var(--grid-strong);text-underline-offset:3px}.link:hover{text-decoration-color:var(--text)}.topbar{position:fixed;top:0;left:0;right:0;height:var(--topbar);display:flex;align-items:center;gap:8px;padding:0 12px 0 20px;background:var(--bg);z-index:20;transition:transform .6s cubic-bezier(.6,0,.2,1)}.brand{font-size:var(--fs-l);font-weight:650;letter-spacing:.02em;white-space:nowrap;margin-right:16px;cursor:pointer}.brand span{color:var(--text-2);font-weight:450}.byline{font-size:var(--fs-s);color:var(--text-2);text-decoration:none;white-space:nowrap;margin:2px 16px 0 -8px}.byline:hover{color:var(--accent)}.help .made{margin-top:28px;font-size:var(--fs-s);color:var(--text-2)}.help .made a{color:inherit}.spacer{flex:1}.actions{display:flex;align-items:center;gap:2px}.search{position:relative;width:min(360px,34vw)}.search input{width:100%;height:38px;padding:0 12px 0 36px;border:0;border-radius:4px;background:var(--surface);font-size:var(--fs-m)}.search input::placeholder{color:var(--text-2)}.search input:focus-visible{outline-offset:0}.search>svg{position:absolute;left:11px;top:10px;width:18px;height:18px;stroke:var(--text-2);fill:none;stroke-width:1.6;pointer-events:none}.results{position:absolute;top:44px;left:0;width:max(100%,380px);background:var(--surface);border-radius:4px;padding:6px 0;display:none;max-height:min(70vh,520px);overflow-y:auto}.results.open{display:block}.result{display:grid;grid-template-columns:14px 1fr;gap:2px 12px;align-items:center;width:100%;text-align:left;padding:8px 14px}.result[aria-selected=true]{background:var(--bg)}.result .sw{grid-row:span 2;align-self:start;margin-top:4px}.result .name{font-weight:600}.result .meta{color:var(--text-2);font-size:var(--fs-s)}.results .empty{padding:10px 14px;color:var(--text-2)}.sw{display:inline-block;width:12px;height:12px;flex:none}.sw.diamond{transform:rotate(45deg) scale(.75);background:var(--text)}.popover{position:fixed;top:calc(var(--topbar) + 4px);right:12px;width:340px;max-height:calc(100vh - var(--topbar) - 24px);overflow-y:auto;background:var(--surface);border-radius:4px;padding:16px 0 12px;z-index:30;display:none}.popover.open{display:block}.popover h3{margin:16px 20px 4px;font-size:var(--fs-s);font-weight:600;color:var(--text-2)}.popover h3:first-of-type{margin-top:4px}.popover .lead{margin:0 20px 8px;color:var(--text-2);font-size:var(--fs-s)}.fam{display:grid;grid-template-columns:14px 1fr auto;gap:12px;align-items:center;width:100%;text-align:left;padding:6px 20px;font-size:var(--fs-m)}.fam:hover{background:var(--bg)}.fam .count{color:var(--text-2);font-size:var(--fs-s);font-variant-numeric:tabular-nums}.legend.filtering .fam[aria-pressed=false]{color:var(--text-2)}.legend.filtering .fam[aria-pressed=false] .sw{background:var(--grid-strong)!important}.fam[aria-pressed=true]{font-weight:650}.legend .clear{margin:12px 20px 0}.more-menu .btn{width:100%;justify-content:flex-start;border-radius:0;padding:0 20px;height:44px}.drawer{position:fixed;top:var(--topbar);right:0;bottom:0;width:var(--drawer-w);background:var(--surface);z-index:15;overflow-y:auto;overscroll-behavior:contain;transform:translate(100%);visibility:hidden;transition:transform .42s cubic-bezier(.6,0,.2,1),visibility 0s linear .42s}.drawer.open{transform:none;visibility:visible;transition:transform .42s cubic-bezier(.6,0,.2,1),visibility 0s}.drawer-inner{padding:20px 28px 48px}.drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.drawer .where{color:var(--text-2);font-size:var(--fs-s);padding-top:10px}.drawer h2{margin:0 0 4px;font-size:var(--fs-xl);line-height:1.12;font-weight:650;text-wrap:balance}.drawer .dates{font-size:var(--fs-l);margin:0}.drawer .dur{color:var(--text-2);margin:2px 0 0}.track{position:relative;height:28px;margin:20px 0 6px}.track .rail{position:absolute;left:0;right:0;top:12px;height:4px;background:var(--grid)}.track .seg{position:absolute;top:6px;height:16px;min-width:3px}.track .zero{position:absolute;top:4px;height:20px;width:1px;background:var(--accent)}.track-labels{display:flex;justify-content:space-between;color:var(--text-2);font-size:var(--fs-s);font-variant-numeric:tabular-nums}.drawer .desc{font-size:var(--fs-l);line-height:1.5;margin:24px 0;max-width:60ch}.facts{display:grid;grid-template-columns:112px 1fr;gap:10px 16px;margin:0 0 32px}.facts dt{color:var(--text-2)}.facts dd{margin:0}.facts .fam-line{display:flex;align-items:center;gap:8px}.facts .note{display:block;color:var(--text-2);font-size:var(--fs-s)}.drawer h4{font-size:var(--fs-m);font-weight:650;margin:32px 0 8px}.drawer .sub{color:var(--text-2);font-size:var(--fs-s);margin:-4px 0 8px}.list{list-style:none;margin:0;padding:0}.list button{display:grid;grid-template-columns:12px 1fr auto;gap:12px;align-items:baseline;width:100%;text-align:left;padding:6px 0}.list button .sw{align-self:center}.list button:hover .nm{text-decoration:underline;text-underline-offset:3px}.list .yr{color:var(--text-2);font-size:var(--fs-s);font-variant-numeric:tabular-nums;white-space:nowrap}.list .rg{display:block;color:var(--text-2);font-size:var(--fs-s)}.list .ev{grid-template-columns:56px 1fr}.list .ev .yr{text-align:right}.drawer .row-actions{display:flex;gap:8px;margin-top:32px;flex-wrap:wrap}.drawer .row-actions .btn{background:var(--bg)}.sponsor-slot{display:flex;flex-direction:column;gap:2px;margin-top:36px;padding:14px 16px;background:var(--bg);color:var(--text);text-decoration:none;font-size:var(--fs-s);line-height:1.45}.sponsor-slot strong{font-size:var(--fs-m);font-weight:600}.sponsor-slot span{color:var(--text-2)}.sponsor-slot:hover strong{color:var(--accent)}.year-ctl{display:flex;align-items:center;gap:4px;margin:12px 0 8px}.year-ctl .btn{background:var(--bg);padding:0 10px;font-variant-numeric:tabular-nums}.region-block{margin-top:24px}.region-block h5{margin:0 0 4px;font-size:var(--fs-m);font-weight:650}.region-block .peoples{color:var(--text-2);font-size:var(--fs-s);margin:4px 0 0}.tip{position:fixed;left:0;top:0;z-index:40;max-width:300px;padding:10px 12px;background:var(--text);color:var(--bg);border-radius:4px;pointer-events:none;display:none;font-size:var(--fs-s);line-height:1.4}.tip.show{display:block}.tip strong{display:block;font-size:var(--fs-m);font-weight:650;margin-bottom:2px}.tip .t-fam{display:flex;align-items:center;gap:6px;margin-top:4px}.tip .t-fam .sw{width:10px;height:10px}.zoombar{position:fixed;left:68px;bottom:16px;display:flex;align-items:center;gap:2px;background:var(--bg);border-radius:4px;padding:2px;z-index:10}.zoombar .readout{padding:0 12px 0 8px;color:var(--text-2);font-size:var(--fs-s);font-variant-numeric:tabular-nums;white-space:nowrap}.minimap{position:fixed;right:16px;bottom:16px;z-index:10;cursor:crosshair;touch-action:none;transition:right .42s cubic-bezier(.6,0,.2,1)}body.drawer-open .minimap{right:calc(var(--drawer-w) + 16px)}.hint{position:fixed;left:50%;bottom:24px;transform:translate(-50%,12px);background:var(--text);color:var(--bg);padding:10px 16px;border-radius:4px;z-index:25;opacity:0;pointer-events:none;transition:opacity .4s ease,transform .4s ease;white-space:nowrap}.hint.show{opacity:1;transform:translate(-50%)}.intro{position:fixed;inset:0;z-index:60;background:var(--bg);display:grid;place-items:center;padding:24px 16px;transition:opacity .9s ease,visibility 0s linear .9s}.intro.gone{opacity:0;visibility:hidden}.intro-inner{max-width:760px;width:100%}.intro h1{margin:0;font-size:clamp(40px,8.4vw,104px);line-height:1;font-weight:600;letter-spacing:.16em;text-transform:uppercase;font-variation-settings:"opsz" 60}.intro h1 .word{display:inline-block;white-space:nowrap}.intro h1 .ch{display:inline-block;opacity:0;transform:translateY(.18em);transition:opacity .7s ease,transform .9s cubic-bezier(.2,.7,.2,1)}.intro.play h1 .ch{opacity:1;transform:none}.intro .years{display:flex;justify-content:space-between;margin:28px 0 0;font-size:var(--fs-l);font-variant-numeric:tabular-nums;color:var(--text-2)}.intro .bar{height:6px;margin-top:10px;display:flex;overflow:hidden}.intro .bar i{flex:1;transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.2,.7,.2,1)}.intro.play .bar i{transform:none}.intro p{font-size:var(--fs-l);max-width:54ch;margin:28px 0 0}.intro .reveal{opacity:0;transform:translateY(8px);transition:opacity .8s ease,transform .8s ease}.intro.play .reveal{opacity:1;transform:none}.intro .cta{display:flex;align-items:center;gap:16px;margin-top:36px;flex-wrap:wrap}.intro .cta .btn-primary{height:48px;padding:0 22px;font-size:var(--fs-l)}.intro .credit{margin-top:40px;font-size:var(--fs-s);color:var(--text-2)}.intro .credit a{color:inherit}.letterbox{position:fixed;left:0;right:0;height:11vh;background:var(--letterbox);z-index:35;transition:transform .8s cubic-bezier(.6,0,.2,1);pointer-events:none}.letterbox.top{top:0;transform:translateY(-100%)}.letterbox.bottom{bottom:0;transform:translateY(100%)}body.cinema .letterbox{transform:none}body.cinema .topbar{transform:translateY(-110%)}body.cinema .zoombar,body.cinema .minimap{display:none}.caption{position:fixed;left:0;right:0;bottom:0;min-height:11vh;z-index:36;color:var(--letterbox-text);padding:0 clamp(16px,5vw,64px) max(20px,env(safe-area-inset-bottom));display:none}body.cinema .caption{display:block}.caption-card{max-width:640px;background:var(--letterbox);padding:22px 26px 18px;margin-bottom:0}.caption .when{color:var(--letterbox-text-2);font-size:var(--fs-m);font-variant-numeric:tabular-nums}.caption h2{margin:2px 0 8px;font-size:var(--fs-xl);line-height:1.1;font-weight:650}.caption p{margin:0;font-size:var(--fs-l);line-height:1.5;color:var(--letterbox-text)}.caption .anim{transition:opacity .5s ease,transform .6s ease}.caption.swap .anim{opacity:0;transform:translateY(6px)}.caption .controls{display:flex;align-items:center;gap:4px;margin-top:16px}.caption .icon-btn:hover,.caption .btn:hover{background:#1d1d20}.caption .listen{display:inline-flex;align-items:center;gap:6px;color:var(--letterbox-text-2)}.caption .listen svg{width:18px;height:18px}.caption .listen[aria-pressed=true]{color:var(--letterbox-text);background:#26262a}.caption .count{margin-left:8px;color:var(--letterbox-text-2);font-size:var(--fs-s);font-variant-numeric:tabular-nums}.caption .progress{display:flex;gap:3px;margin-top:14px}.caption .progress span{flex:1;height:3px;background:#2e2e33;position:relative;overflow:hidden}.caption .progress span i{position:absolute;inset:0;background:var(--letterbox-text);transform:scaleX(0);transform-origin:left}.caption .progress span.done i{transform:none}.help{position:fixed;inset:0;z-index:50;display:none;place-items:center;background:var(--bg);padding:24px 16px}.help.open{display:grid}.help-inner{max-width:620px;width:100%}.help h2{font-size:var(--fs-xl);margin:0 0 8px;font-weight:650}.help p{color:var(--text-2);margin:0 0 24px;max-width:60ch}.help dl{display:grid;grid-template-columns:200px 1fr;gap:10px 24px;margin:0 0 32px}.help dt{font-weight:600}.help dd{margin:0;color:var(--text-2)}.legend-key{display:flex;flex-wrap:wrap;gap:16px 24px;margin:0 0 32px;color:var(--text-2)}.legend-key span{display:inline-flex;align-items:center;gap:8px}.legend-key i{display:inline-block;width:28px;height:12px}.only-compact,.only-compact-inline{display:none}@media(max-width:860px){:root{--drawer-w: 100%;--topbar: 56px}.brand{display:none}.topbar{padding:0 8px 0 12px}.search{flex:1;width:auto}.results{position:fixed;top:52px;left:12px;right:12px;width:auto}.hide-compact{display:none}.only-compact{display:inline-grid}.only-compact-inline{display:inline}.search{min-width:0}.actions .btn-primary{padding:0 12px}.drawer{top:auto;height:min(64vh,640px);width:100%;transform:translateY(100%)}.drawer-inner{padding:8px 16px 40px}.drawer .desc{font-size:var(--fs-m);margin:16px 0}.facts{grid-template-columns:96px 1fr}body.drawer-open .minimap{right:16px}.minimap{display:none}.zoombar{left:12px;bottom:max(12px,env(safe-area-inset-bottom))}.help dl{grid-template-columns:1fr;gap:2px}.help dd{margin-bottom:10px}.caption-card{padding:16px 16px 14px}.caption p{font-size:var(--fs-m)}.hint{white-space:normal;width:calc(100% - 32px);text-align:center}.popover{left:12px;right:12px;width:auto}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:1ms!important;animation-duration:1ms!important}}.sr-summary{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
