:root{color-scheme:dark;--bg:#151717;--ink:#e8ebeb;--muted:#a0aaaa;--line:#384141}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 Arial,sans-serif}main{max-width:1660px;margin:auto;padding:28px 36px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:38px}a{color:inherit}.brand{font:25px Georgia,serif;letter-spacing:4px;text-decoration:none}.brand span{display:block;font:9px monospace;letter-spacing:2px;margin-top:6px}.original{font:11px monospace;color:var(--muted);text-decoration:none}.intro{display:flex;gap:30px;align-items:flex-end;justify-content:space-between;margin-bottom:27px}.eyebrow{font:10px monospace;letter-spacing:1.5px;color:var(--muted);margin:0 0 10px}h1{font:clamp(28px,3vw,42px)/1.15 Georgia,serif;letter-spacing:-.7px;margin:0 0 10px}.intro p:not(.eyebrow){max-width:650px;color:var(--muted);margin:0;font-size:13px}.views{display:flex;flex-shrink:0;border:1px solid var(--line);padding:3px;gap:3px}button{border:1px solid var(--line);background:transparent;color:var(--ink);padding:11px 13px;font:11px monospace;cursor:pointer}.views button{border:0;white-space:nowrap}.views button[aria-pressed=true]{background:#e8ebeb;color:#141717}button:hover{background:#303737}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline:2px solid #fff;outline-offset:4px}.stage{position:relative;aspect-ratio:1280/416;background:#000;isolation:isolate;border:1px solid var(--line)}canvas{display:block;width:100%;height:100%;image-rendering:pixelated;touch-action:pan-y;cursor:crosshair}.stage[data-view=both]:after{content:'';position:absolute;left:50%;top:0;bottom:0;border-left:1px solid #566060;pointer-events:none}.panel-label{position:absolute;top:15px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;width:calc(50% - 36px);pointer-events:none;font:10px monospace;text-shadow:0 1px 4px #000;letter-spacing:.6px}.label-a{left:18px}.label-b{left:calc(50% + 18px)}.panel-label small{display:block;margin-top:6px;color:#aeb8b8;font-size:9px;letter-spacing:0}.swatches{display:flex;outline:1px solid #666;flex-shrink:0}.swatches i{background:var(--swatch);width:9px;height:9px}.scene-hint{position:absolute;bottom:12px;left:16px;font:8px monospace;letter-spacing:1px;color:#a0aaaa;pointer-events:none;background:#000a;padding:5px}.stage:not([data-view=both]){aspect-ratio:640/416;max-width:1100px;margin:auto}.stage[data-view=bw] .label-b,.stage[data-view=gray] .label-a{display:none}.stage:not([data-view=both]) .panel-label{left:18px;width:calc(100% - 36px)}.controls{display:flex;gap:26px;align-items:center;padding:23px 0;border-bottom:1px solid var(--line)}.controls label:not(.daylight){width:180px;font:10px monospace;color:var(--muted)}output{float:right;color:var(--ink)}input[type=range]{width:100%;display:block;margin:10px 0 0;accent-color:#dae2e2}.daylight{font:11px monospace;display:flex;align-items:center;gap:8px;margin-left:auto}.daylight input{accent-color:#dae2e2}#play{min-width:150px}#reset{color:var(--muted)}footer{display:flex;justify-content:space-between;gap:25px;color:var(--muted);font:10px monospace;margin:15px 0}footer p{margin:0}footer output{color:var(--muted)}.notes{display:grid;grid-template-columns:1fr 1fr;gap:40px;color:var(--muted);font-size:12px;max-width:1000px}.notes strong{color:var(--ink);font-weight:normal}#error{position:absolute;top:30%;left:10%;right:10%;background:#202525;padding:24px}@media(max-width:1050px){.intro{align-items:flex-start;flex-direction:column;gap:18px}.controls{flex-wrap:wrap;gap:20px}.daylight{margin-left:0}}@media(max-width:700px){main{padding:20px 14px}header{margin-bottom:30px}.brand{font-size:21px}.original{max-width:100px;text-align:right;font-size:10px}.intro{margin-bottom:18px}.intro p:not(.eyebrow){font-size:12px;max-width:360px}.views{width:100%}.views button{flex:1;padding:10px 5px;font-size:10px}.stage[data-view=both]{aspect-ratio:640/832}.stage[data-view=both]:after{left:0;right:0;top:50%;bottom:auto;border-left:0;border-top:1px solid #566060}.panel-label{font-size:8px;width:calc(100% - 22px);left:11px;top:10px}.panel-label small{font-size:8px}.label-b{top:calc(50% + 10px)}.stage[data-view=gray] .label-b{top:10px}.swatches i{width:7px;height:7px}.scene-hint{font-size:7px;bottom:5px;left:7px;letter-spacing:0}.controls{display:grid;grid-template-columns:1fr 1fr;gap:20px 16px;padding:20px 0}.controls label:not(.daylight){width:100%}#play{min-width:0}.daylight{grid-column:1/-1;grid-row:3;font-size:10px}#reset{grid-column:2;grid-row:1}footer{font-size:9px;line-height:1.6;flex-direction:column;gap:5px}.notes{grid-template-columns:1fr;gap:0;font-size:11px}.stage:not([data-view=both]) .panel-label{left:11px;width:calc(100% - 22px)}}
/* Three matched views. Keep their source pixels identical when enlarging. */
.stage[data-view=both]{aspect-ratio:1920/416}
.stage[data-view=both]:after{left:33.333333%;right:33.333333%;border-right:1px solid #566060}
.panel-label{width:calc(33.333333% - 28px);font-size:9px;letter-spacing:.2px;gap:6px}
.label-a{left:14px}.label-b{left:calc(33.333333% + 14px)}.label-c{left:calc(66.666667% + 14px)}
.stage[data-view=bw] .label-b,.stage[data-view=bw] .label-c,.stage[data-view=four] .label-a,.stage[data-view=four] .label-c,.stage[data-view=gray] .label-a,.stage[data-view=gray] .label-b{display:none}
.controls{flex-wrap:wrap;gap:20px}.controls label:not(.daylight){width:150px}
.controls .water-choice{min-width:150px}select{display:block;margin-top:7px;background:#202626;color:var(--ink);border:1px solid var(--line);padding:8px;width:100%;font:11px monospace}select:focus-visible{outline:2px solid #fff;outline-offset:4px}.daylight{margin-left:0}
@media(max-width:700px){.stage[data-view=both]{aspect-ratio:640/1248}.stage[data-view=both]:after{top:33.333333%;bottom:33.333333%;left:0;right:0;border-right:0;border-top:1px solid #566060;border-bottom:1px solid #566060}.panel-label{width:calc(100% - 22px);left:11px;font-size:8px}.label-b{top:calc(33.333333% + 10px)}.label-c{top:calc(66.666667% + 10px)}.stage:not([data-view=both]) .panel-label{top:10px}.controls label:not(.daylight){width:100%}.controls .water-choice{grid-column:1/-1}.daylight{grid-row:auto}.views button{font-size:9px;padding:10px 4px}}
