@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-latin-400-normal.C38fXH4l.woff2)format("woff2"),url(/_astro/inter-latin-400-normal.CyCys3Eg.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/inter-latin-500-normal.Cerq10X2.woff2)format("woff2"),url(/_astro/inter-latin-500-normal.BL9OpVg8.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/inter-latin-600-normal.LgqL8muc.woff2)format("woff2"),url(/_astro/inter-latin-600-normal.CiBQ2DWP.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/inter-latin-700-normal.Yt3aPRUw.woff2)format("woff2"),url(/_astro/inter-latin-700-normal.BLAVimhd.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/cormorant-garamond-latin-500-normal.BsRWmXhO.woff2)format("woff2"),url(/_astro/cormorant-garamond-latin-500-normal.zIXX3Q-H.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/cormorant-garamond-latin-600-normal.Co1r35X9.woff2)format("woff2"),url(/_astro/cormorant-garamond-latin-600-normal.2CBVLo0M.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:500;src:url(/_astro/cormorant-garamond-latin-500-italic.Y14P-dkT.woff2)format("woff2"),url(/_astro/cormorant-garamond-latin-500-italic.DhNIfkTX.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff)format("woff")}:root{--bg:#fafaf7;--panel:#f1efe9;--ink:#1c1c1a;--muted:#6b6a64;--rule:#dcd9d0;--brass:#9c6a22;--brass-soft:#f3e7d3;--serif:"Cormorant Garamond", Georgia, serif;--sans:"Inter", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace;--wrap:1200px}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font:400 16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;margin:0}img{max-width:100%;height:auto;display:block}a{color:inherit}.wrap{max-width:var(--wrap);margin:0 auto;padding:0 32px}.mono{font-family:var(--mono);letter-spacing:.04em;color:var(--muted);text-transform:uppercase;font-size:12px}header{border-bottom:1px solid var(--rule);background:var(--bg);z-index:5;position:sticky;top:0}.nav{justify-content:space-between;align-items:center;height:72px;display:flex}.logo{font:600 15px/1 var(--sans);letter-spacing:.32em;text-transform:uppercase;align-items:center;gap:12px;text-decoration:none;display:flex}.logo svg{width:26px;height:26px;color:var(--brass)}.nav ul{gap:32px;margin:0;padding:0;font-size:14px;font-weight:500;list-style:none;display:flex}.nav ul a{border-bottom:1px solid #0000;padding:6px 0;text-decoration:none}.nav ul a:hover,.nav ul a[aria-current]{border-color:var(--ink)}.btn{font:500 14px/1 var(--sans);border:1px solid var(--ink);background:var(--ink);color:var(--bg);padding:13px 20px;text-decoration:none;display:inline-block}.btn.ghost{color:var(--ink);background:0 0}.btn:hover{background:var(--brass);border-color:var(--brass);color:#fff}.hero{grid-template-columns:1.05fr .95fr;align-items:center;gap:64px;padding:72px 0 80px;display:grid}.eyebrow{font:500 12px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb, var(--brass) 86%, var(--ink));margin:0 0 20px}h1{font:500 clamp(44px, 5.4vw, 76px)/1.02 var(--serif);letter-spacing:-.01em;margin:0 0 24px}h1 em{color:var(--brass)}.lede{color:#3c3b37;max-width:34ch;margin:0 0 32px;font-size:19px}.hero .actions{flex-wrap:wrap;gap:12px;display:flex}.exhibit-frame{background:var(--panel);border:1px solid var(--rule);padding:28px}.exhibit-frame img{aspect-ratio:1;object-fit:cover;width:100%;box-shadow:0 1px 0 var(--rule), 0 24px 48px -28px #00000059}.label{grid-template-columns:1fr auto;gap:4px 16px;margin-top:18px;font-size:13px;display:grid}.label strong{font:600 18px/1.3 var(--serif);grid-column:1/-1}.label span{color:var(--muted)}section{border-top:1px solid var(--rule);padding:72px 0}.head{justify-content:space-between;align-items:end;gap:24px;margin-bottom:36px;display:flex}h2{font:500 clamp(32px, 3.4vw, 46px)/1.05 var(--serif);margin:0}.head p{color:var(--muted);max-width:52ch;margin:8px 0 0}.head a{white-space:nowrap;font-size:14px;font-weight:500}.grid{grid-template-columns:repeat(3,1fr);gap:32px;display:grid}.card{flex-direction:column;text-decoration:none;display:flex}.card .pic{background:var(--panel);border:1px solid var(--rule);aspect-ratio:1;position:relative;overflow:hidden}.card .pic img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.card:hover .pic img{transform:scale(1.03)}.card .pic .soon{text-align:center;background:repeating-linear-gradient(90deg, #1c1c1a12 0 1px, transparent 1px 7px), var(--panel);place-items:center;display:grid;position:absolute;inset:0}.card .pic .soon b{font:500 28px/1.1 var(--serif);display:block}.card .pic .soon i{font:400 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-style:normal}.card .meta{justify-content:space-between;margin:16px 0 6px;display:flex}.card h3{font:600 24px/1.15 var(--serif);margin:0 0 6px}.card p{color:#4a4944;margin:0 0 12px;font-size:15px}.tags{gap:6px;margin-top:auto;display:flex}.tag{font:500 11px/1 var(--mono);text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--rule);color:var(--muted);padding:6px 8px}.tag.brass{border-color:var(--brass);color:color-mix(in srgb, var(--brass) 86%, var(--ink))}.wing{grid-template-columns:.8fr 1.2fr;align-items:start;gap:56px;display:grid}.wing .tall{border:1px solid var(--rule);background:var(--panel);padding:20px}.wing .tall img{aspect-ratio:1;object-fit:cover;width:100%}.chapters{border-top:1px solid var(--rule);margin:24px 0 32px;padding:0;list-style:none}.chapters li{border-bottom:1px solid var(--rule);grid-template-columns:56px 1fr auto;align-items:baseline;gap:16px;padding:16px 0;display:grid}.chapters .n{font:500 13px/1 var(--mono);color:color-mix(in srgb, var(--brass) 86%, var(--ink))}.chapters .t{font:600 21px/1.2 var(--serif)}.chapters .t small{font:400 14px/1.4 var(--sans);color:var(--muted);margin-top:4px;display:block}.chapters .s{color:var(--muted);font-size:13px}.chapters li.off .n,.chapters li.off .t,.chapters li.off .t small{color:var(--muted)}.machine{background:var(--ink);color:#ecebe6;border:0}.machine h2{color:#fff}.machine .head p{color:#a9a8a1}.roles{background:#3a3a36;border:1px solid #3a3a36;grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.roles div{background:var(--ink);padding:28px 24px}.roles .mono{color:#d9a85b}.roles h3,.roles h4{font:600 22px/1.2 var(--serif);color:#fff;margin:10px 0 8px}.roles p{color:#b9b8b1;margin:0;font-size:14px}.machine .note{color:#a9a8a1;max-width:80ch;margin-top:28px;font-size:14px}.letter{background:var(--brass-soft);border:1px solid #e6d4b4;grid-template-columns:1fr 1fr;align-items:center;gap:48px;padding:56px;display:grid}.letter form{gap:8px;display:flex}.letter input{font:400 16px var(--sans);border:1px solid var(--ink);background:#fff;flex:1;padding:14px 16px}.letter small{color:var(--muted);margin-top:10px;font-size:13px;display:block}footer{border-top:1px solid var(--rule);color:var(--muted);padding:48px 0 64px;font-size:14px}footer .cols{grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;display:grid}footer h5,footer .foot-head{font:600 12px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);margin:0 0 14px}footer ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}footer a{text-decoration:none}footer a:hover{color:var(--ink)}.mock-badge{font:500 12px/1 var(--mono);background:var(--ink);color:var(--bg);z-index:10;padding:10px 12px;text-decoration:none;position:fixed;bottom:16px;right:16px}@media (width<=900px){.nav ul{display:none}.hero,.wing,.letter{grid-template-columns:1fr;gap:32px}.grid{grid-template-columns:1fr 1fr;gap:20px}.roles,footer .cols{grid-template-columns:1fr 1fr}.letter{padding:32px}}@media (width<=560px){.wrap{padding:0 20px}.logo{letter-spacing:.18em;white-space:nowrap;font-size:13px}.hero{padding-top:40px}.grid,.roles{grid-template-columns:1fr}.letter form{flex-direction:column}}:root{--success:#3f6b47;--success-soft:#e4ece2;--warning:#8a5e0d;--warning-soft:#f5ead2;--danger:#9b3a2e;--danger-soft:#f3e1dc;--info:#3b5c7a;--info-soft:#e1e8ee;--primary:var(--ink);--secondary:var(--brass);--surface:#fff;--text:var(--ink);--border:var(--rule);--space-0:0;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:40px;--space-2xl:72px;--radius-none:0;--radius-sm:2px;--radius-md:4px;--radius-lg:8px;--radius-full:999px;--shadow-none:none;--shadow-sm:0 1px 0 var(--rule);--shadow-md:0 1px 0 var(--rule), 0 8px 20px -12px #00000040;--shadow-lg:0 1px 0 var(--rule), 0 24px 48px -28px #00000059;--shadow-xl:0 1px 0 var(--rule), 0 40px 80px -36px #00000073;--lh-tight:1.1;--lh-normal:1.6;--lh-loose:1.85;--ls-tight:-.01em;--ls-normal:0;--ls-wide:.12em;--focus-ring:0 0 0 2px var(--bg), 0 0 0 4px var(--brass);--ease:.18s ease}[hidden]{display:none!important}h3{font:600 26px/1.2 var(--serif);margin:0 0 12px}h4{font:600 21px/1.25 var(--serif);margin:0 0 10px}h5{font:600 13px/1.3 var(--sans);letter-spacing:.04em;margin:0 0 8px}h6{font:500 12px/1.3 var(--mono);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--muted);margin:0 0 8px}:where(p){margin:0 0 16px}.lead{color:var(--ink-soft);font-size:19px;line-height:1.55}small{color:var(--muted);font-size:13px}mark{background:var(--brass-soft);color:var(--ink);padding:0 3px}abbr[title]{text-decoration:underline dotted var(--brass);text-underline-offset:3px;cursor:help}strong,b{font-weight:600}em,i{font-style:italic}u{text-decoration:underline;text-decoration-color:var(--brass);text-underline-offset:3px}s,del{color:var(--muted);text-decoration:line-through}ins{background:var(--success-soft);color:var(--success);padding:0 3px;text-decoration:none}sub,sup{font-size:.72em;line-height:0;position:relative}sup{top:-.5em}sub{bottom:-.25em}code,kbd,samp{font-family:var(--mono);font-size:.86em}code{background:var(--panel);border:1px solid var(--rule);padding:1px 5px}kbd{background:var(--surface);border:1px solid var(--rule);border-bottom-width:2px;padding:1px 6px}samp{color:var(--muted)}var{font-family:var(--serif);font-size:1.1em;font-style:italic}q{font-style:italic}cite{color:var(--muted);font-style:italic}blockquote{border-left:2px solid var(--brass);font:500 24px/1.35 var(--serif);margin:24px 0;padding:4px 0 4px 24px}blockquote p{margin:0 0 8px}blockquote cite{font:400 14px/1.4 var(--sans);margin-top:8px;font-style:normal;display:block}blockquote cite:before{content:"— "}pre{font:400 14px/1.6 var(--mono);background:var(--panel);border:1px solid var(--rule);margin:0 0 16px;padding:16px 20px;overflow-x:auto}pre code{font-size:inherit;background:0 0;border:0;padding:0}:where(ul,ol){margin:0 0 16px;padding-left:22px}:where(ul,ol):not([class])>li{margin:4px 0}ul li::marker{color:var(--brass)}ol li::marker{font-family:var(--mono);color:var(--brass);font-size:13px}li>ul,li>ol{margin:4px 0 0}dl{grid-template-columns:max-content 1fr;gap:10px 24px;margin:0 0 16px;display:grid}dt{font:500 12px/1.9 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}dd{margin:0}table{border-collapse:collapse;width:100%;margin:0 0 16px;font-size:15px}caption{caption-side:top;text-align:left;font:500 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-bottom:12px}th,td{text-align:left;border-bottom:1px solid var(--rule);vertical-align:top;padding:12px 14px}thead th{font:500 12px/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb, var(--muted) 86%, var(--ink));border-bottom:1px solid var(--ink)}tbody tr:hover{background:var(--panel)}tfoot td,tfoot th{border-bottom:0;border-top:1px solid var(--ink);font-weight:600}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}colgroup col.is-highlight{background:var(--brass-soft)}.table-wrap{overflow-x:auto}hr{background:var(--rule);border:0;height:1px;margin:32px 0}hr.ornament{background:radial-gradient(circle, var(--brass) 0 3px, transparent 3.5px) center / 12px 12px no-repeat, linear-gradient(var(--rule), var(--rule)) center / 100% 1px no-repeat;height:12px}:where(p,li,td,dd,figcaption,blockquote,address,.prose):where(:not(footer *,header *,nav *)) a:where(:not([class])){color:var(--ink);text-decoration:underline;text-decoration-color:var(--brass);text-underline-offset:3px;transition:color var(--ease);text-decoration-thickness:1px}:where(p,li,td,dd,figcaption,blockquote,address,.prose):where(:not(footer *,header *,nav *)) a:where(:not([class])):where(:hover),a.is-hover{color:var(--brass)}:where(p,li,td,dd,figcaption,blockquote,address,.prose):where(:not(footer *,header *,nav *)) a:where(:not([class])):where(:visited),a.is-visited{color:color-mix(in srgb, var(--brass) 45%, var(--ink))}:where(p,li,td,dd,figcaption,blockquote,address,.prose):where(:not(footer *,header *,nav *)) a:where(:not([class])):where(:active),a.is-active{color:color-mix(in srgb, var(--brass) 70%, var(--ink))}a:focus-visible,a.is-focus{box-shadow:var(--focus-ring);outline:none}a[aria-disabled=true],a.is-disabled{color:var(--muted);pointer-events:none;opacity:.6;text-decoration:none}a.link-arrow{font-weight:500;text-decoration:none}a.link-arrow:after{content:" →"}figure{margin:0 0 16px}figcaption{color:var(--muted);margin-top:10px;font-size:13px}picture{display:block}video,audio,iframe,canvas{max-width:100%;display:block}video,iframe,canvas{border:1px solid var(--rule);background:var(--panel)}audio,iframe{width:100%}.embed{aspect-ratio:16/9;background:var(--panel);border:1px solid var(--rule);position:relative}.embed iframe,.embed video,.embed img{object-fit:cover;border:0;width:100%;height:100%;position:absolute;inset:0}nav,main,article,aside{display:block}address{font-style:normal;line-height:1.6}.prose{max-width:68ch;font-size:18px;line-height:var(--lh-loose)}.prose h2{margin:40px 0 14px}.prose h3{margin:32px 0 10px}form{margin:0}label{font:500 14px/1.4 var(--sans);margin-bottom:6px;display:block}fieldset{border:1px solid var(--rule);min-width:0;margin:0 0 20px;padding:20px 22px 8px}legend{font:500 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb, var(--brass) 86%, var(--ink));padding:0 8px}:where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),textarea,select){width:100%;font:400 16px/1.4 var(--sans);color:var(--ink);background:var(--surface);border:1px solid var(--rule);transition:border-color var(--ease), box-shadow var(--ease);border-radius:0;padding:12px 14px}textarea{resize:vertical;min-height:120px}select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--ink) 50%), linear-gradient(135deg, var(--ink) 50%, transparent 50%);background-position:calc(100% - 20px) 52%,calc(100% - 15px) 52%;background-repeat:no-repeat;background-size:5px 5px;padding-right:40px}:where(input,textarea,select):hover,input.is-hover,textarea.is-hover{border-color:var(--muted)}input:focus-visible,textarea:focus-visible,select:focus-visible,input.is-focus,textarea.is-focus{border-color:var(--ink);box-shadow:var(--focus-ring);outline:none}input:disabled,textarea:disabled,select:disabled,button:disabled{opacity:.5;cursor:not-allowed}input:disabled,textarea:disabled,select:disabled{background:var(--panel)}input[aria-invalid=true],textarea[aria-invalid=true],select[aria-invalid=true]{border-color:var(--danger)}input[aria-invalid=true]:focus-visible,textarea[aria-invalid=true]:focus-visible{box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--danger)}.field{margin-bottom:18px}.field .hint{color:var(--muted);margin:6px 0 0;font-size:13px}.field .error{color:var(--danger);margin:6px 0 0;font-size:13px}input[type=checkbox],input[type=radio]{accent-color:var(--ink);vertical-align:-3px;width:18px;height:18px;margin:0 8px 0 0}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:2px solid var(--brass);outline-offset:2px}.check{font:400 15px/1.4 var(--sans);align-items:center;margin:8px 0;display:flex}.check label{margin:0;font-weight:400;display:inline}input[type=range]{width:100%;accent-color:var(--brass)}input[type=color]{border:1px solid var(--rule);background:var(--surface);width:48px;height:40px;padding:2px}input[type=file]{font:400 14px var(--sans);max-width:100%}input[type=file]::file-selector-button{font:500 13px var(--sans);border:1px solid var(--ink);background:var(--surface);cursor:pointer;margin-right:12px;padding:8px 14px}output{font:500 14px var(--mono);color:var(--brass)}progress,meter{appearance:none;background:var(--panel);border:0;width:100%;height:8px}progress::-webkit-progress-bar{background:var(--panel)}progress::-webkit-progress-value{background:var(--brass)}progress::-moz-progress-bar{background:var(--brass)}meter::-webkit-meter-bar{background:var(--panel);border:0;border-radius:0;height:8px}meter::-webkit-meter-optimum-value{background:var(--success)}meter::-webkit-meter-suboptimum-value{background:var(--warning)}meter::-webkit-meter-even-less-good-value{background:var(--danger)}button{font:inherit;cursor:pointer}button:not([class]){font:500 14px/1 var(--sans);border:1px solid var(--ink);background:var(--surface);color:var(--ink);padding:13px 20px}button:not([class]):hover{background:var(--panel)}button:not([class]):focus-visible{box-shadow:var(--focus-ring);outline:none}details{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}details+details{border-top:0}summary{cursor:pointer;font:600 20px/1.3 var(--serif);padding:16px 32px 16px 0;list-style:none;position:relative}summary::-webkit-details-marker{display:none}summary:after{content:"+";font:400 24px var(--sans);color:var(--brass);position:absolute;top:12px;right:4px}details[open]>summary:after{content:"−"}summary:hover{color:var(--brass)}summary:focus-visible{box-shadow:var(--focus-ring);outline:none}details>:not(summary){margin-top:0}details>:last-child:not(summary){padding-bottom:16px}dialog{border:1px solid var(--rule);background:var(--bg);width:calc(100% - 32px);max-width:520px;color:var(--ink);box-shadow:var(--shadow-xl);padding:0}dialog::backdrop{background:#1c1c1a8c}dialog[open].inline{box-shadow:var(--shadow-md);margin:0;position:static}.btn{transition:background var(--ease), border-color var(--ease), color var(--ease), box-shadow var(--ease);cursor:pointer}.btn-primary{background:var(--ink);border-color:var(--ink);color:var(--bg)}.btn-ghost{color:var(--ink);background:0 0}.btn-secondary,.btn.secondary{background:var(--brass);border-color:var(--brass);color:var(--on-accent)}.btn-danger,.btn.danger{background:var(--danger);border-color:var(--danger);color:var(--on-accent)}.btn-warning,.btn.warning{background:var(--warning);border-color:var(--warning);color:var(--on-accent)}.btn-success,.btn.success{background:var(--success);border-color:var(--success);color:var(--on-accent)}.btn-info,.btn.info{background:var(--info);border-color:var(--info);color:var(--on-accent)}.btn.is-hover{background:var(--brass);border-color:var(--brass);color:var(--on-accent)}.btn-secondary:hover,.btn.secondary:hover,.btn-secondary.is-hover,.btn.secondary.is-hover{background:color-mix(in srgb, var(--brass) 80%, var(--ink));border-color:color-mix(in srgb, var(--brass) 80%, var(--ink))}.btn-danger:hover,.btn.danger:hover,.btn-danger.is-hover,.btn.danger.is-hover{background:color-mix(in srgb, var(--danger) 80%, var(--ink));border-color:color-mix(in srgb, var(--danger) 80%, var(--ink))}.btn-warning:hover,.btn.warning:hover,.btn-warning.is-hover,.btn.warning.is-hover{background:color-mix(in srgb, var(--warning) 80%, var(--ink));border-color:color-mix(in srgb, var(--warning) 80%, var(--ink))}.btn-success:hover,.btn.success:hover,.btn-success.is-hover,.btn.success.is-hover{background:color-mix(in srgb, var(--success) 80%, var(--ink));border-color:color-mix(in srgb, var(--success) 80%, var(--ink))}.btn-info:hover,.btn.info:hover,.btn-info.is-hover,.btn.info.is-hover{background:color-mix(in srgb, var(--info) 80%, var(--ink));border-color:color-mix(in srgb, var(--info) 80%, var(--ink))}.btn:focus-visible,.btn.is-focus{box-shadow:var(--focus-ring);outline:none}.btn:active,.btn.is-active{transform:translateY(1px)}.btn:disabled,.btn.is-disabled,.btn[aria-disabled=true]{opacity:.45;pointer-events:none}.btn.sm{padding:9px 14px;font-size:13px}.btn.lg{padding:17px 28px;font-size:16px}.btn.icon{place-items:center;width:44px;height:44px;padding:0;display:inline-grid}.btn.is-loading{pointer-events:none;position:relative;color:#0000!important}.btn.is-loading:after{content:"";border:2px solid color-mix(in srgb, var(--bg) 40%, transparent);border-top-color:var(--bg);border-radius:50%;width:16px;height:16px;margin:auto;animation:.8s linear infinite spin;position:absolute;inset:0}.badge{font:500 11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--rule);color:var(--muted);background:var(--surface);align-items:center;gap:6px;padding:6px 8px;display:inline-flex}.badge-default{border-color:var(--rule);color:var(--muted);background:var(--surface)}.badge-success{border-color:var(--success);color:var(--success);background:var(--success-soft)}.badge-warning{border-color:var(--warning);color:var(--warning);background:var(--warning-soft)}.badge-danger{border-color:var(--danger);color:var(--danger);background:var(--danger-soft)}.badge-info{border-color:var(--info);color:var(--info);background:var(--info-soft)}.badge.dot:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.chip{font:500 13px/1 var(--sans);border:1px solid var(--rule);background:var(--surface);color:var(--ink);cursor:pointer;transition:border-color var(--ease), background var(--ease);align-items:center;gap:8px;padding:8px 12px;display:inline-flex}.chip:hover{border-color:var(--ink)}.chip[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.chip:focus-visible{box-shadow:var(--focus-ring);outline:none}.chip .x{color:var(--muted);font-size:15px;line-height:1}.alert{border:1px solid var(--rule);background:var(--surface);border-left-width:3px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px;margin:0 0 12px;padding:16px 18px;font-size:15px;display:grid}.alert strong{margin-bottom:2px;display:block}.alert .icon{font:600 14px/1.5 var(--mono)}.alert .close{color:var(--muted);background:0 0;border:0;padding:0 4px;font-size:18px;line-height:1}.alert-info{border-color:var(--info);background:var(--info-soft)}.alert-success{border-color:var(--success);background:var(--success-soft)}.alert-warning{border-color:var(--warning);background:var(--warning-soft)}.alert-danger{border-color:var(--danger);background:var(--danger-soft)}.alert-info .icon{color:var(--info)}.alert-success .icon{color:var(--success)}.alert-warning .icon{color:var(--warning)}.alert-danger .icon{color:var(--danger)}.banner{color:#ecebe6;font:500 13px/1.4 var(--sans);text-align:center;background:#1c1c1a;padding:10px 16px}.banner a{color:#d9a85b}.card-header,.card-body,.card-footer{border:1px solid var(--rule);background:var(--surface);padding:16px 20px}.card-header{font:500 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--panel)}.card-header+.card-body,.card-body+.card-footer{border-top:0}.card-footer{color:var(--muted);font-size:14px}.card.stat{border:1px solid var(--rule);background:var(--surface);padding:22px}.card.stat b{font:500 44px/1 var(--serif);margin-bottom:6px;display:block}.avatar{background:var(--brass-soft);width:44px;height:44px;color:var(--brass);font:600 14px/1 var(--sans);border:1px solid var(--rule);border-radius:50%;flex:none;place-items:center;display:inline-grid;position:relative;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.avatar.sm{width:32px;height:32px;font-size:12px}.avatar.lg{width:64px;height:64px;font-size:20px}.avatar-group{display:inline-flex}.avatar-group .avatar{border:2px solid var(--bg);margin-left:-10px}.avatar-group .avatar:first-child{margin-left:0}.tooltip{border-bottom:1px dotted var(--brass);cursor:help;position:relative}.tooltip:after{content:attr(data-tooltip);background:var(--ink);color:var(--bg);font:500 12px/1.4 var(--sans);white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--ease);z-index:20;padding:6px 10px;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.tooltip:hover:after,.tooltip:focus-visible:after,.tooltip.is-open:after{opacity:1;visibility:visible}.tooltip.bottom:after{top:calc(100% + 8px);bottom:auto}.progress{background:var(--panel);height:6px;overflow:hidden}.progress-bar{background:var(--brass);height:100%;transition:width .4s}.progress.indeterminate .progress-bar{width:35%;animation:1.4s ease-in-out infinite slide}.spinner{border:2px solid var(--rule);border-top-color:var(--brass);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}.skeleton{background:linear-gradient(90deg, var(--panel) 25%, color-mix(in srgb, var(--panel) 85%, var(--ink)) 50%, var(--panel) 75%);background-size:200% 100%;height:14px;margin:10px 0;animation:1.4s infinite shimmer}.skeleton.block{height:160px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slide{0%{transform:translate(-100%)}to{transform:translate(300%)}}@keyframes shimmer{to{background-position:-200% 0}}.tabs{display:block}.tab-list{box-shadow:inset 0 -1px 0 var(--rule);gap:28px;display:flex;overflow-x:auto}.tab{font:500 14px/1 var(--sans);color:var(--muted);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:12px 0}.tab:hover,.tab.is-hover{color:var(--ink)}.tab:focus-visible,.tab.is-focus{box-shadow:var(--focus-ring);outline:none}.tab.tab-active,.tab[aria-selected=true]{color:var(--ink);border-bottom-color:var(--brass)}.tab:disabled{opacity:.4;cursor:not-allowed}.tab-panel{padding:24px 0}.accordion{border-top:1px solid var(--rule)}.accordion-item{border-bottom:1px solid var(--rule)}.accordion-trigger{text-align:left;width:100%;font:600 20px/1.3 var(--serif);color:var(--ink);background:0 0;border:0;padding:18px 36px 18px 0;position:relative}.accordion-trigger:after{content:"+";font:400 24px var(--sans);color:var(--brass);position:absolute;top:14px;right:4px}.accordion-trigger[aria-expanded=true]:after{content:"−"}.accordion-trigger:hover,.accordion-trigger.is-hover{color:var(--brass)}.accordion-trigger:focus-visible,.accordion-trigger.is-focus{box-shadow:var(--focus-ring);outline:none}.accordion-trigger:disabled{opacity:.45;cursor:not-allowed}.accordion-content{color:var(--ink-softer);padding:0 0 18px}.accordion-content[hidden]{display:none}.modal{position:relative}.modal-overlay{z-index:40;background:#1c1c1a8c;position:fixed;inset:0}.modal-dialog{z-index:41;background:var(--bg);border:1px solid var(--rule);width:min(520px,100% - 32px);box-shadow:var(--shadow-xl);position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.modal.static .modal-overlay{display:none}.modal.static .modal-dialog{width:100%;max-width:520px;box-shadow:var(--shadow-md);position:static;transform:none}.modal-header{border-bottom:1px solid var(--rule);font:600 22px/1.2 var(--serif);justify-content:space-between;align-items:center;gap:12px;padding:20px 24px;display:flex}.modal-header .close{color:var(--muted);background:0 0;border:0;font-size:22px}.modal-body{padding:20px 24px}.modal-footer{border-top:1px solid var(--rule);flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:16px 24px;display:flex}.breadcrumb ol{font:400 12px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.breadcrumb li{margin:0}.breadcrumb li+li:before{content:"/";color:var(--rule);margin-right:8px}.breadcrumb a{color:var(--muted);text-decoration:none}.breadcrumb a:hover,.breadcrumb [aria-current]{color:var(--ink)}.pagination ul{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.pagination li{margin:0}.pagination a,.pagination span{border:1px solid var(--rule);min-width:40px;height:40px;font:500 14px/1 var(--sans);color:var(--ink);background:var(--surface);place-items:center;padding:0 12px;text-decoration:none;display:inline-grid}.pagination a:hover,.pagination a.is-hover{border-color:var(--ink);color:var(--ink)}.pagination a:focus-visible,.pagination a.is-focus{box-shadow:var(--focus-ring);outline:none}.pagination [aria-current=page]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.pagination .is-disabled,.pagination [aria-disabled=true]{color:var(--muted);opacity:.5;pointer-events:none}.empty-state{text-align:center;border:1px dashed var(--rule);background:repeating-linear-gradient(90deg, var(--stripe) 0 1px, transparent 1px 7px), var(--bg);padding:56px 24px}.empty-state h3{margin-bottom:6px}.empty-state p{color:var(--muted);max-width:44ch;margin:0 auto 20px}.code-block{font-family:var(--mono)}pre.code,pre:has(>code.code-block){color:#ecebe6;background:#1c1c1a;border-color:#1c1c1a}pre .k{color:#d9a85b}pre .s{color:#a7c08f}pre .c{color:#8d8c85}.code-file{color:#b9b8b1;font:500 12px/1 var(--mono);background:#2a2a27;justify-content:space-between;align-items:center;padding:8px 8px 8px 14px;display:flex}.code-file button{font:500 12px var(--mono);color:#ecebe6;background:0 0;border:1px solid #4a4a45;padding:5px 10px}.code-file+pre{margin-top:0}.fw-regular{font-weight:400}.fw-medium{font-weight:500}.fw-semibold{font-weight:600}.fw-bold{font-weight:700}.lh-tight{line-height:var(--lh-tight)}.lh-normal{line-height:var(--lh-normal)}.lh-loose{line-height:var(--lh-loose)}.ls-tight{letter-spacing:var(--ls-tight)}.ls-normal{letter-spacing:var(--ls-normal)}.ls-wide{letter-spacing:var(--ls-wide)}.td-none{text-decoration:none}.td-underline{text-decoration:underline}.td-line-through{text-decoration:line-through}.td-overline{text-decoration:overline}.tt-none{text-transform:none}.tt-upper{text-transform:uppercase}.tt-lower{text-transform:lowercase}.tt-cap{text-transform:capitalize}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.page-head{padding-top:56px;padding-bottom:40px}.page-head h1{margin-top:18px}.page-head .lede{margin-bottom:0}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:32px;display:flex}.toolbar .chips{flex-wrap:wrap;gap:8px;display:flex}.toolbar select{width:auto;min-width:200px}.split{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:56px;display:grid}.sidebar{gap:24px;display:grid;position:sticky;top:96px}.sidebar .box{border:1px solid var(--rule);background:var(--surface);padding:20px}.sidebar h6,.sidebar .box-title{margin-bottom:12px}.list-plain{margin:0;padding:0;list-style:none}.list-plain li{border-bottom:1px solid var(--rule);margin:0;padding:10px 0}.list-plain li:last-child{border-bottom:0}.reader{max-width:680px;font:400 21px/1.75 var(--serif);margin:0 auto}.reader p{margin:0 0 22px}.reader p.first:first-letter{font:600 76px/.8 var(--serif);float:left;color:var(--brass);margin:8px 10px 0 0}.reader hr{max-width:200px;margin:40px auto}.chapter-nav{border-top:1px solid var(--rule);justify-content:space-between;gap:16px;margin-top:48px;padding-top:24px;display:flex}.chapter-nav a{gap:4px;text-decoration:none;display:grid}.chapter-nav a b{font:600 20px/1.2 var(--serif)}.chapter-nav a:last-child{text-align:right}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.event{border-bottom:1px solid var(--rule);grid-template-columns:96px minmax(0,1fr) auto;align-items:start;gap:24px;padding:22px 0;display:grid}.event .date{border:1px solid var(--ink);text-align:center;padding:10px 0}.event .date b{font:500 34px/1 var(--serif);display:block}.event .date span{font:500 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.event h3{margin-bottom:4px}.event p{color:var(--ink-softer);margin:0 0 8px}.product{border:1px solid var(--rule);background:var(--surface);grid-template-columns:120px minmax(0,1fr) auto;align-items:center;gap:20px;margin:0 0 16px;padding:16px;display:grid}.product h3,.product h4{font:600 21px/1.25 var(--serif);margin:0 0 4px}.product p{color:var(--ink-softer);margin:0;font-size:15px}.ph-box{background:repeating-linear-gradient(90deg, var(--stripe) 0 1px, transparent 1px 7px), var(--panel);aspect-ratio:1;border:1px solid var(--rule)}.pair{background:var(--rule);border:1px solid var(--rule);grid-template-columns:1fr 1fr;gap:1px;display:grid}.pair>div{background:var(--surface);padding:20px}.pair figure{margin:0 0 12px}.profile{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:48px;display:grid}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:0s!important;animation-duration:3s!important}}@media (width<=900px){.split,.profile{grid-template-columns:minmax(0,1fr)}.sidebar{position:static}.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.grid.two,.grid.four,.pair{grid-template-columns:minmax(0,1fr)}.event{grid-template-columns:72px minmax(0,1fr);gap:16px}.event>:last-child{grid-column:2}.product{grid-template-columns:72px minmax(0,1fr)}.product>:last-child{grid-column:1/-1}dl{grid-template-columns:minmax(0,1fr);gap:2px}dd{margin-bottom:10px}.toolbar select{width:100%}}:root{color-scheme:light;--ink-soft:#3c3b37;--ink-softer:#4a4944;--stripe:#1c1c1a12;--on-accent:#fff;--night:#1c1c1a;--letter-border:#e6d4b4}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#131311;--panel:#1d1c19;--surface:#191816;--ink:#ecebe5;--muted:#a19e94;--rule:#34332e;--brass:#d3a55c;--brass-soft:#2c2416;--success:#8cbf8e;--success-soft:#1b281d;--warning:#dcae55;--warning-soft:#2d2414;--danger:#e3907f;--danger-soft:#2e1b17;--info:#93b5d6;--info-soft:#18222d;--ink-soft:#d1cec5;--ink-softer:#b8b5ac;--stripe:#ecebe50f;--on-accent:#131311;--night:#0b0b0a;--letter-border:#4a3d26;--shadow-md:0 1px 0 var(--rule), 0 8px 20px -12px #000000b3;--shadow-lg:0 1px 0 var(--rule), 0 24px 48px -28px #000c;--shadow-xl:0 1px 0 var(--rule), 0 40px 80px -36px #000000e6}}:root[data-theme=dark]{color-scheme:dark;--bg:#131311;--panel:#1d1c19;--surface:#191816;--ink:#ecebe5;--muted:#a19e94;--rule:#34332e;--brass:#d3a55c;--brass-soft:#2c2416;--success:#8cbf8e;--success-soft:#1b281d;--warning:#dcae55;--warning-soft:#2d2414;--danger:#e3907f;--danger-soft:#2e1b17;--info:#93b5d6;--info-soft:#18222d;--ink-soft:#d1cec5;--ink-softer:#b8b5ac;--stripe:#ecebe50f;--on-accent:#131311;--night:#0b0b0a;--letter-border:#4a3d26;--shadow-md:0 1px 0 var(--rule), 0 8px 20px -12px #000000b3;--shadow-lg:0 1px 0 var(--rule), 0 24px 48px -28px #000c;--shadow-xl:0 1px 0 var(--rule), 0 40px 80px -36px #000000e6}.lede{color:var(--ink-soft)}.card p{color:var(--ink-softer)}.card .pic .soon{background:repeating-linear-gradient(90deg, var(--stripe) 0 1px, transparent 1px 7px), var(--panel)}.machine,.roles div{background:var(--night)}.letter{border-color:var(--letter-border)}.letter input{background:var(--surface);color:var(--ink)}.btn:hover{color:var(--on-accent)}[data-mode=dark] main img{filter:brightness(.88)contrast(1.02)}.nav-actions{align-items:center;gap:8px;display:flex}.theme-toggle{color:var(--ink);border:1px solid var(--rule);background:0 0}.theme-toggle:hover{background:var(--panel);border-color:var(--ink);color:var(--ink)}.theme-toggle svg{width:18px;height:18px}.theme-toggle .sun{display:none}[data-mode=dark] .theme-toggle .sun{display:block}[data-mode=dark] .theme-toggle .moon{display:none}.skip-link{z-index:60;background:var(--ink);color:var(--bg);font:500 13px/1 var(--sans);transition:top var(--ease);padding:12px 16px;text-decoration:none;position:absolute;top:-80px;left:16px}.skip-link:focus{box-shadow:var(--focus-ring);top:12px}.icon-btn{border:1px solid var(--rule);width:44px;height:44px;color:var(--ink);cursor:pointer;transition:background var(--ease), border-color var(--ease);background:0 0;place-items:center;text-decoration:none;display:inline-grid}.icon-btn:hover{background:var(--panel);border-color:var(--ink)}.icon-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.icon-btn svg{width:18px;height:18px}.nav-toggle,.nav-menu{display:none}@media (width<=900px){.nav-toggle{display:inline-grid}.nav-menu:not([hidden]){z-index:30;background:var(--bg);border-bottom:1px solid var(--rule);box-shadow:var(--shadow-md);max-height:calc(100dvh - 72px);display:block;position:fixed;inset:72px 0 auto;overflow-y:auto}.nav-menu ul{gap:0;margin:0;padding:8px 20px 20px;font-size:16px;font-weight:500;list-style:none;display:grid}.nav-menu li{margin:0}.nav-menu a{border-bottom:1px solid var(--rule);padding:14px 0;text-decoration:none;display:block}.nav-menu a:hover,.nav-menu a[aria-current=page]{color:var(--brass)}.nav-menu .mono{margin:20px 0 8px;display:block}}@media (width<=560px){.nav-actions{gap:6px}.icon-btn{width:40px;height:40px}.nav-actions>.btn:not(.icon){padding:12px 14px}}.by{margin:10px 0 0}.search-page{max-width:780px}.search-form{gap:8px;margin:0 0 12px;display:flex}.search-form input[type=search]{flex:1}.search-status{min-height:24px;color:var(--muted);margin:0 0 24px;font-size:14px}.search-results{gap:0;margin:0;padding:0;list-style:none;display:grid}.search-hit{border-top:1px solid var(--rule);padding:22px 0}.search-hit:last-child{border-bottom:1px solid var(--rule)}.search-hit .kicker{margin-bottom:6px;display:block}.search-hit h2{font:600 26px/1.2 var(--serif);margin:0 0 6px}.search-hit h2 a{text-decoration:none}.search-hit h2 a:hover{color:var(--brass)}.search-hit p{color:var(--ink-softer);margin:0;font-size:15px}.search-hit mark,.search-results mark{background:var(--brass-soft);color:var(--ink);padding:0 2px}.search-empty{border-top:1px solid var(--rule);padding:40px 0}.search-hints{color:var(--muted);margin:10px 0 0;padding-left:20px;font-size:14px}.search-results a{color:inherit}.form-status{color:var(--muted);margin-top:12px;font-size:14px}@media (width<=560px){.search-form{flex-wrap:wrap}.search-form .btn{flex:100%}}.credit{color:var(--muted);letter-spacing:.02em;margin:14px 0 0;font-size:.65rem}.credit a{color:inherit;text-decoration:none}.credit a:hover{text-decoration:underline}.foot-note{border-top:1px solid var(--rule);margin-top:32px;padding-top:20px}.foot-note p{margin:0}.foot-note a{color:var(--muted);text-decoration:none}.foot-note a:hover{color:var(--ink)}@media (width<=560px){.nav-actions>.nav-subscribe{display:none}}.results-count{margin-top:24px}.characters{gap:16px}.character{border:1px solid var(--rule);align-items:flex-start;gap:16px;display:flex}.character h3,.character h4{font:600 21px/1.25 var(--serif);margin:0 0 2px}.character p{color:var(--ink-softer);margin:8px 0 0;font-size:15px}.city-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.city-map{aspect-ratio:4/3;place-items:center;display:grid}@media (width<=560px){.city-grid{grid-template-columns:minmax(0,1fr)}}.comic-panel{border:0;border-right:1px solid var(--rule);place-items:end start;padding:16px;display:grid}.comic-panel:last-child{border-right:0}.shop-sample{color:var(--muted);font-size:13px}@media (width<=560px){.comic-panel,.comic-panel-mid{border-right:0;border-bottom:1px solid var(--rule)}.comic-panel:last-child{border-bottom:0}}.event-actions{flex-wrap:wrap;gap:8px;display:flex}.past-events{margin-top:32px}.product-actions{justify-items:end;gap:8px;display:grid}@media (width<=560px){.product-actions{grid-column:1/-1;justify-items:start}}.panel-title{font:600 26px/1.2 var(--serif);margin:0 0 12px}.pair h3{font:600 21px/1.25 var(--serif);margin:0 0 10px}.letter small{color:var(--ink-softer)}
