/* Hallmark · pre-emit critique: P5 H4 E4 S5 R5 V4
 * genre: atmospheric · macrostructure: Workbench · theme: Midnight
 * nav: N9 · footer: Ft2 · audience: observer · use: compare actual world revisions
 * enrichment: live simulation data, not illustration · motion: simulation only */
:root{--paper:#0c1218;--surface:#111c25;--raised:#1a2833;--ink:#e8edf0;--muted:#a3b2bd;--dim:#8398a7;--line:#293b49;--accent:#dec39b;--accent-ink:#1d1b16;--field:#080f16;--particle:#8ed8d0;--nucleus:#c7ebe1;--nutrition:#dec39b;--focus:#f4dab5;--font-body:'Yu Gothic UI','Hiragino Kaku Gothic ProN',sans-serif;--font-display:'Yu Mincho','Hiragino Mincho ProN',serif;--font-mono:Consolas,'Courier New',monospace;--ease-out:cubic-bezier(.16,1,.3,1);--gap:24px}
*{box-sizing:border-box}html,body{margin:0;overflow-x:clip}body{background:var(--paper);color:var(--ink);font:16px/1.7 var(--font-body)}a{color:inherit;text-decoration:none}button,summary,a{touch-action:manipulation}button{font:14px var(--font-body);color:var(--ink);border:1px solid var(--line);background:transparent;padding:12px 17px;min-height:44px;white-space:nowrap;cursor:pointer;border-radius:4px;transition:transform 120ms var(--ease-out),background-color 120ms var(--ease-out)}button:hover{background:var(--raised)}button:active{transform:translateY(1px)}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--focus);outline-offset:5px}.mast,main,footer{width:min(1440px,100%);margin:auto;padding-inline:24px}.mast{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap;font-size:17px;letter-spacing:.1em}.brand-mark{color:var(--accent);font-size:27px}.brand-en{display:none;font:11px var(--font-mono);letter-spacing:.1em;color:var(--muted)}.trial-state{font-size:12px;color:var(--accent);text-align:right}.trial-state span{display:none;color:var(--muted)}.heading{display:flex;align-items:flex-end;justify-content:space-between;margin:22px 0 28px;gap:24px}.eyebrow{font:12px var(--font-mono);color:var(--accent);letter-spacing:.13em;margin:0 0 12px}h1{font:400 clamp(28px,3.3vw,44px)/1.4 var(--font-display);letter-spacing:.06em;overflow-wrap:anywhere;min-width:0;margin:0}.intro{display:none;font-size:14px;color:var(--muted);margin:0}.workbench{display:grid;grid-template-columns:minmax(0,1fr);gap:0;background:var(--surface);border-radius:6px;overflow:hidden}.observation{min-width:0;background:var(--field)}.view-top,.view-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;padding:14px 20px;font-size:13px;color:var(--muted)}.coordinates{font:11px var(--font-mono);color:var(--dim)}.viewport{position:relative;aspect-ratio:5/3;min-height:240px}canvas{width:100%;height:100%;display:block}.view-caption{position:absolute;bottom:12px;left:20px;right:20px;display:flex;justify-content:space-between;pointer-events:none;font:12px var(--font-mono);color:var(--muted)}#scene-name{letter-spacing:.12em}.view-controls{padding-block:12px}.view-note{font-size:12px}.view-controls button{font-size:12px;padding:8px 12px}.notes{padding:28px;min-width:0}.cycle-heading{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:13px}.cycle-heading strong{font:36px var(--font-mono);color:var(--accent)}h2{font-size:22px;line-height:1.5;font-weight:500;margin:12px 0}#cycle-subtitle{color:var(--muted);font-size:14px;margin:0}.watch{font-size:14px;line-height:1.9;margin:24px 0}.metrics{margin:24px 0;display:grid;gap:12px}.metrics div{display:flex;justify-content:space-between;align-items:center;font-size:14px}.metrics dt{color:var(--muted)}.metrics dd{font:22px var(--font-mono);margin:0}.law-section h3{font-size:13px;font-weight:400;color:var(--muted);margin:24px 0 10px}#laws{list-style:none;margin:0;padding:0;display:flex;gap:6px;flex-wrap:wrap}#laws li{font-size:12px;background:var(--raised);padding:3px 9px;border-radius:3px}.aside-note{font-size:12px;color:var(--muted);margin:28px 0 0}.history{margin-top:40px}.section-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.section-heading h2{font-size:20px;margin:0}.section-heading p{font-size:14px;margin:5px 0 0;color:var(--muted)}#replay{color:var(--accent);border-color:var(--line)}#replay span{margin-left:14px}.timeline{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.timeline button{white-space:normal;text-align:left;display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;column-gap:14px;padding:20px;background:var(--surface);border:1px solid transparent}.timeline button[aria-pressed=true]{border-color:var(--accent)}.timeline .num{font:25px var(--font-mono);color:var(--dim);grid-row:span 2}.timeline .title{white-space:nowrap;font-size:16px}.timeline .sub{font-size:12px;color:var(--muted);margin-top:6px}.timeline button[aria-pressed=true] .num{color:var(--accent)}.record{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;margin-top:48px;padding-top:32px;border-top:1px solid var(--line)}.record h2{font-size:20px}.record p{font-size:14px;color:var(--muted)}.record .eyebrow{color:var(--accent);font-size:12px}.record-meta{display:flex;flex-wrap:wrap;gap:16px;font:12px var(--font-mono);color:var(--dim);margin:20px 0}summary{font-size:14px;cursor:pointer;min-height:44px;padding-block:10px}pre{font:12px/1.8 var(--font-mono);color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface);padding:20px;border-radius:4px}details a{font-size:14px;color:var(--accent);display:inline-block;min-height:44px;white-space:nowrap;padding-block:10px}.honesty{max-width:820px;font-size:12px;line-height:1.9;color:var(--dim);margin:36px 0 48px}footer{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding-block:24px;font-size:12px;color:var(--dim);border-top:1px solid var(--line)}#canvas-error{position:absolute;inset:15%;font-size:15px;color:var(--accent)}
@media(min-width:40rem){.mast,main,footer{padding-inline:40px}.brand-en{display:inline}.trial-state span{display:inline}.intro{display:block}.timeline{grid-template-columns:repeat(3,minmax(0,1fr))}.timeline button{grid-template-columns:minmax(0,1fr);padding:24px}.timeline .num{grid-row:auto;font-size:18px;margin-bottom:18px}.timeline .title{font-size:17px}.record{grid-template-columns:1fr 1.2fr;gap:60px}}
@media(min-width:64rem){.mast,main,footer{padding-inline:56px}.heading{margin-top:30px;margin-bottom:34px}.workbench{grid-template-columns:minmax(0,1fr) 284px}.viewport{min-height:400px}.notes{padding:24px}.coordinates{font-size:12px}.view-top{padding-top:20px}.watch{margin-block:24px}.history{margin-top:36px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.viewport{width:100%;min-width:0}canvas{position:absolute;inset:0;max-width:100%}
@media(max-width:23rem){h1{font-size:24px;letter-spacing:.025em}}

.site-nav{display:flex;flex-wrap:wrap;gap:16px;align-items:center;font-size:13px}.site-nav a{padding-block:10px;color:var(--accent)}.mast{flex-wrap:wrap;padding-block:16px}.timeline .title{white-space:normal;overflow-wrap:anywhere}.about-page{max-width:900px;padding-top:40px;padding-bottom:64px}.about-page section{margin-top:36px;border-top:1px solid var(--line);padding-top:18px}.about-page p{color:var(--muted);line-height:1.9}.back-link{color:var(--accent)}html[lang=en] .brand{letter-spacing:0}html[lang=en] h1{letter-spacing:0}@media(max-width:40rem){.site-nav{width:100%;justify-content:flex-end;gap:20px}.brand-en{display:none}}
