@font-face{font-family:NeueBit;src:local(NeueBit),local(NeueBit-Regular),local(PP NeueBit),local(PPNeueBit-Regular);font-style:normal;font-weight:400 700;font-display:swap}.composition-page{color:#f6f3ec;background:#030303;min-height:100vh;position:relative;overflow:hidden}.composition-toolbar{z-index:60;pointer-events:none;grid-template-columns:minmax(130px,1fr) auto minmax(130px,1fr);align-items:center;gap:12px;display:grid;position:fixed;top:14px;left:14px;right:14px}.composition-toolbar button,.composition-statement,.composition-status{pointer-events:auto}.composition-status{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#000000a8;border:1px solid #f6f3ec38}.composition-statement{color:#f6f3ec;gap:5px;width:min(330px,30vw);display:grid}.composition-statement-heading{align-items:flex-start;gap:8px;display:flex}.composition-status span,.composition-unlock-panel span,.composition-motif-heading span,.composition-gesture-panel span,.composition-artist-modal>span,.composition-unlocked dt{color:#f6f3ec9e;text-transform:uppercase;letter-spacing:0;font-size:12px}.composition-statement h1{letter-spacing:0;max-width:14ch;margin:0;font-size:20px;font-weight:500;line-height:.88}.composition-info-button,.composition-modal-close{color:#f6f3ecb8;background:#0000008a;border:1px solid #f6f3ec33;place-items:center;padding:0;line-height:0;display:grid}.composition-info-button{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:50%;flex:none;width:26px;height:26px;margin-top:-2px}.composition-info-button:hover,.composition-info-button[aria-expanded=true],.composition-modal-close:hover{color:#050505;background:#f6f3ec}.composition-statement p{color:#f6f3ec94;letter-spacing:0;max-width:35ch;margin:0;font-size:13px;line-height:1}.composition-center-controls{pointer-events:auto;justify-self:center;align-items:center;gap:16px;display:inline-flex}.composition-play-button{color:#f6f3ecc7;text-transform:uppercase;letter-spacing:0;background:0 0;border:0;min-width:34px;height:24px;padding:0 2px;font-size:12px;line-height:1}.composition-play-button[data-active=true],.composition-play-button:hover{color:#f6f3ec;text-underline-offset:4px;background:0 0;text-decoration:underline}.composition-toggle{gap:14px;padding:0;display:inline-flex}.composition-toggle button,.composition-unlock-form button,.composition-unlocked button,.composition-gesture-panel button{color:#f6f3ec;background:0 0;border:0}.composition-toggle button{color:#f6f3ecb3;text-transform:uppercase;letter-spacing:0;min-width:0;height:24px;padding:0 2px;font-size:12px;line-height:1}.composition-toggle button[data-active=true]{color:#f6f3ec;text-underline-offset:4px;background:0 0;text-decoration:underline}.composition-toggle button:hover{color:#f6f3ec}.composition-status{justify-content:space-between;justify-self:end;gap:12px;min-width:170px;padding:8px 11px;display:flex}.composition-modal-shell{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0000009e;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.composition-artist-modal{color:#f6f3ec;background:#050505f0;border:1px solid #f6f3ec3d;width:min(560px,100%);max-height:min(760px,100vh - 36px);padding:26px;position:relative;overflow:auto;box-shadow:0 28px 80px #0000007a}.composition-modal-close{width:30px;height:30px;position:absolute;top:12px;right:12px}.composition-artist-modal h2{letter-spacing:0;max-width:12ch;margin:8px 38px 18px 0;font-size:clamp(30px,7vw,54px);font-weight:500;line-height:.86}.composition-artist-modal p{color:#f6f3ecc2;margin:0;font-size:17px;line-height:1.18}.composition-artist-modal p+p{margin-top:15px}.composition-artist-modal em{color:#f6f3ec;font-style:normal}.composition-view-stack,.composition-view-layer{min-height:100vh}.composition-view-stack{position:relative}.composition-view-layer{opacity:0;pointer-events:none;transition:opacity .18s;position:absolute;inset:0}.composition-view-layer[data-active=true]{opacity:1;pointer-events:auto;z-index:2}.composition-view-layer--panel{filter:grayscale()contrast(1.08);background:#020202}.composition-view-layer--composer{background:#060606}.composition-composer{background:#060606;grid-template-columns:minmax(250px,340px) minmax(360px,1fr) minmax(210px,280px);gap:1px;min-height:100vh;padding-top:116px;display:grid}.composition-unlock-panel,.composition-motif-panel,.composition-gesture-panel{background:#030303eb;min-width:0}.composition-unlock-panel,.composition-gesture-panel{align-content:start;gap:18px;padding:22px;display:grid}.composition-unlock-panel header,.composition-gesture-panel header,.composition-motif-heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.composition-unlock-panel header{justify-content:start}.composition-unlock-panel header svg{flex:none}.composition-unlock-panel header>div{gap:4px;min-width:0;display:grid}.composition-unlock-panel header span,.composition-unlock-panel header strong{display:block}.composition-unlock-panel header strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.composition-unlock-panel strong,.composition-motif-heading strong,.composition-gesture-panel header span,.composition-gesture-panel header strong{font-size:20px;line-height:.9}.composition-gesture-panel header strong{color:#f6f3ec9e}.composition-unlock-form{gap:12px;display:grid}.composition-unlock-form textarea{resize:vertical;color:#f6f3ec;background:#f6f3ec0f;border:1px solid #f6f3ec38;outline:none;width:100%;min-height:184px;padding:12px}.composition-unlock-form textarea:focus{border-color:#f6f3ecb8}.composition-unlock-form button,.composition-unlocked button{color:#050505;background:#f6f3ec;grid-auto-flow:column;justify-content:center;align-items:center;gap:8px;min-height:38px;display:inline-grid}.composition-unlocked{gap:18px;display:grid}.composition-unlocked dl{background:#f6f3ec24;grid-template-columns:repeat(3,1fr);gap:1px;margin:0;display:grid}.composition-unlocked div{background:#080808;gap:4px;padding:12px;display:grid}.composition-unlocked dt,.composition-unlocked dd{margin:0}.composition-unlocked dd{font-size:22px}.composition-motif-panel{grid-template-rows:auto minmax(0,1fr);gap:22px;padding:22px;display:grid}.composition-motif-heading strong{color:#f6f3ecb8}.composition-motif-grid{grid-template-columns:repeat(var(--steps), minmax(16px, 1fr));grid-template-rows:repeat(var(--lanes), minmax(22px, 1fr));aspect-ratio:16/8;place-self:center;gap:6px;width:min(100%,980px);display:grid}.composition-motif-grid i{background:#f6f3ec09;border:1px solid #f6f3ec29;min-width:0;min-height:0;display:block}.composition-motif-grid i[data-active=true]{background:rgba(246, 243, 236, calc(.42 + var(--velocity) * .58));border-color:#f6f3eceb;box-shadow:0 0 22px #f6f3ec2e}.composition-locked-grid{aspect-ratio:16/8;background-color:#0000;background-image:linear-gradient(90deg,#f6f3ec12 1px,#0000 1px),linear-gradient(#f6f3ec12 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:6.25% 12.5%;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border:1px dashed #f6f3ec33;place-self:center;width:min(100%,760px)}.composition-gesture-list{grid-template-columns:1fr;gap:8px;display:grid}.composition-gesture-panel button{color:#f6f3ecc7;text-align:left;border:1px solid #f6f3ec2e;min-height:36px;padding:8px 10px}.composition-gesture-panel button:not(:disabled):hover,.composition-gesture-panel button[data-active=true]{color:#050505;background:#f6f3ec}.composition-gesture-stack{flex-wrap:wrap;align-content:start;gap:6px;min-height:28px;display:flex}.composition-gesture-stack span{color:#f6f3ecb8;border:1px solid #f6f3ec29;padding:5px 7px;font-size:14px;line-height:.9}.composition-gesture-actions{gap:8px;display:grid}.composition-gesture-actions button{text-align:center}.composition-gesture-actions button:first-child{color:#050505;text-align:center;background:#f6f3ec}@media (max-width:900px){.composition-toolbar{grid-template-columns:1fr}.composition-center-controls,.composition-statement,.composition-toggle,.composition-status{justify-self:stretch}.composition-statement{width:min(100%,360px)}.composition-statement p{max-width:44ch}.composition-center-controls{justify-content:center}.composition-composer{grid-template-columns:1fr;padding-top:208px}.composition-motif-heading{flex-direction:column;align-items:flex-start}}@media (max-width:420px){.composition-statement h1{font-size:18px}.composition-statement p{font-size:12px}.composition-artist-modal{padding:22px}.composition-artist-modal p{font-size:15px}.composition-toggle button{min-width:0}}:root{--font-neuebit:"NeueBit", "PP NeueBit", "NeueBit Regular", "PPNeueBit-Regular", monospace;--font-geist-mono:var(--font-neuebit);--paper:#f3efe6;--ink:#171b17;--muted:#687064;--line:#171b1724;--panel:#fffcf4b8;--panel-strong:#fffcf4eb;--moss:#2d4c39;--reed:#787b52;--rose:#9a6b65;--blue:#526e7c;--gold:#b69a54;--active:#243529}*{box-sizing:border-box}html,body{background:var(--paper);min-height:100%;color:var(--ink);font-family:var(--font-neuebit);margin:0}body{overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.synth-lab{background:linear-gradient(#ffffff52, #fff0), var(--paper);grid-template-rows:78px minmax(0,1fr);grid-template-columns:280px minmax(430px,1fr) 380px;min-height:100vh;display:grid}.synth-top{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:20;background:#f3efe6e6;grid-column:1/-1;grid-template-columns:280px minmax(0,1fr);display:grid;position:sticky;top:0}.title-block{border-right:1px solid var(--line);align-content:center;gap:4px;padding:12px 18px;display:grid}.title-block span,.panel-heading span,.gate-count,.control span,.module-title span,.seed-density,.seed-meta{color:var(--muted);font-family:var(--font-geist-mono), monospace;font-size:11px}.title-block h1{letter-spacing:0;margin:0;font-size:22px;line-height:1}.transport-bar{grid-template-columns:42px 42px 42px repeat(4,minmax(112px,1fr)) minmax(96px,.75fr);align-items:center;gap:10px;min-width:0;padding:10px 14px;display:grid}.icon-button,.action-row button,.preset-list button,.degree-key,.voice-cell,.roll-cell{background:var(--panel);color:var(--ink);border:1px solid #171b1729;border-radius:8px}.icon-button{place-items:center;width:40px;height:40px;display:grid}.icon-button[data-active=true],.action-row button:hover,.preset-list button:hover,.degree-key:hover{background:var(--active);color:#fffaf0;border-color:var(--active)}.global-control .control{margin:0}.output-meter{gap:7px;min-width:0;display:grid}.output-meter span{color:var(--muted);font-family:var(--font-geist-mono), monospace;font-size:11px}.output-meter div{background:#fffcf4ad;border:1px solid #171b1729;border-radius:999px;height:8px;overflow:hidden}.output-meter i{width:calc(var(--level) * 100%);background:var(--active);height:100%;transition:width 80ms linear;display:block}.voice-matrix{border-right:1px solid var(--line);grid-template-columns:1fr;align-content:start;gap:10px;min-height:0;padding:16px;display:grid;overflow:auto}.voice-cell{min-width:0;min-height:76px;font-family:var(--font-geist-mono), monospace;align-content:center;justify-items:center;gap:4px;padding:10px;display:grid;position:relative;overflow:hidden}.voice-cell:before{content:"";height:calc(var(--amp) * 100%);pointer-events:none;background:linear-gradient(#b69a5424,#2d4c3980);position:absolute;inset:auto 0 0}.voice-cell span,.voice-cell small{z-index:1;position:relative}.voice-cell span{text-transform:uppercase;letter-spacing:.06em;font-size:13px}.voice-cell small{color:var(--muted);min-height:10px;font-size:10px}.voice-cell[data-selected=true]{background:var(--active);color:#fffaf0;border-color:var(--gold)}.voice-cell[data-selected=true] small{color:#fffaf0b8}.voice-cell[data-enabled=false]{opacity:.42}.roll-panel{grid-template-rows:auto auto minmax(0,1fr);gap:12px;min-width:0;min-height:0;padding:16px;display:grid;overflow:hidden}.panel-heading{justify-content:space-between;align-items:end;gap:16px;display:flex}.panel-heading h2,.inspector-section h2{text-transform:uppercase;letter-spacing:.1em;margin:4px 0 0;font-size:14px}.keyboard{grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;display:grid}.degree-key{text-align:left;align-content:center;gap:5px;min-width:0;min-height:58px;padding:8px;display:grid}.degree-key span{overflow-wrap:anywhere;font-size:12px}.degree-key small{color:var(--muted);font-family:var(--font-geist-mono), monospace;font-size:10px}.degree-key:hover small{color:#fffaf0b3}.piano-roll{border:1px solid var(--line);background:#fffcf459;min-height:0;overflow:auto}.lane{grid-template-columns:96px repeat(var(--steps), minmax(12px, 1fr));border-bottom:1px solid #171b1714;min-width:980px;display:grid}.lane:last-child{border-bottom:0}.lane-label{z-index:2;border-right:1px solid var(--line);min-height:48px;color:var(--muted);background:#f3efe6f5;align-items:center;padding:0 10px;font-size:12px;display:flex;position:sticky;left:0}.roll-cell{background:0 0;border:0;border-right:1px solid #171b170e;border-radius:0;min-width:12px;min-height:48px;position:relative}.roll-cell:nth-child(9n+1){border-right-color:#171b1729}.roll-cell[data-active=true]{background:rgba(82, 110, 124, calc(.22 + var(--velocity) * .45))}.roll-cell[data-active=true]:after{content:"";background:#fffcf447;border:1px solid #fffcf44d;border-radius:5px;position:absolute;inset:8px 3px}.inspector{border-left:1px solid var(--line);background:#f3efe6c7;min-height:0;overflow:auto}.inspector-section{border-bottom:1px solid var(--line);padding:16px}.section-title{justify-content:space-between;align-items:center;gap:14px;display:flex}.control{grid-template-columns:minmax(88px,1fr) 84px;align-items:center;gap:8px;margin-top:10px;display:grid}.control output{color:var(--muted);font-family:var(--font-geist-mono), monospace;text-align:right;font-size:11px}.control input[type=range]{width:100%;accent-color:var(--active);grid-column:1/-1}.knob-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px;margin-top:14px;display:grid}.knob-control{min-width:0;color:var(--muted);font-family:var(--font-geist-mono), monospace;justify-items:center;gap:7px;font-size:11px;display:grid}.knob-shell{aspect-ratio:1;cursor:ns-resize;touch-action:none;-webkit-user-select:none;user-select:none;place-items:center;width:74px;display:grid;position:relative}.knob-input{z-index:2;opacity:0;pointer-events:none;width:100%;height:100%;margin:0;position:absolute;inset:0}.knob-dial{aspect-ratio:1;background:radial-gradient(circle at 50% 54%, #fffcf4f2 0 42%, transparent 43%), conic-gradient(from 225deg, var(--active) var(--arc), #171b171f 0 270deg, transparent 0);border:1px solid #171b1733;border-radius:50%;width:64px;display:block;position:relative;box-shadow:inset 0 1px #ffffff9e,0 8px 16px #171b1714}.knob-dial i{background:var(--active);width:4px;height:18px;transform:rotate(var(--angle));transform-origin:50% 24px;border-radius:999px;position:absolute;top:8px;left:calc(50% - 2px)}.knob-shell:focus-within .knob-dial{outline-offset:3px;outline:2px solid #b69a548c}.knob-control output{min-height:14px;color:var(--ink)}.select-control select{background:var(--panel-strong);min-height:32px;color:var(--ink);border:1px solid #171b1729;border-radius:8px;padding:0 8px}.toggle-row{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:inline-flex}.toggle-row input{accent-color:var(--active)}.action-row{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.action-row button,.preset-list button{align-items:center;gap:7px;min-height:34px;padding:0 11px;display:inline-flex}.text-input,.json-box{background:var(--panel-strong);width:100%;color:var(--ink);border:1px solid #171b1729;border-radius:8px}.text-input{min-height:36px;padding:0 10px}.json-box{resize:vertical;min-height:90px;font-family:var(--font-geist-mono), monospace;margin-top:10px;padding:10px;font-size:11px}.preset-list{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.seed-meta{flex-wrap:wrap;gap:8px 12px;margin-top:10px;display:flex}.prototype-lab{background:linear-gradient(#ffffff4d, #fff0), var(--paper);grid-template-rows:auto auto 1fr;min-height:100vh;display:grid}.prototype-header{z-index:10;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f3efe6eb;grid-template-columns:minmax(240px,360px) minmax(0,1fr);display:grid;position:sticky;top:0}.prototype-header>div:first-child{border-right:1px solid var(--line);align-content:center;gap:4px;padding:14px 18px;display:grid}.prototype-header a,.prototype-status span,.prototype-role-heading small,.prototype-variation small,.prototype-variation em{color:var(--muted);font-family:var(--font-geist-mono), monospace;font-size:11px}.prototype-header a{text-decoration:none}.prototype-header h1{letter-spacing:0;margin:0;font-size:24px;line-height:1}.prototype-transport{grid-template-columns:42px 42px 42px minmax(104px,auto) minmax(126px,auto) minmax(150px,1fr);align-items:center;gap:10px;min-width:0;padding:12px 14px;display:grid}.prototype-command,.prototype-variation{background:var(--panel);color:var(--ink);border:1px solid #171b1729;border-radius:8px}.prototype-command{justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 13px;display:inline-flex}.prototype-command[data-active=true],.prototype-command:hover{background:var(--active);color:#fffaf0;border-color:var(--active)}.prototype-status{border-bottom:1px solid var(--line);background:var(--line);grid-template-columns:minmax(180px,.75fr) minmax(260px,1.5fr) minmax(140px,.5fr);gap:1px;display:grid}.prototype-status>div{background:#fffcf48c;gap:6px;min-width:0;padding:14px 18px;display:grid}.prototype-status strong{overflow-wrap:anywhere;min-width:0;font-size:14px;font-weight:500}.prototype-grid{background:var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid}.prototype-role{background:#f3efe6cc;min-width:0}.prototype-role-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:12px;min-height:74px;padding:16px;display:flex}.prototype-role-heading span{font-family:var(--font-geist-mono), monospace;text-transform:uppercase;letter-spacing:.06em;font-size:13px}.prototype-role-heading small{text-align:right;min-width:40px}.prototype-variation-list{gap:10px;padding:14px;display:grid}.prototype-variation{text-align:left;align-content:start;gap:9px;min-height:136px;padding:13px;display:grid}.prototype-variation:hover,.prototype-variation[data-selected=true]{background:#fffcf4eb;border-color:#2d4c3973}.prototype-variation[data-active=true]{background:var(--active);color:#fffaf0;border-color:var(--gold)}.prototype-variation span{font-size:15px;font-weight:600}.prototype-variation small,.prototype-variation em{font-style:normal;line-height:1.4;display:block}.prototype-variation[data-active=true] small,.prototype-variation[data-active=true] em{color:#fffaf0b8}.workshop-page{background:linear-gradient(#ffffff4d, #fff0), var(--paper);grid-template-rows:auto auto minmax(0,1fr);min-height:100vh;display:grid}.workshop-header{z-index:10;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f3efe6eb;grid-template-columns:minmax(240px,360px) minmax(0,1fr);display:grid;position:sticky;top:0}.workshop-header>div:first-child{border-right:1px solid var(--line);align-content:center;gap:4px;padding:14px 18px;display:grid}.workshop-header a,.workshop-status span,.metronome-pulse span,.sequence-heading span,.sequence-heading small,.gesture-heading span,.reader-knob-section>span,.workshop-motif small,.motif-selector small{color:var(--muted);font-family:var(--font-geist-mono), monospace;font-size:11px}.workshop-header a{text-decoration:none}.workshop-header h1{letter-spacing:0;margin:0;font-size:24px;line-height:1}.workshop-transport{grid-template-columns:42px 42px 42px minmax(108px,auto) minmax(250px,auto) minmax(150px,1fr);align-items:center;gap:10px;min-width:0;padding:12px 14px;display:grid}.workshop-command,.reader-selector button,.gesture-grid button,.motif-selector button,.workshop-motif,.voice-toggle{background:var(--panel);color:var(--ink);border:1px solid #171b1729;border-radius:8px}.workshop-command{justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 13px;display:inline-flex}.workshop-command:hover,.reader-selector button[data-selected=true],.gesture-grid button:hover,.motif-selector button[data-selected=true]{background:var(--active);color:#fffaf0;border-color:var(--active)}.reader-selector{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;min-width:0;display:grid}.reader-selector button{min-height:34px;color:var(--muted);font-family:var(--font-geist-mono), monospace;padding:0 9px;font-size:11px}.workshop-status{border-bottom:1px solid var(--line);background:var(--line);grid-template-columns:minmax(260px,1.2fr) minmax(140px,.6fr) minmax(120px,.5fr) minmax(260px,1.1fr);gap:1px;display:grid}.workshop-status>div{background:#fffcf48c;gap:6px;min-width:0;padding:14px 18px;display:grid}.workshop-status strong{overflow-wrap:anywhere;min-width:0;font-size:14px;font-weight:500}.metronome-pulse{grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:10px}.metronome-pulse strong{font-family:var(--font-geist-mono), monospace}.metronome-pulse div{grid-template-columns:repeat(16,minmax(4px,1fr));gap:4px;display:grid}.metronome-pulse i{aspect-ratio:1;background:#171b1724;border-radius:50%;transition:background 80ms linear,transform 80ms linear;display:block;transform:scale(.78)}.metronome-pulse i[data-active=true]{background:var(--gold);transform:scale(1.18)}.workshop-layout{grid-template-columns:minmax(0,1fr) 320px;min-height:0;display:grid}.sequence-grid{background:var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;min-width:0;display:grid;overflow:auto}.sequence-panel{background:#f3efe6cc;grid-template-rows:auto minmax(0,1fr) auto;gap:0;min-width:0;display:grid}.sequence-panel[data-active=true] .sequence-heading{box-shadow:inset 0 -2px 0 var(--gold)}.sequence-panel[data-enabled=false]{opacity:.5}.sequence-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:12px;min-height:74px;padding:16px;display:flex}.sequence-heading h2,.gesture-heading h2{letter-spacing:0;margin:4px 0 0;font-size:15px;line-height:1.1}.sequence-heading span{text-transform:uppercase}.sequence-heading small{text-align:right;min-width:48px}.sequence-heading-actions{justify-items:end;gap:8px;display:grid}.voice-toggle{align-items:center;gap:6px;min-height:30px;padding:0 9px;font-size:12px;display:inline-flex}.voice-toggle[data-enabled=true]{background:#2d4c391f;border-color:#2d4c395c}.voice-toggle:hover,.voice-toggle[data-enabled=false]{background:var(--active);color:#fffaf0;border-color:var(--active)}.sequence-flow{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;min-width:0;padding:14px;display:grid}.sequence-duration{color:var(--muted);font-family:var(--font-geist-mono), monospace;grid-template-columns:auto minmax(0,1fr) 44px;align-items:center;gap:10px;padding:0 16px 14px;font-size:11px;display:grid}.sequence-duration input{width:100%;accent-color:var(--active)}.sequence-duration output{text-align:right;color:var(--ink)}.sequence-arrow{color:var(--muted);font-family:var(--font-geist-mono), monospace;writing-mode:sideways-lr;font-size:11px}.workshop-motif{text-align:left;gap:10px;min-width:0;padding:12px;display:grid}.workshop-motif>span{justify-content:space-between;align-items:center;gap:12px;font-weight:600;display:flex}.workshop-motif[data-selected=true] small{color:var(--muted)}.workshop-motif[data-selected=true]{color:var(--ink);border-color:var(--gold);background:#fffcf4f0;box-shadow:inset 0 0 0 1px #b69a5473}.workshop-motif[data-sequence-active=true]{border-color:#2d4c3994;box-shadow:inset 0 0 0 1px #2d4c392e,0 0 0 2px #b69a542e}.motif-grid{grid-template-columns:repeat(var(--steps), minmax(7px, 1fr));grid-template-rows:repeat(var(--lanes), minmax(7px, 1fr));aspect-ratio:16/8;gap:3px;display:grid}.motif-grid i{background:#171b1717;border-radius:2px;outline:1px solid #0000;min-width:0;transition:background 80ms linear,outline-color 80ms linear;display:block}.motif-grid i[data-active=true]{background:rgba(82, 110, 124, calc(.32 + var(--velocity) * .42))}.motif-grid i[data-pulse=true]{background:#b69a5457;outline-color:#b69a54c7}.motif-grid i[data-active=true][data-pulse=true]{background:#2d4c39d1}.gesture-panel{border-left:1px solid var(--line);background:#f3efe6c7;min-width:0;overflow:auto}.gesture-heading{border-bottom:1px solid var(--line);padding:16px}.motif-selector{border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:14px 16px;display:grid}.motif-selector button{min-height:48px;font-family:var(--font-geist-mono), monospace;place-items:center;gap:2px;display:grid}.motif-selector button[data-selected=true] small{color:#fffaf0b8}.reader-knob-section{border-bottom:1px solid var(--line);gap:12px;padding:14px 16px 16px;display:grid}.reader-knob-grid{margin-top:0}.reader-knob-grid .knob-control:last-child:nth-child(odd){grid-column:1/-1}.gesture-grid{gap:8px;padding:14px 16px 18px;display:grid}.gesture-grid button{justify-content:center;align-items:center;gap:7px;min-height:38px;padding:0 12px;display:inline-flex}.mfwc-viewer{--viewer-line:#7f5d63;--viewer-rule:clamp(1px, .132vw, 12px);--viewer-note-thickness:var(--viewer-rule);color:#f3efe6;min-height:100vh;font-family:var(--font-geist-mono), monospace;background:#000;grid-template-rows:minmax(0,1fr);align-content:center;place-items:center;padding:13px clamp(32px,5vw,76px);display:grid;overflow:hidden}.viewer-stage{aspect-ratio:1293/593;gap:var(--viewer-rule);width:min(100vw - clamp(64px,10vw,152px),218vh - 56.68px);padding:var(--viewer-rule);background:var(--viewer-line);cursor:pointer;-webkit-user-select:none;user-select:none;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);display:grid}.viewer-controls{width:min(100vw - 20px,218vh - 56.68px);color:var(--viewer-line);font-family:var(--font-geist-mono), monospace;grid-template-columns:46px minmax(130px,190px) minmax(135px,210px) minmax(210px,290px) minmax(150px,240px);place-items:stretch stretch;gap:10px;display:grid}.viewer-play-button,.viewer-color-control,.viewer-border-control,.viewer-reader-control,.viewer-tempo-control{border:1px solid var(--viewer-line);height:38px;color:var(--viewer-line);background:#000;border-radius:0}.viewer-play-button{place-items:center;padding:0;display:grid}.viewer-play-button[data-active=true]{background:var(--viewer-line);color:#000}.viewer-color-control,.viewer-border-control,.viewer-reader-control,.viewer-tempo-control{align-items:center;gap:10px;min-width:0;padding:0 10px;font-size:11px;line-height:1;display:grid}.viewer-color-control{grid-template-columns:42px 34px minmax(0,1fr)}.viewer-border-control,.viewer-tempo-control{grid-template-columns:46px minmax(0,1fr) 44px}.viewer-reader-control{grid-template-columns:42px repeat(3,minmax(0,1fr));gap:0;padding:0}.viewer-reader-control>span{border-right:1px solid var(--viewer-line);place-items:center;display:grid}.viewer-reader-control button{border:0;border-right:1px solid var(--viewer-line);min-width:0;color:var(--viewer-line);font-family:var(--font-geist-mono), monospace;background:0 0;border-radius:0;font-size:10px}.viewer-reader-control button:last-child{border-right:0}.viewer-reader-control button[data-active=true]{background:var(--viewer-line);color:#000}.viewer-color-control span,.viewer-color-control output,.viewer-border-control span,.viewer-border-control output,.viewer-reader-control span,.viewer-tempo-control span,.viewer-tempo-control output{font-family:var(--font-geist-mono), monospace;font-variant-numeric:tabular-nums}.viewer-color-control output,.viewer-border-control output,.viewer-tempo-control output{text-align:right}.viewer-color-control input[type=color]{border:1px solid var(--viewer-line);cursor:pointer;background:0 0;border-radius:50%;width:28px;height:28px;padding:0;overflow:hidden}.viewer-color-control input[type=color]::-webkit-color-swatch-wrapper{padding:0}.viewer-color-control input[type=color]::-webkit-color-swatch{border:0;border-radius:50%}.viewer-color-control output{text-overflow:ellipsis;min-width:0;overflow:hidden}.viewer-border-control input[type=range],.viewer-tempo-control input[type=range]{width:100%;min-width:0;accent-color:var(--viewer-line);margin:0}.viewer-half{gap:var(--viewer-rule);min-width:0;min-height:0;display:grid}.viewer-half-left,.viewer-half-right{grid-template-rows:repeat(2,minmax(0,1fr))}.viewer-quadrant{background:#000;grid-template-rows:minmax(0,1fr) clamp(42px,5vw,66px);grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;min-height:0;display:grid}.viewer-shader-cell{background:#000;place-items:center;min-width:0;min-height:0;padding:clamp(12px,2.3vw,34px) clamp(12px,2.6vw,36px) clamp(8px,1.4vw,20px);display:grid}.viewer-motif-cell{border-top:var(--viewer-rule) solid var(--viewer-line);background:#000;min-width:0;min-height:0;overflow:hidden}.viewer-motif-cell+.viewer-motif-cell{border-left:var(--viewer-rule) solid var(--viewer-line)}.viewer-shader-shell{aspect-ratio:1.62;place-self:center;width:min(94%,310px);transition:filter .14s linear;position:relative}.panel-shader-canvas{isolation:isolate;width:100%;height:100%;position:relative}.panel-shader-canvas canvas{filter:saturate(.9)brightness(1.02)}.viewer-motif-grid{grid-template-columns:repeat(var(--steps), minmax(0, 1fr));grid-template-rows:repeat(var(--lanes), minmax(0, 1fr));background:0 0;gap:0;width:100%;height:100%;display:grid}.viewer-motif-grid i{background:0 0;border-radius:0;min-width:0;min-height:0;transition:background 90ms linear,transform 90ms linear;display:block;position:relative}.viewer-motif-grid i:before{content:"";height:var(--viewer-note-thickness);opacity:0;background:0 0;transition:background 90ms linear,opacity 90ms linear;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.viewer-motif-grid i[data-active=true]:before{background:var(--viewer-line);opacity:calc(.58 + var(--velocity) * .32)}.viewer-motif-grid i[data-pulse=true]:before{opacity:1;background:#b69a54f2}.warp-view{--warp-line:#fff;--warp-rule:clamp(1px, .132vw, 12px);--warp-note-thickness:clamp(2px, .18vw, 5px);background:#000;place-items:center;min-height:100vh;padding:13px clamp(32px,5vw,76px);display:grid;overflow:hidden}.warp-motif-grid{aspect-ratio:4/3;gap:var(--warp-rule);width:min(100vw - clamp(64px,10vw,152px),133.333vh - 34.6667px);padding:var(--warp-rule);background:var(--warp-line);grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.warp-motif-tile{background:#000;grid-template-rows:minmax(0,1fr) clamp(42px,5vw,66px);min-width:0;min-height:0;display:grid;overflow:hidden}.warp-canvas-frame{background:#000;place-items:center;min-width:0;min-height:0;padding:clamp(4px,.7vw,10px);display:grid}.warp-ropsten-canvas{aspect-ratio:5/6;image-rendering:auto;background:#000;width:100%;min-width:0;max-width:100%;height:auto;min-height:0;max-height:100%;display:block}.warp-motif-sequence{grid-template-columns:repeat(var(--steps), minmax(0, 1fr));grid-template-rows:repeat(var(--lanes), minmax(0, 1fr));border-top:var(--warp-rule) solid var(--warp-line);background:#000;gap:0;width:100%;min-width:0;height:100%;min-height:0;display:grid}.warp-motif-sequence i{background:0 0;border-radius:0;min-width:0;min-height:0;display:block;position:relative}.warp-motif-sequence i:before{content:"";height:var(--warp-note-thickness);opacity:0;background:0 0;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.warp-motif-sequence i[data-active=true]:before{background:var(--warp-line);opacity:1}.panel-study-page{background:#000;min-height:100vh;padding:clamp(18px,3vw,42px);display:block}.panel-study-grid{grid-template-columns:repeat(auto-fit,minmax(clamp(210px,24vw,320px),1fr));align-content:center;gap:clamp(10px,1.4vw,18px);width:min(100%,1280px);min-height:calc(100vh - clamp(36px,6vw,84px));margin:0 auto;display:grid}.panel-study-page--motif-grid{place-items:center;padding:clamp(12px,2vw,28px) clamp(16px,3vw,48px);display:grid;overflow:hidden}.panel-study-grid--motifs{--panel-study-cross-line:#ffffffeb;--panel-study-cross-width:clamp(1px, .12vw, 2px);aspect-ratio:2.28;grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(4,minmax(0,1fr));align-content:stretch;gap:clamp(8px,1vw,14px);width:min(100vw - clamp(32px,6vw,96px),228vh - 2.28*clamp(24px,4vw,56px));min-height:0;position:relative}.panel-study-grid--motifs:before,.panel-study-grid--motifs:after{content:"";z-index:20;pointer-events:none;background:var(--panel-study-cross-line);position:absolute}.panel-study-grid--motifs:before{width:var(--panel-study-cross-width);top:0;bottom:0;left:50%;transform:translate(-50%)}.panel-study-grid--motifs:after{height:var(--panel-study-cross-width);top:50%;left:0;right:0;transform:translateY(-50%)}.panel-study-tile{aspect-ratio:1.62;background:#050505;width:100%;min-width:0;min-height:0;position:relative;overflow:hidden}.panel-study-tile--with-motif{aspect-ratio:auto;background:#000;grid-template-rows:minmax(0,1fr) clamp(22px,2.8vw,38px);height:100%;display:grid}.panel-study-tile:before,.panel-study-tile:after{content:"";pointer-events:none;position:absolute;inset:0}.panel-study-tile:before{z-index:3;opacity:.38;mix-blend-mode:screen;filter:blur(18px)}.panel-study-tile:after{z-index:4;opacity:.58;mix-blend-mode:normal}.panel-study-shader,.panel-study-tile .panel-shader-canvas{width:100%;height:100%}.panel-study-shader{z-index:1;position:relative}.panel-study-tile--with-motif .panel-study-shader{min-width:0;min-height:0;overflow:hidden}.panel-study-tile .panel-shader-canvas canvas{filter:saturate(.72)brightness(1.08)contrast(.88)}.panel-study-motif-sequence{--panel-study-line:#ffffffeb;--panel-study-note-thickness:clamp(2px, .18vw, 5px);--panel-study-note-active-thickness:clamp(4px, .38vw, 8px);grid-template-columns:repeat(var(--steps), minmax(0, 1fr));grid-template-rows:repeat(var(--lanes), minmax(0, 1fr));z-index:5;background:#000;gap:0;width:100%;min-width:0;height:100%;min-height:0;display:grid;position:relative}.panel-study-motif-sequence i{background:0 0;min-width:0;min-height:0;display:block;position:relative}.panel-study-motif-sequence i:before{content:"";height:var(--panel-study-note-thickness);opacity:0;background:0 0;transition:height .9s cubic-bezier(.22,.78,.24,1),opacity .9s cubic-bezier(.22,.78,.24,1),box-shadow .9s cubic-bezier(.22,.78,.24,1),background-color .9s cubic-bezier(.22,.78,.24,1);position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.panel-study-motif-sequence i[data-active=true]:before{background:var(--panel-study-line);opacity:calc(.34 + var(--velocity) * .24)}.panel-study-motif-sequence i[data-current=true]:before{height:var(--panel-study-note-active-thickness);opacity:1;background:#fff;box-shadow:0 0 clamp(4px,.72vw,12px) #ffffffad,0 0 clamp(8px,1.2vw,18px) #ffffff3d}.panel-study-motif-sequence i[data-pulse=true]:before{animation:1.8s cubic-bezier(.16,.82,.22,1) panel-study-note-pulse}.panel-study-motif-sequence i[data-current=true][data-pulse=true]:before{animation:none}@keyframes panel-study-note-pulse{0%,24%{height:var(--panel-study-note-active-thickness);opacity:1;background:#fff;box-shadow:0 0 clamp(4px,.72vw,12px) #ffffffad,0 0 clamp(8px,1.2vw,18px) #ffffff3d}to{background:var(--panel-study-line);height:var(--panel-study-note-thickness);opacity:calc(.34 + var(--velocity) * .24);box-shadow:0 0 #fff0}}.panel-study-fold{z-index:2;pointer-events:none;mix-blend-mode:screen;position:absolute;inset:0}.panel-study-fold-a{opacity:.5}.panel-study-fold-b{opacity:.32}.panel-study-tile[data-fold=shelf] .panel-study-shader{filter:blur(3px);clip-path:polygon(8% 17%,92% 17%,98% 49%,91% 86%,10% 86%,2% 50%);transform:scale(1.46,1.22);-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 12% 88%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 12% 88%,#0000 100%)}.panel-study-tile[data-fold=shelf] .panel-study-fold-a{filter:blur(14px);background:linear-gradient(#0000 0 25%,#f5f2de75 36%,#0000 49%),linear-gradient(#0000 48%,#b8cbc461 61%,#0000 76%)}.panel-study-tile[data-fold=shelf] .panel-study-fold-b{filter:blur(28px);background:radial-gradient(at 50% 52%,#fff4cc57,#0000 54%)}.panel-study-tile[data-fold=shelf]:before{background:linear-gradient(#0000 10%,#f0efdd8a 28%,#0000 47%),linear-gradient(#0000 50%,#b7cbc66b 72%,#0000 91%)}.panel-study-tile[data-fold=shelf]:after{background:linear-gradient(#0000 43%,#000 50%,#0000 58%),linear-gradient(90deg,#000 0%,#0000 18% 82%,#000 100%)}.panel-study-tile[data-fold=haze] .panel-study-shader{filter:blur(5px);opacity:.82;transform:scale(1.56,1.22);-webkit-mask-image:radial-gradient(#000 0 56%,#0000 78%);mask-image:radial-gradient(#000 0 56%,#0000 78%)}.panel-study-tile[data-fold=haze] .panel-study-fold-a{filter:blur(22px);background:linear-gradient(#0000 15%,#e5f2f47a 41%,#0000 56%),linear-gradient(90deg,#0000 0 13%,#ffefcf2e 26%,#0000 42% 58%,#cfe6e233 76%,#0000 100%)}.panel-study-tile[data-fold=haze]:before{background:linear-gradient(#0000 18%,#e1eeef85 46%,#0000 69%),linear-gradient(90deg,#0000 13%,#f5eed94d 31%,#0000 47%,#cae1de52 70%,#0000 88%)}.panel-study-tile[data-fold=haze]:after{background:radial-gradient(#0000 0 58%,#000 82%),linear-gradient(#0000 46%,#000000ad 52%,#0000 61%)}.panel-study-tile[data-fold=split] .panel-study-shader{filter:blur(4px);clip-path:polygon(4% 10%,96% 4%,100% 46%,87% 53%,100% 92%,6% 84%,0 54%,12% 47%);transform:scale(1.42,1.28)skew(-8deg);-webkit-mask-image:linear-gradient(#0000 0%,#000 16% 43%,#0000 50%,#000 57% 84%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 16% 43%,#0000 50%,#000 57% 84%,#0000 100%)}.panel-study-tile[data-fold=split] .panel-study-fold-a{filter:blur(18px);background:linear-gradient(#0000 42%,#e6eed680 49%,#0000 54%),radial-gradient(at 50% 34%,#ffefcc47,#0000 48%)}.panel-study-tile[data-fold=split]:before{background:linear-gradient(176deg,#0000 15%,#e9efd870 38%,#0000 51%),linear-gradient(184deg,#0000 47%,#dae3d36b 64%,#0000 82%)}.panel-study-tile[data-fold=split]:after{background:linear-gradient(#0000 46%,#000 50%,#0000 55%),linear-gradient(102deg,#000 0%,#0000 24% 76%,#000 100%)}.panel-study-tile[data-fold=threshold] .panel-study-shader{filter:blur(5px);transform:scale(1.5,1.16);-webkit-mask-image:radial-gradient(#000 0 47%,#0000 69%);mask-image:radial-gradient(#000 0 47%,#0000 69%)}.panel-study-tile[data-fold=threshold] .panel-study-fold-a{filter:blur(16px);background:linear-gradient(#0000 20%,#f4d5cd70 42%,#f4d5cd38 52%,#0000 74%),linear-gradient(90deg,#ffe6da2e,#0000 21% 79%,#e0b9ba33)}.panel-study-tile[data-fold=threshold]:before{background:linear-gradient(#0000 21%,#f4dbd58f 43%,#0000 58%),linear-gradient(#0000 55%,#ddb8ba66 70%,#0000 88%)}.panel-study-tile[data-fold=threshold]:after{background:radial-gradient(#0000 0 48%,#000 76%),linear-gradient(#0000 46%,#000 51%,#0000 59%)}.panel-study-tile[data-fold=column] .panel-study-shader{filter:blur(5px);transform:scale(1.7,1.18)rotate(90deg);-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 19% 81%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 19% 81%,#0000 100%)}.panel-study-tile[data-fold=column] .panel-study-fold-a{filter:blur(13px);background:linear-gradient(90deg,#0000 13%,#e9f7ee6b 36%,#0000 47% 55%,#cee2d661 70%,#0000 87%),linear-gradient(#0000 42%,#000000e0 50%,#0000 58%)}.panel-study-tile[data-fold=column]:before{background:linear-gradient(90deg,#0000 10%,#e2f5eb70 32%,#0000 47% 56%,#cbe4d86b 73%,#0000 91%),linear-gradient(#0000 26%,#f7eed933 44%,#0000 68%)}.panel-study-tile[data-fold=column]:after{background:linear-gradient(90deg,#000 0%,#0000 23% 77%,#000 100%),linear-gradient(#0000 43%,#000 52%,#0000 62%)}.panel-study-tile[data-fold=rake] .panel-study-shader{filter:blur(5px);opacity:.78;clip-path:polygon(6% 12%,94% 12%,100% 48%,92% 89%,8% 86%,0 53%);transform:scale(1.48,1.18);-webkit-mask-image:linear-gradient(#0000 0%,#000 11% 89%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 11% 89%,#0000 100%)}.panel-study-tile[data-fold=rake] .panel-study-fold-a{filter:blur(18px);background:linear-gradient(#0000 19%,#f6f1e075 37%,#0000 51%),linear-gradient(#0000 54%,#b6c5c35c 73%,#0000 89%)}.panel-study-tile[data-fold=rake]:before{background:linear-gradient(#0000 18%,#f6f2e285 34%,#0000 48%),linear-gradient(#0000 50%,#bbcbc757 70%,#0000 92%)}.panel-study-tile[data-fold=rake]:after{background:linear-gradient(#0000 43%,#000 52%,#0000 62%),linear-gradient(90deg,#000 0%,#0000 16% 84%,#000 100%)}.panel-study-tile[data-fold=glider] .panel-study-shader{filter:blur(4px);clip-path:polygon(9% 8%,91% 18%,100% 53%,82% 88%,7% 78%,0 39%);transform:scale(1.52,1.28)rotate(-4deg);-webkit-mask-image:linear-gradient(105deg,#0000 0%,#000 22% 78%,#0000 100%);mask-image:linear-gradient(105deg,#0000 0%,#000 22% 78%,#0000 100%)}.panel-study-tile[data-fold=glider] .panel-study-fold-a{filter:blur(18px);background:linear-gradient(166deg,#0000 18%,#ffecb266 43%,#0000 63%),linear-gradient(#0000 47%,#cbd2be42 60%,#0000 74%)}.panel-study-tile[data-fold=glider]:before{background:linear-gradient(170deg,#0000 15%,#ffedb675 40%,#0000 63%),linear-gradient(185deg,#0000 48%,#ccd5c266 66%,#0000 86%)}.panel-study-tile[data-fold=glider]:after{background:linear-gradient(172deg,#0000 44%,#000 53%,#0000 63%),linear-gradient(98deg,#000 0%,#0000 21% 79%,#000 100%)}.panel-study-tile[data-fold=basin] .panel-study-shader{filter:blur(6px);transform:scale(1.54,1.28);-webkit-mask-image:radial-gradient(#000 0 63%,#0000 84%);mask-image:radial-gradient(#000 0 63%,#0000 84%)}.panel-study-tile[data-fold=basin] .panel-study-fold-a{filter:blur(22px);background:radial-gradient(#e6f3f470,#0000 46%),linear-gradient(90deg,#0000 0 31%,#000000b8 50%,#0000 69% 100%)}.panel-study-tile[data-fold=basin]:before{background:linear-gradient(#0000 17%,#dae9ee7a 40%,#0000 55%),linear-gradient(#0000 51%,#ecf0ed66 68%,#0000 88%)}.panel-study-tile[data-fold=basin]:after{background:radial-gradient(#0000 0 58%,#000 82%),linear-gradient(#0000 44%,#000 52%,#0000 61%)}.panel-study-tile[data-fold=screen] .panel-study-shader{filter:blur(5px);opacity:.76;clip-path:polygon(11% 12%,89% 10%,98% 48%,86% 88%,13% 88%,2% 51%);transform:scale(1.5,1.22);-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 9% 91%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 9% 91%,#0000 100%)}.panel-study-tile[data-fold=screen] .panel-study-fold-a{filter:blur(20px);background:linear-gradient(#0000 14%,#eee1ca7a 37%,#0000 52%),linear-gradient(#0000 52%,#f8efda57 70%,#0000 88%)}.panel-study-tile[data-fold=screen]:before{background:linear-gradient(#0000 18%,#f0e1ca80 36%,#0000 51%),linear-gradient(#0000 53%,#f5e8cf61 71%,#0000 91%)}.panel-study-tile[data-fold=screen]:after{background:linear-gradient(#0000 43%,#000 52%,#0000 62%),linear-gradient(90deg,#000 0%,#0000 19% 81%,#000 100%)}.panel-study-tile[data-fold=afterglow] .panel-study-shader{filter:blur(7px);opacity:.72;transform:scale(1.64,1.32);-webkit-mask-image:radial-gradient(#000 0 50%,#0000 77%);mask-image:radial-gradient(#000 0 50%,#0000 77%)}.panel-study-tile[data-fold=afterglow] .panel-study-fold-a{filter:blur(28px);background:radial-gradient(at 38% 48%,#e1f4e25c,#0000 42%),radial-gradient(at 63% 52%,#f8e2f247,#0000 46%)}.panel-study-tile[data-fold=afterglow]:before{background:linear-gradient(#0000 16%,#e6f4e66b 40%,#0000 56%),linear-gradient(#0000 51%,#f7e1f057 70%,#0000 89%)}.panel-study-tile[data-fold=afterglow]:after{background:radial-gradient(#0000 0 47%,#000 79%),linear-gradient(#0000 44%,#000 53%,#0000 62%)}.panel-study-tile[data-fold=afterglow] .panel-study-fold-b,.panel-study-tile[data-fold=basin] .panel-study-fold-b,.panel-study-tile[data-fold=haze] .panel-study-fold-b,.panel-study-tile[data-fold=threshold] .panel-study-fold-b{mix-blend-mode:normal;filter:blur(5px);background:linear-gradient(#0000 43%,#000000eb 50%,#0000 57%)}.owner-header a,.owner-header-actions span,.owner-sidebar-heading span,.owner-motif-selector small,.owner-editor-top span{color:#171b1794;font-family:var(--font-geist-mono), monospace;font-size:11px}.owner-page{background:linear-gradient(#ffffff42, #fff0), var(--paper);min-height:100vh;color:var(--ink);grid-template-rows:auto minmax(0,1fr);display:grid}.owner-header{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f3efe6eb;grid-template-columns:minmax(220px,320px) minmax(0,1fr);display:grid;position:sticky;top:0}.owner-header>div:first-child{border-right:1px solid var(--line);align-content:center;gap:4px;padding:14px 18px;display:grid}.owner-header a{text-decoration:none}.owner-header h1{letter-spacing:0;margin:0;font-size:24px;line-height:1}.owner-header-actions{justify-content:flex-end;align-items:center;gap:10px;min-width:0;padding:12px 14px;display:flex}.owner-command,.owner-motif-selector button,.owner-gesture-panel button{color:var(--ink);background:var(--panel);border:1px solid #171b1729;border-radius:8px}.owner-command{justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 13px;display:inline-flex}.owner-command:hover,.owner-motif-selector button[data-selected=true],.owner-gesture-panel button:hover{background:var(--active);color:#fffaf0;border-color:var(--active)}.owner-shell{grid-template-columns:220px minmax(0,1fr) 300px;min-height:0;display:grid}.owner-sidebar,.owner-gesture-panel{background:#f3efe6c7;min-width:0;overflow:auto}.owner-sidebar{border-right:1px solid var(--line)}.owner-gesture-panel{border-left:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:8px;padding:14px;display:grid}.owner-gesture-panel button{justify-content:center;align-items:center;gap:6px;min-height:38px;padding:0 10px;font-size:12px;display:inline-flex}.owner-sidebar-heading{border-bottom:1px solid var(--line);gap:6px;padding:16px;display:grid}.owner-sidebar-heading strong{font-size:15px;font-weight:600}.owner-motif-selector{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:14px;display:grid}.owner-motif-selector button{min-height:54px;font-family:var(--font-geist-mono), monospace;place-items:center;gap:2px;display:grid}.owner-motif-selector button[data-selected=true] small{color:#fffaf0b8}.owner-editor-panel{grid-template-rows:auto minmax(0,1fr);min-width:0;padding:clamp(16px,2.4vw,30px);display:grid}.owner-editor-top{justify-content:space-between;align-items:end;gap:16px;padding-bottom:16px;display:flex}.owner-editor-top h2{color:var(--muted);font-family:var(--font-geist-mono), monospace;margin-top:5px;font-size:12px;font-weight:500;line-height:1.35}.owner-score-grid{grid-template-columns:repeat(var(--steps), minmax(16px, 1fr));grid-template-rows:repeat(var(--lanes), minmax(28px, 1fr));aspect-ratio:16/8;background:var(--active);border:1px solid #171b1729;align-self:start;gap:5px;padding:14px;display:grid}.owner-score-grid button{background:#fffaf014;border:1px solid #fffaf01f;border-radius:3px;min-width:0}.owner-score-grid button[data-active=true]{background:rgba(182, 154, 84, calc(.5 + var(--velocity) * .34));border-color:#fffaf0b8}@media (max-width:1180px){.synth-lab{grid-template-rows:auto auto auto;grid-template-columns:240px minmax(0,1fr)}.synth-top{grid-template-columns:1fr}.title-block{border-right:0;border-bottom:1px solid var(--line)}.transport-bar{grid-template-columns:42px 42px 42px repeat(2,minmax(130px,1fr))}.output-meter{grid-column:span 2}.inspector{border-left:0;border-top:1px solid var(--line);grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.prototype-header,.prototype-status,.prototype-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.prototype-transport{grid-template-columns:42px 42px 42px repeat(2,minmax(104px,auto))}.prototype-transport .output-meter{grid-column:1/-1}.workshop-layout{grid-template-columns:1fr}.gesture-panel{border-left:0;border-top:1px solid var(--line)}.gesture-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.viewer-header,.viewer-status,.viewer-panel-grid,.owner-shell{grid-template-columns:repeat(2,minmax(0,1fr))}.viewer-transport{grid-template-columns:42px 42px 42px minmax(88px,auto) minmax(250px,auto)}.viewer-transport .output-meter,.viewer-transport nav{grid-column:1/-1}.owner-sidebar,.owner-gesture-panel{border:0}.owner-editor-panel{grid-area:1/1/auto/-1}}@media (max-width:760px){.synth-lab{display:block}.synth-top{position:static}.transport-bar,.keyboard,.inspector{grid-template-columns:1fr}.voice-matrix{border-right:0;border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr))}.roll-panel{min-height:520px}.prototype-header,.prototype-status,.prototype-grid,.prototype-transport{grid-template-columns:1fr}.prototype-header{position:static}.prototype-header>div:first-child{border-right:0;border-bottom:1px solid var(--line)}.workshop-header,.workshop-status,.workshop-transport,.sequence-grid,.sequence-flow,.gesture-grid{grid-template-columns:1fr}.workshop-header{position:static}.workshop-header>div:first-child{border-right:0;border-bottom:1px solid var(--line)}.sequence-arrow{writing-mode:horizontal-tb;text-align:center}.viewer-header,.viewer-status,.viewer-transport,.viewer-panel-grid,.owner-header,.owner-shell,.owner-header-actions,.owner-gesture-panel{grid-template-columns:1fr}.viewer-header,.owner-header{position:static}.viewer-header>div:first-child,.owner-header>div:first-child{border-bottom:1px solid #f3efe624;border-right:0}.owner-header>div:first-child{border-bottom-color:var(--line)}.owner-header-actions{justify-content:stretch}.owner-command{width:100%}.owner-sidebar,.owner-editor-panel,.owner-gesture-panel{grid-area:auto}}.keycard-page{--keycard-line:#7f5d63;--keycard-ink:#f3efe6;--keycard-muted:#f3efe68f;--keycard-field:#000;min-height:100vh;color:var(--keycard-ink);font-family:var(--font-geist-mono), monospace;background:#000}.keycard-hero{grid-template-columns:minmax(260px,.78fr) minmax(320px,1fr);align-items:center;gap:clamp(16px,3.4vw,42px);min-height:100svh;padding:13px clamp(10px,4vw,58px);display:grid}.keycard-controls{max-width:460px;color:var(--keycard-line);gap:10px;display:grid}.motif-pick{border:1px solid var(--keycard-line);grid-template-columns:repeat(8,minmax(28px,1fr));gap:0;display:grid}.motif-pick button,.keycard-command,.upload-button,.owner-gestures button{border:1px solid var(--keycard-line);background:var(--keycard-field);color:var(--keycard-line);font-family:var(--font-geist-mono), monospace;text-transform:lowercase;border-radius:0}.motif-pick button{aspect-ratio:1;font-variant-numeric:tabular-nums;border-width:0 1px 0 0;font-size:11px}.motif-pick button:last-child{border-right:0}.motif-pick button[data-selected=true],.keycard-command.primary,.owner-gestures button:hover{background:var(--keycard-line);border-color:var(--keycard-line);color:#000}.keycard-actions{flex-wrap:wrap;gap:8px;display:flex}.keycard-layout-options,.batch-layout-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:min(100%,260px);display:inline-grid}.keycard-layout-options button,.batch-layout-options button{border:1px solid var(--keycard-line,#f7f7f038);background:var(--keycard-field,#000);min-height:34px;color:inherit;font-family:var(--font-geist-mono), monospace;text-transform:lowercase;border-radius:0;font-size:11px}.keycard-layout-options button[data-selected=true],.batch-layout-options button[data-selected=true]{background:var(--keycard-line,#f7f7f0);border-color:var(--keycard-line,#f7f7f0);color:#000}.keycard-command,.upload-button{justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 14px;font-weight:650;display:inline-flex}.keycard-command:disabled{opacity:.46}.keycard-readout{font-family:var(--font-geist-mono), monospace;font-variant-numeric:tabular-nums;gap:5px;padding-top:4px;display:grid}.keycard-readout span{color:var(--keycard-muted);font-size:12px}.keycard-preview{place-items:center;min-height:0;display:grid}.keycard-art{border:1px solid var(--keycard-line);background:#fffdf7;width:min(100%,440px)}.keycard-art svg{width:100%;height:auto;display:block}.keycard-empty{aspect-ratio:33/45;border:1px solid var(--keycard-line);width:min(100%,440px);color:var(--keycard-line);font-family:var(--font-geist-mono), monospace;background:#000;align-content:center;place-items:center;gap:12px;font-size:12px;display:grid}.keycard-scan-section{border-top:1px solid var(--keycard-line);background:#000;grid-template-columns:minmax(260px,.72fr) minmax(320px,1fr);align-items:stretch;gap:28px;padding:34px clamp(10px,4vw,58px) 46px;display:grid}.scan-copy{align-content:start;gap:14px;display:grid}.scan-copy p,.owner-editor-heading p{color:var(--keycard-muted);margin:0;line-height:1.5}.upload-button{cursor:pointer;width:fit-content}.upload-button input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.scanner-panel{gap:12px;display:grid}.scanner-view{border:1px solid var(--keycard-line);background:#050505;min-height:360px;position:relative;overflow:hidden}.scanner-view video,.scanner-view canvas{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.scanner-view canvas{display:none}.scan-frame{aspect-ratio:33/45;border:1px solid var(--keycard-line);color:#f3efe6e0;pointer-events:none;place-items:center;width:min(82%,420px);display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.scan-frame:before,.scan-frame:after{content:"";border-top:1px solid #7f5d639e;border-bottom:1px solid #7f5d6352;position:absolute;inset:18px}.scanner-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.scanner-actions span{color:var(--keycard-muted);font-family:var(--font-geist-mono), monospace;font-size:12px}.keycard-editor-section{background:#000;padding:0 clamp(10px,4vw,58px) 58px}.owner-editor{border-top:1px solid var(--keycard-line);padding-top:30px}.owner-editor-heading{justify-content:space-between;align-items:start;gap:16px;margin-bottom:20px;display:flex}.owner-editor-layout{grid-template-columns:minmax(320px,1fr) minmax(220px,310px);align-items:start;gap:24px;display:grid}.owner-motif-grid{grid-template-columns:repeat(var(--steps), minmax(16px, 1fr));grid-template-rows:repeat(var(--lanes), minmax(24px, 1fr));aspect-ratio:16/8;border:1px solid var(--keycard-line);background:#050505;gap:0;padding:1px;display:grid}.owner-motif-grid button{background:0 0;border:0;border-radius:0;min-width:0;position:relative}.owner-motif-grid button:before{content:"";background:0 0;height:1px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.owner-motif-grid button[data-active=true]{background:0 0}.owner-motif-grid button[data-active=true]:before{background:var(--keycard-line);opacity:calc(.58 + var(--velocity) * .32)}.owner-gestures{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.owner-gestures button{justify-content:center;align-items:center;gap:6px;min-height:39px;padding:0 10px;font-size:11px;display:inline-flex}@media (max-width:900px){.keycard-hero,.keycard-scan-section,.owner-editor-layout{grid-template-columns:1fr}.keycard-hero{min-height:0}}@media (max-width:560px){.motif-pick{grid-template-columns:repeat(4,minmax(34px,1fr))}.scanner-view{min-height:300px}.owner-editor-heading,.scanner-actions{justify-content:stretch;display:grid}.owner-gestures{grid-template-columns:1fr}}.party-keycard-page{color:#f7f7f0;min-height:100svh;font-family:var(--font-geist-mono), monospace;background:#000;place-items:center;padding:clamp(14px,4vw,30px);display:grid}.party-scan-shell,.party-motif-shell{gap:14px;width:min(100%,620px);display:grid}.party-camera{background:#050505;border:1px solid #f7f7f033;min-height:min(78svh,720px);position:relative;overflow:hidden}.party-camera video,.party-camera canvas{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.party-camera canvas{display:none}.party-camera-frame{aspect-ratio:33/45;color:#f7f7f0db;pointer-events:none;border:1px solid #f7f7f0b8;place-items:center;width:min(82%,420px);display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.party-camera-frame:before,.party-camera-frame:after{content:"";border-top:1px solid #f7f7f066;border-bottom:1px solid #f7f7f038;position:absolute;inset:18px}.party-scan-button,.party-motif-top button,.party-gesture-grid button{color:#f7f7f0;font-family:var(--font-geist-mono), monospace;text-transform:lowercase;background:#000;border:1px solid #f7f7f03d;border-radius:0}.party-scan-button{justify-content:center;align-items:center;gap:8px;min-height:46px;padding:0 18px;display:inline-flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.party-scan-button:hover,.party-motif-top button:hover,.party-gesture-grid button:hover,.party-gesture-grid button[data-active=true]{color:#000;background:#f7f7f0}.party-scan-status,.party-motif-meta,.party-motif-top{color:#f7f7f08f;text-transform:lowercase;justify-content:space-between;gap:16px;font-size:11px;line-height:1.2;display:flex}.party-motif-top{align-items:start}.party-motif-top>div{gap:5px;min-width:0;display:grid}.party-motif-top strong{color:#f7f7f0;font-size:clamp(24px,8vw,48px);font-weight:500;line-height:.95}.party-motif-top code{color:#f7f7f0c2;max-width:100%;font-family:var(--font-geist-mono), monospace;overflow-wrap:anywhere;font-size:11px;line-height:1.35}.party-motif-top button{flex:none;place-items:center;width:42px;height:42px;display:grid}.party-live-motif{grid-template-columns:repeat(var(--steps), minmax(0, 1fr));grid-template-rows:repeat(var(--lanes), minmax(0, 1fr));aspect-ratio:16/8;background:#050505;border:1px solid #f7f7f033;gap:clamp(4px,1vw,8px);padding:clamp(10px,3vw,18px);display:grid}.party-live-motif i{background:#f7f7f00d;border:1px solid #f7f7f02e;min-width:0}.party-live-motif i[data-active=true]{background:rgba(247, 247, 240, calc(.54 + var(--velocity) * .36));border-color:#f7f7f0d1}.party-gesture-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.party-gesture-grid button{overflow-wrap:anywhere;min-height:46px;padding:0 8px;font-size:11px}.keycard-batch-page{color:#f7f7f0;min-height:100vh;font-family:var(--font-geist-mono), monospace;background:#050505;grid-template-columns:minmax(300px,420px) minmax(320px,1fr);align-items:start;gap:clamp(18px,4vw,44px);padding:clamp(18px,5vw,58px);display:grid}.keycard-batch-panel,.keycard-batch-list{gap:14px;display:grid}.keycard-batch-panel header{gap:6px;display:grid}.keycard-batch-panel header span,.keycard-batch-panel label span,.batch-status,.keycard-batch-list article span{color:#f7f7f094;text-transform:lowercase;font-size:11px}.keycard-batch-panel h1{margin:0;font-size:clamp(34px,7vw,64px);font-weight:520;line-height:.95}.keycard-batch-panel label{gap:6px;min-width:0;display:grid}.keycard-batch-panel input{color:#f7f7f0;min-width:0;height:44px;font-family:var(--font-geist-mono), monospace;background:#000;border:1px solid #f7f7f038;border-radius:0;padding:0 12px}.batch-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.batch-layout-options{width:100%}.batch-layout-options button{color:#f7f7f0;background:#000;border-color:#f7f7f038;border-radius:0}.batch-layout-options button[data-selected=true]{color:#050505;background:#f7f7f0;border-color:#f7f7f0}.batch-primary,.batch-secondary{color:#050505;min-height:46px;font-family:var(--font-geist-mono), monospace;text-transform:lowercase;background:#f7f7f0;border:1px solid #f7f7f047;border-radius:0;justify-content:center;align-items:center;gap:8px;display:inline-flex}.batch-secondary{color:#f7f7f0;background:#000}.batch-primary:disabled,.batch-secondary:disabled{opacity:.48}.batch-status{align-items:center;gap:8px;min-height:20px;display:inline-flex}.keycard-batch-list{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.keycard-batch-list article{background:#000;border:1px solid #f7f7f029;gap:6px;min-width:0;padding:12px;display:grid}.keycard-batch-list article strong{text-transform:lowercase;font-weight:520}.keycard-batch-list article code{color:#f7f7f0b3;font-family:var(--font-geist-mono), monospace;overflow-wrap:anywhere;font-size:10px}.steward-generator-page{color:#f7f7f0;min-height:100vh;font-family:var(--font-geist-mono), monospace;background:#050505;grid-template-columns:minmax(300px,430px) minmax(320px,1fr);align-items:start;gap:clamp(18px,4vw,42px);padding:clamp(18px,5vw,58px);display:grid}.steward-generator-panel{gap:16px;display:grid;position:sticky;top:clamp(18px,5vw,58px)}.steward-generator-panel header{gap:6px;display:grid}.steward-generator-panel header span,.steward-generator-summary span,.steward-status,.steward-motif-group header span,.steward-address span{color:#f7f7f094;text-transform:lowercase;font-size:11px}.steward-generator-panel h1{margin:0;font-size:clamp(34px,7vw,64px);font-weight:520;line-height:.95}.steward-generator-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.steward-generator-summary div{background:#000;border:1px solid #f7f7f029;gap:7px;min-width:0;padding:12px;display:grid}.steward-generator-summary strong{font-size:24px;font-weight:520;line-height:1}.steward-primary,.steward-actions button{color:#050505;min-height:46px;font-family:var(--font-geist-mono), monospace;text-transform:lowercase;background:#f7f7f0;border:1px solid #f7f7f047;border-radius:0;justify-content:center;align-items:center;gap:8px;display:inline-flex}.steward-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.steward-actions button{color:#f7f7f0;background:#000;min-width:0}.steward-status{align-items:center;gap:8px;min-height:20px;display:inline-flex}.steward-records{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;min-width:0;display:grid}.steward-motif-group{background:#000;border:1px solid #f7f7f029;gap:12px;min-width:0;padding:12px;display:grid}.steward-motif-group header{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.steward-motif-group header strong{font-size:28px;font-weight:520;line-height:1}.steward-motif-group>div{gap:8px;display:grid}.steward-address{border-top:1px solid #f7f7f017;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0;min-height:28px;padding-top:8px;display:grid}.steward-address code{color:#f7f7f0ad;min-width:0;font-family:var(--font-geist-mono), monospace;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.steward-address strong{font-size:10px;font-weight:520}.steward-empty{color:#f7f7f07a;background:#000;border:1px solid #f7f7f029;place-items:center;min-height:min(62vh,520px);display:grid}@media (max-width:560px){.party-keycard-page{place-items:stretch stretch}.party-scan-shell,.party-motif-shell{width:100%}.party-camera{min-height:calc(100svh - 80px)}.party-gesture-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.keycard-batch-page,.steward-generator-page{grid-template-columns:1fr}.steward-generator-panel{position:static}.batch-controls,.steward-actions,.steward-generator-summary{grid-template-columns:1fr}}
