:root{--bg-dark: #0a0a12;--bg-card: #12121f;--bg-elevated: #1a1a2e;--bg-hover: #222240;--border-subtle: rgba(255,255,255,.07);--border-hover: rgba(255,255,255,.14);--text-primary: #ffffff;--text-secondary: rgba(255,255,255,.6);--text-muted: rgba(255,255,255,.35);--accent: #667eea;--accent-glow: rgba(102,126,234,.25);--accent-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--danger: #f87171;--r-sm: 6px;--r-md: 10px;--r-lg: 16px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,#root{max-width:100vw;overflow-x:hidden;background-color:var(--bg-dark)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0;padding:0;overflow:hidden;height:100vh;width:100vw;display:flex;align-items:center;justify-content:center;background-color:var(--bg-dark);background-image:radial-gradient(circle at 50% 40%,#1a1a30 0%,var(--bg-dark) 70%);color:var(--text-primary);-webkit-font-smoothing:antialiased}.app-container{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.console-wrapper{background:var(--bg-card);border:1px solid var(--ch-color, var(--border-subtle));border-radius:20px;box-shadow:0 24px 60px #0000008c,0 0 0 1px #ffffff0a,0 0 40px var(--ch-color-glow, transparent),0 0 80px var(--ch-color-glow, transparent);padding:20px 24px;display:flex;flex-direction:column;gap:16px;transition:border-color .3s ease,box-shadow .3s ease;--accent: var(--ch-color, #667eea);--accent-glow: var(--ch-color-glow, rgba(102,126,234,.25))}.console-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:14px}.app-title{font-size:.85em;font-weight:700;display:flex;align-items:center;gap:6px;color:var(--ch-color, var(--text-primary));font-family:"Press Start 2P",monospace;margin:7px;letter-spacing:-.01em}.app-title-lines{padding-left:20px;display:flex;flex-direction:column;gap:1px;font-size:max(.6em,11px);line-height:1.3;text-transform:uppercase}.app-logo{width:70px;height:70px;flex-shrink:0;margin:-25px -10px -25px -15px;pointer-events:none}.modal-title{font-family:"Press Start 2P",monospace;color:var(--ch-color, var(--accent));display:flex;align-items:center;gap:10px}.modal-logo{width:70px;height:70px;flex-shrink:0;margin:-20px -5px -20px -10px;pointer-events:none}.title-arrow{color:var(--accent);-webkit-text-fill-color:var(--accent);animation:arrowBounce 2s ease-in-out infinite}@keyframes arrowBounce{0%,to{transform:translate(0)}50%{transform:translate(3px)}}.header-actions{display:flex;gap:8px}.landscape-drawer-toggle{display:none}.header-row-2{display:contents}.header-presets{display:flex;align-items:center;gap:2px}.hdr-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--r-md);color:var(--text-secondary);font-size:.75em;font-weight:500;cursor:pointer;transition:all .15s ease}.hdr-btn:hover{background:var(--bg-hover);border-color:var(--border-hover);color:var(--text-primary)}.hdr-btn.ch-colored{background:rgba(var(--ch-color-rgb, 100,100,255),.15);color:var(--ch-color);border-color:var(--ch-color)}.hdr-btn.ch-colored:hover{background:rgba(var(--ch-color-rgb, 100,100,255),.3);border-color:var(--ch-color);color:var(--ch-color);filter:brightness(1.1)}.hdr-btn.active{background:var(--accent-glow);border-color:var(--accent);color:var(--accent)}.hdr-btn.danger:hover{background:#ff3c3c26;color:#ff6464;border-color:#ff3c3c66}.console-body{display:flex;gap:20px;align-items:stretch}.side-panel{display:flex;flex-direction:column;gap:8px;width:130px;flex-shrink:0;margin-right:5px}.panel-group{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--r-md);padding:4px 6px;display:flex;flex-direction:column;align-items:center;gap:2px}.panel-group h3{font-size:max(.5em,11px);text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);margin:0;width:100%;text-align:center;line-height:1.2}.preset-nav{display:flex;align-items:center;gap:4px;width:100%}.nav-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:rgba(var(--ch-color-rgb, 100,100,255),.15);border:1px solid var(--ch-color);border-radius:var(--r-md);color:var(--ch-color);cursor:pointer;transition:all .15s;flex-shrink:0}.nav-btn:hover{background:rgba(var(--ch-color-rgb, 100,100,255),.3);filter:brightness(1.1)}.nav-btn.danger{color:var(--text-muted)}.nav-btn.danger:hover{background:#ff3c3c26;color:#ff6464;border-color:#ff3c3c66}.preset-label{width:auto;min-width:65px;max-width:80px;text-align:center;font-size:.8em;font-weight:600;color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.play-btn-hero{width:44px;height:44px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;background:var(--accent);border:2px solid transparent;border-radius:50%;color:#fff;cursor:pointer;transition:all .2s;box-shadow:0 4px 20px var(--accent-glow),0 0 30px var(--accent-glow);animation:playGlow 2s ease-in-out infinite;position:relative;flex-shrink:0}.play-btn-hero:hover{filter:brightness(1.15);transform:scale(1.08);box-shadow:0 4px 28px var(--accent-glow),0 0 40px var(--accent-glow)}.play-btn-hero.playing{background:var(--bg-card);border-color:var(--accent);color:var(--accent);animation:playGlowActive 1.5s ease-in-out infinite;box-shadow:0 0 20px var(--accent-glow),0 0 40px var(--accent-glow)}@keyframes playGlow{0%,to{box-shadow:0 4px 20px var(--accent-glow),0 0 30px var(--accent-glow)}50%{box-shadow:0 4px 28px var(--accent-glow),0 0 50px var(--accent-glow)}}@keyframes playGlowActive{0%,to{box-shadow:0 0 20px var(--accent-glow),0 0 40px var(--accent-glow)}50%{box-shadow:0 0 30px var(--accent-glow),0 0 60px var(--accent-glow)}}.slider-h{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;background:var(--bg-card);border-radius:3px;outline:none;cursor:pointer}.slider-h::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:var(--accent);border-radius:50%;cursor:pointer;box-shadow:0 0 8px var(--accent-glow);transition:transform .1s}.slider-h::-webkit-slider-thumb:hover{transform:scale(1.2)}.slider-h::-moz-range-thumb{width:16px;height:16px;background:var(--accent);border:none;border-radius:50%;cursor:pointer}.slider-val{font-size:.75em;color:var(--text-muted);font-variant-numeric:tabular-nums}.canvas-area{flex:1;min-width:0;min-height:0;position:relative;background:transparent;border-radius:0;overflow:visible;display:flex;align-items:center;justify-content:center}#sketch-holder{display:flex;align-items:center;justify-content:center;cursor:crosshair}#sketch-holder canvas{display:block;max-width:100%;max-height:100%;touch-action:none}.tool-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:40px;height:40px;padding:0 8px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--r-sm);color:var(--text-secondary);font-size:max(.75em,11px);font-weight:500;cursor:pointer;transition:all .15s ease}.tool-btn:hover{background:var(--bg-hover);border-color:var(--border-hover);color:var(--text-primary)}.tool-btn.active{background:var(--accent-glow);border-color:var(--accent);color:var(--accent)}.tool-btn.wide{width:100%;justify-content:center}.tool-btn.erasing{border-color:var(--danger);background:#f871711a;color:var(--danger)}.tool-btn.danger:hover{border-color:var(--danger);color:var(--danger);background:#f8717114}.tool-row{display:flex;flex-direction:column;gap:6px;width:100%}.tool-row .tool-btn{width:100%}.tool-btn-labeled{display:flex;flex-direction:column;align-items:center;width:100%;gap:2px}.tool-btn-labeled .tool-btn{width:100%}.tool-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);line-height:1}.draw-panel.draw-active{border-color:var(--accent);box-shadow:0 0 12px var(--accent-glow)}.draw-panel.draw-active h3{color:var(--accent)}.erase-panel{cursor:pointer;transition:all .2s ease}.erase-panel-active{border-color:#e74c3c;box-shadow:0 0 12px #e74c3c33}.erase-panel-active h3{color:#e74c3c}.erase-panel .erase-grid .tool-btn.active{background:#e74c3c1f;border-color:#e74c3c;color:#e74c3c}.draw-type-row{display:flex;gap:6px;width:100%}.draw-type-row .type-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;height:36px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--r-sm);color:var(--text-secondary);font-size:.7em;font-weight:500;cursor:pointer;transition:all .15s ease}.draw-type-row .type-btn:hover{background:var(--bg-hover);border-color:var(--border-hover);color:var(--text-primary)}.draw-type-row .type-btn.active{background:var(--accent-glow);border-color:var(--accent);color:var(--accent)}.draw-tool-group{width:100%;display:flex;flex-direction:column;gap:6px;padding:10px;border:2px solid var(--border-subtle);border-radius:var(--r-lg);background:var(--bg-elevated);cursor:pointer;transition:all .2s ease;position:relative;border-bottom-width:4px}.draw-tool-group.active-section{border-color:var(--accent);background:var(--accent-glow);box-shadow:0 0 16px var(--accent-glow),inset 0 1px #ffffff0f;border-bottom-color:var(--accent)}.draw-tool-group.active-section[style]{border-color:rgb(var(--ch-r),var(--ch-g),var(--ch-b));background:rgba(var(--ch-r),var(--ch-g),var(--ch-b),.1);box-shadow:0 0 16px rgba(var(--ch-r),var(--ch-g),var(--ch-b),.25),inset 0 1px #ffffff0f;border-bottom-color:rgba(var(--ch-r),var(--ch-g),var(--ch-b),.6)}.draw-tool-group.inactive-section{opacity:1;border-color:#ffffff26;border-bottom-color:#ffffff1a;background:var(--bg-elevated);transition:all .2s ease}.draw-tool-group.inactive-section .group-label,.draw-tool-group.inactive-section .tool-btn{color:var(--text-secondary)}.draw-tool-group.inactive-section:hover{border-color:#ffffff40;background:var(--bg-hover);transform:translateY(-1px)}.draw-tool-group.inactive-section:hover .group-label{color:var(--text-primary)}.draw-tool-group .tool-btn,.draw-tool-group .wall-side-btn{background:#ffffff0a}.group-label{font-size:max(.65em,11px);font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);line-height:1;text-align:center}.draw-tool-group.active-section .group-label{color:var(--accent)}.draw-tool-group.active-section[style] .group-label{color:rgb(var(--ch-r),var(--ch-g),var(--ch-b))}.ch-select-btn{width:100%;min-height:26px;border:none;border-radius:var(--r-sm);color:#fff;font-size:.75em;font-weight:800;cursor:pointer;transition:all .12s;text-shadow:0 1px 3px rgba(0,0,0,.4)}.ch-select-btn:hover{filter:brightness(1.15);transform:translateY(-1px)}.ch-select-overlay{justify-content:space-between;padding-top:12px;gap:8px;width:min(320px,90vw);max-height:min(480px,85dvh)}.ch-select-grid{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:8px;width:100%;padding:0;flex:1;min-height:0;overflow-y:auto}.ch-select-item{width:100%;aspect-ratio:auto;min-height:36px;border:2px solid transparent;border-radius:var(--r-sm);color:#fff;font-size:.78em;font-weight:800;cursor:pointer;transition:all .1s;text-shadow:0 1px 2px rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center}.ch-select-item:hover{filter:brightness(1.2);box-shadow:0 0 8px #ffffff4d}.ch-select-item.selected{border-color:#fff;box-shadow:0 0 8px #fff6}.wall-sides-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px;width:100%}.wall-side-btn{display:flex;align-items:center;justify-content:center;gap:4px;height:32px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--r-sm);color:var(--text-secondary);font-size:max(.65em,11px);font-weight:500;cursor:pointer;transition:all .15s ease}.wall-side-btn:hover{background:var(--bg-hover);border-color:var(--border-hover);color:var(--text-primary)}.wall-side-btn.active{background:var(--accent-glow);border-color:var(--accent);color:var(--accent)}.wall-side-btn.wide{grid-column:1 / -1}.draw-panel{gap:8px}.channel-row{display:flex;flex-direction:column;width:100%;flex:1;min-height:0;overflow:visible}.channel-list-body{position:relative;display:flex;flex-direction:column;gap:1px;flex:1;min-height:0;touch-action:none}.ch-select-arrow{position:absolute;left:-14px;transform:translateY(-50%);font-size:12px;line-height:1;pointer-events:auto;cursor:grab;z-index:2;transition:top .25s cubic-bezier(.4,0,.2,1),color .25s ease;user-select:none;-webkit-user-select:none}.ch-select-arrow:active{cursor:grabbing}body:has(.slider-overlay-backdrop) .ch-select-arrow{opacity:0;pointer-events:none}.channel-header{display:flex;align-items:center;justify-content:center;margin-bottom:2px}.channel-header h3{margin:0;font-size:max(.6em,11px);text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);font-weight:600}.channel-header-chevron{display:none}.channel-item{display:flex;flex-direction:column;cursor:pointer;border-radius:var(--r-sm);transition:all .12s ease;flex:1;align-items:center}.channel-item:last-child{border-bottom:none}.channel-box{display:flex;align-items:center;gap:3px;padding:1px 4px;border-radius:var(--r-sm);border:none;background:transparent;transition:all .12s ease;min-height:26px;flex:1}.channel-box.muted{opacity:.45}.ch-ctrl-btn{display:flex;align-items:center;justify-content:center;height:22px;min-width:24px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:3px;color:var(--ch-color, rgba(255,255,255,.55));font-size:.72em;font-weight:700;cursor:pointer;padding:0 3px;line-height:22px;flex:1;-webkit-user-select:none;user-select:none;transition:all .12s;font-variant-numeric:tabular-nums;white-space:nowrap}.ch-ctrl-btn:hover{border-color:#ffffff2e}.ch-ctrl-btn.on{background:#ffffff14;color:var(--ch-color, rgba(255,255,255,.85))}.ch-ctrl-btn.off{background:#ff3c3c26;border-color:#ff3c3c33;color:#ff6e6e}.ch-ctrl-btn.off:hover{background:#ff3c3c66;color:#ff8c8c}.popup-trigger-wrap{position:relative}.popup-trigger-btn{display:flex;align-items:center;justify-content:center;gap:4px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--r-sm);color:var(--text-secondary);font-size:.75em;font-weight:700;font-variant-numeric:tabular-nums;padding:3px 8px;cursor:pointer;transition:all .15s;width:100%;min-height:24px}.popup-trigger-btn:hover{background:var(--bg-hover);border-color:var(--border-hover);color:var(--text-primary)}.slider-overlay-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4000;display:flex;align-items:center;justify-content:center;background:#0000008c;animation:overlayFadeIn .12s ease-out;-webkit-transform:translateZ(0);transform:translateZ(0);isolation:isolate}.slider-overlay-backdrop--left{justify-content:flex-start}.slider-overlay-backdrop--right{justify-content:flex-end}.slider-overlay-backdrop--left,.slider-overlay-backdrop--right{pointer-events:none;background:transparent}.slider-overlay-backdrop--left .slider-overlay,.slider-overlay-backdrop--right .slider-overlay{pointer-events:auto;position:absolute;left:var(--panel-left, 0px);top:var(--panel-top, 0px);width:var(--panel-width, 220px);height:var(--panel-height, 100%);min-height:0;border-radius:var(--r-md)}.slider-overlay{position:relative;width:220px;min-height:260px;background:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:var(--r-md);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:16px 8px;animation:overlayFadeIn .12s ease-out}.slider-overlay[style]{background:var(--bg-dark);border-color:rgba(var(--ch-r),var(--ch-g),var(--ch-b),.5)}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.slider-overlay-header{display:flex;align-items:center;width:100%}.slider-overlay-back{background:none;border:none;color:var(--text-muted);font-size:1.6em;line-height:1;cursor:pointer;padding:0 4px;transition:all .12s;flex-shrink:0;width:28px}.slider-overlay-back:hover{color:var(--text-primary)}.slider-overlay[style] .slider-overlay-back{color:rgb(var(--ch-r),var(--ch-g),var(--ch-b))}.slider-overlay-title{font-size:.7em;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);flex:1;text-align:center;margin-right:28px}.slider-overlay[style] .slider-overlay-title{color:rgb(var(--ch-r),var(--ch-g),var(--ch-b))}.slider-overlay-done{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--r-sm);color:var(--text-secondary);font-size:.72em;font-weight:700;width:100%;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .12s}.slider-overlay-done:hover{background:var(--bg-hover);color:var(--text-primary)}.slider-overlay[style] .slider-overlay-done{border-color:rgba(var(--ch-r),var(--ch-g),var(--ch-b),.3);color:rgb(var(--ch-r),var(--ch-g),var(--ch-b))}.slider-overlay[style] .slider-overlay-done:hover{background:rgba(var(--ch-r),var(--ch-g),var(--ch-b),.15)}.slider-overlay-val{font-size:1.4em;font-weight:800;color:var(--text-primary);font-variant-numeric:tabular-nums;text-align:center;width:100%}.slider-overlay[style] .slider-overlay-val{color:rgb(var(--ch-r),var(--ch-g),var(--ch-b))}.slider-overlay-range{-webkit-appearance:slider-vertical;-moz-appearance:slider-vertical;appearance:slider-vertical;writing-mode:vertical-lr;direction:rtl;width:28px;flex:1;min-height:0;background:transparent;border-radius:4px;outline:none;cursor:pointer;margin:0 auto}.slider-overlay[style] .slider-overlay-range{background:rgba(var(--ch-r),var(--ch-g),var(--ch-b),.15)}.slider-overlay-range::-webkit-slider-runnable-track{background:#ffffff1a;border-radius:4px}.slider-overlay[style] .slider-overlay-range::-webkit-slider-runnable-track{background:rgba(var(--ch-r),var(--ch-g),var(--ch-b),.25)}.slider-overlay-range::-moz-range-track{background:#ffffff1a;border-radius:4px}.slider-overlay[style] .slider-overlay-range::-moz-range-track{background:rgba(var(--ch-r),var(--ch-g),var(--ch-b),.25)}.slider-overlay-range::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:28px;height:28px;border-radius:50%;background:var(--accent);cursor:pointer;box-shadow:0 0 12px var(--accent-glow)}.slider-overlay[style] .slider-overlay-range::-webkit-slider-thumb{background:rgb(var(--ch-r),var(--ch-g),var(--ch-b));box-shadow:0 0 14px rgba(var(--ch-r),var(--ch-g),var(--ch-b),.6)}.slider-overlay-range::-moz-range-thumb{width:28px;height:28px;background:var(--accent);border:none;border-radius:50%;cursor:pointer;box-shadow:0 0 12px var(--accent-glow)}.slider-overlay[style] .slider-overlay-range::-moz-range-thumb{background:rgb(var(--ch-r),var(--ch-g),var(--ch-b));box-shadow:0 0 14px rgba(var(--ch-r),var(--ch-g),var(--ch-b),.6)}.ch-num-btn{display:flex;align-items:center;justify-content:center;width:22px;min-width:22px;height:22px;background:#ffffff0f;border:1px solid rgba(255,255,255,.15);border-radius:3px;color:#fff9;font-size:.72em;font-weight:800;cursor:pointer;padding:0;flex-shrink:0;-webkit-user-select:none;user-select:none;transition:all .12s;margin-right:2px}.ch-num-btn:hover{border-color:#ffffff40}.ch-num-btn.ch-blue{border-color:#667eea;color:#667eea}.ch-num-btn.ch-purple{border-color:#b464ff;color:#b464ff}.ch-num-btn.ch-green{border-color:#39ff78;color:#39ff78}.ch-num-btn.ch-orange{border-color:#ffa028;color:#ffa028}.ch-num-btn.ch-red{border-color:#ff3c3c;color:#ff3c3c}.ch-num-btn.ch-yellow{border-color:#fff028;color:#fff028}.ch-num-btn.ch-pink{border-color:#ff32c8;color:#ff32c8}.ch-num-btn.ch-cyan{border-color:#00c8c8;color:#00c8c8}.ch-num-btn.ch-silver{border-color:#c8c8c8;color:#c8c8c8}.ch-num-btn.ch-salmon{border-color:#ff7878;color:#ff7878}.ch-num-btn.ch-mint{border-color:#78ffc8;color:#78ffc8}.ch-num-btn.ch-bronze{border-color:#c88c50;color:#c88c50}.ch-num-btn.ch-sky{border-color:#8cb4ff;color:#8cb4ff}.ch-num-btn.ch-lavender{border-color:#dc78ff;color:#dc78ff}.ch-num-btn.ch-gold{border-color:#ffc864;color:#ffc864}.ch-num-btn.ch-aqua{border-color:#64ffff;color:#64ffff}.ch-num-btn.ch-blue.active{background:#667eea;border-color:#667eea;color:#fff;box-shadow:0 0 8px #667eea80}.ch-num-btn.ch-purple.active{background:#b464ff;border-color:#b464ff;color:#fff;box-shadow:0 0 8px #b464ff80}.ch-num-btn.ch-green.active{background:#39ff78;border-color:#39ff78;color:#111;box-shadow:0 0 8px #39ff7880}.ch-num-btn.ch-orange.active{background:#ffa028;border-color:#ffa028;color:#111;box-shadow:0 0 8px #ffa02880}.ch-num-btn.ch-red.active{background:#ff3c3c;border-color:#ff3c3c;color:#fff;box-shadow:0 0 8px #ff3c3c80}.ch-num-btn.ch-yellow.active{background:#fff028;border-color:#fff028;color:#111;box-shadow:0 0 8px #fff02880}.ch-num-btn.ch-pink.active{background:#ff32c8;border-color:#ff32c8;color:#fff;box-shadow:0 0 8px #ff32c880}.ch-num-btn.ch-cyan.active{background:#00c8c8;border-color:#00c8c8;color:#111;box-shadow:0 0 8px #00c8c880}.ch-num-btn.ch-silver.active{background:#c8c8c8;border-color:#c8c8c8;color:#111;box-shadow:0 0 8px #c8c8c866}.ch-num-btn.ch-salmon.active{background:#ff7878;border-color:#ff7878;color:#111;box-shadow:0 0 8px #ff787880}.ch-num-btn.ch-mint.active{background:#78ffc8;border-color:#78ffc8;color:#111;box-shadow:0 0 8px #78ffc880}.ch-num-btn.ch-bronze.active{background:#c88c50;border-color:#c88c50;color:#fff;box-shadow:0 0 8px #c88c5080}.ch-num-btn.ch-sky.active{background:#8cb4ff;border-color:#8cb4ff;color:#111;box-shadow:0 0 8px #8cb4ff80}.ch-num-btn.ch-lavender.active{background:#dc78ff;border-color:#dc78ff;color:#fff;box-shadow:0 0 8px #dc78ff80}.ch-num-btn.ch-gold.active{background:#ffc864;border-color:#ffc864;color:#111;box-shadow:0 0 8px #ffc86480}.ch-num-btn.ch-aqua.active{background:#64ffff;border-color:#64ffff;color:#111;box-shadow:0 0 8px #64ffff80}.ch-vol-fixed{min-width:32px;max-width:36px}.ch-fx-btn{min-width:22px;max-width:28px;padding:0;position:relative;overflow:hidden;isolation:isolate}.ch-fx-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--ch-color, var(--text-secondary));mix-blend-mode:color;pointer-events:none;border-radius:inherit}.ch-fx-icon{font-size:1.1em;line-height:1;display:inline-flex;align-items:center;justify-content:center}.count-num{font-size:1.1em;font-weight:700;font-variant-numeric:tabular-nums}.sym-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px;width:100%}.sym-grid .tool-btn{width:100%;min-width:0;height:34px;padding:0}.erase-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;width:100%}.erase-grid .tool-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:4px;font-size:max(.65em,11px);font-weight:600}.erase-grid .tool-btn.wide{grid-column:1 / -1}.console-footer{display:flex;justify-content:center;gap:16px;padding-top:14px}.footer-group{display:flex;align-items:center;gap:6px;position:relative;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--r-md);padding:4px 10px}.footer-group label{font-size:max(.65em,11px);text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-weight:600}.sel{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg-card);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='rgba(255,255,255,0.45)'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:10px 6px;border:1px solid var(--border-subtle);border-radius:var(--r-sm);color:var(--text-primary);padding:5px 24px 5px 8px;font-size:.78em;outline:none;cursor:pointer;transition:border-color .15s;font-family:inherit}.sel:hover,.sel:focus{border-color:var(--accent)}.key-nudge-btn{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--r-sm);color:var(--text-muted);font-size:max(.55em,11px);padding:2px 5px;cursor:pointer;line-height:1;transition:background .12s,color .12s,border-color .12s}.key-nudge-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary);border-color:var(--accent)}.prog-modal .key-nudge-btn,.prog-modal .sel{background:var(--bg-elevated)}.prog-modal .key-nudge-btn{border:1px solid var(--border-subtle);border-radius:5px;color:var(--ch-color, var(--text-secondary));font-size:.75em;padding:0;width:30px;height:28px;display:flex;align-items:center;justify-content:center}.prog-modal .key-nudge-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--ch-color, var(--text-primary));border-color:var(--ch-color, var(--accent))}.key-nudge-btn:disabled{opacity:.3;cursor:default}.grid-label-wrapper{position:relative}.grid-labels{position:absolute;pointer-events:none;z-index:1}.grid-labels-top{bottom:100%;left:0;right:0;height:14px}.grid-labels-left{right:100%;top:0;bottom:0;width:28px}.grid-labels-top .grid-note-label{position:absolute;top:0;transform:translate(-50%);font-size:.7em;color:var(--text-muted);opacity:.55;white-space:nowrap;text-align:center;letter-spacing:-.02em;font-family:var(--font)}.grid-labels-left .grid-note-label{position:absolute;right:3px;transform:translateY(-50%);font-size:.7em;color:var(--text-muted);opacity:.55;white-space:nowrap;text-align:right;letter-spacing:-.02em;font-family:var(--font)}.midi-help-btn{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--r-sm);color:var(--text-muted);padding:4px 6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .15s,border-color .15s}.midi-help-btn:hover{color:#f5c842;border-color:#f5c842}.midi-help-popup{position:absolute;bottom:calc(100% + 8px);right:0;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:14px 16px;width:280px;max-width:calc(100vw - 24px);z-index:200;box-shadow:0 8px 24px #0006;animation:introFadeIn .2s ease-out}.midi-help-popup-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.midi-help-popup-header strong{font-size:.85em;color:var(--text)}.midi-help-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.9em;padding:2px 4px}.midi-help-close:hover{color:var(--text)}.midi-help-steps{list-style:decimal;padding:0 0 0 18px;margin:0 0 12px}.midi-help-steps li{font-size:.72em;color:var(--text-dim);line-height:1.5;padding:2px 0}.midi-help-steps li strong{color:var(--text)}.midi-help-rescan{width:100%;background:var(--accent);border:none;border-radius:6px;color:#fff;font-size:.75em;font-weight:600;padding:7px 0;cursor:pointer;transition:opacity .12s}.midi-help-rescan:hover{opacity:.85}.prog-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:3500;animation:fadeIn .15s ease}.prog-modal{position:relative;background:var(--bg-card);border:2px solid var(--ch-color, var(--border));border-radius:var(--r-md);padding:16px 18px;min-width:300px;max-width:380px;max-height:85vh;max-height:85dvh;overflow-y:auto;box-shadow:0 8px 32px #00000080,0 0 20px var(--ch-color-glow, transparent);width:calc(100vw - 24px)}.prog-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;font-size:.8em;color:var(--ch-color, var(--text-primary))}.prog-modal-close{background:none;border:none;color:var(--text-dim);font-size:1.1em;cursor:pointer;padding:2px 6px;border-radius:4px;line-height:1;transition:all .12s}.prog-modal-close:hover{background:#ffffff1a;color:var(--text-primary)}.prog-group-label{font-size:.72em;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ch-color, var(--text-secondary));margin-bottom:10px;padding-bottom:5px;border-bottom:2px solid var(--ch-color, var(--border-subtle))}.prog-section{margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--border-subtle)}.prog-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.prog-section-label{font-size:.68em;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ch-color, var(--text-muted));margin-bottom:8px}.prog-section-hint{font-size:.62em;color:var(--text-dim);margin:6px 0 0;line-height:1.4;text-align:center}.prog-section-hint.perc-hint{display:none}.prog-icon-grid{display:flex;flex-wrap:wrap;gap:4px}.prog-icon-btn{width:36px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:5px;font-size:1.2em;cursor:pointer;transition:all .12s;padding:0;position:relative;overflow:hidden}.prog-icon-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--ch-color, var(--text-secondary));mix-blend-mode:color;pointer-events:none;border-radius:inherit}.prog-icon-btn:hover{background:var(--bg-hover);border-color:var(--border);transform:scale(1.08)}.prog-icon-btn.active{background:var(--ch-color, var(--accent));border-color:var(--ch-color, var(--accent));box-shadow:0 0 8px var(--ch-color-glow, var(--accent-glow))}.prog-icon-btn.active .icon-glyph{filter:brightness(1.5) saturate(.5)}.prog-synth-grid{display:flex;flex-wrap:wrap;gap:4px}.prog-synth-select-row{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:4px}.prog-synth-sel{min-width:0;height:28px;width:auto}.prog-modal-input-row{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:8px}.prog-modal-input{width:56px;height:28px;box-sizing:border-box;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:4px;color:var(--text);font-size:.85em;padding:0 6px;text-align:center;outline:none;font-variant-numeric:tabular-nums;-moz-appearance:textfield}.prog-modal-input::-webkit-outer-spin-button,.prog-modal-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.prog-modal-input:focus{border-color:var(--ch-color, var(--accent));box-shadow:0 0 0 2px var(--ch-color-glow, var(--accent-glow))}.prog-inc-btn{width:30px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:5px;color:var(--ch-color, var(--text-secondary));font-size:.75em;cursor:pointer;transition:all .12s;padding:0}.prog-inc-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--ch-color, var(--border));color:var(--ch-color, var(--text-primary))}.prog-inc-btn:disabled{opacity:.3;cursor:default}.prog-modal-presets{display:flex;flex-wrap:wrap;gap:4px}.prog-preset-btn{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-dim);font-size:.62em;font-weight:500;padding:4px 7px;cursor:pointer;transition:all .12s;white-space:nowrap}.prog-preset-btn:hover{background:var(--bg-hover);border-color:var(--border);color:var(--text-primary)}.prog-preset-btn.active{background:var(--ch-color, var(--accent));border-color:var(--ch-color, var(--accent));color:#111;font-weight:700}.prog-confirm-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;border-radius:var(--r-md);z-index:10;animation:fadeIn .15s ease}.prog-confirm-popup{background:var(--bg-card);border:1px solid rgba(255,180,40,.5);border-radius:10px;padding:20px 24px;text-align:center;box-shadow:0 4px 24px #00000080;min-width:220px}.prog-confirm-msg{font-size:.82em;color:#ffc850;margin-bottom:16px;font-weight:600}.prog-confirm-actions{display:flex;gap:10px;justify-content:center}.prog-confirm-discard{background:#ff3c3c33;border:1px solid rgba(255,60,60,.4);border-radius:4px;color:#ff7878;font-size:.9em;font-weight:600;padding:4px 10px;cursor:pointer;transition:all .12s}.prog-confirm-discard:hover{background:#ff3c3c59}.prog-confirm-stay{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:var(--text-secondary);font-size:.9em;font-weight:600;padding:4px 10px;cursor:pointer;transition:all .12s}.prog-confirm-stay:hover{background:#ffffff2e}.synth-params-details{margin:0}.synth-params-details summary{cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none;padding:6px 0;margin:-2px 0}.synth-params-details summary::-webkit-details-marker{display:none}.synth-params-toggle:after{content:"";margin-left:6px;display:inline-block;width:0;height:0;border-style:solid;border-width:5px 0 5px 8px;border-color:transparent transparent transparent var(--ch-color, var(--accent));transition:transform .15s;vertical-align:middle}.synth-params-details[open] .synth-params-toggle:after{transform:rotate(90deg)}.synth-params-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease-out;overflow:hidden}.synth-params-details[open] .synth-params-body{grid-template-rows:1fr}.synth-params{min-height:0;display:flex;flex-direction:column;gap:6px;overflow:hidden}.perc-hint-row{cursor:default}.perc-hint-row:after{display:none}.synth-param-row{display:flex;align-items:center;gap:8px}.synth-param-name{width:68px;flex-shrink:0;font-size:.7em;font-weight:600;color:var(--text-secondary);text-align:right}.synth-slider{flex:1;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg-elevated);border-radius:2px;outline:none;cursor:pointer}.synth-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--ch-color, var(--accent));border:2px solid var(--bg-dark);cursor:pointer}.synth-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--ch-color, var(--accent));border:2px solid var(--bg-dark);cursor:pointer}.synth-param-val{width:42px;flex-shrink:0;font-size:.65em;color:var(--text-muted);font-family:Courier New,monospace;text-align:right}.synth-waveform-sel{flex:1;font-size:.75em}.prog-modal-footer{display:flex;align-items:center;gap:8px;padding-top:0}.prog-footer-btn{flex:1;display:flex;align-items:center;justify-content:center;padding:7px 0;border-radius:6px;font-size:.72em;font-weight:700;cursor:pointer;transition:all .12s;border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text-secondary)}.prog-footer-btn:hover{background:var(--bg-hover);border-color:var(--border);color:var(--text-primary)}.prog-btn-ok{background:var(--ch-color, var(--accent));border-color:var(--ch-color, var(--accent));color:#fff}.prog-btn-ok:hover{opacity:.85;background:var(--ch-color, var(--accent));border-color:var(--ch-color, var(--accent));color:#fff}.prog-btn-cancel{color:var(--text-dim)}.action-bar{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 0 0;border-top:1px solid var(--border-subtle);margin-top:-4px}.action-bar-buttons{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center}.action-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 14px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--r-md);color:var(--text-secondary);font-size:.75em;font-weight:500;cursor:pointer;transition:all .15s ease}.action-btn:hover{background:var(--bg-hover);border-color:var(--border-hover);color:var(--text-primary)}.action-btn.share-btn{background:linear-gradient(135deg,#667eea26,#da70d626);border-color:#667eea4d;color:var(--text-primary)}.action-btn.share-btn:hover{background:linear-gradient(135deg,#667eea40,#da70d640);border-color:#667eea80}@media (orientation: landscape) and (min-width: 861px){body{overflow:auto}.console-wrapper{max-height:calc(100vh - 20px);max-width:calc(100vw - 20px);overflow:visible}.console-body{flex:1;min-height:0;justify-content:center}.canvas-area{align-self:stretch}.side-panel{max-height:100%;gap:4px}.side-panel:last-child{overflow-y:auto}.draw-tool-group{padding:4px;gap:4px}.draw-panel{gap:4px}}@media (orientation: landscape) and (min-width: 861px) and (hover: none) and (pointer: coarse){body{overflow:hidden;height:100svh;width:100vw}.app-container{width:100vw;height:100svh;padding:0}.console-wrapper{height:calc(100svh - 12px);max-height:calc(100svh - 12px);max-width:calc(100vw - 12px);overflow:hidden}.side-panel:first-child{overflow-y:auto;overflow-x:hidden;max-height:100%;scrollbar-width:none;-ms-overflow-style:none}.side-panel:first-child::-webkit-scrollbar{display:none}.side-panel:last-child{overflow-y:auto;overflow-x:hidden;max-height:100%;scrollbar-width:none;-ms-overflow-style:none}.side-panel:last-child::-webkit-scrollbar{display:none}}@media (orientation: landscape) and (min-width: 861px) and (max-width: 1049px){.console-header{flex-wrap:wrap;gap:4px;padding-bottom:2px;position:relative}.app-title{font-size:.7em;order:0;margin:0}.undo-redo-group{order:1;flex:0}.undo-redo-btn span{display:none}.undo-redo-btn{min-width:32px;min-height:32px;padding:2px 4px}.play-btn-hero{position:absolute;left:50%;top:0;transform:translate(-50%);width:36px;height:36px;order:2}.play-btn-hero:hover{transform:translate(-50%) scale(1.08)}.header-actions{order:3;gap:3px;margin-left:auto}.header-row-2{display:flex;width:100%;gap:4px;order:10;align-items:center}.header-row-2 .header-presets{flex:1;justify-content:center;gap:4px}.hdr-btn{padding:2px 8px;font-size:.68em;min-height:30px;min-width:30px;justify-content:center}.draw-tool-group{padding:0 4px;gap:3px}.draw-panel{gap:3px}}@media (orientation: landscape) and (min-width: 861px) and (max-height: 900px){.side-panel:first-child{width:265px}.channel-list-body{display:grid;grid-template-columns:1fr 1fr;gap:1px;overflow:visible}.ch-select-arrow{display:none}.side-panel:last-child{width:240px;display:flex;flex-direction:column;gap:4px;align-content:start;overflow-y:visible}.side-panel:last-child>.panel-group.draw-panel{display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:5px}.side-panel:last-child>.panel-group.draw-panel>h3{flex:1 1 100%;width:100%;margin:0}.side-panel:last-child>.panel-group.draw-panel>.draw-tool-group:first-of-type{flex:1 1 100%;width:auto}.side-panel:last-child>.panel-group.draw-panel>.draw-tool-group:not(:first-of-type){flex:1 1 calc(50% - 5px);width:auto;min-width:0}.side-panel:last-child>.panel-group.draw-panel>.draw-tool-group{padding:6px 8px;gap:4px}.erase-panel .erase-grid{grid-template-columns:1fr 1fr 1fr}.erase-panel .erase-grid .tool-btn.wide{grid-column:auto}.tool-btn{height:36px;min-width:36px}.wall-side-btn{height:36px}.sym-grid .tool-btn{height:36px;min-width:36px}.popup-trigger-btn,.ch-select-btn{min-height:36px}.ch-select-overlay{justify-content:flex-start;padding:8px;gap:6px}.ch-select-grid{grid-template-columns:1fr 1fr;gap:4px;overflow-y:auto;max-height:calc(100% - 60px)}.ch-select-item{min-height:26px;font-size:.72em}}@media (max-width: 860px),(orientation: portrait) and (max-width: 1024px){body{overflow:auto;height:auto;min-height:100vh;min-height:100dvh;align-items:flex-start}.app-container{align-items:flex-start;padding:4px;width:100%;overflow-x:hidden}.console-wrapper{width:100%;max-width:100%;padding:8px;gap:8px;border-radius:8px;overflow-x:hidden}.console-header{flex-wrap:wrap;gap:6px;padding-bottom:6px;position:relative}.app-title{font-size:.7em;order:0}.undo-redo-group{order:1;flex:0}.undo-redo-btn span{display:none}.undo-redo-btn{min-width:44px;min-height:44px;padding:4px 6px}.play-btn-hero{position:absolute;left:50%;top:0;transform:translate(-50%);width:44px;height:44px;order:2}.play-btn-hero:hover{transform:translate(-50%) scale(1.08)}.header-actions{order:3;gap:4px;margin-left:auto}.header-row-2{display:flex;width:100%;gap:6px;order:10;align-items:center}.header-row-2 .header-presets{flex:1;justify-content:center;gap:4px}.header-presets .preset-label{font-size:.7em}.hdr-btn{padding:4px 8px;font-size:.7em;min-height:44px;min-width:44px;justify-content:center}.hdr-btn span{display:none}.hdr-btn svg{width:20px;height:20px}.nav-btn{width:32px;height:44px}.nav-btn svg{width:18px;height:18px}.console-body{flex-flow:row wrap;align-items:stretch;gap:6px}.canvas-area{flex:0 0 100%;aspect-ratio:1 / 1;max-height:min(calc(100vw - 16px),58vh);max-height:min(calc(100vw - 16px),58dvh);order:-1;border-radius:var(--r-sm)}.grid-labels-left{display:none}.grid-labels-top{height:16px}.side-panel{flex:0 0 100%;flex-direction:row;flex-wrap:wrap;gap:6px;flex-shrink:0;position:relative;order:1}.side-panel>.panel-group{flex:1 1 0;min-width:0}.console-body>.side-panel:last-child>.draw-panel{flex:1 1 100%;display:flex;flex-direction:row;flex-wrap:wrap;gap:6px;align-items:flex-start}.console-body>.side-panel:last-child>.draw-panel>h3{flex:1 1 100%;margin:0}.console-body>.side-panel:last-child>.draw-panel>.draw-tool-group:nth-of-type(1),.console-body>.side-panel:last-child>.draw-panel>.draw-tool-group:nth-of-type(2){flex:1 1 40%;min-width:0}.console-body>.side-panel:last-child>.draw-panel>.draw-tool-group:nth-of-type(3){flex:1 1 100%}.console-body>.side-panel:last-child>.erase-panel{flex:1 1 100%}.console-body>.side-panel:last-child>.erase-panel .erase-grid{grid-template-columns:1fr 1fr 1fr}.console-body>.side-panel:last-child>.erase-panel .erase-grid .tool-btn.wide{grid-column:auto}.panel-group h3{font-size:max(.5em,11px)}.popup-trigger-btn{min-height:44px;font-size:.85em}.tool-row{flex-direction:row;gap:4px}.tool-row .tool-btn-labeled{flex:1;width:auto}.tool-row .tool-btn-labeled .tool-btn{width:100%}.side-panel>.channel-row{flex:1 1 100%;order:10}.channel-list-body{display:grid!important;grid-template-columns:repeat(4,1fr);gap:3px;max-height:0;overflow:hidden;transition:max-height .3s ease;touch-action:pan-y}.channel-row.expanded .channel-list-body{max-height:900px}.channel-header{cursor:pointer;-webkit-user-select:none;user-select:none}.channel-header:after{content:none}.ch-select-arrow{display:none}.channel-item{min-width:0}.channel-box{min-height:34px;padding:3px;justify-content:center;flex-wrap:wrap;gap:1px}.ch-num-btn{width:22px;min-width:22px;height:22px;font-size:max(.5em,11px)}.ch-ctrl-btn{height:22px;min-width:24px;font-size:max(.44em,11px)}.ch-vol-fixed{width:30px;min-width:30px}.draw-panel{width:100%;gap:4px}.draw-tool-group{padding:6px;gap:4px}.tool-btn{min-width:44px;height:44px}.wall-side-btn{height:44px;font-size:.65em}.ch-select-btn{min-height:44px;font-size:.75em}.sym-grid .tool-btn{min-width:44px;height:44px}.slider-overlay-backdrop,.slider-overlay-backdrop--left,.slider-overlay-backdrop--right{pointer-events:auto;background:#0000008c;align-items:flex-end;justify-content:center}.slider-overlay-backdrop--left .slider-overlay,.slider-overlay-backdrop--right .slider-overlay{position:static;left:auto;top:auto;width:100%;height:auto;align-self:auto;border-radius:var(--r-md) var(--r-md) 0 0}.slider-overlay{position:relative;width:100%;min-height:0;max-height:none;border-radius:var(--r-md) var(--r-md) 0 0;background:#0a0818eb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:12px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom));gap:8px;flex-direction:row;flex-wrap:wrap;align-items:center}.slider-overlay-header{width:100%;flex:none}.ch-select-overlay{width:100%;max-height:75dvh;flex-direction:column;border-radius:var(--r-md) var(--r-md) 0 0;padding-top:16px}.intro-overlay,.info-overlay,.save-manager-overlay,.prog-modal-overlay{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.slider-overlay-title{font-size:.85em}.slider-overlay-val{font-size:1.2em;flex:none;width:auto;min-width:3.5em;text-align:center}.slider-overlay-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;writing-mode:horizontal-tb;direction:ltr;flex:1;width:1px;height:44px;max-height:none}.slider-overlay-range::-webkit-slider-thumb{width:44px;height:44px}.slider-overlay-range::-moz-range-thumb{width:44px;height:44px}.slider-overlay-done{flex:none;width:auto;min-width:56px;height:44px;font-size:.8em;padding:0 12px}.slider-overlay-close{width:44px;height:44px;font-size:1.1em}.slider-overlay-back{width:44px;min-height:44px;font-size:1.8em}.ch-select-overlay.slider-overlay{flex-direction:column;flex-wrap:nowrap}.ch-select-overlay .slider-overlay-header{width:100%}.ch-select-overlay .slider-overlay-done{width:100%;min-width:0;padding:0}.ch-select-grid{grid-template-columns:repeat(4,1fr);gap:5px;max-width:300px;margin:0 auto}.ch-select-item{min-height:40px;font-size:.85em;border-radius:var(--r-md)}.console-footer{flex-wrap:wrap;gap:6px;justify-content:center;padding-top:8px}.footer-group{gap:4px;padding:3px 8px}.footer-group label{font-size:max(.58em,11px)}.sel{font-size:.72em;padding:5px 22px 5px 6px;min-height:44px}.key-nudge-btn{min-width:44px;min-height:44px;font-size:.7em;padding:4px}.action-bar{flex-wrap:wrap;justify-content:center;gap:4px;padding-top:6px}.action-bar-buttons{width:100%;justify-content:center}.intro-splash{padding:20px 14px;max-width:95vw}.intro-how{grid-template-columns:1fr 1fr;gap:8px}.intro-card{padding:10px}.intro-start{padding:10px 28px;font-size:1em}}@media (min-width: 601px) and (max-width: 860px),(orientation: portrait) and (min-width: 601px) and (max-width: 1024px){.console-wrapper{padding:10px;gap:10px}.hdr-btn span,.undo-redo-btn span{display:inline}.header-row-2{justify-content:center}.header-row-2 .hdr-btn{padding:5px 12px}.canvas-area{max-height:min(calc(100vw - 24px),70vh);max-height:min(calc(100vw - 24px),70dvh)}.console-body>.side-panel:first-child{flex:1 1 0;min-width:0;align-self:flex-start}.console-body>.side-panel:last-child{flex:2 1 0;min-width:0}.side-panel>.panel-group{min-width:100px}.grid-labels-left{display:flex}.channel-list-body{max-height:none!important;grid-template-columns:repeat(4,1fr)!important}.channel-header:after{content:""!important}@media (min-width: 760px){.channel-list-body{grid-template-columns:repeat(8,1fr)!important}}.draw-panel{display:flex;flex-direction:row;flex-wrap:wrap;gap:6px;align-items:flex-start}.draw-panel>h3{flex:1 1 100%;margin:0}.draw-panel>.draw-tool-group:first-of-type{flex:1 1 100%}.draw-panel>.draw-tool-group:not(:first-of-type){flex:1 1 40%;min-width:110px}.tool-btn{min-width:42px;height:42px}.wall-side-btn{height:38px;font-size:max(.7em,11px)}.sym-grid .tool-btn{height:42px}.popup-trigger-btn{min-height:42px;font-size:.88em}.channel-box{min-height:36px}.ch-num-btn{width:24px;min-width:24px;height:24px;font-size:max(.52em,11px)}.ch-ctrl-btn{height:24px;min-width:26px;font-size:max(.46em,11px)}.console-footer{gap:8px}.footer-group{gap:6px;padding:4px 10px}.sel{font-size:.75em;padding:5px 24px 5px 8px;min-height:34px}}@media (max-width: 600px){.channel-header{display:inline-flex;align-items:center;justify-content:center;align-self:center;padding:6px 16px;min-width:160px;min-height:44px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--r-md);transition:background .15s,border-color .15s;gap:6px}.channel-header:hover{background:var(--bg-hover);border-color:var(--border-hover)}.channel-row.expanded .channel-header{border-color:var(--accent);background:var(--accent-glow)}.channel-row.expanded .channel-header h3{color:var(--accent)}.channel-header-chevron{display:inline;font-size:max(.65em,11px);color:var(--text-muted);transition:transform .2s ease;line-height:1}.channel-row.expanded .channel-header-chevron{transform:rotate(90deg);color:var(--accent)}}@media (orientation: landscape) and (max-height: 500px){body{overflow:hidden;height:100vh;height:100dvh}.app-container{width:100%;height:100vh;height:100dvh;padding:0;overflow:hidden}.console-wrapper{width:100%;height:100vh;height:100dvh;max-width:100%;padding:4px;padding-left:max(4px,env(safe-area-inset-left));padding-right:max(4px,env(safe-area-inset-right));gap:0;border-radius:0;border:2px solid var(--ch-color, var(--border-subtle));box-sizing:border-box;overflow:hidden;display:flex;flex-direction:column}.console-header{flex-wrap:nowrap;gap:4px;padding-bottom:2px;position:relative;flex-shrink:0}.app-logo{width:24px;height:24px;margin:-4px -2px}.app-title-lines{display:none}.play-btn-hero{width:32px;height:32px}.undo-redo-group{flex:0;gap:2px}.undo-redo-btn{min-width:28px;min-height:28px;padding:2px 3px}.undo-redo-btn span{display:none}.undo-redo-btn svg{width:12px;height:12px}.header-actions{margin-left:auto;gap:2px}.hdr-btn{padding:2px 3px;min-height:28px;min-width:28px;font-size:max(.55em,11px)}.hdr-btn span{display:none}.hdr-btn svg{width:12px;height:12px}.header-row-2{display:flex;width:auto;gap:2px;order:5;flex:1;justify-content:center;min-width:0;margin:0}.header-row-2 .header-presets{gap:2px}.header-row-2 .nav-btn{width:24px;height:24px;min-width:24px}.header-presets .preset-label{font-size:max(.5em,11px);min-width:30px}.header-row-2 .hdr-btn{padding:2px 3px;min-height:24px;min-width:24px}.landscape-drawer-toggle{display:flex;position:fixed;bottom:4px;right:8px;z-index:100;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--r-md);padding:6px 14px;color:var(--text-secondary);font-size:max(.65em,11px);font-weight:600;cursor:pointer;align-items:center;gap:5px;font-family:inherit;transition:background .15s,color .15s;letter-spacing:.03em}.landscape-drawer-toggle:hover{background:var(--bg-hover);color:var(--text-primary)}.drawer-chevron{font-size:max(.7em,11px);transition:transform .3s ease}.drawer-chevron.open{transform:rotate(180deg)}.console-body{flex:1;min-height:0;display:flex;flex-flow:row nowrap;align-items:stretch;justify-content:center;gap:4px;overflow:hidden;padding-top:4px}.side-panel{display:flex;flex:0 1 auto;min-width:80px;max-width:140px;width:auto;max-height:calc(100dvh - 50px);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.side-panel:first-child{order:0;padding-bottom:20px}.side-panel:last-child{order:2}.side-panel::-webkit-scrollbar{width:4px}.side-panel::-webkit-scrollbar-track{background:transparent}.side-panel::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.side-panel::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.side-panel{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.canvas-area{flex:0 0 auto;aspect-ratio:1 / 1;max-height:calc(100dvh - 66px);max-width:calc(100dvh - 66px);width:auto;order:1}.grid-labels-left{display:none}.grid-labels-top{height:12px}.panel-group{padding:2px 3px;gap:1px}.panel-group h3{font-size:11px}.tool-btn{min-height:24px;font-size:max(.55em,11px)}.popup-trigger-btn{min-height:24px;font-size:max(.6em,11px)}.draw-panel{padding:2px 3px;gap:1px}.draw-panel h3{font-size:11px}.erase-panel{padding:2px 3px}.erase-panel h3{font-size:11px}.channel-row{order:10}.side-panel .channel-row .channel-list-body{display:grid;grid-template-columns:1fr;gap:2px;max-height:none;overflow:visible;touch-action:pan-y}.channel-header{display:flex;align-items:center;justify-content:center;padding:2px 4px;min-width:0;min-height:16px;background:none;border:none;border-radius:0;cursor:default;-webkit-user-select:none;user-select:none;pointer-events:none;gap:0;font-size:.75em}.channel-header-chevron{display:none}.channel-row.expanded .channel-header{background:none;border:none}.channel-row.expanded .channel-header h3{color:var(--text-muted)}.channel-header:after{content:none}.ch-select-arrow{display:none}.channel-item{min-width:0}.channel-box{min-height:22px;padding:1px;gap:1px}.ch-num-btn{width:30px;min-width:30px;max-width:30px;flex:0 0 30px;height:16px;font-size:.4em;margin-right:0}.ch-ctrl-btn{height:16px;width:30px;min-width:30px;max-width:30px;flex:0 0 30px;padding:0;font-size:.35em}.ch-vol-fixed,.ch-fx-btn{width:30px;min-width:30px;max-width:30px}.side-panel:last-child{max-width:170px;min-width:130px;overflow-y:auto;overflow-x:hidden;padding-bottom:48px}.draw-tool-group{padding:3px 4px;gap:2px;width:100%;box-sizing:border-box}.draw-tool-group .tool-row{flex-direction:column;gap:2px}.draw-tool-group .tool-btn-labeled{flex:1;min-width:0}.wall-sides-grid{grid-template-columns:1fr 1fr;gap:2px}.wall-side-btn{height:20px;font-size:.5em}.sym-grid{gap:2px}.sym-grid .tool-btn{min-width:20px;height:20px;padding:0}.tool-btn{min-height:20px;height:20px;min-width:20px;font-size:.5em;padding:0 3px}.ch-select-btn{min-height:20px;font-size:.6em}.popup-trigger-btn{min-height:20px;font-size:.55em}.console-footer,.action-bar{display:none}.console-wrapper:has(.drawer-open) .console-footer{display:flex;gap:3px;flex-wrap:wrap;flex-shrink:0;padding:2px 0}.console-wrapper:has(.drawer-open) .console-footer .footer-group{gap:3px;padding:2px 4px}.console-wrapper:has(.drawer-open) .console-footer .footer-group label{font-size:.45em}.console-wrapper:has(.drawer-open) .console-footer .sel{font-size:.6em;padding:2px 18px 2px 4px;min-height:22px}.console-wrapper:has(.drawer-open) .action-bar{display:flex;gap:3px;flex-shrink:0;padding:2px 0}.console-wrapper:has(.drawer-open) .action-bar .hdr-btn{min-height:24px;min-width:auto;font-size:.5em;padding:2px 5px}.console-wrapper:has(.drawer-open) .action-bar .hdr-btn span{display:inline}.slider-overlay-backdrop,.slider-overlay-backdrop--left,.slider-overlay-backdrop--right{pointer-events:auto;background:#0000008c;align-items:flex-end;justify-content:center}.slider-overlay-backdrop--left .slider-overlay,.slider-overlay-backdrop--right .slider-overlay{position:static;left:auto;top:auto;width:100%;height:auto;align-self:auto;border-radius:var(--r-md) var(--r-md) 0 0}.slider-overlay{width:100%;min-height:0;border-radius:var(--r-md) var(--r-md) 0 0;flex-direction:row;align-items:center;gap:8px;padding:8px 12px;padding-bottom:max(8px,env(safe-area-inset-bottom));background:#0a0818f2;backdrop-filter:none;-webkit-backdrop-filter:none}.ch-select-overlay{flex-direction:column;max-height:75dvh;min-height:0;border-radius:var(--r-md);padding-top:12px}.slider-overlay-header{flex-shrink:0;width:auto;gap:4px}.slider-overlay-back{font-size:1.3em;padding:0 2px;width:auto}.slider-overlay-title{font-size:.6em;margin-right:0;white-space:nowrap}.slider-overlay-val{font-size:1em;flex-shrink:0;width:auto;min-width:50px;white-space:nowrap}.slider-overlay-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;writing-mode:horizontal-tb;direction:ltr;width:auto;height:28px;flex:1;min-height:auto;touch-action:pan-x}.slider-overlay-done{width:auto;min-width:44px;height:28px;flex-shrink:0;font-size:.6em}}@media (max-width: 480px){.console-wrapper{padding:4px;padding-top:max(4px,env(safe-area-inset-top));padding-left:max(4px,env(safe-area-inset-left));padding-right:max(4px,env(safe-area-inset-right));padding-bottom:max(4px,env(safe-area-inset-bottom));gap:4px;border-radius:4px}.console-header{gap:4px;padding-bottom:4px}.app-title-lines{display:none}.app-logo{width:36px;height:36px;margin:-8px -2px -8px -4px}.undo-redo-btn{min-width:44px;min-height:44px;padding:3px 5px}.undo-redo-btn svg{width:18px;height:18px}.hdr-btn{padding:3px 5px;min-height:44px;min-width:44px;font-size:max(.65em,11px);justify-content:center}.hdr-btn svg{width:20px;height:20px}.nav-btn svg{width:18px;height:18px}.header-presets .preset-label{font-size:max(.58em,11px);min-width:42px}.play-btn-hero{width:44px;height:44px}.header-row-2{gap:4px;margin-bottom:12px}.nav-btn{width:32px;height:32px}.canvas-area{max-height:min(calc(100vw - 12px),55vh);max-height:min(calc(100vw - 12px),55dvh)}.side-panel{flex:0 0 100%;gap:4px}.side-panel>.panel-group{flex:1 1 28%;min-width:70px}.channel-list-body{gap:2px!important}.channel-box{min-height:30px;padding:2px;gap:1px;width:140px}.ch-num-btn{width:34px;min-width:24px;height:34px;font-size:.7em}.ch-ctrl-btn{height:34px;min-width:24px;font-size:.7em}.ch-fx-btn{min-width:30px;max-width:30px}.ch-vol-fixed{width:30px;min-width:30px}.draw-tool-group{padding:4px;gap:4px}.tool-btn{min-width:44px;height:44px}.wall-side-btn{height:44px;font-size:max(.58em,11px)}.sym-grid .tool-btn{min-width:44px;height:44px}.ch-select-btn{min-height:44px;font-size:.7em}.popup-trigger-btn{min-height:44px;font-size:max(.78em,11px)}.group-label{font-size:max(.58em,11px)}.tool-label{font-size:11px}.erase-grid{gap:4px}.erase-grid .tool-btn{font-size:max(.58em,11px)}.erase-grid .tool-btn.wide{grid-column:auto}.console-footer{flex-direction:column;align-items:stretch;gap:4px;padding-top:4px}.footer-group{justify-content:space-between;width:100%;padding:2px 6px}.footer-group .sel{flex:1;min-height:44px}.footer-group label{font-size:max(.55em,11px)}.key-nudge-btn{min-width:44px;min-height:44px;font-size:.7em;padding:4px}.midi-help-btn{min-width:44px;min-height:44px;justify-content:center}.action-bar{flex-wrap:wrap;justify-content:center;gap:4px;padding-top:4px}.action-bar-buttons{width:100%;justify-content:center;order:0}.action-btn{padding:6px 10px;font-size:max(.65em,11px);gap:3px;min-height:44px}.footer-copyright{order:1;width:100%;text-align:center;font-size:max(.55em,11px)}.footer-discover{order:2;white-space:normal;text-align:center;width:100%;justify-content:center;font-size:max(.65em,11px);padding:4px 10px}.midi-help-popup{position:fixed;inset:auto;bottom:50px;left:50%;transform:translate(-50%);width:calc(100vw - 16px);max-width:300px;z-index:2000}.prog-modal{min-width:0;max-width:calc(100vw - 16px);padding:10px}.intro-how{grid-template-columns:1fr}.intro-header h1{font-size:1.3em}.intro-splash{padding:16px 10px}.intro-steps-visual{grid-template-columns:1fr;gap:6px}.intro-sound-choice{flex-direction:column;gap:6px}.intro-step-card{padding:10px 8px}}@media (min-width: 361px) and (max-width: 480px){.channel-list-body{grid-template-columns:repeat(2,1fr)!important}}@media (max-width: 360px){.channel-list-body{grid-template-columns:repeat(2,1fr)!important}.ch-select-grid{grid-template-columns:repeat(2,1fr)}.header-presets{gap:2px}.canvas-area{max-height:min(calc(100vw - 10px),55vh);max-height:min(calc(100vw - 10px),55dvh)}.console-wrapper{padding:3px;gap:3px}}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid rgba(102,126,234,.8);outline-offset:2px}.toast{position:fixed;bottom:80px;left:50%;transform:translate(-50%);background:#667eeaf2;color:#fff;padding:8px 20px;border-radius:20px;font-size:.85em;font-weight:500;z-index:9999;pointer-events:none;animation:toastIn .25s ease-out}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.intro-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.intro-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:28px 24px;max-width:440px;width:92%;text-align:center;color:var(--text);animation:introFadeIn .3s ease-out}@keyframes introFadeIn{0%{opacity:0;transform:scale(.95) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.intro-modal h2{font-size:1.5em;margin:0;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.modal-branding{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:16px}.intro-header{display:flex;align-items:center;margin-bottom:16px}.intro-header>.modal-logo{flex-shrink:0}.intro-header>.modal-branding-text{flex:1;display:flex;flex-direction:column;align-items:center}.modal-branding-text{display:flex;flex-direction:column;align-items:center}.modal-subtitle{font-size:max(.55em,11px);color:var(--text-dim);letter-spacing:.08em;margin-top:4px;font-family:"Press Start 2P",monospace;opacity:.6}.intro-tagline{color:var(--text-dim);margin:0 0 18px;font-size:.88em;line-height:1.4}.intro-steps-visual{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 20px}.intro-step-card{display:flex;flex-direction:column;align-items:center;gap:8px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:14px 10px;transition:border-color .2s}.intro-step-card:hover{border-color:#ffffff26}.intro-step-icon{font-size:1.6em;line-height:1;height:36px;display:flex;align-items:center;justify-content:center}.intro-color-dots{display:flex;gap:4px}.intro-color-dots span{width:10px;height:10px;border-radius:50%;display:inline-block}.intro-key-hint{font-size:.7em;font-weight:700;color:var(--text-dim);background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:6px;padding:4px 10px;font-family:inherit;letter-spacing:2px}.intro-play-icon{width:34px;height:34px;border-radius:50%;background:var(--accent-gradient);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 12px var(--accent-glow),0 0 20px #667eea26}.intro-step-text{display:flex;flex-direction:column;gap:2px;text-align:center}.intro-step-text strong{font-size:.82em;color:var(--text)}.intro-step-text span{font-size:.7em;color:var(--text-muted);line-height:1.3}.intro-sound-choice{display:flex;gap:10px}.intro-sound-choice.highlight .intro-close-btn{animation:btnPulse .6s ease-out}@keyframes btnPulse{0%{transform:scale(1);box-shadow:none}30%{transform:scale(1.05);box-shadow:0 0 16px var(--accent-glow)}to{transform:scale(1);box-shadow:none}}.intro-close-btn{border:none;color:#fff;padding:11px 16px;border-radius:10px;font-size:.92em;font-weight:600;cursor:pointer;transition:opacity .15s,transform .1s;flex:1}.intro-close-btn:hover{opacity:.88;transform:translateY(-1px)}.intro-close-btn:active{transform:translateY(0)}.intro-close-btn.sound-on{background:linear-gradient(135deg,#667eea,#764ba2)}.intro-close-btn.sound-off{background:#ffffff14;border:1px solid var(--border);color:var(--text-dim)}@media (orientation: landscape) and (max-height: 600px){.intro-overlay{align-items:flex-start;padding:8px;overflow-y:auto}.intro-modal{max-width:90vw;width:auto;padding:16px 20px}.intro-header .modal-logo{width:40px;height:40px}.intro-modal h2{font-size:1.1em}.intro-tagline{font-size:.78em;margin-bottom:10px}.intro-steps-visual{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}.intro-step-card{padding:8px 6px;flex-direction:row;gap:6px}.intro-step-icon{font-size:1.2em;height:auto}.intro-step-text{text-align:left}.intro-step-text strong{font-size:.75em}.intro-step-text span{font-size:.65em}.intro-sound-choice{gap:8px}.intro-close-btn{padding:8px 12px;font-size:.82em}}.undo-redo-group{display:flex;gap:2px;flex-shrink:0}.undo-redo-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 12px 4px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:color .15s,border-color .15s;min-width:48px;min-height:44px;justify-content:center}.undo-redo-btn svg{width:18px;height:18px}.undo-redo-btn span{font-size:max(.75em,11px);line-height:1;color:var(--text-muted)}.undo-redo-btn:hover{color:var(--text);border-color:var(--accent)}.undo-redo-btn:hover span{color:var(--text-dim)}.undo-redo-btn:disabled{opacity:.25;cursor:default}.undo-redo-btn:disabled:hover{background:var(--bg-elevated);border-color:var(--border-subtle);color:var(--text-secondary)}select.sel optgroup{font-weight:600;color:var(--text-secondary);font-style:normal;background:#1a1a2e}select.sel option{font-weight:400;padding:4px 8px;background:#12121f;color:#fff}select.sel option:checked{background:#667eea;color:#fff}.save-manager-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.save-manager-modal{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;width:90%;max-width:420px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0006}.save-manager-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid var(--border-subtle)}.save-manager-header h2{margin:0;font-size:1em;font-weight:700;color:var(--text-primary)}.save-manager-close{width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:50%;color:var(--text-secondary);font-size:1.2em;cursor:pointer;transition:all .15s}.save-manager-close:hover{background:var(--bg-hover);color:var(--text-primary)}.save-manager-new{display:flex;gap:8px;padding:12px 20px;border-bottom:1px solid var(--border-subtle)}.save-name-input{flex:1;padding:8px 12px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--r-sm);color:var(--text-primary);font-size:.85em;outline:none;transition:border-color .15s}.save-name-input:focus{border-color:var(--accent)}.save-name-input::placeholder{color:var(--text-muted)}.save-confirm-btn{padding:8px 16px;background:var(--accent-gradient);border:none;border-radius:var(--r-sm);color:#fff;font-size:.8em;font-weight:600;cursor:pointer;transition:opacity .15s;white-space:nowrap}.save-confirm-btn:disabled{opacity:.4;cursor:default}.save-confirm-btn:not(:disabled):hover{opacity:.85}.save-manager-list{flex:1;overflow-y:auto;padding:8px 12px;min-height:60px;max-height:40vh}.save-manager-empty{text-align:center;color:var(--text-muted);font-size:.8em;padding:24px 12px}.save-manager-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--r-sm);transition:background .12s;cursor:pointer}.save-manager-item:hover{background:var(--bg-hover)}.save-item-play-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:color .15s}.save-manager-item:hover .save-item-play-icon{color:var(--accent)}.save-item-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.save-item-name{font-size:.85em;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.save-item-date{font-size:.65em;color:var(--text-muted)}.save-item-actions{display:flex;gap:4px;flex-shrink:0}.save-item-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--r-sm);color:var(--text-secondary);cursor:pointer;transition:all .15s}.save-item-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-hover)}.save-item-btn.delete:hover{background:#ff3c3c26;color:#ff6464;border-color:#ff3c3c66}.save-item-btn.delete{width:32px;height:32px}.save-item-confirm-label{font-size:.75em;color:#ff6464;font-weight:600;display:flex;align-items:center;white-space:nowrap}.save-item-btn.confirm-yes{color:#ff6464;border-color:#ff3c3c66}.save-item-btn.confirm-yes:hover{background:#ff3c3c26;color:#ff6464;border-color:#ff3c3c99}.save-item-btn.confirm-no:hover{color:var(--text-primary)}.save-manager-footer{display:flex;flex-wrap:wrap;gap:8px;padding:12px 20px;border-top:1px solid var(--border-subtle);justify-content:center}.save-manager-tip{width:100%;text-align:center;font-size:.7em;color:var(--text-muted);margin:0 0 4px;line-height:1.4}.save-manager-action-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--r-sm);color:var(--text-secondary);font-size:.75em;font-weight:500;cursor:pointer;transition:all .15s}.save-manager-action-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-hover)}.footer-credit-group{display:flex;flex-direction:column;gap:2px;align-items:flex-start;flex-shrink:0}.footer-copyright{color:var(--text-muted);font-size:max(.6em,11px);white-space:nowrap}.footer-discover{display:inline-flex;align-items:center;gap:5px;padding:5px 14px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--r-md);color:var(--text-secondary);font-size:.75em;font-weight:500;cursor:pointer;transition:all .15s ease;text-decoration:none;white-space:nowrap}.footer-discover:hover{background:var(--bg-hover);border-color:var(--border-hover);color:var(--text-primary)}.footer-privacy{font-size:max(.65em,11px);color:var(--text-muted);text-decoration:none;cursor:pointer;transition:color .15s}.footer-privacy:hover{color:var(--text-secondary);text-decoration:underline}.info-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.info-modal{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:14px;width:92%;max-width:560px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080}.info-modal-header{display:flex;align-items:center;padding:28px 22px 14px;border-bottom:1px solid var(--border-subtle);position:relative}.info-modal-header>.modal-logo{flex-shrink:0}.info-modal-header>.modal-branding-text{flex:1;display:flex;flex-direction:column;align-items:center}.info-modal-header>.info-modal-close{flex-shrink:0}.info-modal-header h2{margin:0;font-size:1.1em;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:8px}.info-modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:50%;color:var(--text-secondary);font-size:1.3em;cursor:pointer;transition:all .15s}.info-modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.info-modal-body{flex:1;overflow-y:auto;padding:16px 22px 22px;scrollbar-width:thin;scrollbar-color:var(--border-hover) transparent}.info-modal-body::-webkit-scrollbar{width:6px}.info-modal-body::-webkit-scrollbar-track{background:transparent}.info-modal-body::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:3px}.info-modal-body::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.info-modal-body section{margin-bottom:18px}.info-modal-body section:last-child{margin-bottom:0}.info-modal-body h3{font-size:.85em;font-weight:700;color:var(--text-primary);margin:0 0 6px;text-transform:uppercase;letter-spacing:.04em}.info-modal-body p{font-size:.8em;color:var(--text-secondary);line-height:1.55;margin:0 0 6px}.info-modal-body ul{margin:0;padding-left:18px;font-size:.8em;color:var(--text-secondary);line-height:1.7}.info-modal-body ul li{margin-bottom:2px}.info-shortcuts{width:100%;font-size:.8em;border-collapse:collapse}.info-shortcuts td{padding:4px 8px;color:var(--text-secondary);border-bottom:1px solid var(--border-subtle)}.info-shortcuts td:first-child{white-space:nowrap;width:1%}.info-shortcuts kbd{display:inline-block;padding:2px 6px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:4px;font-family:inherit;font-size:.85em;color:var(--text-primary);line-height:1.4}.info-credits{text-align:center;padding-top:8px;border-top:1px solid var(--border-subtle)}.info-credits a{color:var(--accent);text-decoration:none}.info-credits a:hover{text-decoration:underline}
