:root{--ink:#252c29;--muted:#616b65;--line:#dce3dd;--accent:#285b43;--soft:#f4f6f2;color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font:17px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}main{max-width:1500px;margin:auto;padding:18px 28px 56px}a{color:var(--accent);text-underline-offset:3px}
nav{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}nav a{font-size:18px;font-weight:550;padding:9px 13px;text-decoration:none;border-radius:7px;min-height:44px}nav a:hover{background:var(--soft)}nav [aria-current]{background:var(--accent);color:white}
h1{font-size:23px;font-weight:600;margin:0}#principle{font-size:21px;font-weight:450;line-height:1.35;margin:5px 0 20px}#principle strong{color:var(--accent);font-weight:600}h2{font-size:23px;font-weight:550;margin:0}h3{font-size:18px;font-weight:550;margin:0}
button,select,input{font:inherit;color:inherit}button,select,input[type=search]{background:#fff;border:1px solid var(--line);border-radius:6px;padding:9px 12px;min-height:44px}button{cursor:pointer}button:hover{background:var(--soft)}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}input{accent-color:var(--accent)}input[type=checkbox]{width:18px;height:18px}
#stage{display:grid;grid-template-columns:repeat(var(--cols,2),minmax(0,1fr));gap:24px 20px;align-items:start;margin:0 auto;width:100%}figure{margin:0;min-width:0;position:relative}figcaption{font-size:17px;line-height:1.3;min-height:48px;margin:0 0 8px}figcaption strong{font-weight:550}figcaption small{display:block;color:var(--muted);font-size:14px;margin-top:3px}.picture{aspect-ratio:var(--stimulus-ratio,1.5);background:var(--soft);position:relative;overflow:hidden}.picture>canvas{width:100%;height:100%;display:block}.picture:has(canvas:not([data-frame])):after{content:'Loading…';position:absolute;inset:45% 0 auto;text-align:center;font-size:16px;color:var(--muted)}.target{display:flex;align-items:center;gap:12px;height:66px;margin:0 0 8px;font-size:16px;color:var(--muted)}.target canvas{height:64px;width:auto;display:block}
.transport{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:16px auto 0;max-width:1100px;padding:8px 0}.transport input[type=range]{flex:1;min-width:90px}.transport label{display:flex;align-items:center;gap:5px}.transport label,output{font-size:16px;white-space:nowrap}output{font-variant-numeric:tabular-nums}
.parameters{display:flex;gap:20px;flex-wrap:wrap;margin:20px auto 26px;max-width:1100px}.parameters label{display:flex;flex-direction:column;gap:7px;font-size:16px;flex:1;max-width:250px;min-width:160px}.parameters select{width:100%}.parameters input[type=range]{width:100%;margin:0}.muted{color:var(--muted);font-size:16px}#selection-count{margin:0 0 20px}#status{color:var(--accent);font-size:17px;margin:8px 0}#status:empty{display:none}
#selection{margin-top:26px;border-top:1px solid var(--line);padding-top:24px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:22px 0 16px}.section-heading input{max-width:300px;width:50%}.picker{display:grid;grid-template-columns:1fr 1fr;gap:28px}.group-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 14px}.group-header h3{margin-right:auto}.group-header h3 small{display:block;color:var(--muted);font-size:14px;font-weight:400}.group-header button{font-size:16px;padding:7px 12px}.source-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:12px;max-height:440px;overflow:auto;padding:2px}.choice{position:relative;display:block;border:1px solid var(--line);cursor:pointer;min-width:0}.choice:has(input:checked){outline:2px solid var(--accent);outline-offset:-2px}.choice input{position:absolute;left:7px;top:7px;margin:0}.choice img{display:block;width:100%;height:100px;object-fit:cover;background:var(--soft)}.objects .choice img{object-fit:contain;padding:4px}.choice span{display:block;font-size:15px;padding:7px 8px;line-height:1.3}
details{border-top:1px solid var(--line);padding-top:20px;margin-top:32px}summary{font-size:17px;cursor:pointer;color:var(--muted)}.reference-control{margin:18px 0;font-size:16px}.reference-control select{max-width:100%}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;background:var(--soft);padding:16px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:15px}th,td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:10px 8px}th{font-weight:550}td small{display:block;color:var(--muted)}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:700px){main{padding:12px 14px 36px}nav{gap:2px;margin-bottom:14px}nav a{font-size:16px;padding:8px 10px}#principle{font-size:19px}h1{font-size:22px}.parameters{gap:12px}.parameters label{min-width:140px;max-width:none}.transport{gap:8px}.transport input[type=range]{min-width:90px}.picker{grid-template-columns:1fr;gap:22px}.source-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));max-height:340px}.section-heading input{font-size:16px}.target{height:66px}#stage{gap:22px 16px}}

.earlier-classic{grid-column:-2/-1;grid-row:1/span 2}.picture>video{width:100%;height:100%;object-fit:contain;background:#111;display:block}.history-note{font-size:14px;color:var(--muted);margin:8px 0}.reference-control{display:flex;gap:18px;flex-wrap:wrap;align-items:center}.single-column>.earlier-classic{grid-column:auto;grid-row:auto}
