:root{color-scheme:dark;--bg:#0b1b27;--panel:#132b37;--line:#42616e;--ink:#e9f6f2;--muted:#b6cbd1;--mint:#9de8d7;--gold:#f9c783}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:radial-gradient(ellipse at top right,#1b3946,transparent 65%),var(--bg);color:var(--ink);font:1rem/1.45 system-ui,-apple-system,'Segoe UI',sans-serif}a{color:var(--mint);text-underline-offset:4px}button,input{font:inherit}button{background:#203e4b;border:1px solid #71939e;border-radius:8px;color:var(--ink);min-height:44px;padding:8px 14px;cursor:pointer}button:hover:not(:disabled){background:#315765}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.primary{background:var(--mint);color:#10292d;border-color:var(--mint);font-weight:700}.primary:hover:not(:disabled){background:#b9f4e7}.skip{position:absolute;top:-100px;padding:12px;background:var(--mint);color:var(--bg);z-index:20}.skip:focus{top:0}header{border-bottom:1px solid var(--line);padding:9px max(16px,calc((100vw - 1170px)/2));display:flex;justify-content:space-between;align-items:center;gap:10px}.brand{display:flex;align-items:center;gap:9px;font-weight:700;text-decoration:none;color:var(--ink)}header nav{display:flex;align-items:center;gap:18px;font-size:.875rem}header button{background:none;min-height:38px;font-size:.875rem;padding:5px 10px}main{max-width:1210px;padding:14px 20px 24px;margin:auto}.heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.eyebrow{color:var(--mint);font-size:.75rem;letter-spacing:.13em;margin:0 0 4px}h1{font-size:2.3rem;line-height:1.1;margin:0;letter-spacing:-.03em}h1 em{font-family:Georgia,serif;color:var(--mint);font-weight:400}.model-tag{font-size:.75rem;letter-spacing:.08em;color:var(--muted);border:1px solid var(--line);padding:5px 8px}.stages{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.stages button{text-align:left;display:flex;gap:10px;align-items:center;font-size:.875rem}.stages button[aria-current]{background:#284b54;border-color:var(--mint)}.stages b{margin-left:auto;color:var(--mint)}#play{border:1px solid var(--line);border-radius:14px;background:#112833;overflow:hidden}.brief{padding:13px 18px;border-bottom:1px solid var(--line)}.brief h2{font-size:1.3rem;margin:0 0 4px}.brief p{margin:0;color:var(--muted);font-size:.9375rem}.views{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:14px 18px 0}.views section{min-width:0}.view-title{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-bottom:8px}.view-title h3{margin:0;font-size:1rem}.view-title span{font-size:.75rem;color:var(--mint)}canvas{display:block;width:min(100%,calc(100svh - 560px));max-width:440px;aspect-ratio:1;height:auto;min-width:160px;margin:0 auto;background:#07111e;border:1px solid var(--line);border-radius:9px}#structure{touch-action:none;cursor:grab}.view-note{font-size:.75rem;color:var(--muted);margin:7px 0 9px;text-align:center}.control-deck{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:12px 18px;border-top:1px solid var(--line);background:#18333e}.control{flex:1;max-width:520px;min-width:0}.control label{display:flex;justify-content:space-between;gap:12px;font-size:.875rem}.control output{color:var(--mint);font-variant-numeric:tabular-nums}input[type=range]{width:100%;accent-color:var(--mint);height:28px;margin:2px 0;background:transparent}input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:6px;background:#708b95}input[type=range]::-webkit-slider-thumb{margin-top:-5px}.range-ends{display:flex;justify-content:space-between;font-size:.75rem;color:var(--muted)}.actions{display:flex;gap:8px;align-items:center}.actions button{font-size:.875rem}.rotate-controls{display:flex;gap:12px;align-items:center}.rotate-controls button{padding:5px 10px;white-space:nowrap}#feedback{margin:0;padding:0 18px;min-height:0;color:var(--gold);font-size:.9375rem}#feedback:not(:empty){padding-block:12px;border-top:1px solid var(--line);background:#20373d}#hint-copy,#description{margin:10px 18px;padding:12px;border-left:3px solid var(--gold);background:#213c48;font-size:.9375rem}.next-row{display:flex;align-items:center;gap:8px 18px;padding:10px 18px;flex-wrap:wrap}.next-row button{font-size:.875rem;background:transparent}.next-row #reset,.next-row #describe{border:0;text-decoration:underline;text-underline-offset:4px}.next-row #next{color:var(--mint);border-color:var(--mint)}footer{display:flex;align-items:center;gap:10px 22px;flex-wrap:wrap;padding-top:14px;font-size:.875rem}footer button{border:0;padding:5px 0;background:none;text-decoration:underline;text-underline-offset:4px;font-size:.875rem;color:var(--muted)}dialog{width:min(650px,calc(100% - 24px));max-height:85svh;overflow:auto;border:1px solid var(--line);border-radius:14px;background:#19333f;color:var(--ink);padding:24px}dialog::backdrop{background:#04121be8}dialog h2{margin-top:0;line-height:1.2}dialog p,dialog li{color:var(--muted)}dialog li{margin-block:10px}.close{float:right;margin:0 0 12px 12px;padding:0;width:44px;font-size:1.5rem}.studio-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 18px}.studio-row button{font-size:.875rem}.studio-row label{font-size:.875rem}.studio-row select{font:inherit;color:var(--ink);background:#193c49;border:1px solid #7898a3;border-radius:6px;padding:8px;min-height:44px}#cursor-status{font-size:.875rem;color:var(--muted);margin:6px 18px}.large-text .views{grid-template-columns:1fr}.large-text .control-deck{display:block}.large-text .actions{margin-top:15px;flex-wrap:wrap}.large-text .stages{grid-template-columns:1fr}.large-text canvas{width:100%;min-width:0}.large-text .view-title,.large-text header{flex-wrap:wrap}
@media(max-width:720px){main{padding:12px 10px}.heading{margin-bottom:10px}h1{font-size:1.8rem}.stages{gap:5px}.stages button{padding:8px;font-size:.8125rem;gap:5px}.stages b{display:none}.brief{padding:10px 12px}.brief h2{font-size:1.125rem}.brief p{font-size:.875rem}.views{padding:10px 10px 0;gap:10px}.view-title{display:block;min-height:44px}.view-title h3{font-size:.875rem}.view-title span{font-size:.75rem}canvas{width:100%;min-width:0;max-width:none}.view-note{font-size:.75rem;line-height:1.4}.control-deck{padding:10px 12px;gap:10px;flex-wrap:wrap}.control{flex-basis:100%;max-width:none}.actions{width:100%;justify-content:flex-end}.actions button{padding:7px 11px}.next-row{padding:8px 12px;gap:8px}.next-row button{font-size:.8125rem}#feedback{font-size:.875rem}.model-tag{font-size:.6875rem}header{padding:8px 12px}.brand{font-size:.9375rem}header nav{gap:9px}header nav a,header nav button{font-size:.8125rem}.eyebrow{font-size:.6875rem}.studio-row{padding:8px 12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.muted{font-size:.8125rem;color:var(--muted)}#studio-tools{border-top:1px solid var(--line)}
@media(min-width:721px) and (max-height:680px){header{padding-block:5px}.heading{margin-bottom:8px}.eyebrow{display:none}h1{font-size:1.8rem}main{padding-top:10px}.stages{margin-bottom:8px}.brief{padding:9px 14px}.views{padding-top:8px}.view-title{margin-bottom:6px}.view-note{margin-block:5px}.control-deck{padding-block:8px}.next-row{padding-block:6px}canvas{min-width:160px;width:min(100%,calc(100svh - 420px))}}
@media(max-width:720px){.stages button{display:block;text-align:center}.stages button>span{display:block}.view-note{line-height:1.3}.brief p{font-size:.875rem}}
#view-dialog{width:min(1050px,calc(100% - 18px));max-width:none}#view-slot .views{padding:0;gap:14px}#view-slot canvas{width:100%;min-width:0;max-width:440px}#view-slot .control-deck{margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:8px}#view-slot .view-title{flex-wrap:wrap}#view-slot .view-title span{font-size:.75rem}
@media(max-width:720px){#view-slot .views{grid-template-columns:1fr}#view-dialog{padding:15px}#view-slot .view-title{min-height:0}#view-slot .view-title span{display:block;margin-top:5px}}
.large-text #view-slot .views{grid-template-columns:1fr}
dialog>.close{float:none;position:absolute;right:14px;top:14px}dialog>h2{padding-right:48px}

/* Optional, demand-loaded intensity explorer. The original controls move with their views. */
#explore-3d{border-color:var(--mint);color:var(--mint)}
#view-dialog{width:min(1500px,calc(100% - 20px));max-height:calc(100svh - 20px);padding:0;overscroll-behavior:contain}
.explorer-header{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid var(--line);background:#142e39}
.explorer-header h2{margin:0;font-size:1.3rem;padding:0}.explorer-header .eyebrow{font-size:.6875rem}.explorer-header .close{position:static;float:none;width:auto;flex-shrink:0;margin:0;font-size:.875rem;padding:8px 14px}
.explorer-body{padding:12px 18px 18px}.explorer-chapters,.explorer-modes,.scene-tools,.height-tools,.explorer-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.explorer-chapters button,.explorer-modes button,.scene-tools button,.height-tools button,.explorer-actions button{font-size:.8125rem;min-height:40px;padding:6px 11px}.explorer-chapters [aria-current],.explorer-modes [aria-pressed=true],.height-tools [aria-pressed=true]{border-color:var(--mint);background:#29525a;color:#e9fff5}
#explorer-task{margin:8px 0;font-size:.875rem;min-height:1.45em}.explorer-modes{margin-bottom:12px}.explorer-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}.landscape-open .explorer-layout{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
#landscape-panel,#view-slot{min-width:0}#view-slot .views{padding:0;gap:16px}#view-slot canvas{width:100%;height:auto;max-width:440px;min-width:0;aspect-ratio:1}#view-slot .view-title{min-height:26px;flex-wrap:wrap}#view-slot .view-title h3,#landscape-title{font-size:.9375rem}#view-slot .view-note{font-size:.75rem}
#pattern-scene-host{position:relative;width:100%;height:clamp(240px,30vw,365px);overflow:hidden;background:radial-gradient(ellipse at center,#17313d,#081923);border:1px solid var(--line);border-radius:10px}#pattern-scene-host canvas{width:100%!important;height:100%!important;max-width:none;min-width:0;aspect-ratio:auto;border:0;border-radius:0;background:transparent;margin:0}#scene-message{position:absolute;z-index:3;inset:20% 7% auto;padding:15px;text-align:center;border:1px solid var(--line);border-radius:8px;background:#132b37ed;color:var(--ink);font-size:.875rem}
.landscape-caption{font-size:.8125rem;line-height:1.45;margin:9px 0}.scene-tools{margin:7px 0}.height-tools{font-size:.8125rem}#height-note{font-size:.75rem;line-height:1.45;margin:7px 0}#explorer-controls{margin-top:12px}#explorer-controls .control-deck{padding:12px;border:1px solid var(--line);border-radius:8px}.explorer-actions{padding:10px 0}#sample-tools{border-top:1px solid var(--line);padding-top:10px;font-size:.875rem}#sample-tools summary{cursor:pointer;color:var(--mint);min-height:36px;padding:4px 0}#sample-tools p{margin:7px 0}.sample-controls{display:grid;grid-template-columns:1fr 1fr;gap:20px}#sample-readout{color:var(--ink);font-variant-numeric:tabular-nums}#sample-direction,.explorer-boundary{font-size:.75rem}.explorer-boundary{border-top:1px solid var(--line);padding-top:10px;line-height:1.55;margin-bottom:0}#explorer-controls #description,#explorer-controls #hint-copy{margin-inline:0}#explorer-controls #feedback{border-radius:8px}#explorer-controls #studio-tools{margin-top:8px}
@media(min-width:951px){#view-dialog:not(.landscape-open){width:min(1050px,calc(100% - 20px))}.landscape-open #view-slot canvas{max-width:none}.landscape-open #view-slot .views{align-items:start}.landscape-open .explorer-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,2fr)}}
@media(max-width:950px){#view-dialog{width:calc(100% - 12px);max-height:calc(100svh - 12px)}.explorer-header{padding:10px 12px}.explorer-header h2{font-size:1.1rem}.explorer-body{padding:10px 12px 16px}.explorer-layout,.landscape-open .explorer-layout{grid-template-columns:1fr}.landscape-open #view-slot{display:none}#pattern-scene-host{height:clamp(245px,42svh,360px)}#landscape-panel .view-title{display:flex;min-height:0}#view-slot .views{grid-template-columns:1fr 1fr}.landscape-caption{margin:8px 0}.explorer-boundary{font-size:.8125rem}}
@media(max-width:520px){#view-slot .views{grid-template-columns:1fr}#view-slot canvas{max-width:440px}.explorer-chapters,.explorer-modes{gap:5px}.explorer-chapters button,.explorer-modes button{flex:1}.explorer-chapters button{padding:7px 6px}#explorer-controls .control-deck{gap:8px;padding:10px}.sample-controls{grid-template-columns:1fr;gap:8px}.explorer-header .eyebrow{display:none}}
.large-text .explorer-layout,.large-text.landscape-open .explorer-layout,.large-text #view-dialog .explorer-layout{grid-template-columns:1fr}.large-text #view-slot .views{grid-template-columns:1fr}.large-text .explorer-header{position:sticky;align-items:start}.large-text #pattern-scene-host{height:360px}.large-text .sample-controls{grid-template-columns:1fr}.large-text .explorer-chapters button,.large-text .explorer-modes button{flex:auto}

#scene-settings{display:flex;gap:8px 18px;align-items:center;flex-wrap:wrap;padding-top:8px}#scene-settings #height-note{flex-basis:100%;margin-top:0}#scene-settings .scene-tools{margin:0}
@media(max-width:950px){#pattern-scene-host{height:clamp(245px,33svh,330px)}}
.large-text header nav{flex-wrap:wrap}.large-text .control label{flex-wrap:wrap}.large-text .rotate-controls{gap:5px}.large-text .actions{justify-content:flex-start}.large-text .studio-row>*{max-width:100%}.large-text #view-dialog .explorer-header{gap:8px}.large-text .explorer-header .close{white-space:nowrap}

header,header nav,.heading{flex-wrap:wrap}.heading{gap:10px}.stages button,.stages button>span{min-width:0;overflow-wrap:anywhere}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

.large-text .landscape-open #view-slot{display:none}.large-text #view-slot canvas{max-width:600px}.large-text #pattern-scene-host{max-width:800px;margin-inline:auto}
