:root{font-family:Arial,Helvetica,sans-serif;background:#0c0d0e;color:#e7e5e1;--bg:#0c0d0e;--line:#303132;--muted:#aaa8a3;--gold:#bdb091}
body{background:#0c0d0e;color:#e7e5e1}a{color:inherit;text-decoration:none}button,input,summary{font:inherit}button{cursor:pointer;color:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}h1,h2,h3,p{margin-top:0}h1,h2{font:400 32px/1.2 Georgia,serif;letter-spacing:-.01em}h3{font:500 15px Arial;margin:0 0 13px}p{font:18px/1.58 Georgia,serif;margin-bottom:15px;color:#cbc8c1}
.home-main{max-width:1280px;width:calc(100% - 64px);margin:0 auto}.home-introduction{max-width:750px;padding:34px 0 26px}.home-introduction h1{max-width:720px;margin-bottom:20px}.home-introduction p:last-child{margin-bottom:0}.neutral-button,.home-v2 button{display:inline-flex;justify-content:center;align-items:center;gap:10px;border:1px solid #4c4b46;border-radius:2px;background:#17191a;color:#e0ddd6;min-height:42px;padding:10px 15px;font:13px/1.3 Arial;text-decoration:none}.neutral-button:hover,.home-v2 button:hover{border-color:#a9a18f;background:#222425}.home-v2 button.active{background:#2e2e2a;border-color:#bdb091;color:#ede6d8}
#lab{scroll-margin-top:18px;border-top:1px solid var(--line);padding-top:24px}.sim-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}.sim-heading h2{font-size:26px;margin:0}.sim-tools{display:flex;align-items:center;gap:12px}.home-v2 #full{min-height:38px;padding:8px 13px}.explorer-help{position:relative;font:13px Arial}.explorer-help summary{cursor:pointer;padding:10px 0;color:#c9c5bd;list-style:none}.explorer-help summary::after{content:' +';margin-left:5px}.explorer-help[open] summary::after{content:' −'}.explorer-help .help-guide{position:absolute;right:0;top:100%;z-index:5;width:350px;max-width:calc(100vw - 48px);padding:22px;background:#222322;border:1px solid #5a5750;box-shadow:0 10px 30px #0007}.help-guide p{font:16px/1.5 Georgia;margin:0 0 14px}.help-guide p:last-of-type{margin-bottom:18px}
.viewport{position:relative;width:100%;height:580px;background:#03070c;overflow:hidden}.viewport canvas{display:block;width:100%;height:100%;touch-action:none}.gpu-universe{position:absolute;inset:0;pointer-events:none}#universe{position:relative;z-index:1}.overlay,.legend,.scale,.lod,.progress{position:absolute;z-index:2;pointer-events:none}.overlay{left:24px;top:22px}.overlay h2{font:21px Georgia;margin:0 0 9px;color:#e7e5e1}.overlay p{font:13px/1.5 Arial;color:#adb8bd;margin:0}.legend{bottom:20px;left:24px;font:11px Arial;color:#9eacb4}.scale{right:24px;bottom:20px;width:120px;border-top:1px solid #9ba8ae;text-align:center;padding-top:7px;font:11px Arial;color:#aab2b7}.lod{left:24px;bottom:43px;font:10px Arial;color:#84939e}.progress{left:50%;top:50%;transform:translate(-50%,-50%);font:14px Arial}
.sim-controls{display:grid;grid-template-columns:1.2fr 1.35fr 1fr;gap:26px;border-bottom:1px solid var(--line);padding:23px 0}.control-group{min-width:0}.control-group h3{color:#e5e1d9}.control-group .button-row{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.control-group .button-row+ .button-row{margin-top:10px}.home-v2 .sim-controls button{font-size:12px;padding:9px 11px;min-height:38px}.control-group label{font-size:13px;line-height:1.5;color:#bdb9b1}.speed-control{display:flex;align-items:center;gap:12px;margin-top:16px}.speed-control input{min-width:50px;max-width:160px;flex:1;accent-color:#bdb091}.speed-control output{min-width:35px;color:#d3ccbb}.section-controls .seg{display:flex;flex-wrap:wrap;gap:6px}.section-controls .section-options{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:10px}.section-controls #sectionInfo{font:12px/1.5 Arial;color:#aaa8a3;margin:10px 0;display:block}.view-adjustment{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:10px}.view-adjustment span{font:12px Arial;color:#aaa8a3;margin-right:5px}.monitor-switch{display:flex;align-items:center;gap:8px;margin:0 0 14px}.monitor-switch input{accent-color:#bdb091;width:17px;height:17px}.exploration-controls{margin-top:22px}.control-note{font:12px/1.5 Arial;color:#aaa8a3;margin:10px 0 0}.time-control{padding:20px 0 23px;border-bottom:1px solid var(--line)}.time-control>label{display:flex;justify-content:space-between;align-items:center;font:14px Arial;margin-bottom:12px}.time-control label output{color:#c6baa2}.time-control #history{font:11px Arial;color:#aaa8a3;margin-left:auto;margin-right:15px}.time-control small{display:flex;justify-content:space-between;gap:15px;margin-top:10px;color:#aaa8a3;font:11px/1.4 Arial}#timeline{position:relative;height:108px;cursor:pointer;background:#101316;overflow:hidden;border:1px solid #303132}#historyCurve{position:absolute;inset:0;width:100%;height:65px;pointer-events:none}#timeMarker{position:absolute;top:0;bottom:40px;width:2px;background:#cbe8f5;pointer-events:none}.stage-buttons{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between}.home-v2 .stage-buttons button{border:0;background:transparent;font-size:12px;padding:12px;min-height:42px;color:#bcb9b1}
.reconstruction-notes{max-width:760px;padding:19px 0 28px;font:15px/1.6 Arial;color:#b9b5ad}.reconstruction-notes summary{cursor:pointer;margin-bottom:15px}.reconstruction-notes p{font-size:17px}.reconstruction-notes a{text-decoration:underline;text-underline-offset:3px}.reconstruction-notes .monitor-notes{display:flex;flex-direction:column;gap:10px;font:14px/1.5 Arial;margin:18px 0}.reconstruction-notes h3{font:22px Georgia;margin:22px 0 14px}.reconstruction-notes .eyebrow{font:11px Arial;color:#aaa8a3}.reconstruction-notes small{font:13px Arial}.research-notes{margin-top:22px;padding-top:5px;border-top:1px solid var(--line)}
.home-books{padding:38px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(0,700px) 1fr;gap:60px;align-items:center}.home-books h2,.home-contact h2{font-size:28px;margin-bottom:18px}.home-books .book-art{margin:0;max-width:360px}.book-art img{display:block;width:100%;height:auto}.home-books .neutral-button,.home-contact .neutral-button{margin-top:7px}.home-contact{max-width:740px;padding:28px 0 48px}.home-contact p{max-width:700px}#lab:fullscreen{height:100dvh;overflow:auto;background:#0c0d0e;padding:20px 26px}#lab:fullscreen .viewport{height:62vh}
@media(max-width:1000px){.viewport{height:520px}.sim-controls{grid-template-columns:1fr 1fr;gap:25px}.display-exploration{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:25px}.exploration-controls{margin-top:0}.home-books{gap:30px;grid-template-columns:1.6fr 1fr}}
@media(max-width:650px){.home-main{width:calc(100% - 40px)}.home-introduction{padding:27px 0 25px}.home-introduction h1{font-size:28px;margin-bottom:18px}p{font-size:17px;line-height:1.56;margin-bottom:14px}.sim-heading{align-items:flex-start;gap:12px;margin-bottom:14px}.sim-heading h2{font-size:23px}.sim-tools{gap:12px}.home-v2 #full{font-size:12px;min-height:34px;padding:7px 9px}.explorer-help summary{font-size:12px;white-space:nowrap;padding-top:9px}.explorer-help .help-guide{right:-45px;width:310px;padding:18px}.viewport{height:440px;margin-left:-20px;width:calc(100% + 40px)}.overlay{left:20px;top:20px}.overlay h2{font-size:19px;max-width:280px}.overlay p{font-size:12px;max-width:280px}.legend{left:20px;font-size:10px;max-width:185px;line-height:1.4}.lod{left:20px;font-size:9px;bottom:56px}.scale{right:16px;width:100px;font-size:10px}.sim-controls{grid-template-columns:1fr;gap:23px;padding:23px 0}.display-exploration{grid-column:auto;gap:20px;grid-template-columns:1fr 1fr}.speed-control input{max-width:none}.home-v2 .sim-controls button{min-height:42px}.time-control #history{display:none}.time-control small{font-size:10px}.time-control small span{max-width:120px}.home-v2 .stage-buttons button{font-size:10px;padding:9px 4px;min-height:42px}.home-books{grid-template-columns:1fr;gap:23px;padding:30px 0}.home-books .book-art{width:260px;max-width:100%;grid-row:2}.home-books h2,.home-contact h2{font-size:26px}.home-contact{padding:25px 0 40px}.reconstruction-notes{font-size:14px}.reconstruction-notes p{font-size:16px}.sim-heading h2{max-width:110px}.sim-tools{margin-top:3px}#lab:fullscreen{padding:15px 20px}#lab:fullscreen .viewport{height:55vh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Books-first refinement. The simulation frame is visual only, above both renderers. */
.viewport::after{content:"";position:absolute;inset:0;border:1px solid #424a50;pointer-events:none;z-index:3}
.simulator-main{padding-top:25px}.simulator-main #lab{padding-top:0;border-top:0}
.books-first .home-introduction{padding-top:30px;padding-bottom:26px}
.books-first .home-books{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:46px;padding:30px 0 34px}
.books-first .home-books .book-art{width:100%;max-width:none}
.books-first .books-subtitle{color:#e0dcd3;font-size:20px;line-height:1.4}
.home-simulator{border-top:1px solid var(--line);padding:30px 0;display:grid;grid-template-columns:minmax(0,740px) 1fr;gap:60px;align-items:center}
.home-simulator h2{font-size:28px;margin-bottom:18px}
.home-simulator .sim-preview{display:block;margin:0;border:1px solid #424a50}
.sim-preview img{width:100%;height:auto;display:block}
.books-first .home-contact{max-width:none;border-top:1px solid var(--line);padding:28px 0 35px}
@media(max-width:800px){.books-first .home-books{grid-template-columns:1.1fr 1fr;gap:24px}.home-simulator{gap:25px;grid-template-columns:1.4fr 1fr}}
@media(max-width:650px){.books-first .home-books{display:flex;flex-direction:column;align-items:stretch;gap:24px;padding:25px 0}.books-first .home-books .book-art{order:-1;max-width:480px;align-self:center}.books-first .home-introduction{padding-top:25px;padding-bottom:25px}.home-simulator{display:block;padding:26px 0}.home-simulator h2{font-size:26px}.home-simulator .sim-preview{max-width:300px;margin-top:24px}.simulator-main{padding-top:22px}.viewport{margin-left:0;width:100%}.overlay{left:16px}.overlay p{max-width:calc(100vw - 85px)}.legend{left:16px;max-width:145px}.scale{right:12px;width:80px}}

/* Final introduction: a compact reading area, scoped to the homepage. */
.books-first .home-introduction{max-width:750px;padding-top:26px;padding-bottom:23px}
.books-first .home-introduction h1{font-size:30px;line-height:1.2;max-width:none;margin-bottom:17px}
.books-first .home-introduction p{font-size:17px;line-height:1.5;margin-bottom:14px}
.books-first .home-introduction p:last-child{margin-bottom:0}
@media(max-width:650px){.books-first .home-introduction{padding-top:24px;padding-bottom:22px}.books-first .home-introduction h1{font-size:27px}.books-first .home-introduction p{font-size:17px;line-height:1.5}}

/* Final approved composition: one opening, with the real collection alongside. */
.home-opening{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:42px;align-items:center;padding:30px 0 34px}
.home-opening h1{font-size:30px;line-height:1.2;margin:0 0 18px}.home-opening p{font-size:17px;line-height:1.52;margin:0 0 15px}.home-opening .neutral-button{margin-top:3px}
.opening-art{margin:0}.opening-art img{display:block;width:100%;height:auto}
@media(max-width:1000px) and (min-width:651px){.home-opening{gap:28px;grid-template-columns:1.15fr 1fr}.home-opening h1{font-size:28px}}
@media(max-width:650px){.home-opening{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:24px 0 28px}.opening-copy{display:contents}.home-opening h1{font-size:27px;order:0;margin-bottom:20px}.opening-art{order:1;margin:0 0 24px}.home-opening p{order:2;margin-bottom:14px}.home-opening .neutral-button{order:3;align-self:flex-start}.home-opening p:last-of-type{margin-bottom:14px}}
