*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg: #0e0c09;--surface: #1a1713;--surface-up: #25221f;--surface-head:#0a0805;--surface-base:#0a0805;--border-light: #3b3734;--border: #272320;--border-dim: #14110e;--groove: #0b0906;--groove-edge: #292622;--control: #272320;--control-edge: #36322e;--text: #e0ddda;--text-value: #b3b1ad;--text-dim: #888682;--text-muted: #65635f;--accent: #887be2;--accent-dim: #635d99;--accent-glow: rgba(136, 123, 226, .12);--accent2: #7cae76;--accent2-dim: #648160;--accent2-glow:rgba(124, 174, 118, .1);--accent3: #ce7c4c;--accent3-dim: #906045;--accent4: #5897d2;--accent4-dim: #4b6f92;--accent4-glow:rgba(88, 151, 210, .08);--accent5: #788fa7;--accent5-dim: #5a6876;--accent5-glow:rgba(120, 143, 167, .06);--glow-white: #f5f3f0;--glow-white-soft: rgba(245, 243, 240, .06);--glow-white-med: rgba(245, 243, 240, .1);--glow-white-hot: rgba(245, 243, 240, .14);--accent-env1: #cb79ba;--accent-env1-dim: #906186;--accent-env2: #ce7c4c;--accent-env2-dim: #906045;--accent-cta: #578859;--accent-cta-dim: #3A6B3D;--product-folium-cta: #c9a86c;--btn-ink: #201d19;--btn-ink-edge: #36322e;--btn-ink-label: #e0ddda;--btn-ink-hover: #2b2723;--tint-input: #838a93;--tint-oscillator: #8786a2;--tint-envelope: #9a8093;--tint-seedling: #798ba3;--tint-scope: #798ba3;--tint-sequencer: #798ba3;--tint-filter: #9f8273;--tint-wavefolder: #9f8273;--tint-reverb: #838a93;--tint-output: #838a93;--tint-morph: #8786a2;--tint-master: #838a93;--tint-eq: #838a93;--tint-voice: #8786a2;--tint-vowel: #798ba3;--tint-lyric: #798ba3;--tint-sing: #9f8273;--tint-perform: #838a93;--tint-tuning: #798ba3;--lane-1: #8e89cb;--lane-1-dim: #69678e;--lane-2: #6596cd;--lane-2-dim: #526e8e;--lane-3: #3da0ba;--lane-3-dim: #407483;--lane-4: #3ba699;--lane-4-dim: #3f7770;--lane-5: #64a372;--lane-5-dim: #527659;--lane-6: #909a50;--lane-6-dim: #6a7047;--lane-7: #b18c47;--lane-7-dim: #7e6842;--lane-8: #c47f5d;--lane-8-dim: #89614d;--crystal-glow: oklch(.93 .05 215);--grit-glow: oklch(.74 .13 50);--active: var(--glow-white);--danger: #c54d49;--glow-accent: 0 0 4px rgba(136, 123, 226, .12);--glow-accent2: 0 0 4px rgba(124, 174, 118, .08);--glow-accent4: 0 0 4px rgba(88, 151, 210, .08);--glow-accent5: 0 0 4px rgba(120, 143, 167, .06);--shadow-panel: 0 1.5px 4px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.05), inset 0 -1px 0 rgba(0,0,0,.3);--shadow-float: 0 4px 12px rgba(0, 0, 0, .5);--fs-header: 10px;--fs-value: 9px;--fs-secondary: 8px;--fs-label: 7px;--lh-header: 15px;--lh-value: 10px;--lh-secondary: 10px;--lh-label: 10px;--fs-brand-hero: 32px;--fs-brand-standard: 20px;--fs-brand-compact: 10px;--fs-page-body: 12px;--fs-page-secondary: 11px;--fs-page-strong: 15px;--cap-ratio: .68;--mark-type-ratio: .68;--mark-type-stroke: 26.47;--fs-lockup-card: 140px;--mark-lockup-card: 95.2px;--fs-lockup-title: 110px;--mark-lockup-title: 74.8px;--fs-lockup-grand: 66px;--mark-lockup-grand: 44.9px;--fs-lockup-display: 59px;--mark-lockup-display: 40.1px;--fs-lockup-hero: 44px;--mark-lockup-hero: 29.9px;--fs-lockup-subhead: 37px;--mark-lockup-subhead: 25.2px;--fs-lockup-standard: 22px;--mark-lockup-standard: 15px;--fs-lockup-compact: 15px;--mark-lockup-compact: 10.2px;--fs-lockup-micro: 10px;--mark-lockup-micro: 6.8px;--ls-brand-hero: 10px;--ls-brand-standard: 5px;--ls-title: 5px;--ls-section-title: 4px;--ls-section-label: 2.5px;--ls-small-label: 2px;--ls-param-label: 1.5px;--ls-param-name: 1px;--ls-value: .5px;--sp-1: 5px;--sp-2: 10px;--sp-3: 15px;--sp-4: 20px;--sp-5: 25px;--sp-6: 30px;--w-cycle-label: 40px;--slider-track-w: 125;--slider-track-box: 11px;--slider-track-h: 5px;--slider-dot-d: 4px;--slider-dot-d-act: 5px;--slider-mark-d: 4px;--slider-tickzone-h: 5px;--slider-tick-d: 2px;--slider-mark-stroke: .75px;--slider-detent-w: .8px;--slider-detent-over: 4px;--slider-detent-r: .4px;--slider-dot-idle-o: .8;--slider-detent-o: .7;--slider-row-h: 21px;--grain-body: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.8' numOctaves='5' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='discrete' tableValues='0 0 0 0 0 0 0 0 0.5 1'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--grain-panel: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='2.2' numOctaves='5' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='discrete' tableValues='0 0 0 0 0 0 0 0 0.5 1'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--grain-control: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='2.8' numOctaves='5' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='discrete' tableValues='0 0 0 0 0 0 0 0 0.5 1'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--grain-display: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='3.5' numOctaves='5' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='discrete' tableValues='0 0 0 0 0 0 0 0 0.5 1'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--grain-body-opacity: .35;--grain-panel-opacity: .14;--grain-wing-opacity: .3;--grain-control-opacity: .1;--grain-display-opacity: .05;--grain-base-opacity: .55;--border-weight: 1px;--border-weight-fine: .75px;--border-weight-hair: .5px;--radius-none: 0px;--radius-soft: 2px;--radius-max: 4px;--ease: ease;--ease-out: ease-out;--ease-linear: linear;--tr-instant: .05s;--tr-tick: .1s;--tr-fast: .1s;--tr-normal: .12s;--tr-gentle: .15s;--tr-slow: .25s;--tr-breath: .3s;--tr-entry-fast: .6s;--tr-entry-normal: .8s;--tr-entry-slow: 1s;--ease-entry: cubic-bezier(.16, 1, .3, 1);--alpha-grain: .05;--alpha-disabled: .3;--alpha-attend: .4;--alpha-inactive: .5;--alpha-hover: .6;--alpha-emphasis: .8;--alpha-strong: .9;--node-handle-dim: .3;--env-playhead-r: 1.3;--env-ghost-dot-r: .7;--env-playhead-glow-r: 2.2;--env-glow-mix: 16%;--env-line-w: .6;--env-line-opacity: .75;--env-node-r: 2;--env-node-r-idle: 1.5;--env-node-opacity: .9;--env-node-opacity-idle: .4;--env-bow-r: 1.5;--env-bow-rest: .15;--env-hit-r: 5;--env-trail-r: 1;--env-baseline-w: .5;--env-baseline-opacity: .5;--env-fill-opacity: .08;--env-ghost-opacity: .28;--env-ghost-w: .75;--env-ghost-dash: 1.5 1.5;--env-loop-span-opacity: .1;--env-loop-marker-w: .75;--env-loop-marker-opacity: .55;--env-sustain-pulse-period: 1.4;--env-sustain-pulse-min: .45;--env-sustain-pulse-max: 1;--env-inactive-dot-opacity: .25;--env-graph-h: 48px;--env-grid-opacity: .1;--env-ruler-opacity: .35;--env-stage-floor-w: 8;--env-diverge-ghost: .22;--env-diverge-tie: .3;--step-row-h: 20px;--step-track-h: 15;--step-cell-inset: 1;--step-fill-opacity: .92;--step-fill-opacity-min: .3;--step-rest-opacity: .55;--step-lock-tick: 2;--step-lock-tick-min: 1;--step-ratchet-w: 1;--step-ratchet-opacity: .6;--step-prob-dash: 1.5 1.5;--step-guide-w: 1;--step-guide-opacity: .14;--step-playhead-w: 1;--step-playhead-opacity: .9;--pattern-slot: 15px;--pattern-slot-gap: 5px;--pattern-slot-radius: var(--radius-soft);--pattern-slot-queued-opacity: .55;--pattern-slot-wing: 10px;--stepper-gap: 5px;--micro-slider-w: 40px;--micro-slider-h: 5;--micro-slider-dot-r: 1.5;--lyric-line-h: 15px;--lyric-token-gap: 5px;--lyric-consumed: .35;--lyric-upcoming: .7;--lyric-active: 1;--lyric-cursor-rule-w: 1px;--lyric-cursor-rule-opacity: .85;--lyric-hover: .85;--lyric-elision-opacity: .4;--lyric-line-gap: 5px;--lyric-gutter-w: 15px;--scope-vowel-h: 85px;--scope-grid-w: .5;--scope-grid-opacity: .12;--scope-axis-w: 1;--scope-axis-opacity: .35;--scope-target-r: 1.5;--scope-target-opacity: .45;--scope-target-label-opacity: .55;--scope-label-size: 7px;--scope-head-r: 2.5;--scope-head-glow-r: 4;--scope-head-glow-mix: 16%;--scope-trail-w: 1;--scope-trail-opacity: .3;--scope-trail-len: 24;--scope-diphthong-dash: 1.5 1.5;--scope-formant-bar-h: 3;--scope-formant-bar-gap: 1;--scope-bw-opacity: .22;--fx-footer-h: 60px;--fx-footer-pad: var(--sp-2);--fx-footer-row-gap: var(--sp-1);--fx-footer-morph-row-h: 20px;--fx-footer-level-row-h: 15px;--fx-footer-gap: var(--sp-2);--fx-footer-glide-w: 70px;--fx-footer-level-w: 95px;--fx-footer-level-label-w: 30px;--fx-footer-level-track-w: 60px;--fx-footer-root-w: 70px;--fx-row-h: 15px;--fx-row-pitch: 20px;--fx-row-label-w: 45px;--fx-row-label-optical: 3.5px;--fx-preset-name-max-w: 160px;--fx-preset-transport-w: calc(var(--fx-preset-name-max-w) + 2 * 5px + 2 * 5px);--fx-readout-delay: .12s;--fx-row-first-offset: 21px;--fx-header-aside-gap: 10px;--fx-snap-size: var(--pattern-slot);--fx-snap-radius: var(--pattern-slot-radius);--fx-snap-armed-opacity: var(--alpha-hover);--fx-morph-track-h: 5px;--fx-morph-dot-r: 2.5px;--fx-morph-endcap-w: 1px;--fx-browser-w: 180px;--fx-browser-max-h: 205px;--fx-browser-indent: var(--sp-3);--optical-tight: 2.5px;--state-idle: var(--text-muted);--state-hover: var(--text);--state-active: var(--active);--state-selected: var(--active);--state-locked: var(--accent4);--state-disabled: var(--alpha-disabled);--mod1: var(--accent);--mod1-dim: var(--accent-dim);--mod2: var(--accent2);--mod2-dim: var(--accent2-dim);--mod-env1: var(--accent-env1);--mod-env2: var(--accent-env2);--mod-mot1: var(--accent);--mod-mot2: var(--accent5);--lock: var(--accent4);--lock-dim: var(--accent4-dim);--ext: var(--accent5);--ext-dim: var(--accent5-dim);--surface-overlay: color-mix(in srgb, var(--surface) 85%, transparent)}:root[data-surface=website]{--bg: #05090f;--surface: #0c1119;--surface-up: #151c24;--groove: #020408;--groove-edge: #10161e;--control: #15191f;--control-edge: #1f252e;--border-light: #262d36;--border: #151c24;--border-dim: #090e15;--text: #d0cbc4;--text-dim: #7c7772;--text-muted: #52575f}[data-surface=transactional]{--bg: #F4F2EE;--surface: #FFFFFF;--text: #2A2A2A;--text-dim: #7C7A88;--text-muted: #A8A6B0;--separator: #D4D2CC;--accent: #7868D4}:root[data-dir=light]{--bg: #ddd2c9;--surface: #e7dcd2;--surface-up: #f6eae1;--surface-head:#cabfb5;--surface-base:#baafa6;--border-light: #b1a9a4;--border: #99908a;--border-dim: #7a736e;--groove: #cabfb5;--groove-edge: #99908a;--control: #f6eae1;--control-edge: #b1a9a4;--text: #2f2721;--text-value: #433b36;--text-dim: #605955;--text-muted: #69625d;--btn-ink: #2f2721;--btn-ink-edge: #433b36;--btn-ink-label: #f6eae1;--btn-ink-hover: #433b36;--accent: #594ba5;--accent-dim: #3f386c;--accent-glow: rgba(89, 75, 165, .12);--accent2: #43703e;--accent2-dim: #365033;--accent2-glow:rgba(67, 112, 62, .1);--accent3: #8f4a1f;--accent3-dim: #613922;--accent4: #255e90;--accent4-dim: #23425f;--accent4-glow:rgba(37, 94, 144, .08);--accent5: #4a5d71;--accent5-dim: #36414d;--accent5-glow:rgba(74, 93, 113, .06);--accent-env1: #854078;--accent-env1-dim: #5a3252;--accent-env2: #8f4a1f;--accent-env2-dim: #613922;--glow-white: #1d1a18;--glow-white-soft: rgba(29, 26, 24, .06);--glow-white-med: rgba(29, 26, 24, .1);--glow-white-hot: rgba(29, 26, 24, .16);--active: #1d1a18;--danger: #aa3333;--tint-input: #555b64;--tint-oscillator: #595772;--tint-envelope: #6a5264;--tint-seedling: #4c5c73;--tint-scope: #4c5c73;--tint-sequencer: #4c5c73;--tint-filter: #6f5446;--tint-wavefolder: #6f5446;--tint-reverb: #555b64;--tint-output: #555b64;--tint-morph: #595772;--tint-master: #555b64;--tint-eq: #555b64;--tint-voice: #595772;--tint-vowel: #4c5c73;--tint-lyric: #4c5c73;--tint-sing: #6f5446;--tint-perform: #555b64;--tint-tuning: #4c5c73;--lane-1: #5d598e;--lane-1-dim: #434160;--lane-2: #3c638f;--lane-2-dim: #304760;--lane-3: #106b80;--lane-3-dim: #204c58;--lane-4: #0b7066;--lane-4-dim: #1f4e48;--lane-5: #3a6e46;--lane-5-dim: #304d36;--lane-6: #5e662a;--lane-6-dim: #444827;--lane-7: #795b21;--lane-7-dim: #534223;--lane-8: #875135;--lane-8-dim: #5c3c2c;--crystal-glow: oklch(.55 .08 215);--grit-glow: oklch(.55 .14 35);--glow-accent: 0 0 6px rgba(90, 72, 173, .12);--glow-accent2: 0 0 6px rgba(67, 112, 62, .1);--glow-accent4: 0 0 6px rgba(11, 118, 77, .08);--glow-accent5: 0 0 6px rgba(56, 94, 131, .08);--shadow-panel: 0 1.5px 4px rgba(0,0,0,.1), inset 0 1px 0 rgba(255,255,255,.55), inset 0 -1px 0 rgba(0,0,0,.06);--shadow-float: 0 4px 16px rgba(0, 0, 0, .1);--grain-body-opacity: .1;--grain-panel-opacity: .04;--grain-wing-opacity: .08;--grain-control-opacity: .02;--grain-display-opacity: .01;--grain-base-opacity: .2}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-family:Berkeley Mono,monospace;background:var(--bg);color:var(--text)}.brand-hero{font-size:var(--fs-brand-hero);font-weight:400;letter-spacing:var(--ls-brand-hero);color:var(--text);text-transform:uppercase;line-height:1}.brand-hero-tagline{font-size:var(--fs-secondary);font-weight:400;letter-spacing:var(--ls-title);color:var(--text-dim);text-transform:uppercase}.brand-standard{font-size:var(--fs-brand-standard);font-weight:400;letter-spacing:var(--ls-brand-standard);color:var(--text);text-transform:uppercase;line-height:1}.brand-standard-tagline{font-size:var(--fs-secondary);font-weight:400;letter-spacing:var(--ls-section-label);color:var(--text-dim);text-transform:uppercase}.brand-compact{font-size:var(--fs-brand-compact);font-weight:400;letter-spacing:var(--ls-title);color:var(--text);text-transform:uppercase}.brand-compact-studio{font-size:var(--fs-label);font-weight:400;letter-spacing:var(--ls-small-label);color:var(--text-muted);text-transform:uppercase}.lockup{display:flex;align-items:center}.lockup-vertical{flex-direction:column}.lockup-mark{color:var(--accent);flex-shrink:0;width:1cap;height:1cap}.lockup:not(.lockup-vertical) .lockup-mark{transform:translateY(.05em)}.lockup-text{font-size:inherit;font-weight:400;text-transform:uppercase;color:var(--text);line-height:var(--cap-ratio)}.lockup-card{font-size:var(--fs-lockup-card);gap:20px}.lockup-card .lockup-text{letter-spacing:-.015em;text-transform:none}.lockup-title{font-size:var(--fs-lockup-title);gap:20px}.lockup-title .lockup-text{letter-spacing:-.01em;text-transform:none}.lockup-grand{font-size:var(--fs-lockup-grand);gap:15px}.lockup-grand .lockup-text{letter-spacing:20px;text-indent:20px}.lockup-display{font-size:var(--fs-lockup-display);gap:15px}.lockup-display .lockup-text{letter-spacing:15px;text-indent:15px}.lockup-hero{font-size:var(--fs-lockup-hero);gap:10px}.lockup-hero .lockup-text{letter-spacing:12px;text-indent:12px}.lockup-subhead{font-size:var(--fs-lockup-subhead);gap:10px}.lockup-subhead .lockup-text{letter-spacing:10px;text-indent:10px}.lockup-standard{font-size:var(--fs-lockup-standard);gap:10px}.lockup-standard .lockup-text{letter-spacing:5px;text-indent:5px}.lockup-compact{font-size:var(--fs-lockup-compact);gap:5px}.lockup-compact .lockup-text{letter-spacing:5px;text-indent:5px}.lockup-micro{font-size:var(--fs-lockup-micro);gap:5px}.lockup-micro .lockup-text{letter-spacing:5px;text-indent:5px}.section-container{background:var(--surface);border:1px solid var(--border);border-top-color:var(--border-light);border-bottom-color:var(--border-dim);padding:var(--sp-2)}.section-label{font-size:var(--fs-secondary);font-weight:400;letter-spacing:var(--ls-section-label);text-transform:uppercase;color:var(--text-muted)}.pattern-slot{width:var(--pattern-slot);height:var(--pattern-slot);background:var(--groove);border:var(--border-weight-hair) solid var(--groove-edge);border-radius:var(--pattern-slot-radius);color:var(--text-muted);font-size:var(--fs-label);line-height:var(--pattern-slot);text-align:center;transition:color var(--tr-fast) var(--ease),background var(--tr-fast) var(--ease)}.pattern-slot:hover{color:var(--state-hover)}.pattern-slot-filled{background:var(--control);color:var(--text-dim)}.pattern-slot-current{color:var(--state-active)}.pattern-slot-queued{color:var(--state-active);opacity:var(--pattern-slot-queued-opacity)}.text-stepper{display:inline-flex;align-items:baseline;gap:var(--stepper-gap)}.text-stepper-label{font-size:var(--fs-label);letter-spacing:var(--ls-param-label);text-transform:uppercase;color:var(--text-muted)}.text-stepper-value{font-size:var(--fs-secondary);letter-spacing:var(--ls-value);color:var(--state-idle);cursor:pointer;transition:color var(--tr-fast) var(--ease)}.text-stepper-value:hover{color:var(--state-hover)}.text-stepper-value-active{color:var(--state-active)}.step-buttons{display:flex;gap:var(--border-weight-hair);background:var(--groove-edge);border:var(--border-weight-hair) solid var(--groove-edge);border-radius:var(--radius-soft);overflow:hidden}.step-btn{flex:1;background:var(--groove);border:none;cursor:pointer;font-family:inherit;font-size:var(--fs-label);letter-spacing:var(--ls-param-label);text-transform:uppercase;color:var(--state-idle);padding:0 var(--sp-1);line-height:var(--lh-label);transition:color var(--tr-fast) var(--ease),background var(--tr-fast) var(--ease)}.step-btn:hover{color:var(--state-hover)}.step-btn.active{background:var(--control);color:var(--state-active)}.text-btn{background:none;border:none;cursor:pointer;font-family:inherit;font-size:var(--fs-label);letter-spacing:var(--ls-param-label);color:var(--state-idle);padding:0;line-height:var(--lh-label);transition:color var(--tr-fast) var(--ease)}.text-btn:hover{color:var(--state-hover)}.text-btn:active{color:var(--state-active)}.text-btn:disabled,.text-btn[data-disabled]{opacity:var(--state-disabled);cursor:default;pointer-events:none}.text-btn[data-armed],.text-btn[data-armed]:hover{color:var(--danger)}.fx-footer{height:var(--fx-footer-h);box-sizing:border-box;padding:var(--fx-footer-pad);display:flex;flex-direction:column;gap:var(--fx-footer-row-gap);flex:0 0 auto;position:relative;opacity:1}.fx-footer:before{content:"";position:absolute;top:0;left:0;right:0;height:var(--border-weight-hair);background:var(--border);pointer-events:none}.fx-footer-morph-row{height:var(--fx-footer-morph-row-h);display:flex;align-items:center;gap:var(--fx-footer-gap)}.fx-footer-level-row{height:var(--fx-footer-level-row-h);display:flex;align-items:center;gap:var(--fx-footer-gap)}.fx-snap{width:var(--fx-snap-size);height:var(--fx-snap-size);flex:0 0 auto;box-sizing:border-box;background:var(--groove);border:var(--border-weight-hair) solid var(--groove-edge);border-radius:var(--fx-snap-radius);color:var(--state-idle);font-family:inherit;font-size:var(--fs-label);line-height:calc(var(--fx-snap-size) - 2 * var(--border-weight-hair));text-align:center;padding:0;cursor:pointer;transition:color var(--tr-fast) var(--ease),background var(--tr-fast) var(--ease)}.fx-snap:hover{color:var(--state-hover)}.fx-snap[data-at]{background:var(--control);color:var(--state-active)}.fx-snap[data-armed]:not([data-at]){opacity:var(--fx-snap-armed-opacity)}.fx-morph-fader{flex:1 1 auto;min-width:0;display:block}.fx-footer-level>.osc-row,.fx-morph-fader>.osc-row{flex:1 1 auto;min-width:0;gap:0}.fx-footer-level>.osc-row>.osc-row-label{display:none}.bar-readout{position:absolute;right:0;top:50%;transform:translateY(-50%);font-family:Berkeley Mono,monospace;font-size:var(--fs-value);line-height:var(--lh-value);letter-spacing:var(--ls-value);font-variant-numeric:tabular-nums;color:var(--text);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--tr-fast) var(--ease)}.osc-row:hover>.bar-readout,.bar-readout[data-active]{opacity:var(--alpha-emphasis);transition-delay:var(--fx-readout-delay)}.bar-readout:not([data-active]){transition-delay:0ms}.osc-row:hover>svg,.osc-row>svg[data-readout]{opacity:var(--alpha-attend);transition-delay:var(--fx-readout-delay)}.osc-row>svg{transition:opacity var(--tr-fast) var(--ease)}.bar-readout[data-active]{color:var(--active);opacity:1}.osc-row,.mode-row[data-governs]{position:relative}.mode-row[data-governs]:before{content:"";position:absolute;left:calc(-1 * var(--sp-2));top:var(--optical-tight);bottom:var(--optical-tight);width:var(--border-weight-fine);background:currentColor;opacity:var(--alpha-attend);pointer-events:none}.mode-row[data-inert],.osc-row[data-inert],.tone-row[data-inert]{opacity:var(--alpha-inactive)}.mode-row[data-inert] .mode-cycle{cursor:default;font-weight:400;color:var(--text-dim)}.mode-row[data-inert] .mode-cycle:hover{color:var(--text-dim)}.mode-cycle-absent{font-weight:400;color:var(--text-muted);letter-spacing:var(--ls-param-label)}.bar-threshold{opacity:var(--alpha-attend);pointer-events:none}.bar-readout[data-past-threshold]{color:var(--state-active)}.bar-overband{fill:var(--state-active);opacity:var(--alpha-inactive);pointer-events:none}.preset-bar-aside{position:absolute;left:50%;margin-left:calc(var(--fx-preset-transport-w) / 2 + var(--fx-header-aside-gap));top:50%;transform:translateY(-50%);white-space:nowrap}.fx-footer-glide{width:var(--fx-footer-glide-w);flex:0 0 var(--fx-footer-glide-w);display:flex;align-items:center;gap:var(--stepper-gap)}.scrub-value{background:none;border:none;padding:0;flex:0 0 auto;white-space:nowrap;font-family:inherit;font-size:var(--fs-value);line-height:var(--lh-value);color:var(--text-dim);cursor:ew-resize;-webkit-user-select:none;user-select:none;transition:color var(--tr-fast) var(--ease)}.scrub-value:hover{color:var(--state-hover)}.scrub-value[data-active]{color:var(--active)}.fx-footer-level{width:var(--fx-footer-level-w);flex:0 0 var(--fx-footer-level-w);display:flex;align-items:center;gap:var(--stepper-gap)}.fx-footer-level-label{width:var(--fx-footer-level-label-w);flex:0 0 var(--fx-footer-level-label-w);font-size:var(--fs-label);letter-spacing:var(--ls-param-label);text-transform:uppercase;color:var(--text-muted)}.fx-footer-root{width:var(--fx-footer-root-w);flex:0 0 var(--fx-footer-root-w);display:flex;align-items:center;gap:var(--stepper-gap)}.garden-strip{display:flex;gap:var(--pattern-slot-gap);align-items:center}.garden-strip[data-dimmed]{opacity:var(--alpha-attend);pointer-events:none}.garden-slot{width:var(--pattern-slot);height:var(--pattern-slot);flex:0 0 auto;box-sizing:border-box;background:var(--groove);border:var(--border-weight-hair) solid var(--groove-edge);border-radius:var(--pattern-slot-radius);padding:0;cursor:pointer;transition:background var(--tr-fast) var(--ease),border-color var(--tr-fast) var(--ease)}.garden-strip[data-compact] .garden-slot{width:var(--pattern-slot-wing);height:var(--pattern-slot-wing)}.garden-slot:hover{border-color:var(--state-hover)}.garden-slot[data-on]{background:var(--control);border-color:var(--state-active)}.garden-strip[data-source] .garden-slot[data-on]{background:var(--lane-1-dim);border-color:var(--lane-1)}.garden-slot[data-live]{box-shadow:0 0 0 var(--border-weight-hair) var(--state-active)}.mode-cycle[data-source]{color:var(--lane-1)}.mode-cycle-absent{font-weight:400;color:var(--text-muted)}.fx-browser{position:absolute;top:100%;left:50%;transform:translate(-50%);z-index:200;margin-top:var(--sp-1);width:var(--fx-browser-w);max-height:var(--fx-browser-max-h);display:flex;flex-direction:column;overflow:hidden;background:var(--surface-up);border:var(--border-weight-fine) solid var(--border);border-top-color:var(--border-light);border-bottom-color:var(--border-dim);box-shadow:var(--shadow-float)}.fx-browser:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--grain-panel);background-size:512px 512px;mix-blend-mode:overlay;opacity:var(--grain-panel-opacity);pointer-events:none;z-index:1}:root[data-dir=light] .fx-browser:after{mix-blend-mode:multiply}.fx-browser-title{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:var(--sp-1) var(--sp-2);font-size:var(--fs-label);line-height:var(--lh-label);letter-spacing:var(--ls-small-label);color:var(--text-muted);border-bottom:var(--border-weight-hair) solid var(--border-dim)}.fx-browser-list{overflow-y:auto;flex:1 1 auto;min-height:0}.fx-browser-section,.fx-browser-category,.fx-browser-item{display:flex;align-items:center;font-size:var(--fs-label);line-height:var(--lh-label);letter-spacing:var(--ls-small-label);padding:var(--optical-tight) var(--sp-2);cursor:pointer;transition:color var(--tr-fast) var(--ease),background var(--tr-fast) var(--ease)}.fx-browser-section{gap:var(--sp-1);color:var(--text-muted);text-transform:uppercase;border-top:var(--border-weight-hair) solid var(--border-dim)}.fx-browser-section:first-child{border-top:none}.fx-browser-section:hover{color:var(--text-dim)}.fx-browser-category{gap:var(--sp-1);padding-left:var(--fx-browser-indent);color:var(--text-muted);text-transform:uppercase}.fx-browser-category:hover{color:var(--text-dim)}.fx-browser-item{justify-content:space-between;padding-left:calc(2 * var(--fx-browser-indent));color:var(--text-dim)}.fx-browser-item:hover,.fx-browser-item[data-focused]{color:var(--text);background:var(--surface)}.fx-browser-item[data-active]{color:var(--active)}.fx-browser-item-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fx-browser-delete{flex:0 0 auto;background:none;border:none;padding:0 0 0 var(--sp-1);font:inherit;line-height:inherit;color:var(--text-muted);cursor:pointer;opacity:0;transition:color var(--tr-fast) var(--ease),opacity var(--tr-fast) var(--ease)}.fx-browser-item:hover .fx-browser-delete{opacity:1}.fx-browser-delete:hover{color:var(--danger)}.fx-browser-delete[data-armed]{opacity:1;color:var(--danger);text-transform:uppercase}.fx-browser-chevron{flex:0 0 auto;width:var(--sp-1);text-align:center}.fx-browser-empty{padding:var(--sp-1) var(--sp-2) var(--sp-1) calc(2 * var(--fx-browser-indent));font-size:var(--fs-label);line-height:var(--lh-label);color:var(--text-muted);font-style:normal}.fx-browser-actions{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-1);padding:var(--sp-1) var(--sp-2);border-top:var(--border-weight-hair) solid var(--border-dim)}.fx-browser-nameline{flex:0 0 auto;display:flex;flex-direction:column;align-items:stretch;gap:var(--sp-1);padding:var(--sp-1) var(--sp-2);border-top:var(--border-weight-hair) solid var(--border-dim)}.fx-browser-nameline-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-2)}.fx-browser-nameline input{flex:1 1 auto;min-width:0;background:var(--groove);border:var(--border-weight-hair) solid var(--groove-edge);border-radius:0;font-family:inherit;font-size:var(--fs-label);line-height:var(--lh-label);letter-spacing:var(--ls-param-name);text-transform:uppercase;color:var(--text);padding:0 var(--sp-1);outline:none;-webkit-user-select:text;user-select:text}.fx-browser-nameline input:focus{border-color:var(--active)}.lyric-strip{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--lyric-line-gap) var(--lyric-token-gap);font-size:var(--fs-secondary);line-height:var(--lyric-line-h);letter-spacing:var(--ls-value);color:var(--text);-webkit-user-select:none;user-select:none;cursor:default}.lyric-token{opacity:var(--lyric-upcoming);cursor:pointer;transition:opacity var(--tr-fast) var(--ease),color var(--tr-fast) var(--ease)}.lyric-token:hover{opacity:var(--lyric-hover)}.lyric-token-consumed{opacity:var(--lyric-consumed)}.lyric-token-active{opacity:var(--lyric-active);border-bottom:var(--lyric-cursor-rule-w) solid var(--accent)}.lyric-mark{color:var(--text-muted);opacity:var(--lyric-elision-opacity)}.lyric-gutter{width:var(--lyric-gutter-w);flex:none;font-size:var(--fs-label);letter-spacing:var(--ls-value);color:var(--text-muted);text-align:right}.lyric-input{width:100%;resize:none;background:var(--groove);border:var(--border-weight-hair) solid var(--groove-edge);border-radius:var(--radius-soft);color:var(--text);font-family:inherit;font-size:var(--fs-secondary);line-height:var(--lyric-line-h);letter-spacing:var(--ls-value);padding:var(--sp-1);outline:none}.lyric-input:focus{border-color:var(--accent)}.lyric-empty{font-size:var(--fs-secondary);line-height:var(--lyric-line-h);color:var(--text-muted);opacity:var(--lyric-elision-opacity)}.vowel-scope{height:var(--scope-vowel-h);background:var(--groove);border:var(--border-weight-hair) solid var(--groove-edge);border-radius:var(--radius-soft);overflow:hidden}.vowel-scope-axis-label{font-size:var(--fs-label);letter-spacing:var(--ls-param-label);text-transform:uppercase;color:var(--text-muted)}.vowel-scope-svg{display:block;width:100%;height:100%}.scope-target-label{font-size:var(--scope-label-size);letter-spacing:0}.scope-axis-tick{font-size:var(--scope-label-size);letter-spacing:0;fill:var(--text-muted);opacity:var(--scope-axis-opacity)}:root{--fs-site-caption: 10px;--fs-site-label: 13px;--fs-site-body: 16px;--fs-site-lead: 20px;--fs-site-h3: 26px;--fs-site-h2: 33px;--fs-site-h1: 42px;--fs-site-display: 53px;--fs-site-hero: clamp(42px, 8vw, 68px);--lh-site-caption: 1.6;--lh-site-label: 1.6;--lh-site-body: 1.6;--lh-site-lead: 1.6;--lh-site-h3: 1.25;--lh-site-h2: 1.25;--lh-site-h1: 1.12;--lh-site-display: 1.12;--lh-site-hero: 1;--ls-site-hero: -.02em;--ls-site-display: -.02em;--ls-site-h1: -.01em;--ls-site-h2: -.01em;--ls-site-h3: 0;--ls-site-lead: 0;--ls-site-body: 0;--ls-site-label: .12em;--ls-site-caption: .04em;--fw-body: 400;--fw-label: 500;--fw-heading: 600;--fw-display: 700;--sp-site-1: 5px;--sp-site-2: 10px;--sp-site-3: 15px;--sp-site-4: 25px;--sp-site-5: 40px;--sp-site-6: 65px;--sp-site-7: 105px}:root{--embed-slot-wing: 340px;--embed-slot-center: 550px;--embed-slot-wing-ratio: .437;--embed-slot-center-ratio: .708;--feature-row-breakout: 1250px}:root{--z-field: 1;--z-page: 2;--z-float: 10}.cta{font-family:Berkeley Mono,monospace;font-size:var(--fs-site-label);font-weight:var(--fw-label);letter-spacing:var(--ls-site-label);text-transform:uppercase;line-height:1;color:var(--bg);background:var(--accent-cta);border:var(--border-weight-fine) solid var(--accent-cta);border-radius:var(--radius-soft);padding:var(--sp-site-3) var(--sp-site-5);cursor:pointer;transition:box-shadow var(--tr-gentle) var(--ease),transform var(--tr-gentle) var(--ease)}.cta:hover{box-shadow:0 0 28px -8px var(--accent-cta)}.cta:active{transform:translateY(1px)}.cta:disabled{cursor:default;opacity:var(--alpha-hover)}:root{--buy-pill-inset: var(--sp-site-4);--buy-pill-lift: 8px;--buy-pill-radius: var(--radius-max)}.buy-pill{position:fixed;top:var(--buy-pill-inset);right:var(--buy-pill-inset);z-index:var(--z-float);display:inline-flex;align-items:baseline;gap:var(--sp-site-2);border-radius:var(--buy-pill-radius);padding:var(--sp-site-3) var(--sp-site-4);opacity:0;transform:translateY(calc(-1 * var(--buy-pill-lift)));pointer-events:none;transition:opacity var(--tr-entry-fast) var(--ease-entry),transform var(--tr-entry-fast) var(--ease-entry),box-shadow var(--tr-gentle) var(--ease)}.buy-pill.visible{opacity:1;transform:none;pointer-events:auto}.buy-pill:active{transform:translateY(1px)}.buy-pill-price{font-size:var(--fs-site-caption);letter-spacing:var(--ls-site-caption);opacity:var(--alpha-hover)}@media(prefers-reduced-motion:reduce){.buy-pill{transition:opacity var(--tr-breath) var(--ease);transform:none}.buy-pill.visible,.buy-pill:active{transform:none}}@media(max-width:600px){.buy-pill{font-size:var(--fs-site-caption);letter-spacing:var(--ls-site-caption);padding:var(--sp-site-2) var(--sp-site-3)}.buy-pill-price{display:none}}:root{--field-h: 40px;--field-pad-x: var(--sp-site-3);--field-pad-y: var(--sp-site-2);--form-panel-w: 520px}.field-label{font-family:Berkeley Mono,monospace;font-size:var(--fs-site-caption);font-weight:var(--fw-label);letter-spacing:var(--ls-site-label);text-transform:uppercase;color:var(--text-muted);line-height:1}.field-opt{color:var(--text-muted);text-transform:none;letter-spacing:normal;opacity:var(--alpha-hover)}.field-input{width:100%;height:var(--field-h);padding:var(--field-pad-y) var(--field-pad-x);background:var(--surface);border:var(--border-weight-hair) solid var(--border-dim);border-radius:var(--radius-soft);color:var(--text);font-family:Berkeley Mono,monospace;font-size:var(--fs-site-body);line-height:var(--lh-site-body);transition:border-color var(--tr-gentle) var(--ease)}.field-input::placeholder{color:var(--text-muted)}.field-input:focus{outline:none;border-color:var(--accent)}.field-input[aria-invalid=true]{border-color:var(--danger)}.field-input:disabled{opacity:var(--alpha-disabled);cursor:default}.field-hint,.field-error{font-size:var(--fs-site-caption);letter-spacing:var(--ls-site-caption);line-height:var(--lh-site-caption)}.field-hint{color:var(--text-muted)}.field-error{color:var(--danger)}.field-row{display:flex;flex-direction:column;gap:var(--sp-site-1)}.btn{display:inline-block;height:var(--field-h);padding:var(--field-pad-y) var(--sp-site-4);border-radius:var(--radius-soft);font-family:Berkeley Mono,monospace;font-size:var(--fs-site-label);font-weight:var(--fw-label);letter-spacing:var(--ls-site-label);text-transform:uppercase;line-height:1;text-align:center;cursor:pointer;transition:background var(--tr-normal) var(--ease),color var(--tr-normal) var(--ease),border-color var(--tr-normal) var(--ease)}.btn-primary{background:var(--accent);border:var(--border-weight-hair) solid var(--accent);color:var(--bg)}.btn-primary:hover{background:var(--accent-dim);border-color:var(--accent-dim)}.btn-primary:disabled{background:var(--accent-dim);border-color:var(--accent-dim);color:var(--text-muted);cursor:default}.btn-ghost{background:transparent;border:var(--border-weight-hair) solid var(--border-dim);color:var(--text-dim)}.btn-ghost:hover{border-color:var(--accent);color:var(--text)}.btn-ghost:disabled{color:var(--text-muted);cursor:default}.btn[aria-busy=true]{background:var(--accent-dim);border-color:var(--accent-dim);color:var(--text-muted);cursor:default;pointer-events:none}.notice{padding:var(--sp-site-2) var(--sp-site-3);border-radius:var(--radius-soft);font-size:var(--fs-site-body);line-height:var(--lh-site-body);border:var(--border-weight-hair) solid var(--border-dim);background:var(--surface)}.notice-ok{color:var(--text)}.notice-error{color:var(--danger);border-color:var(--danger)}.form-panel{width:100%;max-width:var(--form-panel-w);padding:var(--sp-site-5);background:var(--surface);border:var(--border-weight-hair) solid var(--border-dim);border-radius:var(--radius-max)}.form-stack{display:flex;flex-direction:column;gap:var(--sp-site-3)}.form-divider{display:flex;align-items:center;gap:var(--sp-site-3);font-size:var(--fs-site-caption);letter-spacing:var(--ls-site-label);text-transform:uppercase;color:var(--text-muted)}.form-divider:before,.form-divider:after{content:"";flex:1;height:var(--border-weight-hair);background:var(--border-dim)}.app-splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999999;display:flex;align-items:center;justify-content:center;cursor:pointer;background:#000;color:var(--kit-ink);padding:max(var(--sp-site-5),env(safe-area-inset-top)) max(var(--sp-site-5),env(safe-area-inset-right)) max(var(--sp-site-5),env(safe-area-inset-bottom)) max(var(--sp-site-5),env(safe-area-inset-left));opacity:1;transition:opacity .8s cubic-bezier(.4,0,.2,1);-webkit-tap-highlight-color:transparent;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.app-splash.splash-hiding{opacity:0;pointer-events:none}.splash-content{display:flex;flex-direction:column;align-items:center;text-align:center;width:100%;animation:splashFadeIn .8s cubic-bezier(.4,0,.2,1) both}.splash-lockup{display:flex;align-items:center;gap:var(--sp-site-2)}.splash-mark{display:block;flex:none;line-height:0}.splash-mark svg{display:block;overflow:visible}.splash-title{margin:0;font-family:var(--font-main);font-size:clamp(26px,6.5vw,53px);font-weight:var(--fw-body);line-height:1;letter-spacing:.02em;color:var(--kit-ink);white-space:nowrap}.splash-lockup{opacity:.42;transition:opacity .6s cubic-bezier(.4,0,.2,1)}.app-splash.splash-ready .splash-lockup{animation:splashBreath 3.2s cubic-bezier(.4,0,.2,1) infinite}@keyframes splashBreath{0%,to{opacity:.55}50%{opacity:1}}@keyframes splashFadeIn{0%{opacity:0;transform:translateY(var(--sp-site-2))}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.splash-content{animation:none}.app-splash.splash-ready .splash-lockup{animation:none;opacity:1}}.onboard-screen{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#000;opacity:0;transition:opacity .8s cubic-bezier(.4,0,.2,1)}.onboard-screen.onboard-screen-in{opacity:1}@media(prefers-reduced-motion:reduce){.onboard-screen{transition:none;opacity:1}}.invite-panel{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--sp-site-3);padding:max(var(--sp-site-7),env(safe-area-inset-top)) var(--sp-site-5) max(var(--sp-site-5),env(safe-area-inset-bottom));justify-content:center;width:100%;height:100%;max-width:none;box-sizing:border-box;color:var(--kit-ink);animation:inviteRise var(--tr-entry-normal) cubic-bezier(.4,0,.2,1) both}.invite-gap{flex:1 1 auto;min-height:var(--sp-site-3);max-height:var(--sp-site-5)}.invite-tail{flex:0 0 auto;height:0}.invite-head{line-height:0}.invite-lockup{display:inline-flex;align-items:center;gap:var(--sp-site-2)}.invite-mark{display:inline-block;flex:none;line-height:0}.invite-mark svg{display:block;overflow:visible}.invite-word{font-family:var(--font-main);font-size:var(--fs-site-h1);font-weight:var(--fw-body);line-height:1;letter-spacing:.02em;color:var(--kit-ink);white-space:nowrap}.invite-headline{margin:0;font-family:var(--font-main);font-size:var(--fs-site-lead);font-weight:var(--fw-body);line-height:1.55;letter-spacing:.01em;color:var(--kit-ink-dim);max-width:34ch}.invite-recommend{margin:0;font-family:var(--font-main);font-size:var(--fs-site-label);font-weight:var(--fw-body);line-height:1.5;letter-spacing:.01em;color:var(--kit-ink-dim);max-width:30ch}.invite-recommend[hidden]{display:none}.invite-actions{display:flex;flex-direction:column;align-items:center;gap:var(--sp-site-1);width:100%;margin-top:var(--sp-site-2)}.invite-actions[hidden]{display:none}.invite-install{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;border-radius:0;cursor:pointer;font-family:var(--font-main);font-size:min(var(--fs-site-lead),4.4vw);font-weight:var(--fw-label);line-height:1.2;letter-spacing:.02em;color:var(--kit-ink);white-space:nowrap;padding:var(--sp-site-2) var(--sp-site-3);transition:color var(--tr-gentle)}.invite-install[hidden]{display:none}.invite-install:hover,.invite-install:focus-visible{color:color-mix(in srgb,var(--kit-ink) 55%,#ffffff);outline:none}.invite-skip{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;cursor:pointer;font-family:var(--font-main);font-size:min(var(--fs-site-label),3.4vw);font-weight:var(--fw-body);line-height:1.2;letter-spacing:.02em;color:var(--kit-ink-dim);white-space:nowrap;padding:var(--sp-site-2);transition:color var(--tr-gentle)}.invite-skip:hover,.invite-skip:focus-visible{color:var(--kit-ink);outline:none}.invite-skip-lead{color:var(--kit-ink)}.invite-sheet{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-site-3);width:100%;margin-top:var(--sp-site-2);padding:var(--sp-site-4);border-radius:var(--radius-soft);background:color-mix(in srgb,var(--kit-ground) 88%,transparent);border:1px solid color-mix(in srgb,var(--kit-ink-dim) 30%,transparent);border-top-color:color-mix(in srgb,var(--kit-ink-dim) 12%,transparent);border-left-color:color-mix(in srgb,var(--kit-ink-dim) 12%,transparent);border-bottom-color:color-mix(in srgb,var(--kit-ink-dim) 40%,transparent);border-right-color:color-mix(in srgb,var(--kit-ink-dim) 40%,transparent)}.invite-sheet[hidden]{display:none}.invite-sheet-lead{margin:0;font-family:var(--font-main);font-size:var(--fs-site-body);font-weight:var(--fw-body);line-height:1.4;color:var(--kit-ink)}.invite-step{display:flex;align-items:center;gap:var(--sp-site-3);font-family:var(--font-main);font-size:var(--fs-site-body);font-weight:var(--fw-body);line-height:1.4;color:var(--kit-ink);text-align:left}.invite-step-glyph,.invite-step-num{flex:none;display:inline-flex;align-items:center;justify-content:center;width:var(--sp-site-5);height:var(--sp-site-5);border-radius:var(--radius-soft);border:1px solid color-mix(in srgb,var(--kit-ink-dim) 35%,transparent);color:var(--kit-ink)}.invite-step-glyph svg{display:block}.invite-step-num{font-family:var(--font-main);font-size:var(--fs-site-lead);font-weight:var(--fw-label);color:var(--kit-ink-dim)}.invite-step-text{flex:1}.invite-sheet .invite-skip{align-self:center;margin-top:var(--sp-site-1)}.invite-opened{margin:0;font-family:var(--font-main);font-size:var(--fs-site-lead);font-weight:var(--fw-body);line-height:1.35;color:var(--kit-ink)}.invite-opened[hidden]{display:none}@keyframes inviteRise{0%{opacity:0;transform:translateY(var(--sp-site-2))}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.invite-panel{animation:none}}.explain-panel{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--sp-site-4);padding:var(--sp-site-5);max-width:88vw;color:var(--kit-ink);opacity:.42;transition:opacity .6s cubic-bezier(.4,0,.2,1)}.app-splash.splash-ready .explain-panel{animation:splashBreath 3.2s cubic-bezier(.4,0,.2,1) infinite}.explain-head{line-height:0}.explain-lockup{display:inline-flex;align-items:center;gap:var(--sp-site-2)}.explain-mark{display:inline-block;flex:none;line-height:0}.explain-mark svg{display:block;overflow:visible}.explain-word{font-family:var(--font-main);font-size:var(--fs-site-h1);font-weight:var(--fw-body);line-height:1;letter-spacing:.02em;color:var(--kit-ink);white-space:nowrap}.explain-copy{margin:0;font-family:var(--font-main);font-size:var(--fs-site-lead);font-weight:var(--fw-body);line-height:1.55;letter-spacing:.01em;color:var(--kit-ink-dim);max-width:34ch}@media(prefers-reduced-motion:reduce){.app-splash.splash-ready .explain-panel{animation:none;opacity:1}}.worldhud-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000000;display:flex;align-items:center;justify-content:center;pointer-events:none;-webkit-user-select:none;user-select:none;background:#000;padding:max(var(--sp-site-5),env(safe-area-inset-top)) max(var(--sp-site-5),env(safe-area-inset-right)) max(var(--sp-site-5),env(safe-area-inset-bottom)) max(var(--sp-site-5),env(safe-area-inset-left));opacity:0;transition:opacity var(--tr-entry-normal) cubic-bezier(.4,0,.2,1)}.worldhud-overlay.worldhud-overlay-in{opacity:1}.worldhud-overlay.worldhud-overlay-out{opacity:0;background:transparent;transition:opacity var(--tr-entry-slow) cubic-bezier(.4,0,.2,1),background var(--tr-entry-slow) cubic-bezier(.4,0,.2,1)}.worldhud-panel{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-site-3);max-width:88vw}.worldhud-line{display:flex;align-items:center;gap:var(--sp-site-3);opacity:0;transform:translateY(var(--sp-site-1));transition:opacity var(--tr-gentle) linear,transform var(--tr-gentle) cubic-bezier(.4,0,.2,1)}.worldhud-line.worldhud-line-in{opacity:1;transform:translateY(0)}.worldhud-tick{flex:none;width:1px;height:.9em;background:var(--kit-ink-dim)}.worldhud-dye-location{background:var(--kit-ink)}.worldhud-dye-matcha{background:var(--accent2)}.worldhud-dye-hanada{background:var(--accent4)}.worldhud-dye-nezumi{background:var(--accent5)}.worldhud-dye-kaki{background:var(--accent3)}.worldhud-text{font-family:var(--font-main);font-size:clamp(20px,1.6vw,26px);font-weight:var(--fw-body);line-height:1.1;letter-spacing:.14em;color:var(--kit-ink);font-variant-numeric:tabular-nums;white-space:nowrap;clip-path:inset(0 100% 0 0)}.worldhud-line-in .worldhud-text{clip-path:inset(0 0 0 0);transition:clip-path var(--type-ms, .9s) steps(24,end)}@media(prefers-reduced-motion:reduce){.worldhud-overlay,.worldhud-line,.worldhud-line.worldhud-line-in .worldhud-text{transition:none}.worldhud-text{clip-path:inset(0 0 0 0)}}.kora-hud{position:fixed;left:max(var(--sp-site-3),env(safe-area-inset-left));bottom:max(var(--sp-site-3),env(safe-area-inset-bottom));z-index:99999;pointer-events:none;-webkit-user-select:none;user-select:none;background:color-mix(in srgb,var(--kit-ground) 88%,transparent);border:1px solid color-mix(in srgb,var(--kit-ink-dim) 45%,transparent);padding:var(--sp-site-3) var(--sp-site-4);font-family:var(--font-main);font-size:clamp(16px,1.1vw,21px);font-weight:var(--fw-body);line-height:1.55;color:var(--kit-ink);min-width:48ch;max-width:min(92vw,62ch)}.kora-hud[hidden]{display:none}.hud-head{color:var(--accent);font-weight:var(--fw-heading);font-size:.72em;letter-spacing:.22em;text-transform:uppercase;margin-top:var(--sp-site-2);padding-bottom:var(--sp-site-1);border-bottom:1px solid color-mix(in srgb,var(--accent) 28%,transparent)}.hud-head:first-child{margin-top:0}.hud-row{display:flex;align-items:baseline;gap:var(--sp-site-2);white-space:nowrap}.hud-head+.hud-row{margin-top:var(--sp-site-1)}.hud-key{display:flex;align-items:baseline;flex:none;width:8ch;color:var(--kit-ink-dim);text-transform:lowercase}.hud-tick{flex:none;width:5px;height:5px;margin-right:var(--sp-site-1);align-self:center}.hud-val{color:var(--kit-ink);font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis}.sw-update-prompt{position:fixed;right:max(var(--sp-site-3),env(safe-area-inset-right));bottom:max(var(--sp-site-3),env(safe-area-inset-bottom));z-index:99999;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:color-mix(in srgb,var(--kit-ground) 88%,transparent);border:1px solid color-mix(in srgb,var(--kit-ink-dim) 45%,transparent);padding:var(--sp-site-3) var(--sp-site-4);font-family:var(--font-main);font-size:clamp(16px,1.1vw,21px);font-weight:var(--fw-body);line-height:1.55;color:var(--kit-ink-dim);transition:color var(--tr-gentle)}.sw-update-prompt:hover,.sw-update-prompt:focus-visible{color:var(--kit-ink)}@font-face{font-family:Berkeley Mono;src:url(/mono.otf) format("opentype");font-display:swap}:root{--font-main: "Berkeley Mono", monospace;--spacing-xs: var(--sp-1);--spacing-sm: var(--sp-2);--spacing-md: var(--sp-3);--spacing-lg: var(--sp-4);--spacing-xl: var(--sp-5);--spacing-xxl: var(--sp-6);--kit-ink: #e0ddda;--kit-ink-dim: #99908a;--kit-ground: #0e0c09;--color-bg: #000000;--color-text: #ffffff;--color-primary: var(--accent);--color-primary-dark: var(--accent-dim);--color-muted: var(--text-dim);--color-border: var(--border);--forge-bottom-spacing: var(--spacing-xxl);--forge-height-offset: 0px;--pwa-safe-bottom: env(safe-area-inset-bottom, 0px);--center-gradient-radius: 24%;--flicker-intensity: 0;--atmospheric-tint: none;--mutation-speed: var(--tr-gentle);--font-size-header: var(--fs-header);--font-size-value: var(--fs-value);--font-size-secondary: var(--fs-secondary);--font-size-label: var(--fs-label);--line-height-header: var(--lh-header);--line-height-value: var(--lh-value);--line-height-secondary: var(--lh-secondary);--line-height-label: var(--lh-label)}*{box-sizing:border-box;margin:0;padding:0}html{width:100%;height:100vh;height:100dvh;overflow:hidden;position:fixed;overscroll-behavior:none;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{background:#000;font-family:var(--font-main);color:#fff;line-height:var(--line-height-value);font-size:var(--font-size-secondary);font-weight:400;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100vh;height:100dvh;overscroll-behavior:none;touch-action:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;transition:filter var(--mutation-speed) cubic-bezier(.23,1,.32,1)}html.orient-lock,html.orient-lock body{width:100vh;width:100dvh;height:100vw;height:100dvw}html.orient-lock body{transform-origin:top left}html.orient-lock.orient-cw body{transform:rotate(90deg) translateY(-100vh);transform:rotate(90deg) translateY(-100dvh)}html.orient-lock.orient-ccw body{transform:rotate(-90deg) translate(-100vw);transform:rotate(-90deg) translate(-100dvw)}@media screen and (orientation:landscape){.geometry-forge-panel{max-height:50vh;padding-left:env(safe-area-inset-left,var(--sp-2));padding-right:env(safe-area-inset-right,var(--sp-2))}}@media(-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}filter: var(--atmospheric-tint)}@keyframes screenFlicker{0%{filter:brightness(1) contrast(1.02) saturate(1.05);opacity:.98}25%{filter:brightness(1.01) contrast(1) saturate(1);opacity:1}50%{filter:brightness(.99) contrast(1.01) saturate(1.02);opacity:.99}75%{filter:brightness(1.01) contrast(.99) saturate(1.01);opacity:1}to{filter:brightness(1) contrast(1) saturate(1);opacity:.995}}.swiper{width:100%;height:100vh;position:fixed;top:0;left:0;z-index:10;pointer-events:auto;background:transparent}.swiper-slide{width:100%;height:100vh;display:flex;align-items:center;justify-content:center;background:transparent;opacity:0!important}.swiper-wrapper{transition:none!important}.control-panel{z-index:1000}.settings-drawer{z-index:999}#p5js-container{position:fixed;top:0;left:0;right:0;bottom:0;overflow:hidden;z-index:1;pointer-events:auto;transition:transform var(--tr-gentle) var(--ease);will-change:transform;filter:brightness(1) saturate(1)}#p5js-container.forge-open{transform:translateY(-25vh)!important;background:#000!important;position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;transition:transform .5s cubic-bezier(.32,.72,0,1)!important}body:has(.geometry-forge-panel.open) #starfield-canvas,#starfield-canvas.forge-open{transform:translateY(-25vh)!important;transition:transform .5s cubic-bezier(.32,.72,0,1),opacity .5s ease!important}canvas{display:block;margin:auto;cursor:grab;width:100%;height:100vh;height:100dvh;touch-action:none;transition:filter var(--mutation-speed) cubic-bezier(.23,1,.32,1),transform var(--mutation-speed) cubic-bezier(.23,1,.32,1)}canvas:active{cursor:grabbing}@keyframes geometryFlicker{0%{filter:contrast(1.08) brightness(1.02) hue-rotate(0deg);transform:scale(1) translateY(0)}15%{filter:contrast(1.12) brightness(1.03) hue-rotate(.5deg);transform:scale(1.001) translateY(.2px)}35%{filter:contrast(1.09) brightness(1.01) hue-rotate(-.3deg);transform:scale(.999) translateY(-.1px)}60%{filter:contrast(1.11) brightness(1.02) hue-rotate(.2deg);transform:scale(1.0005) translateY(.1px)}85%{filter:contrast(1.1) brightness(1.04) hue-rotate(-.1deg);transform:scale(1) translateY(0)}to{filter:contrast(1.07) brightness(1.01) hue-rotate(.1deg);transform:scale(.9995) translateY(-.05px)}}.control-panel{position:fixed;bottom:calc(3vh + env(safe-area-inset-bottom,0px));left:0;right:0;background:#000000b3;backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);display:flex;align-items:center;justify-content:center;z-index:1000;font-family:var(--font-main);height:calc(var(--grid-unit) * 10 + env(safe-area-inset-bottom) + var(--spacing-md));padding:var(--spacing-md) var(--spacing-lg) calc(var(--spacing-md) + env(safe-area-inset-bottom)) var(--spacing-lg);pointer-events:auto;touch-action:manipulation;animation:none!important;border-top:.5px solid rgba(255,255,255,.05)}.control-panel:before{content:"";position:absolute;top:-80px;left:0;width:100%;height:80px;background:linear-gradient(to bottom,#0000,#0006,#000000b3);z-index:-1;pointer-events:none}.main-controls{display:flex;gap:var(--spacing-lg);align-items:center;justify-content:center;flex-wrap:wrap;width:100%;max-width:400px;animation:none!important}.main-controls *{animation:none!important}.geometry-forge-panel{position:fixed;bottom:var(--forge-height-offset);left:50%;background:color-mix(in srgb,#000000 85%,transparent);border:var(--border-weight-hair) solid var(--border);border-bottom:none;border-radius:var(--sp-4) var(--sp-4) 0 0;backdrop-filter:blur(30px) saturate(120%);-webkit-backdrop-filter:blur(30px) saturate(120%);box-shadow:0 calc(-1 * var(--sp-1)) var(--sp-5) color-mix(in srgb,#000000 40%,transparent),inset 0 var(--border-weight-hair) 0 var(--border-light);transform:translate(-50%) translateY(100%);transition:transform var(--tr-breath) var(--ease-entry);z-index:999;visibility:hidden;font-family:var(--font-main);max-width:80vw;margin:0;padding:var(--spacing-xl) var(--spacing-lg) var(--spacing-lg) var(--spacing-lg);height:calc(50vh - var(--forge-height-offset));max-height:calc(50vh - var(--forge-height-offset));min-height:calc(50vh - var(--forge-height-offset));touch-action:manipulation;overflow:hidden}.geometry-forge-panel.open{transform:translate(-50%) translateY(0);visibility:visible}.forge-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border);padding-bottom:var(--spacing-sm)}.forge-title{color:var(--color-text);font-family:var(--font-main);font-size:var(--font-size-base);font-weight:600;letter-spacing:.05em}.forge-actions{display:flex;gap:var(--spacing-xs)}.forge-action-btn{background:#c4a5741a;border:1px solid var(--color-border);border-radius:6px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.forge-action-btn:hover{background:#c4a57426;border-color:var(--color-primary);transform:translateY(-1px)}.forge-action-btn .btn-icon{font-size:var(--font-size-header);line-height:var(--line-height-header)}.forge-status{display:flex;flex-direction:column;gap:12px;margin-bottom:var(--spacing-md);padding:0}.status-row{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}.status-item{display:flex;align-items:center}.status-label{font-size:var(--font-size-header);font-weight:400;letter-spacing:var(--ls-section-label);color:#ffffff80;text-transform:uppercase;transition:color .2s ease}.bloom-header{font-size:var(--font-size-header);font-weight:400;letter-spacing:var(--ls-title);color:#ffffffb3}.section-header{display:flex;align-items:center;cursor:pointer;padding:0;margin:0;transition:all .2s ease}.section-header:hover{opacity:.8}.section-title{color:var(--accent);font-size:var(--font-size-header);font-weight:400;text-transform:uppercase;letter-spacing:var(--ls-section-label);font-family:var(--font-main)}.section-toggle{color:var(--accent);font-size:var(--font-size-header);transition:transform var(--tr-normal) var(--ease);-webkit-user-select:none;user-select:none;line-height:var(--line-height-header)}.section-header.collapsed .section-toggle{transform:rotate(-90deg)}.modifiers-section{gap:0}.modifiers-section .forge-controls{transition:all .3s ease;overflow:hidden}.modifiers-section .forge-controls.collapsed{max-height:0;opacity:0;margin-top:0;margin-bottom:0}.audio-section{gap:0}.audio-section .forge-controls{transition:all .3s ease;overflow:hidden}.audio-section .forge-controls.collapsed{max-height:0;opacity:0;margin-top:0;margin-bottom:0}.toggle-btn{background:transparent;border:var(--border-weight-fine) solid var(--accent);color:var(--accent);font-size:var(--font-size-secondary);padding:var(--sp-1) var(--sp-2);border-radius:var(--radius-soft);cursor:pointer;transition:all var(--tr-normal) var(--ease);font-family:var(--font-main);min-width:var(--sp-6);height:var(--sp-5);display:flex;align-items:center;justify-content:center}.toggle-btn:hover{background:color-mix(in srgb,var(--color-primary) 20%,transparent);transform:scale(1.05)}.status-item{text-align:center}.status-label{color:var(--palette-main, var(--color-primary));font-size:var(--font-size-header);font-weight:400;text-transform:uppercase;letter-spacing:1px;font-family:var(--font-main);opacity:.9}.pattern-section{gap:var(--spacing-md)}.pattern-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);padding:var(--spacing-xs) 0}.pattern-controls .control-group{display:flex;flex-direction:column;gap:10px;padding:20px 0;border-bottom:.5px solid rgba(255,255,255,.06)}.pattern-controls .control-group:last-child{border-bottom:none}.pattern-controls .control-group label{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-header);font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:#ffffff73;font-family:var(--font-main)}.label-value{color:#ffffffb3;font-weight:500;min-width:48px;text-align:right}.pattern-controls .slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:3px;border-radius:2px;background:#ffffff14;outline:none;margin:10px 0 6px;cursor:pointer;transition:background .25s cubic-bezier(.4,0,.2,1)}.pattern-controls .slider:hover{background:#ffffff1f}.pattern-controls .slider:active{background:#ffffff26}.pattern-controls .slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#fff;cursor:grab;box-shadow:0 1px 3px #0003,0 2px 8px #0000001f,inset 0 1px #fff3;transition:transform .2s cubic-bezier(.32,.72,0,1),box-shadow .2s cubic-bezier(.32,.72,0,1)}.pattern-controls .slider::-webkit-slider-thumb:hover{transform:scale(1.08);box-shadow:0 2px 4px #0000003d,0 4px 12px #00000026,inset 0 1px #ffffff40}.pattern-controls .slider::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.12);box-shadow:0 2px 6px #00000047,0 6px 16px #0000002e,0 0 0 4px #ffffff1a}.pattern-controls .slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:none;cursor:grab;box-shadow:0 1px 3px #0003,0 2px 8px #0000001f;transition:transform .2s cubic-bezier(.32,.72,0,1)}.pattern-controls .slider::-moz-range-thumb:hover{transform:scale(1.08)}.pattern-controls .slider::-moz-range-thumb:active{cursor:grabbing;transform:scale(1.12)}.pattern-controls .slider::-webkit-slider-runnable-track{height:4px;border-radius:2px}.pattern-controls .slider::-moz-range-track{height:4px;border-radius:2px;background:#ffffff1a}.slider-markers{display:flex;justify-content:space-between;font-size:var(--font-size-value);color:var(--palette-main, var(--color-primary));opacity:.5;text-transform:uppercase;letter-spacing:.3px;font-family:var(--font-main);margin-top:-4px}.segment-group{padding:var(--spacing-md) 0;border-bottom:none!important}.segment-group .label-text{font-size:var(--font-size-header);text-transform:uppercase;letter-spacing:.5px;color:var(--palette-main, var(--color-primary));opacity:.7;margin-bottom:var(--spacing-sm);display:block}.segment-control{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;background:#ffffff0d;padding:4px;border-radius:8px;border:.5px solid rgba(196,165,116,.1)}.segment-btn{padding:var(--spacing-xs) var(--spacing-sm);background:transparent;border:none;color:var(--color-text);font-family:var(--font-main);font-size:var(--font-size-header);text-transform:uppercase;letter-spacing:.3px;cursor:pointer;border-radius:6px;transition:all .2s cubic-bezier(.23,1,.32,1);opacity:.6;font-weight:400}.segment-btn:hover{opacity:.8;background:#ffffff0d}.segment-btn.active{background:var(--palette-main, var(--color-primary));color:#000;opacity:1;font-weight:500;box-shadow:0 2px 8px #0003}.segment-btn:active{transform:scale(.97)}.control-action-btn{-webkit-appearance:none;width:24px;height:24px;background:var(--slider-color);border:1px solid var(--slider-color);border-radius:50%;cursor:pointer;transition:all .3s ease;touch-action:manipulation;font-family:var(--font-main);font-size:var(--font-size-header);color:#000c;display:flex;align-items:center;justify-content:center;position:relative;z-index:15}.control-action-btn:hover{transform:scale(1.1);background:color-mix(in srgb,var(--slider-color) 80%,white);border-color:color-mix(in srgb,var(--slider-color) 80%,white);box-shadow:0 0 10px color-mix(in srgb,var(--slider-color) 50%,transparent);color:#000}.forge-footer{margin-top:var(--spacing-lg);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border);text-align:center}.app-version{color:var(--text-muted);font-size:var(--font-size-label);font-family:var(--font-main);letter-spacing:var(--ls-param-label)}.forge-header h2{font-size:var(--font-size-header);color:var(--accent);margin:0;font-weight:400;letter-spacing:.1em;text-transform:uppercase}.forge-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xl);margin-bottom:var(--spacing-lg);align-items:start;padding-top:0}.forge-section{display:flex;flex-direction:column;gap:var(--spacing-lg);align-items:stretch;justify-content:flex-start}.forge-section h3{font-size:var(--font-size-base);color:var(--color-primary);margin-bottom:var(--spacing-sm);font-weight:400;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid rgba(196,165,116,.1);padding-bottom:var(--spacing-xs)}.forge-controls{display:flex;flex-direction:column;gap:var(--spacing-md);align-items:stretch;justify-content:flex-start;min-height:calc(var(--spacing-md) * 8)}@media(max-width:768px){.geometry-forge-panel{left:50%;right:auto;margin:0;max-width:80vw;width:80vw;transform:translate(-50%) translateY(100%);height:calc(50vh - var(--forge-height-offset));max-height:calc(50vh - var(--forge-height-offset));min-height:calc(50vh - var(--forge-height-offset));border-radius:12px 12px 0 0;padding:var(--spacing-lg) var(--spacing-lg) var(--forge-bottom-spacing) var(--spacing-lg);bottom:var(--forge-height-offset);overflow:hidden}.geometry-forge-panel.open{transform:translate(-50%) translateY(0);visibility:visible}.forge-status{gap:var(--spacing-lg)}.forge-content{grid-template-columns:1fr;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg);padding-top:0}.forge-section h3{font-size:var(--font-size-small);margin-bottom:var(--spacing-xs)}.forge-controls{gap:var(--spacing-md)}.control-group{gap:var(--spacing-sm);padding:var(--spacing-sm) 0}.control-group label,.control-group .value{font-size:var(--font-size-header);height:var(--spacing-sm);line-height:var(--spacing-sm)}.control-group input[type=range]{height:4px}.control-group input[type=range]::-webkit-slider-thumb{width:28px;height:28px}#p5js-container.forge-open{transform:translateY(-25vh)!important;background:#000!important}}@media(max-width:480px){.geometry-forge-panel{height:calc(50vh - var(--forge-height-offset));max-height:calc(50vh - var(--forge-height-offset));min-height:calc(50vh - var(--forge-height-offset));padding:var(--spacing-sm) var(--spacing-sm) var(--spacing-lg) var(--spacing-sm);bottom:calc(var(--forge-height-offset) + var(--pwa-safe-bottom))}.forge-status{gap:var(--spacing-md)}.forge-header h2{font-size:24px}.forge-controls{gap:var(--spacing-sm)}.control-group{padding:var(--spacing-xxs) 0}#p5js-container.forge-open{transform:translateY(-25vh)!important;background:#000!important}}.section-title{font-size:var(--font-size-header);color:var(--color-primary);text-transform:uppercase;letter-spacing:3px;font-weight:600;font-family:Mono,SF Mono,Monaco,Inconsolata,Fira Code,monospace;margin:0;opacity:1;display:flex;align-items:center;height:20px}.close-btn{background:none;border:1px solid var(--border-primary);color:var(--color-primary);font-size:var(--font-size-header);cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;transition:all .2s cubic-bezier(.4,0,.2,1);font-family:Mono,SF Mono,Monaco,Inconsolata,Fira Code,monospace;opacity:.8;border-radius:0;line-height:1}.close-btn:hover{color:var(--color-primary);opacity:1;border-color:var(--color-primary);transform:scale(1.05)}.params-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;flex:1;align-items:end;padding:0}.drawer-actions{display:flex;gap:20px;justify-content:center;align-items:center;flex-wrap:wrap;padding-top:0;margin-top:0;height:40px}.control-group{display:flex;flex-direction:column;gap:var(--spacing-sm);min-width:80px;align-items:center;padding:var(--spacing-xs) 0;position:relative;z-index:5;touch-action:pan-y}.control-group:nth-child(1){--slider-color: var(--palette-0, #C4A574)}.control-group:nth-child(2){--slider-color: var(--palette-1, #C4A574)}.control-group:nth-child(3){--slider-color: var(--palette-2, #C4A574)}.control-group:nth-child(4){--slider-color: var(--palette-3, #C4A574)}.control-group:nth-child(5){--slider-color: var(--palette-0, #C4A574)}.control-group label{color:var(--slider-color);font-size:var(--font-size-small);text-transform:uppercase;letter-spacing:1px;text-align:center;font-weight:400;font-family:var(--font-main);height:var(--spacing-md);line-height:var(--spacing-md);margin-bottom:0}.control-group input[type=range]{width:100%;height:1px;background:#00000080;border:1px solid var(--slider-color);border-radius:1px;-webkit-appearance:none;outline:none;cursor:pointer;transition:all .3s ease;touch-action:pan-y;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;pointer-events:auto;position:relative;z-index:10}.control-group input[type=range]:hover{border-color:var(--slider-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--slider-color) 20%,transparent);background:#000000b3}.control-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;background:var(--slider-color);border:1px solid var(--slider-color);border-radius:50%;cursor:pointer;transition:all .3s ease;touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;position:relative;z-index:15}.control-group input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.1);background:color-mix(in srgb,var(--slider-color) 80%,white);border-color:color-mix(in srgb,var(--slider-color) 80%,white);box-shadow:0 0 10px color-mix(in srgb,var(--slider-color) 50%,transparent)}.control-group input[type=range]::-moz-range-thumb{width:24px;height:24px;background:var(--slider-color);border:2px solid var(--slider-color);border-radius:50%;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);touch-action:manipulation;-moz-user-select:none;-webkit-user-select:none;user-select:none}.control-group input[type=range]::-moz-range-track{width:100%;height:1px;background:var(--slider-color);border-radius:1px;border:none}.control-group .value{font-size:var(--font-size-small);color:color-mix(in srgb,var(--slider-color) 70%,white);text-align:center;font-family:var(--font-main);font-weight:400;height:var(--spacing-md);line-height:var(--spacing-md);opacity:.9}button{-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;-webkit-tap-highlight-color:transparent}.action-btn,.toggle-btn,.drawer-btn,.control-btn{background:transparent;border:none;color:#ffffff59;border-radius:50%;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:row;align-items:center;justify-content:center;gap:0;font-family:var(--font-main);font-size:var(--font-size-base);font-weight:400;outline:none;position:relative;touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;animation:none!important}.action-btn,.toggle-btn{min-width:80px;flex:0 0 auto;padding:8px 16px;border-radius:12px}.drawer-btn{width:56px;min-width:56px;height:56px;padding:0;flex:0 0 auto;flex-shrink:0;background:#ffffff08;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:.5px solid rgba(255,255,255,.06);box-shadow:0 2px 8px #00000026,inset 0 1px #ffffff0a}.drawer-btn .btn-icon{font-size:var(--font-size-header);opacity:1}.control-btn{width:48px;min-width:48px;height:48px;padding:8px;flex:0 0 auto}.action-btn:hover,.toggle-btn:hover,.drawer-btn:hover,.control-btn:hover{color:#ffffff8c;transform:scale(1.03)}.drawer-btn:hover{background:#ffffff0d;border-color:#ffffff1a}.action-btn:active,.toggle-btn:active,.drawer-btn:active,.control-btn:active{transform:scale(.95);color:#ffffffa6}.action-btn:focus,.toggle-btn:focus,.drawer-btn:focus,.control-btn:focus{outline:none}.toggle-btn[data-active=true]{background:transparent;color:#fff}.toggle-btn[data-active=true] .btn-icon{color:#fff;text-shadow:0 0 20px rgba(255,255,255,.8),0 0 10px rgba(255,255,255,.6),0 0 5px rgba(255,255,255,.4)}.toggle-btn[data-active=true] .btn-text{color:#fff;text-shadow:0 0 15px rgba(255,255,255,.6)}.drawer-btn[data-active=true] .btn-icon{color:#fff;text-shadow:0 0 20px rgba(255,255,255,.8),0 0 10px rgba(255,255,255,.6),0 0 5px rgba(255,255,255,.4)}.btn-icon{font-size:var(--font-size-header);line-height:var(--line-height-header);font-family:var(--font-main);display:flex;align-items:center;justify-content:center;height:24px;width:24px;color:#ffffffe6;opacity:.9;transition:all .2s ease}.btn-text{font-size:var(--font-size-header);line-height:1;font-family:Mono,SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-weight:500;color:var(--color-primary);text-transform:uppercase;letter-spacing:1px;opacity:.8;height:16px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}@media(display-mode:standalone){.control-panel{bottom:20px!important;height:80px!important;padding:24px 32px!important}}@supports (-webkit-touch-callout: none){.control-panel{bottom:20px!important;height:80px!important;padding:24px 32px!important}body{padding-top:0!important}.geometry-forge-panel{height:471px!important;max-height:471px!important;min-height:471px!important;bottom:0!important}@media(max-width:767px){.control-panel{bottom:20px!important;height:80px!important;padding:20px!important}.geometry-forge-panel{height:401px!important;max-height:401px!important;min-height:401px!important}}}@media(min-width:768px)and (max-width:1023px){.control-panel{padding:0 20px calc(20px + env(safe-area-inset-bottom)) 20px;height:80px;background:#000;bottom:3vh}.main-controls{gap:var(--spacing-xs)}.settings-drawer{left:50%;bottom:0;transform:translate(-50%) translateY(calc(100% + 50px));width:360px;padding:20px 20px 100px;gap:20px;height:260px;border-radius:0;background:#0000001a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.settings-drawer.open{transform:translate(-50%) translateY(-180px)}}@media(min-width:1024px){.control-panel{padding:0 20px calc(20px + env(safe-area-inset-bottom)) 20px;height:80px;background:#000;bottom:3vh}.main-controls{gap:var(--spacing-sm)}.settings-drawer{left:50%;bottom:0;transform:translate(-50%) translateY(calc(100% + 50px));width:420px;padding:20px 20px 100px;gap:20px;height:280px;border-radius:0;background:#0000001a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.settings-drawer.open{transform:translate(-50%) translateY(-200px)}}@media(max-width:767px){.control-panel{padding:0 20px calc(20px + env(safe-area-inset-bottom)) 20px;height:80px;background:#000;bottom:3vh}.main-controls{gap:var(--spacing-md);flex-wrap:wrap}.action-btn,.toggle-btn{height:40px;font-size:var(--font-size-small);padding:var(--spacing-xs) var(--spacing-sm);min-width:64px;opacity:1;border-color:var(--border-primary);flex-direction:column;gap:var(--spacing-xxs)}.toggle-btn{min-width:64px;padding:var(--spacing-xs) var(--spacing-sm)}.drawer-btn,.control-btn{height:48px;width:48px;min-width:48px;padding:var(--spacing-xs);flex-direction:row;gap:0}.settings-drawer{bottom:0;padding:20px 20px calc(100px + env(safe-area-inset-bottom)) 20px;gap:20px;height:300px;background:#0000001a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.params-grid{grid-template-columns:repeat(2,1fr);gap:20px;padding:0 4px}.control-group{padding:0;gap:16px;min-width:80px;align-items:center}.control-group label{min-width:50px;font-size:var(--font-size-header)}.control-group .value{min-width:30px;font-size:var(--font-size-header)}#p5js-container{top:0;bottom:0}}.main-menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000f2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:10000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all .4s cubic-bezier(.23,1,.32,1)}.main-menu-overlay.open{opacity:1;visibility:visible}.main-menu{background:#000000d9;border:1px solid var(--color-border);border-radius:8px;-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);box-shadow:0 20px 60px #c4a57426;max-width:500px;width:90vw;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;font-family:var(--font-main);transform:scale(.9) translateY(20px);transition:all .4s cubic-bezier(.23,1,.32,1)}.main-menu-overlay.open .main-menu{transform:scale(1) translateY(0)}.menu-header{padding:var(--spacing-xl) var(--spacing-xl) var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:flex-start;background:#c4a57405}.app-identity{display:flex;flex-direction:column;gap:var(--spacing-xxs)}.app-name{font-size:var(--font-size-xxlarge);color:var(--color-primary);font-weight:400;letter-spacing:.05em;margin:0;line-height:1.2}.app-subtitle{font-size:var(--font-size-small);color:var(--color-muted);font-weight:400;letter-spacing:.1em;text-transform:uppercase;margin:0;opacity:.8}.menu-close{background:none;border:1px solid var(--color-border);color:var(--color-text);width:32px;height:32px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;font-size:var(--font-size-base);opacity:.8}.menu-close:hover{background:var(--color-primary);color:var(--color-bg);border-color:var(--color-primary);opacity:1;transform:scale(1.05)}.close-icon{font-size:var(--font-size-header);line-height:1}.menu-content{flex:1;overflow-y:auto;padding:var(--spacing-lg) var(--spacing-xl)}.menu-sections{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xl)}.menu-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.section-title{font-size:var(--font-size-small);color:var(--color-primary);font-weight:400;text-transform:uppercase;letter-spacing:.15em;margin:0;padding-bottom:var(--spacing-xs);border-bottom:1px solid rgba(196,165,116,.1);opacity:.9}.section-items{display:flex;flex-direction:column;gap:var(--spacing-xs)}.menu-item{background:#c4a57405;border:1px solid rgba(196,165,116,.1);color:var(--color-text);padding:var(--spacing-sm) var(--spacing-md);border-radius:4px;cursor:pointer;transition:all .2s cubic-bezier(.23,1,.32,1);display:flex;align-items:center;gap:var(--spacing-sm);font-family:var(--font-main);font-size:var(--font-size-base);font-weight:400;text-align:left;outline:none;position:relative;overflow:hidden}.menu-item:hover{background:#c4a57414;border-color:var(--color-primary);color:var(--color-primary);transform:translate(4px);box-shadow:0 4px 15px #c4a57426}.menu-item:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #c4a57433}.menu-item:active{transform:translate(2px);background:#c4a5741f}.item-icon{font-size:var(--font-size-base);width:20px;display:flex;align-items:center;justify-content:center;color:var(--color-muted);transition:color .2s ease;opacity:.8}.menu-item:hover .item-icon{color:var(--color-primary);opacity:1}.item-label{flex:1;font-size:var(--font-size-base);letter-spacing:.02em}.menu-footer{padding:var(--spacing-lg) var(--spacing-xl);border-top:1px solid var(--color-border);background:#c4a57403;display:flex;justify-content:space-between;align-items:center}.version-info,.build-info{display:flex;flex-direction:column;gap:var(--spacing-xxs);text-align:center}.version-label,.build-label{font-size:var(--font-size-small);color:var(--color-muted);text-transform:uppercase;letter-spacing:.1em;opacity:.7}.version-number,.build-number{font-size:var(--font-size-small);color:var(--color-text);font-weight:400;letter-spacing:.05em}@media(max-width:768px){.main-menu{width:95vw;max-height:85vh}.menu-header{padding:var(--spacing-lg) var(--spacing-md) var(--spacing-md) var(--spacing-md)}.app-name{font-size:var(--font-size-xlarge)}.menu-content{padding:var(--spacing-md)}.menu-sections{grid-template-columns:1fr;gap:var(--spacing-lg)}.menu-footer{padding:var(--spacing-md)}}@media(max-width:480px){.main-menu{width:100vw;height:100vh;border-radius:0;max-height:none}.menu-header{padding:var(--spacing-md)}.app-name{font-size:var(--font-size-large)}.menu-content{padding:var(--spacing-sm) var(--spacing-md)}.menu-sections{gap:var(--spacing-md)}.section-items{gap:var(--spacing-xxs)}.menu-item{padding:var(--spacing-sm)}}body.menu-open{overflow:hidden}::-webkit-scrollbar{display:none;width:0}*{scrollbar-width:none;-ms-overflow-style:none}html,body,.geometry-forge-panel{overflow:hidden}.harmony-lock-status{position:fixed;bottom:calc(20vh + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%) translateY(100%);font-family:var(--font-main);font-size:var(--font-size-header);letter-spacing:2px;text-transform:uppercase;background:#000000d9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.12);padding:var(--spacing-xs) var(--spacing-md);border-radius:2px;color:#ffffffeb;opacity:0;pointer-events:none;z-index:9999;transition:all .4s cubic-bezier(.23,1,.32,1);white-space:nowrap;box-shadow:0 0 20px #00000080,inset 0 1px #ffffff14}.harmony-lock-status.active{opacity:1;transform:translate(-50%) translateY(0)}.harmony-lock-status .lock-icon{display:inline-block;margin-right:8px;opacity:.7}.harmony-lock-status .harmony-type{opacity:.5;font-size:var(--font-size-header);margin-left:8px}@media(max-width:768px){.harmony-lock-status{font-size:var(--font-size-header);letter-spacing:1.5px;padding:6px 16px;bottom:calc(22vh + env(safe-area-inset-bottom,0px))}.harmony-lock-status .harmony-type{font-size:var(--font-size-value)}}
