:root{--font-serif: "Baskerville", "Libre Baskerville", "Baskerville Old Face", Georgia, serif;--font-mono: ui-monospace, Menlo, "SFMono-Regular", monospace;--font-sans: "Helvetica Neue", "Helvetica", Arial, sans-serif;--measure: 66ch;--r-card: 8px;--r-button: 4px;--hair: 1px;--space: 8px;--fs-display: clamp(40px, 7vw, 66px);--fs-section: clamp(30px, 4.5vw, 41px);--fs-subsection: 26px;--fs-deck: 20px;--fs-body: 16px;--fs-caption: 12px}*{box-sizing:border-box}*,*:before,*:after{margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}body{font-kerning:normal;text-rendering:optimizeLegibility;font-feature-settings:"kern" 1,"liga" 1,"calt" 1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--paper);color:var(--ink);font-family:var(--font-serif);font-size:var(--fs-body);line-height:1.55;font-feature-settings:"liga","kern";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:400;line-height:1.12;letter-spacing:-.01em;text-wrap:balance}a{color:var(--link);text-decoration-thickness:1px;text-underline-offset:2px}a:hover{text-decoration-thickness:2px}::selection{background:var(--butter);color:var(--ink)}:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:2px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}.label{font-family:var(--font-sans);font-size:var(--fs-caption);font-weight:600;letter-spacing:.01em;color:var(--ink-faint)}.wrap{width:min(100% - 3rem,1120px);margin-inline:auto}.wrap-narrow{width:min(100% - 3rem,760px);margin-inline:auto}.site-header{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:var(--hair) solid var(--line)}.site-header .bar{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding-block:.9rem}.brandmark{display:flex;align-items:baseline;gap:.65rem;text-decoration:none;color:var(--ink)}.brandmark .name{font-family:var(--font-serif);font-size:1.3rem;letter-spacing:-.01em}.brandmark .desc{font-family:var(--font-sans);font-size:.72rem;font-weight:600;letter-spacing:.01em;color:var(--ink-faint)}.header-actions{display:flex;align-items:center;gap:1rem}.progress-chip{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-sans);font-size:.72rem;font-weight:600;letter-spacing:.01em;color:var(--ink-faint);font-variant-numeric:tabular-nums}.progress-track{display:inline-flex;gap:3px}.progress-track i{width:15px;height:5px;border-radius:2px;background:var(--line-soft);display:inline-block}.progress-track i.on{background:var(--ready)}.textsize{display:inline-flex;border:var(--hair) solid var(--line);border-radius:var(--r-button);overflow:hidden}.ts-btn{display:flex;align-items:baseline;justify-content:center;min-width:30px;padding:3px 9px;background:transparent;color:var(--ink);border:0;border-left:var(--hair) solid var(--line);font-family:var(--font-serif);line-height:1;cursor:pointer}.ts-btn:first-child{border-left:0}.ts-btn:hover:not(.is-active){background:var(--paper-deep)}.ts-btn.is-active{background:var(--ink);color:var(--paper)}@media(max-width:560px){.progress-chip{display:none}}.site-footer{border-top:var(--hair) solid var(--line);margin-top:4rem;padding-block:1.75rem 3rem;color:var(--ink-faint);font-size:.82rem}.footer-inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem}.footer-lockup{display:flex;flex-direction:column;align-items:center;gap:.5rem}.footer-badge{display:inline-flex;line-height:0}.footer-badge img{display:block;width:52px;height:52px;transition:opacity .18s ease}.footer-badge:hover img{opacity:.72}.footer-credit{font-size:.9rem;color:var(--ink-soft)}.footer-disclaimer{max-width:62ch;margin:0;color:var(--ink-faint);font-size:.82rem;line-height:1.5}.tag{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-sans);font-size:.72rem;font-weight:600;letter-spacing:.01em;padding:.28rem .6rem;border-radius:var(--r-button);border:var(--hair) solid var(--line);color:var(--ink-soft);background:transparent}.tag.status-complete{color:var(--ready);border-color:color-mix(in srgb,var(--ready) 45%,var(--line))}.tag.status-active{color:var(--accent-deep);border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:var(--accent-soft)}.tag.status-upcoming{color:var(--ink-faint)}.plate{background:var(--paper-raised);border:var(--hair) solid var(--line);border-radius:var(--r-card);padding:1rem;overflow-x:auto}.plate svg{display:block;width:100%;height:auto}.plate.artboard{background:var(--paper-raised)}table.data{border-collapse:collapse;width:100%;font-size:.9rem;font-variant-numeric:tabular-nums lining-nums}table.data th,table.data td{border:var(--hair) solid var(--line);padding:.5rem .6rem;text-align:left;vertical-align:top}table.data thead th{font-family:var(--font-sans);font-size:.75rem;font-weight:600;letter-spacing:.005em;color:var(--ink-faint);background:var(--paper-deep)}table.data tr.cw td{background:var(--highlight)}table.data tr.cw td.cw-name,table.data thead th.cw-head{background:var(--accent-deep);color:#fff}table.data td.center,table.data th.center{text-align:center}.dot-yes{color:var(--ink)}.dot-yes.cw{color:var(--accent)}.dot-no{color:var(--line-strong)}figure.chart{margin:0;background:var(--paper-raised);border:var(--hair) solid var(--line);border-radius:var(--r-card);overflow:hidden}.chart-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.55rem .85rem;border-bottom:var(--hair) solid var(--line);background:var(--paper-deep)}.chart-actions{display:flex;gap:.4rem}.chart-btn{font-family:var(--font-sans);font-size:.68rem;font-weight:600;letter-spacing:.01em;color:var(--ink-soft);background:var(--paper);border:var(--hair) solid var(--line);border-radius:var(--r-button);padding:.3rem .6rem;cursor:pointer;line-height:1}.chart-btn:hover{border-color:var(--ink-soft);color:var(--ink)}.chart-canvas{display:block;width:100%;background:none;border:none;padding:.85rem;cursor:zoom-in;overflow-x:auto}.chart-canvas svg{display:block;width:100%;height:auto;min-width:var(--chart-min, 0px)}figure.chart figcaption{font-size:.82rem;color:var(--ink-faint);line-height:1.45;padding:0 .85rem .85rem}.table-scroll{overflow-x:auto;padding:.85rem}.table-scroll table.data{margin:0}.lightbox[hidden]{display:none}.lightbox{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:clamp(.75rem,3vw,2.5rem)}.lightbox-scrim{position:absolute;inset:0;background:#41273b8c}.lightbox-panel{position:relative;background:var(--paper-raised);border:var(--hair) solid var(--line-strong);border-radius:var(--r-card);width:min(1000px,94vw);max-height:92vh;display:flex;flex-direction:column;overflow:hidden}.lightbox-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem .9rem;border-bottom:var(--hair) solid var(--line);background:var(--paper-deep)}.lightbox-figure{padding:clamp(.85rem,2vw,1.75rem);overflow:auto;background:var(--paper-raised)}.lightbox-figure svg{display:block;width:100%;height:auto}.lightbox-figure.is-table{padding:clamp(.5rem,1.5vw,1.25rem)}.lightbox-figure.is-table table.data{font-size:1rem;margin:0}.lightbox-figure.is-table table.data th,.lightbox-figure.is-table table.data td{padding:.6rem .85rem}.report-dl{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--font-sans);font-size:.78rem;font-weight:600;letter-spacing:.01em;color:var(--paper);background:var(--accent-deep);border:none;border-radius:var(--r-button);padding:.55rem .95rem;cursor:pointer}.report-dl:hover{background:#9c3a1a}@media print{:root{--fs-display: 40px;--fs-section: 28px;--fs-subsection: 20px}body{background:#fff}.site-header,.site-footer,.back,.next,.report-dl,.chart-bar,.lightbox,.progress-chip{display:none!important}.room{padding-block:0}.wrap-narrow{width:100%}figure.chart,.plate,table,tr,li,.wedge{break-inside:avoid}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
