.ss-tile[data-v-98763394]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:6px 4px;min-height:46px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--bg-2);color:var(--tx-2);cursor:pointer;transition:background var(--d-fast) var(--ease),border-color var(--d-fast) var(--ease),color var(--d-fast) var(--ease),transform var(--d-fast) var(--ease)}.ss-tile[data-v-98763394]:hover{background:var(--bg-3);border-color:var(--line-strong);color:var(--tx-1);transform:translateY(-1px)}.ss-tile[data-v-98763394]:active{transform:translateY(0) scale(.98)}.ss-tile.is-on[data-v-98763394]{background:var(--accent-soft);border-color:var(--line-accent);color:var(--accent-hi);box-shadow:0 0 0 1px #6c8cff40 inset}.ss-tile__icon[data-v-98763394]{width:15px;height:15px;flex:none}.ss-tile__label[data-v-98763394]{font:400 10px/1.15 var(--font-ui);text-align:center;word-break:break-all}.ss-tile.is-loading .ss-tile__icon[data-v-98763394]{animation:op-blink .9s ease-in-out infinite}.ss-loading[data-v-98763394]{margin:0;font:500 9px/1 var(--font-num);letter-spacing:.08em;color:var(--accent)}.op-pill[data-v-6b8a9952]{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 10px 0 8px;border-radius:var(--r-pill);border:1px solid;font:600 10px/1 var(--font-num);letter-spacing:.08em;-webkit-user-select:none;-moz-user-select:none;user-select:none}.op-pill__dot[data-v-6b8a9952]{width:6px;height:6px;border-radius:50%}.op-pill__dot.is-pulse[data-v-6b8a9952]{animation:op-pulse 1.6s ease-out infinite}.op-pill__text.is-blink[data-v-6b8a9952]{animation:op-blink 1.1s ease-in-out infinite}.topbar[data-v-d03080d4]{display:flex;align-items:center;gap:10px;height:var(--h-top);padding:0 12px;background:var(--bg-glass);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);-webkit-user-select:none;-moz-user-select:none;user-select:none}.topbar__logo[data-v-d03080d4]{flex:none;display:flex}.topbar__brand[data-v-d03080d4]{display:flex;gap:1px}.topbar__char[data-v-d03080d4]{font:700 14px/1 var(--font-ui);letter-spacing:.12em;background:linear-gradient(180deg,var(--tx-1),var(--accent-hi));-webkit-background-clip:text;background-clip:text;color:transparent;animation:op-char-wave 3.2s var(--ease) infinite}.topbar__subtitle[data-v-d03080d4]{font:500 9px/1 var(--font-num);letter-spacing:.18em;color:var(--tx-3);padding:2px 6px;border-radius:var(--r-xs);background:rgba(255,255,255,.04);border:1px solid var(--line)}.topbar__teach[data-v-d03080d4]{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 11px;border-radius:var(--r-pill);border:1px solid var(--line-accent);background:var(--accent-soft);color:var(--accent-hi);font:600 11px/1 var(--font-ui);cursor:pointer;transition:all var(--d-fast) var(--ease)}.topbar__teach[data-v-d03080d4]:hover,.topbar__teach.is-hover[data-v-d03080d4]{background:rgba(108,140,255,.24);transform:translateY(-1px);box-shadow:0 4px 12px #6c8cff40}.topbar__nav[data-v-d03080d4]{display:flex;align-items:center;gap:8px;margin-left:auto}.topbar__song[data-v-d03080d4]{display:flex;align-items:center;gap:6px;min-width:0;max-width:260px;height:26px;padding:0 10px;border-radius:var(--r-sm);background:rgba(255,255,255,.04);border:1px solid var(--line)}.topbar__song-icon[data-v-d03080d4]{color:var(--melody)}.topbar__song-name[data-v-d03080d4]{font:500 11px/1 var(--font-ui);color:var(--tx-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar__song-empty[data-v-d03080d4]{font:400 11px/1 var(--font-ui);color:var(--tx-3)}.topbar__info[data-v-d03080d4]{display:flex;align-items:center;gap:5px;font:400 10px/1 var(--font-ui);color:var(--tx-3);padding:0 8px;height:22px;border-radius:var(--r-pill);background:rgba(255,255,255,.03)}.topbar__info b[data-v-d03080d4]{color:var(--tx-2);font-weight:600}.topbar__info-dot[data-v-d03080d4]{opacity:.5}.topbar__info-none[data-v-d03080d4]{opacity:.45;letter-spacing:.1em}.topbar__divider[data-v-d03080d4]{width:1px;height:20px;flex:none;background:linear-gradient(180deg,transparent,var(--line-strong),transparent)}.topbar__btn[data-v-d03080d4]{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 10px;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--bg-2);color:var(--tx-2);font:500 11px/1 var(--font-ui);cursor:pointer;transition:all var(--d-fast) var(--ease)}.topbar__btn[data-v-d03080d4]:hover,.topbar__btn.is-hover[data-v-d03080d4]{background:var(--bg-3);color:var(--tx-1);border-color:var(--line-accent)}.topbar__btn.is-pressed[data-v-d03080d4]{transform:translateY(1px) scale(.97);background:var(--bg-1)}.topbar__btn.is-on[data-v-d03080d4]{background:var(--accent-soft);color:var(--accent-hi);border-color:var(--line-accent)}.topbar__btn.is-disabled[data-v-d03080d4]{opacity:.38;cursor:not-allowed;pointer-events:none}.topbar__btn--icon[data-v-d03080d4]{position:relative;width:28px;padding:0;justify-content:center}.topbar__badge[data-v-d03080d4]{position:absolute;top:3px;right:3px;width:7px;height:7px;border-radius:50%;background:var(--tx-3);border:1.5px solid var(--bg-1)}.topbar__badge.is-connecting[data-v-d03080d4]{background:var(--warn);animation:op-blink 1s ease-in-out infinite}.topbar__badge.is-connected[data-v-d03080d4]{background:var(--play)}@media (max-width: 760px){.topbar[data-v-d03080d4]{gap:6px;padding:0 8px}.topbar__info[data-v-d03080d4]{display:none}.topbar__brand[data-v-d03080d4]{max-width:84px;overflow:hidden}.topbar__char[data-v-d03080d4]{font-size:11px;letter-spacing:.06em}.topbar__song[data-v-d03080d4]{max-width:92px}.topbar__song-name[data-v-d03080d4]{font-size:11px}.topbar__btn-txt[data-v-d03080d4]{display:none}.topbar__btn[data-v-d03080d4]{padding:0 6px}.topbar__teach[data-v-d03080d4]{padding:0 8px}.topbar__nav[data-v-d03080d4]{gap:2px}}@media (max-width: 460px){.topbar__song[data-v-d03080d4]{display:none}.topbar__brand[data-v-d03080d4]{max-width:100px}}.sso-mask[data-v-451f7b48]{position:fixed;inset:0;z-index:9998;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(5,7,11,.62);backdrop-filter:blur(10px) saturate(1.12)}.sso-box[data-v-451f7b48]{width:min(92vw,380px);max-height:calc(100dvh - 32px);overflow:auto;border-radius:var(--r-lg);background:var(--bg-1);border:1px solid var(--line-strong);box-shadow:var(--e3);animation:sso-in-451f7b48 var(--d-base) var(--ease)}@keyframes sso-in-451f7b48{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}.sso-head[data-v-451f7b48]{display:flex;align-items:center;gap:10px;padding:14px 16px 10px}.sso-brand[data-v-451f7b48]{display:inline-flex;gap:2px;flex:none}.sso-brand i[data-v-451f7b48]{width:5px;height:14px;border-radius:1.5px;background:linear-gradient(180deg,var(--accent-hi),var(--melody))}.sso-brand i[data-v-451f7b48]:nth-child(2){height:10px;opacity:.8}.sso-brand i[data-v-451f7b48]:nth-child(3){height:6px;opacity:.55}.sso-head-txt[data-v-451f7b48]{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.sso-title[data-v-451f7b48]{font:600 13px/1 var(--font-ui);color:var(--tx-1);letter-spacing:.02em}.sso-sub[data-v-451f7b48]{font:400 10px/1 var(--font-ui);color:var(--tx-3)}.sso-x[data-v-451f7b48]{flex:none;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:var(--r-sm);border:1px solid transparent;background:transparent;color:var(--tx-3);cursor:pointer;transition:all var(--d-fast) var(--ease)}.sso-x[data-v-451f7b48]:hover{background:var(--bg-3);color:var(--tx-1);border-color:var(--line-strong)}.sso-body[data-v-451f7b48]{display:flex;flex-direction:column;gap:10px;padding:4px 16px 16px}.sso-field[data-v-451f7b48]{display:flex;align-items:center;gap:8px;height:40px;padding:0 10px;border-radius:var(--r-sm);background:var(--bg-2);border:1px solid var(--line);transition:border-color var(--d-fast) var(--ease),background var(--d-fast) var(--ease)}.sso-field[data-v-451f7b48]:focus-within{border-color:var(--line-accent);background:var(--bg-3)}.sso-field.is-bad[data-v-451f7b48]{border-color:#ff5c5c80}.sso-ic[data-v-451f7b48]{color:var(--tx-3);flex:none}.sso-field:focus-within .sso-ic[data-v-451f7b48]{color:var(--accent-hi)}.sso-input[data-v-451f7b48]{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;color:var(--tx-1);font:400 13px/1 var(--font-ui)}.sso-input[data-v-451f7b48]::-moz-placeholder{color:var(--tx-3)}.sso-input[data-v-451f7b48]::placeholder{color:var(--tx-3)}.sso-input--pass[data-v-451f7b48]{letter-spacing:.04em}.sso-eye[data-v-451f7b48]{flex:none;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--r-xs);border:0;background:transparent;color:var(--tx-3);cursor:pointer;transition:color var(--d-fast) var(--ease)}.sso-eye[data-v-451f7b48]:hover{color:var(--tx-1)}.sso-caps[data-v-451f7b48]{margin:0;font:400 10px/1.4 var(--font-ui);color:var(--warn)}.sso-err[data-v-451f7b48]{margin:0;padding:7px 9px;font:400 11px/1.5 var(--font-ui);color:var(--danger);background:var(--rec-soft);border:1px solid rgba(255,92,92,.3);border-radius:var(--r-xs)}.sso-go[data-v-451f7b48]{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:40px;margin-top:2px;border-radius:var(--r-sm);border:1px solid transparent;background:var(--accent);color:var(--tx-on-accent);font:600 13px/1 var(--font-ui);cursor:pointer;transition:background var(--d-fast) var(--ease),transform var(--d-fast) var(--ease)}.sso-go[data-v-451f7b48]:hover:not(:disabled){background:var(--accent-hi)}.sso-go[data-v-451f7b48]:active:not(:disabled){transform:translateY(1px) scale(.99)}.sso-go[data-v-451f7b48]:disabled{opacity:.6;cursor:default}.sso-spin[data-v-451f7b48]{width:12px;height:12px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:var(--tx-on-accent);animation:sso-rot-451f7b48 .7s linear infinite}@keyframes sso-rot-451f7b48{to{transform:rotate(360deg)}}.sso-foot[data-v-451f7b48]{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:2px}.sso-a[data-v-451f7b48]{font:400 11px/1 var(--font-ui);color:var(--tx-3);text-decoration:none;transition:color var(--d-fast) var(--ease)}.sso-a[data-v-451f7b48]:hover{color:var(--accent-hi)}.sso-dot[data-v-451f7b48]{width:3px;height:3px;border-radius:50%;background:var(--line-strong)}.sso-fade-enter-active[data-v-451f7b48],.sso-fade-leave-active[data-v-451f7b48]{transition:opacity var(--d-fast) var(--ease)}.sso-fade-enter-from[data-v-451f7b48],.sso-fade-leave-to[data-v-451f7b48]{opacity:0}@media (max-width: 760px){.sso-box[data-v-451f7b48]{width:100%}}.sso-chip[data-v-337ea91d]{position:relative;display:inline-flex}.sso-chip__btn[data-v-337ea91d]{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 9px 0 6px;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--bg-2);color:var(--tx-2);font:500 11px/1 var(--font-ui);cursor:pointer;transition:all var(--d-fast) var(--ease)}.sso-chip__btn[data-v-337ea91d]:hover{background:var(--bg-3);border-color:var(--line-accent);color:var(--tx-1)}.sso-chip__btn.is-on[data-v-337ea91d]{background:var(--bg-2);color:var(--tx-1);padding-right:7px}.sso-chip__ava[data-v-337ea91d]{width:18px;height:18px;border-radius:50%;-o-object-fit:cover;object-fit:cover;flex:none;border:1px solid var(--line-strong)}.sso-chip__ava--txt[data-v-337ea91d]{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent),var(--melody));color:#fff;font:700 10px/1 var(--font-ui);border-color:transparent}.sso-chip__name[data-v-337ea91d]{max-width:92px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sso-chip__vip[data-v-337ea91d]{flex:none;padding:1px 4px;border-radius:var(--r-xs);font:700 9px/1.4 var(--font-num);letter-spacing:.04em;background:var(--gold-soft);color:var(--gold);border:1px solid rgba(255,200,90,.32)}.sso-chip__vip.is-svip[data-v-337ea91d]{background:var(--gold);color:#201603;border-color:transparent}.sso-chip__caret[data-v-337ea91d]{flex:none;width:0;height:0;margin-left:1px;border-left:3.5px solid transparent;border-right:3.5px solid transparent;border-top:4px solid var(--tx-3);transition:border-top-color var(--d-fast) var(--ease)}.sso-chip__btn:hover .sso-chip__caret[data-v-337ea91d]{border-top-color:var(--tx-1)}.sso-chip__txt[data-v-337ea91d]{padding-right:1px}.sso-menu[data-v-337ea91d]{position:fixed;z-index:9000;width:196px;padding:6px;border-radius:var(--r-md);background:var(--bg-1);border:1px solid var(--line-strong);box-shadow:var(--e3)}.sso-menu__head[data-v-337ea91d]{display:flex;flex-direction:column;gap:3px;padding:6px 8px 8px;border-bottom:1px solid var(--line);margin-bottom:4px}.sso-menu__name[data-v-337ea91d]{font:600 12px/1.2 var(--font-ui);color:var(--tx-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sso-menu__meta[data-v-337ea91d]{font:400 10px/1.2 var(--font-ui);color:var(--tx-3)}.sso-menu__stats[data-v-337ea91d]{display:flex;gap:10px;padding:2px 8px 8px;font:400 10px/1.2 var(--font-ui);color:var(--tx-3)}.sso-menu__stats b[data-v-337ea91d]{color:var(--tx-1);font-weight:600}.sso-menu__item[data-v-337ea91d]{display:flex;align-items:center;gap:7px;width:100%;height:28px;padding:0 8px;border-radius:var(--r-sm);border:0;background:transparent;color:var(--tx-2);font:500 11px/1 var(--font-ui);text-decoration:none;cursor:pointer;text-align:left;transition:all var(--d-fast) var(--ease)}.sso-menu__item[data-v-337ea91d]:hover{background:var(--bg-3);color:var(--tx-1)}.sso-menu__item--quit[data-v-337ea91d]{margin-top:2px;color:var(--tx-3)}.sso-menu__item--quit[data-v-337ea91d]:hover{background:var(--rec-soft);color:var(--danger)}.sso-menu-enter-active[data-v-337ea91d],.sso-menu-leave-active[data-v-337ea91d]{transition:opacity var(--d-fast) var(--ease),transform var(--d-fast) var(--ease)}.sso-menu-enter-from[data-v-337ea91d],.sso-menu-leave-to[data-v-337ea91d]{opacity:0;transform:translateY(-4px)}@media (max-width: 760px){.sso-chip__name[data-v-337ea91d]{display:none}.sso-chip__btn[data-v-337ea91d]{padding:0 7px}}.device-status-indicator[data-v-cdbb28a1]{margin-left:10px;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;background-color:#00b894;color:#fff}.device-status-indicator.disconnected[data-v-cdbb28a1]{background-color:#e17055}.midi-device-selector option[data-v-cdbb28a1]:disabled{color:#999}.shift-selector-container[data-v-cdbb28a1]{display:flex;align-items:center;margin-left:8px}.shift-selector-container label[data-v-cdbb28a1]{margin-right:5px;font-size:11px;color:#9e9eb0;font-weight:600;white-space:nowrap}.semitone-shift-selector[data-v-cdbb28a1]{padding:5px 8px;border-radius:8px;border:1px solid var(--nb-line);background:rgba(14,18,32,.85);color:var(--nb-ink);font-size:12px;min-width:60px;transition:all .25s}.semitone-shift-selector[data-v-cdbb28a1]:hover{border-color:#d0d0e0}.semitone-shift-selector[data-v-cdbb28a1]:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #35b8e01a}.device-group[data-v-cdbb28a1]{display:flex;align-items:center;margin-right:15px;gap:8px}.device-group label[data-v-cdbb28a1]{margin-right:5px;font-size:11px;color:#9e9eb0;font-weight:600;white-space:nowrap}.midi-device-selector[data-v-cdbb28a1]{padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);min-width:160px;flex:1;font-size:13px;transition:all var(--transition)}.midi-device-selector[data-v-cdbb28a1]:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #35b8e01a}.midi-device-selector[data-v-cdbb28a1]:hover{border-color:var(--border-light)}.midi-device-selector option[data-v-cdbb28a1]:disabled{color:var(--text-muted)}.midi-channel-selector[data-v-cdbb28a1]{padding:8px 10px;border-radius:8px;border:1px solid var(--nb-line);background:rgba(14,18,32,.85);color:var(--nb-ink);font-size:12px;min-width:50px;margin-right:10px;transition:all .25s}.mc-song-btn-wrap[data-v-cdbb28a1]{display:flex}.mc-song-btn[data-v-cdbb28a1]{background:none;border:none;border-radius:6px;cursor:pointer;padding:4px;display:flex;align-items:center;color:var(--nb-muted);transition:all .2s}.mc-song-btn[data-v-cdbb28a1]:hover{border-color:#35b8e0;color:#35b8e0}.mc-song-btn.disabled[data-v-cdbb28a1]{opacity:.35;cursor:not-allowed;pointer-events:auto}.mc-modal-box--song[data-v-cdbb28a1]{width:min(94vw,720px)!important;height:min(80vh,560px);max-height:min(80vh,560px);overflow:hidden;display:flex;flex-direction:column}.mc-modal-title[data-v-cdbb28a1]{min-width:0}.mc-modal-sub[data-v-cdbb28a1]{font-size:10.5px;font-weight:500;color:rgb(var(--rgb-ink-3));letter-spacing:.3px;white-space:nowrap}.mc-song-search[data-v-cdbb28a1]{display:flex;align-items:center;gap:8px;margin:12px 18px 10px;padding:0 12px;height:36px;border-radius:8px;border:1px solid rgb(var(--rgb-line-2));background:rgb(var(--rgb-well) / .72);transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;flex-shrink:0}.mc-song-search[data-v-cdbb28a1]:focus-within{background:rgb(var(--rgb-well));border-color:rgb(var(--rgb-accent) / .65);box-shadow:0 0 0 3px rgb(var(--rgb-accent) / .14)}.mc-song-search-icon[data-v-cdbb28a1]{flex-shrink:0;color:rgb(var(--rgb-ink-3))}.mc-song-search-input[data-v-cdbb28a1]{flex:1;min-width:0;border:none;background:none;font-size:13px;color:rgb(var(--rgb-ink));font-family:inherit;outline:none;padding:0;caret-color:rgb(var(--rgb-accent))}.mc-song-search-input[data-v-cdbb28a1]::-moz-placeholder{color:rgb(var(--rgb-ink-3))}.mc-song-search-input[data-v-cdbb28a1]::placeholder{color:rgb(var(--rgb-ink-3))}.mc-song-search-clear[data-v-cdbb28a1]{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:rgb(var(--rgb-raised) / .8);color:rgb(var(--rgb-ink-3));border-radius:5px;cursor:pointer;padding:0;flex-shrink:0;transition:color .15s ease,background .15s ease}.mc-song-search-clear[data-v-cdbb28a1]:hover{background:rgb(var(--rgb-raised));color:rgb(var(--rgb-ink))}.mc-song-modal-body[data-v-cdbb28a1]{display:flex;gap:12px;flex:1;min-height:0;padding:0 18px 14px;overflow:hidden}.mc-song-list[data-v-cdbb28a1]{flex:1 1 0;min-width:0;display:flex;flex-direction:column;border:1px solid rgb(var(--rgb-line));border-radius:10px;background:rgb(var(--rgb-well) / .4);overflow:hidden}.mc-song-list-divider[data-v-cdbb28a1]{display:none}.mc-song-list-header[data-v-cdbb28a1]{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:8px 10px;flex-shrink:0;border-bottom:1px solid rgb(var(--rgb-line));background:rgb(var(--rgb-raised) / .28)}.mc-song-list-title[data-v-cdbb28a1]{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:rgb(var(--rgb-ink-2));letter-spacing:.4px}.mc-song-list-title svg[data-v-cdbb28a1]{color:rgb(var(--rgb-ink-3))}.mc-song-list-icon[data-v-cdbb28a1]{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;flex-shrink:0}.mc-song-list-icon--single[data-v-cdbb28a1]{color:rgb(var(--rgb-melody));background:rgb(var(--rgb-melody) / .14);border:1px solid rgb(var(--rgb-melody) / .35)}.mc-song-list-icon--multi[data-v-cdbb28a1]{color:rgb(var(--rgb-violet));background:rgb(var(--rgb-violet) / .14);border:1px solid rgb(var(--rgb-violet) / .35)}.mc-song-count[data-v-cdbb28a1]{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:18px;padding:0 6px;font-size:10px;font-weight:600;color:rgb(var(--rgb-ink-2));background:rgb(var(--rgb-raised) / .8);border-radius:999px;font-variant-numeric:tabular-nums}.mc-song-items[data-v-cdbb28a1]{flex:1;min-height:0;overflow-y:auto;padding:5px;display:flex;flex-direction:column;gap:4px}.mc-song-item[data-v-cdbb28a1]{position:relative;display:flex;align-items:center;gap:8px;padding:8px 10px 8px 12px;border-radius:6px;border:1px solid transparent;background:rgb(var(--rgb-card) / .55);color:rgb(var(--rgb-ink-2));font-size:12.5px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .14s ease,border-color .14s ease,color .14s ease}.mc-song-item[data-v-cdbb28a1]:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:2px;height:0;border-radius:0 2px 2px 0;background:linear-gradient(180deg,rgb(var(--rgb-melody)),rgb(var(--rgb-violet)));transition:height .16s ease}.mc-song-item[data-v-cdbb28a1]:hover:before,.mc-song-item.active[data-v-cdbb28a1]:before{height:56%}.mc-song-item[data-v-cdbb28a1]:hover{background:rgb(var(--rgb-raised) / .6);border-color:rgb(var(--rgb-line-2));color:rgb(var(--rgb-ink))}.mc-song-item.active[data-v-cdbb28a1]{background:rgb(var(--rgb-accent) / .14);border-color:rgb(var(--rgb-accent) / .5);color:rgb(var(--rgb-ink));font-weight:500}.mc-song-name[data-v-cdbb28a1]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.1px}.mc-song-bpm[data-v-cdbb28a1]{display:inline-flex;align-items:baseline;gap:2px;padding:2px 7px;font-family:var(--font-mono);font-size:10.5px;font-weight:600;color:rgb(var(--rgb-ink-2));background:rgb(var(--rgb-raised) / .85);border-radius:4px;flex-shrink:0}.mc-song-bpm small[data-v-cdbb28a1]{font-size:8.5px;font-weight:500;color:rgb(var(--rgb-ink-3));letter-spacing:.3px}.mc-song-item.active .mc-song-bpm[data-v-cdbb28a1]{background:rgb(var(--rgb-accent) / .22);color:rgb(var(--rgb-accent-hover))}.mc-song-item.active .mc-song-bpm small[data-v-cdbb28a1]{color:rgb(var(--rgb-accent-hover));opacity:.8}.mc-song-check[data-v-cdbb28a1]{flex-shrink:0;color:rgb(var(--rgb-accent));opacity:0;transform:scale(.6);transition:opacity .16s,transform .16s}.mc-song-item.active .mc-song-check[data-v-cdbb28a1]{opacity:1;transform:scale(1)}.mc-song-empty[data-v-cdbb28a1]{padding:22px 8px;text-align:center;font-size:11.5px;font-style:italic;color:rgb(var(--rgb-ink-3))}@media (max-width: 760px) and (orientation: portrait){.mc-modal-box--song[data-v-cdbb28a1]{width:100%!important;height:min(88dvh,760px)!important;max-height:calc(100dvh - 20px)!important}.mc-modal-title[data-v-cdbb28a1]{flex-direction:column;align-items:flex-start;gap:2px}.mc-modal-sub[data-v-cdbb28a1]{font-size:10px;white-space:normal}.mc-song-search[data-v-cdbb28a1]{margin:10px 12px 8px;height:38px}.mc-song-modal-body[data-v-cdbb28a1]{flex-direction:column;gap:8px;padding:0 12px calc(12px + env(safe-area-inset-bottom,0px))}.mc-song-item[data-v-cdbb28a1]{min-height:42px;padding:10px 10px 10px 12px;font-size:13px}}.midi-connector[data-v-cdbb28a1]{height:44px;padding:0 16px;gap:14px;flex-wrap:nowrap;align-items:center}.midi-left[data-v-cdbb28a1]{gap:10px;min-width:0;flex-shrink:0}.midi-left .brand-icon[data-v-cdbb28a1]{width:22px;height:22px;filter:drop-shadow(0 0 8px rgb(var(--rgb-accent) / .3))}.brand-block[data-v-cdbb28a1]{display:flex;flex-direction:column;justify-content:center;gap:2px;line-height:1}.brand-block .brand-name[data-v-cdbb28a1]{font-family:Orbitron,JetBrains Mono,monospace;font-size:13px;font-weight:900;letter-spacing:.18em;display:inline-flex;white-space:nowrap}.brand-sub[data-v-cdbb28a1]{font-family:JetBrains Mono,monospace;font-size:7px;letter-spacing:.24em;text-transform:uppercase;color:rgb(var(--rgb-ink-2) / .62)}.brand-block .brand-char[data-v-cdbb28a1]{animation-name:brand-neon-cdbb28a1;animation-duration:4.5s}@keyframes brand-neon-cdbb28a1{0%,to{color:var(--accent-hi)}50%{color:var(--melody)}}.midi-left .changelog-btn[data-v-cdbb28a1]{height:24px;padding:0 10px;gap:5px;display:inline-flex;align-items:center;font:600 11px/1 var(--font-ui);letter-spacing:.02em;color:var(--accent-hi);background:var(--accent-soft);border:1px solid var(--line-accent);border-radius:999px;cursor:pointer;transition:all var(--d-fast) var(--ease)}.midi-left .changelog-btn svg[data-v-cdbb28a1]{width:12px;height:12px;display:block;flex:none}.midi-left .changelog-btn[data-v-cdbb28a1]:hover{color:#fff;background:rgb(var(--rgb-accent) / .24);border-color:var(--accent);box-shadow:0 2px 10px rgb(var(--rgb-accent) / .25)}.midi-icon-bar[data-v-cdbb28a1]{flex:1;min-width:0;gap:8px;justify-content:flex-end}.status-chip[data-v-cdbb28a1]{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;height:20px;padding:0 8px;border:1px solid var(--line);border-radius:6px;font-family:JetBrains Mono,monospace;font-size:9px;letter-spacing:.12em;color:var(--text-muted);transition:color var(--transition),border-color var(--transition)}.status-led[data-v-cdbb28a1]{width:6px;height:6px;border-radius:50%;background:rgb(var(--rgb-line-3));transition:background var(--transition),box-shadow var(--transition)}.status-chip.is-live[data-v-cdbb28a1]{color:rgb(var(--rgb-ok));border-color:rgb(var(--rgb-ok) / .4)}.status-chip.is-live .status-led[data-v-cdbb28a1]{background:rgb(var(--rgb-ok));box-shadow:0 0 6px rgb(var(--rgb-ok) / .75)}.status-chip.is-busy .status-led[data-v-cdbb28a1]{background:rgb(var(--rgb-warn));animation:dot-pulse .8s infinite}.midi-icon-bar .loaded-song-name[data-v-cdbb28a1]{display:inline-flex;align-items:center;font-family:var(--font-ui);font-size:12px;font-weight:600;letter-spacing:.01em;color:var(--tx-1);height:24px;max-width:460px;padding:0 10px;border:1px solid var(--line);border-radius:4px;background:rgba(255,255,255,.04);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.midi-icon-bar .loaded-song-name.is-empty[data-v-cdbb28a1]{color:rgb(var(--rgb-ink-2) / .55);font-weight:400}.song-meta[data-v-cdbb28a1]{display:flex;align-items:center;gap:5px;flex:1;min-width:0;font-family:JetBrains Mono,monospace;font-size:9px;letter-spacing:.1em;color:rgb(var(--rgb-ink-2) / .55);white-space:nowrap;overflow:hidden}.song-meta b[data-v-cdbb28a1]{color:rgb(var(--rgb-ink-2) / .95);font-weight:500}.song-meta-sep[data-v-cdbb28a1]{color:rgb(var(--rgb-line-2))}.midi-icon-bar .device-name[data-v-cdbb28a1]{font-size:11px;max-width:160px;height:auto;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.midi-icon-bar .midi-indicators[data-v-cdbb28a1]{flex-direction:row;gap:4px;height:auto}.midi-icon-bar .midi-dot[data-v-cdbb28a1]{width:5px;height:5px;border-radius:50%}.bar-sep[data-v-cdbb28a1]{width:1px;height:18px;flex-shrink:0;background:var(--line);margin:0 2px}.mc-song-btn-wrap[data-v-cdbb28a1]{margin-left:auto}.midi-icon-bar .mc-nav-btn[data-v-cdbb28a1]{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 10px;border-radius:4px;border:1px solid var(--line);background:var(--bg-2);color:var(--tx-2);font:500 11px/1 var(--font-ui);letter-spacing:.01em;white-space:nowrap;cursor:pointer;flex-shrink:0;position:relative;transition:all var(--d-fast) var(--ease)}.midi-icon-bar .mc-nav-btn>svg[data-v-cdbb28a1]{width:13px;height:13px;display:block;flex:none}.midi-icon-bar .mc-nav-btn svg rect[data-v-cdbb28a1]{fill:currentColor;opacity:.42;transition:opacity var(--d-fast) var(--ease)}.midi-icon-bar .mc-nav-btn[data-v-cdbb28a1]:hover{color:var(--tx-1);background:var(--bg-3);border-color:var(--line-accent)}.midi-icon-bar .mc-nav-btn[data-v-cdbb28a1]:active{transform:translateY(1px);box-shadow:inset 0 0 0 1px var(--accent)}.midi-icon-bar .mc-nav-btn.is-on[data-v-cdbb28a1]{color:var(--accent-hi);background:var(--accent-soft);border-color:var(--line-accent)}.midi-icon-bar .mc-nav-btn.is-on svg rect[data-v-cdbb28a1]{opacity:1}.midi-icon-bar .mc-nav-btn.disabled[data-v-cdbb28a1]{opacity:.38;cursor:not-allowed}.midi-icon-bar .mc-nav-btn--icon[data-v-cdbb28a1]{width:28px;padding:0;justify-content:center}.midi-icon-bar .mc-nav-btn.is-light-on .light-sun[data-v-cdbb28a1]{animation:sun-spin 3s linear infinite}.midi-icon-bar .icon-btn[data-v-cdbb28a1]{width:28px;height:28px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--text-muted);flex-shrink:0;transition:color var(--transition),border-color var(--transition),background var(--transition),box-shadow var(--transition)}.midi-icon-bar .icon-btn[data-v-cdbb28a1]:hover{color:var(--accent);border-color:rgb(var(--rgb-accent) / .45);background:rgb(var(--rgb-accent) / .07);box-shadow:0 0 12px rgb(var(--rgb-accent) / .2)}.midi-icon-bar .icon-btn svg[data-v-cdbb28a1]{width:16px;height:16px;display:block}.midi-icon-bar .icon-btn--gear[data-v-cdbb28a1]{margin-left:0}.midi-icon-bar .icon-btn--lp-on[data-v-cdbb28a1]{color:var(--accent);border-color:rgb(var(--rgb-accent) / .45);background:rgb(var(--rgb-accent) / .08)}.midi-icon-bar .status-dot[data-v-cdbb28a1]{top:2px;right:2px;width:6px;height:6px}.midi-icon-bar .mc-song-btn[data-v-cdbb28a1]{width:28px;height:28px;padding:0;border-radius:6px;border:1px solid var(--line);background:rgb(var(--rgb-well) / .45);color:var(--text-muted);display:flex;align-items:center;justify-content:center;transition:color var(--transition),border-color var(--transition),background var(--transition),box-shadow var(--transition)}.midi-icon-bar .mc-song-btn[data-v-cdbb28a1]:hover{color:var(--accent);border-color:rgb(var(--rgb-accent) / .55);background:rgb(var(--rgb-accent) / .08);box-shadow:0 0 12px rgb(var(--rgb-accent) / .2)}.midi-icon-bar .mc-song-btn svg[data-v-cdbb28a1]{width:16px;height:16px;display:block}@media (max-width: 760px) and (orientation: portrait){.mc-modal-box--midi[data-v-cdbb28a1]{height:auto;min-height:0;max-height:calc(100dvh - 20px);border-radius:14px}.mc-light-layout[data-v-cdbb28a1]{flex-direction:column;min-height:0}.mc-light-nav[data-v-cdbb28a1]{width:100%;flex-direction:row;flex-shrink:0;gap:6px;padding:8px 10px;border-right:none;border-bottom:1px solid rgb(var(--rgb-line));overflow-x:auto;overflow-y:hidden;background:rgb(var(--rgb-well) / .35)}.mc-light-nav[data-v-cdbb28a1]::-webkit-scrollbar{display:none}.mc-light-nav-item[data-v-cdbb28a1]{flex:0 0 auto;padding:7px 12px;border:1px solid rgb(var(--rgb-line-2));border-left-width:1px;border-radius:999px;font-size:12px;white-space:nowrap;min-height:32px}.mc-light-nav-item.active[data-v-cdbb28a1]{border-color:rgb(var(--rgb-accent) / .6);background:rgb(var(--rgb-accent) / .16);box-shadow:none}.mc-light-nav-footer[data-v-cdbb28a1]{display:none}.mc-light-main[data-v-cdbb28a1]{min-height:0}.mc-light-main-inner[data-v-cdbb28a1]{padding:14px}.mc-light-section[data-v-cdbb28a1]{gap:14px}.mc-light-section-header[data-v-cdbb28a1]{padding-bottom:10px}.mc-light-section-header h3[data-v-cdbb28a1]{font-size:13px}.mc-light-section-header p[data-v-cdbb28a1]{font-size:11px}.lp-setting-row[data-v-cdbb28a1]{flex-wrap:wrap;gap:8px;padding:10px 0}.lp-setting-row-info[data-v-cdbb28a1]{flex:1 1 100%}.mc-select[data-v-cdbb28a1],.mc-select--narrow[data-v-cdbb28a1]{width:100%;max-width:none;min-width:0;height:36px}.mc-status-pill[data-v-cdbb28a1]{height:28px}.mc-btn[data-v-cdbb28a1]{height:34px;padding:0 16px;flex:0 0 auto}.mc-alert[data-v-cdbb28a1]{font-size:11.5px}}.midi-device-selector{padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);min-width:160px;flex:1;font-size:13px;transition:all var(--transition)}.midi-device-selector:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #35b8e01a}.midi-device-selector:hover{border-color:var(--border-light)}.midi-device-selector option:disabled{color:var(--text-muted)}.mfs-loaded[data-v-7e0c350b]{display:flex;align-items:center;gap:8px;padding:7px 9px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg-2)}.mfs-loaded__icon[data-v-7e0c350b]{width:24px;height:24px;flex:none;display:grid;place-items:center;border-radius:4px;background:var(--accent-soft);color:var(--melody)}.mfs-loaded__icon svg[data-v-7e0c350b]{width:13px;height:13px;display:block}.mfs-loaded__body[data-v-7e0c350b]{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.mfs-loaded__name[data-v-7e0c350b]{font:600 11px/1.2 var(--font-ui);color:var(--tx-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mfs-loaded__meta[data-v-7e0c350b]{font:500 9px/1 var(--font-num);letter-spacing:.04em;color:var(--tx-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mfs-loaded__badge[data-v-7e0c350b]{flex:none;padding:3px 6px;border-radius:999px;border:1px solid rgba(52,211,153,.3);background:rgba(52,211,153,.12);color:var(--play);font:600 9px/1 var(--font-ui)}.mfs-drop[data-v-7e0c350b]{display:flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 10px;border:1px dashed var(--line-strong);border-radius:var(--r-sm);background:var(--bg-2);color:var(--tx-2);cursor:pointer;transition:background var(--d-fast) var(--ease),border-color var(--d-fast) var(--ease),color var(--d-fast) var(--ease)}.mfs-drop[data-v-7e0c350b]:hover{background:var(--bg-3);border-color:var(--line-accent);color:var(--tx-1)}.mfs-drop:hover .mfs-drop__icon[data-v-7e0c350b]{color:var(--accent)}.mfs-drop.is-loading[data-v-7e0c350b]{border-color:var(--line-accent);background:var(--accent-soft);color:var(--accent-hi)}.mfs-drop__icon[data-v-7e0c350b]{width:15px;height:15px;flex:none;color:var(--tx-3);transition:color var(--d-fast) var(--ease)}.mfs-drop.is-loading .mfs-drop__icon[data-v-7e0c350b]{color:var(--accent);animation:op-blink .9s ease-in-out infinite}.mfs-drop__label[data-v-7e0c350b]{font:500 12px/1 var(--font-ui);color:var(--tx-1)}.mfs-drop__hint[data-v-7e0c350b]{font:500 9px/1 var(--font-num);letter-spacing:.08em;color:var(--tx-3)}.op-input[data-v-aadd8766]{position:relative;display:inline-flex;align-items:center;height:var(--h-control-sm);border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--bg-1);transition:border-color var(--d-fast) var(--ease),box-shadow var(--d-fast) var(--ease)}.op-input[data-v-aadd8766]:hover{border-color:var(--line-accent)}.op-input.is-focused[data-v-aadd8766]{border-color:var(--accent);box-shadow:var(--e-focus)}.op-input.is-invalid[data-v-aadd8766]{border-color:var(--danger);box-shadow:0 0 0 3px #f8717140}.op-input.is-disabled[data-v-aadd8766]{opacity:.4;pointer-events:none}.op-input__field[data-v-aadd8766]{flex:1;min-width:0;height:100%;padding:0 4px;border:none;outline:none;background:transparent;color:var(--tx-1);font:500 12px/1 var(--font-num);text-align:center}.op-input__field[data-v-aadd8766]::-moz-placeholder{color:var(--tx-3)}.op-input__field[data-v-aadd8766]::placeholder{color:var(--tx-3)}.op-input__suffix[data-v-aadd8766]{padding:0 6px 0 2px;font:500 10px/1 var(--font-ui);color:var(--tx-3)}.op-prog[data-v-dd420df4]{position:relative;height:6px;border-radius:var(--r-pill);background:rgba(255,255,255,.07);cursor:pointer;transition:height var(--d-fast) var(--ease);touch-action:none}.op-prog[data-v-dd420df4]:hover,.op-prog.is-hover[data-v-dd420df4],.op-prog.is-dragging[data-v-dd420df4]{height:8px}.op-prog.is-disabled[data-v-dd420df4]{opacity:.35;cursor:not-allowed;pointer-events:none}.op-prog[data-v-dd420df4]:before{content:"";position:absolute;left:0;right:0;top:-9px;bottom:-9px}.op-prog__track[data-v-dd420df4]{position:absolute;inset:0;border-radius:inherit;background:transparent}.op-prog__fill[data-v-dd420df4]{position:absolute;left:0;top:0;bottom:0;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent-hi));transition:width 80ms linear}.op-prog.is-dragging .op-prog__fill[data-v-dd420df4]{transition:none}.op-prog__knob[data-v-dd420df4]{position:absolute;top:50%;width:12px;height:12px;border-radius:50%;background:var(--tx-1);border:2px solid var(--accent);transform:translate(-50%,-50%) scale(0);transition:transform var(--d-fast) var(--ease)}.op-prog:hover .op-prog__knob[data-v-dd420df4],.op-prog.is-hover .op-prog__knob[data-v-dd420df4],.op-prog.is-dragging .op-prog__knob[data-v-dd420df4]{transform:translate(-50%,-50%) scale(1)}.op-prog__loop[data-v-dd420df4]{position:absolute;top:-2px;bottom:-2px;border-radius:3px;background:var(--accent-soft);border:1px dashed var(--line-accent);pointer-events:none}.op-fv[data-v-ea9a23b1]{display:flex;flex-direction:column;align-items:center;gap:5px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.op-fv__rail[data-v-ea9a23b1]{position:relative;width:6px;border-radius:3px;background:var(--bg-3);box-shadow:inset 0 0 0 1px var(--line);cursor:ns-resize;touch-action:none;transition:box-shadow var(--d-fast) var(--ease)}.op-fv__rail[data-v-ea9a23b1]:before{content:"";position:absolute;inset:-10px -9px}.op-fv:hover .op-fv__rail[data-v-ea9a23b1],.op-fv.is-dragging .op-fv__rail[data-v-ea9a23b1]{box-shadow:inset 0 0 0 1px var(--line-accent)}.op-fv__mid[data-v-ea9a23b1]{position:absolute;left:-5px;right:-5px;top:50%;height:1px;background:var(--line-strong);pointer-events:none}.op-fv__fill[data-v-ea9a23b1]{position:absolute;left:0;right:0;bottom:0;border-radius:3px;background:linear-gradient(180deg,var(--accent-hi),var(--accent));transition:height var(--d-fast) linear,bottom var(--d-fast) linear}.op-fv.is-dragging .op-fv__fill[data-v-ea9a23b1]{transition:none}.op-fv.is-muted .op-fv__fill[data-v-ea9a23b1]{background:var(--tx-3)}.op-fv__thumb[data-v-ea9a23b1]{position:absolute;left:50%;width:16px;height:10px;margin-left:-8px;margin-bottom:-5px;border-radius:2px;background:#e9edf6;box-shadow:inset 0 0 0 1px #00000073;transition:bottom var(--d-fast) linear,background var(--d-fast) var(--ease)}.op-fv__thumb i[data-v-ea9a23b1]{position:absolute;inset:4px 3px;border-radius:1px;background:rgba(11,13,18,.28)}.op-fv:hover .op-fv__thumb[data-v-ea9a23b1],.op-fv.is-dragging .op-fv__thumb[data-v-ea9a23b1]{background:#ffffff}.op-fv.is-dragging .op-fv__thumb[data-v-ea9a23b1]{transition:none}.op-fv.is-muted .op-fv__thumb[data-v-ea9a23b1]{background:#b5bcc9}.op-fv__val[data-v-ea9a23b1]{font:500 9px/1 var(--font-num);color:var(--tx-2);letter-spacing:.02em}.op-fv:hover .op-fv__val[data-v-ea9a23b1],.op-fv.is-dragging .op-fv__val[data-v-ea9a23b1]{color:var(--accent-hi)}.op-fv__label[data-v-ea9a23b1]{font:500 10px/1 var(--font-ui);color:var(--tx-3);letter-spacing:.02em;white-space:nowrap}.tb[data-v-28ec7133]{display:flex;align-items:center;gap:8px;height:var(--h-toolbar);padding:0 14px;background:var(--bg-1);border-bottom:1px solid var(--line);-webkit-user-select:none;-moz-user-select:none;user-select:none}.tb__btn[data-v-28ec7133]{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:none;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--bg-2);color:var(--tx-2);cursor:pointer;transition:all var(--d-fast) var(--ease)}.tb__btn[data-v-28ec7133]:hover{background:var(--bg-3);color:var(--tx-1);border-color:var(--line-accent)}.tb__btn.is-pressed[data-v-28ec7133]{transform:translateY(1px) scale(.93);background:var(--bg-1)}.tb__btn.is-on[data-v-28ec7133]{background:var(--accent-soft);color:var(--accent-hi);border-color:var(--line-accent);box-shadow:0 0 8px #6c8cff2e}.tb__btn.is-disabled[data-v-28ec7133]{opacity:.35;cursor:not-allowed;pointer-events:none}.tb__play[data-v-28ec7133]{background:var(--accent);border-color:transparent;color:var(--tx-on-accent)}.tb__play[data-v-28ec7133]:hover{background:var(--accent-hi);border-color:transparent;color:var(--tx-on-accent)}.tb__play.is-playing[data-v-28ec7133],.tb__play.is-playing[data-v-28ec7133]:hover{background:var(--play);border-color:transparent;color:#fff;box-shadow:none}.tb__rec[data-v-28ec7133]{color:var(--rec)}.tb__rec[data-v-28ec7133]:hover{background:var(--rec-soft);border-color:var(--rec);color:var(--rec)}.tb__rec.is-recording[data-v-28ec7133]{background:var(--rec);border-color:transparent;color:#fff;animation:op-rec-blink 1.2s ease-in-out infinite}.tb__bpm[data-v-28ec7133]{flex:none}.tb__progress[data-v-28ec7133]{flex:1;min-width:120px;padding:0 6px}.tb__time[data-v-28ec7133]{display:flex;align-items:baseline;gap:4px;flex:none;font:500 12px/1 var(--font-num);color:var(--tx-2);padding:4px 10px;border-radius:var(--r-sm);background:rgba(255,255,255,.03);border:1px solid var(--line)}.tb__time-cur.is-live[data-v-28ec7133]{color:var(--play)}.tb__time-sep[data-v-28ec7133]{opacity:.4}.tb__time-total[data-v-28ec7133]{color:var(--tx-3);font-size:11px}.tb__vol[data-v-28ec7133]{position:relative;display:flex;align-items:center;flex:none}.tb__vol-scrim[data-v-28ec7133]{position:fixed;inset:0;z-index:40}.tb__vol-pop[data-v-28ec7133]{position:absolute;top:calc(100% + 10px);right:-8px;z-index:41;padding:16px 18px 12px;background:var(--bg-2);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--e2);animation:op-slide-up var(--d-base) var(--ease)}@media (max-width: 760px){.tb[data-v-28ec7133]{gap:6px;padding:0 8px}.tb__bpm[data-v-28ec7133],.tb__metro[data-v-28ec7133]{display:none}.tb__progress[data-v-28ec7133]{min-width:56px;padding:0 2px}.tb__time[data-v-28ec7133]{font-size:10px;gap:3px;padding:3px 6px}.tb__time-total[data-v-28ec7133]{font-size:10px}.tb__vol-pop[data-v-28ec7133]{right:-4px;padding:14px 16px 10px}}@media (max-width: 460px){.tb__time-total[data-v-28ec7133],.tb__time-sep[data-v-28ec7133]{display:none}.tb__btn[data-v-28ec7133]{width:26px;height:26px}}.bb[data-v-6c994e95]{display:flex;align-items:center;gap:12px;height:var(--h-bottom);padding:0 12px;background:var(--bg-1);border-top:1px solid var(--line);font:400 10px/1 var(--font-ui);color:var(--tx-3);-webkit-user-select:none;-moz-user-select:none;user-select:none}.bb__status[data-v-6c994e95]{display:flex;align-items:center;gap:5px;font:600 9px/1 var(--font-num);letter-spacing:.1em}.bb__dot[data-v-6c994e95]{width:6px;height:6px;border-radius:50%}.bb__dot.is-pulse[data-v-6c994e95]{animation:op-pulse 1.4s ease-out infinite}.bb__song[data-v-6c994e95]{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--tx-2)}.bb__song.is-empty[data-v-6c994e95]{color:var(--tx-3);opacity:.6}.bb__spacer[data-v-6c994e95]{flex:1}.bb__meta[data-v-6c994e95]{display:flex;gap:6px;color:var(--tx-3);font-size:9px}.bb__meta-sep[data-v-6c994e95]{opacity:.35}.bb__sign[data-v-6c994e95]{color:var(--tx-3);text-decoration:none;transition:color var(--d-fast) var(--ease)}.bb__sign[data-v-6c994e95]:hover{color:var(--accent-hi)}@media (max-width: 760px){.bb[data-v-6c994e95]{gap:8px;padding:0 8px}.bb__meta[data-v-6c994e95],.bb__sign[data-v-6c994e95]{display:none}.bb__song[data-v-6c994e95]{max-width:150px}}.op-btn[data-v-43e13b11]{display:inline-flex;align-items:center;gap:6px;height:var(--h-control);padding:0 12px;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--bg-2);color:var(--tx-1);font:500 12px/1 var(--font-ui);cursor:pointer;white-space:nowrap;transition:background var(--d-fast) var(--ease),border-color var(--d-fast) var(--ease),color var(--d-fast) var(--ease),transform var(--d-fast) var(--ease),box-shadow var(--d-fast) var(--ease)}.op-btn[data-v-43e13b11]:hover,.op-btn.is-hover[data-v-43e13b11]{background:var(--bg-3);border-color:var(--line-accent);color:var(--tx-1)}.op-btn[data-v-43e13b11]:active,.op-btn.is-active[data-v-43e13b11]{transform:translateY(1px) scale(.985);background:var(--bg-1)}.op-btn--primary[data-v-43e13b11]{background:var(--accent);border-color:transparent;color:var(--tx-on-accent)}.op-btn--primary[data-v-43e13b11]:hover,.op-btn--primary.is-hover[data-v-43e13b11]{background:var(--accent-hi)}.op-btn--primary[data-v-43e13b11]:active,.op-btn--primary.is-active[data-v-43e13b11]{background:var(--accent)}.op-btn--danger[data-v-43e13b11]{background:var(--rec-soft);border-color:#ff5c5c59;color:var(--danger)}.op-btn--danger[data-v-43e13b11]:hover,.op-btn--danger.is-hover[data-v-43e13b11]{background:rgba(255,92,92,.26);border-color:var(--danger)}.op-btn--ghost[data-v-43e13b11]{background:transparent;border-color:transparent;color:var(--tx-2)}.op-btn--ghost[data-v-43e13b11]:hover,.op-btn--ghost.is-hover[data-v-43e13b11]{background:var(--bg-2);color:var(--tx-1)}.op-btn.is-disabled[data-v-43e13b11]{opacity:.38;cursor:not-allowed;pointer-events:none}.op-ibtn[data-v-fb230629]{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-sm);border:1px solid transparent;background:transparent;color:var(--tx-2);cursor:pointer;transition:background var(--d-fast) var(--ease),color var(--d-fast) var(--ease),border-color var(--d-fast) var(--ease),transform var(--d-fast) var(--ease)}.op-ibtn[data-v-fb230629]:hover,.op-ibtn.is-hover[data-v-fb230629]{background:var(--bg-3);color:var(--tx-1)}.op-ibtn[data-v-fb230629]:active,.op-ibtn.is-active[data-v-fb230629]{transform:scale(.92);background:var(--bg-1)}.op-ibtn.is-on[data-v-fb230629]{background:var(--accent-soft);color:var(--accent-hi);border-color:var(--line-accent)}.op-ibtn.is-on[data-v-fb230629]:hover{background:rgba(108,140,255,.22)}.op-ibtn.is-danger[data-v-fb230629]{color:var(--danger)}.op-ibtn.is-danger[data-v-fb230629]:hover{background:var(--rec-soft)}.op-ibtn.is-disabled[data-v-fb230629]{opacity:.35;cursor:not-allowed;pointer-events:none}.op-knob[data-v-71ceee82]{display:flex;flex-direction:column;align-items:center;gap:2px;cursor:ns-resize;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}.op-knob__svg[data-v-71ceee82]{transition:filter var(--d-fast) var(--ease)}.op-knob:hover .op-knob__svg[data-v-71ceee82],.op-knob.is-hover .op-knob__svg[data-v-71ceee82],.op-knob.is-dragging .op-knob__svg[data-v-71ceee82]{filter:drop-shadow(0 0 6px rgba(108,140,255,.35))}.op-knob.is-dragging .op-knob__svg[data-v-71ceee82]{filter:drop-shadow(0 0 10px rgba(108,140,255,.55))}.op-knob__label[data-v-71ceee82]{font:500 10px/1.2 var(--font-ui);color:var(--tx-3);letter-spacing:.02em}.op-knob__val[data-v-71ceee82]{font:500 10px/1 var(--font-num);color:var(--tx-2);transition:color var(--d-fast) var(--ease)}.op-knob:hover .op-knob__val[data-v-71ceee82],.op-knob.is-hover .op-knob__val[data-v-71ceee82]{color:var(--accent-hi)}.op-knob.is-muted .op-knob__val[data-v-71ceee82]{color:var(--tx-3);text-decoration:line-through}.op-knob.is-disabled[data-v-71ceee82]{opacity:.35;cursor:not-allowed;pointer-events:none}.op-panel[data-v-ff58f0dd]{display:flex;flex-direction:column;min-width:0;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.op-panel__head[data-v-ff58f0dd]{display:flex;align-items:center;justify-content:space-between;gap:12px;height:38px;flex:none;padding:0 12px;border-bottom:1px solid var(--line);background:var(--bg-2)}.is-dense .op-panel__head[data-v-ff58f0dd]{height:32px;padding:0 10px}.op-panel__titles[data-v-ff58f0dd]{display:flex;align-items:baseline;gap:8px;min-width:0}.op-panel__title[data-v-ff58f0dd]{margin:0;font:600 12px/1 var(--font-ui);color:var(--tx-1);letter-spacing:.02em;white-space:nowrap}.op-panel__sub[data-v-ff58f0dd]{margin:0;font:400 11px/1 var(--font-ui);color:var(--tx-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.op-panel__actions[data-v-ff58f0dd]{display:flex;align-items:center;gap:6px;flex:none}.op-panel__body[data-v-ff58f0dd]{padding:12px;min-width:0}.is-dense .op-panel__body[data-v-ff58f0dd]{padding:8px 10px}.is-flush .op-panel__body[data-v-ff58f0dd]{padding:0}.lp-diag-panel{position:fixed;top:6px;left:6px;z-index:9999;padding:6px 8px;border-radius:6px;background:rgba(0,0,0,.72);color:var(--accent);font:11px/1.5 ui-monospace,Consolas,monospace;pointer-events:none;white-space:nowrap}.page-footer{position:fixed;bottom:4px;left:0;right:0;text-align:center}.velo-bar{position:fixed;bottom:26px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;background:var(--bg-3);backdrop-filter:blur(6px);border:1px solid var(--border,var(--line-2));border-radius:8px;padding:4px 12px;z-index:998;font-size:12px;pointer-events:none}.velo-label{color:var(--text-muted,var(--text-2));font-weight:600}.velo-track{width:100px;height:6px;background:var(--panel-2);border-radius:3px;overflow:hidden}.velo-fill{height:100%;border-radius:3px;transition:width .1s}.velo-val{font-weight:700;min-width:28px;text-align:right;font-family:monospace}.upload-divider{width:1px;height:40px;background:var(--border, var(--line-2));flex-shrink:0}.part-upload-btn{display:inline-flex;flex-direction:column;align-items:center;padding:4px 12px;background:none;border:none;color:var(--accent);cursor:pointer;transition:all .2s}.duration-row .part-upload-btn{padding:4px 8px;color:var(--text-muted);position:relative}.duration-row .part-upload-btn:hover .part-icon{transform:scale(1.15)}.duration-row .duration-selected{color:var(--accent)!important}.duration-row .duration-selected:after{content:"";position:absolute;bottom:0;left:4px;right:4px;width:auto;height:2px;background:var(--accent);border-radius:1px}.duration-row .part-icon{margin-bottom:4px;transition:transform .2s}.duration-row .part-label{letter-spacing:0}.part-upload-btn:hover{transform:translateY(-1px)}.part-upload-btn:hover .part-icon{transform:scale(1.1)}.duration-selected{color:var(--accent)!important}.duration-selected .part-icon{fill:var(--accent);stroke:var(--accent)}.part-icon{width:28px;height:28px;transition:transform .2s;margin-bottom:4px}.part-label{font-size:10px;font-weight:600;line-height:1.2;white-space:nowrap;color:var(--text-muted);letter-spacing:.5px;text-transform:uppercase}.part-upload-group{display:flex;flex-direction:column;align-items:center;padding:6px 10px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);width:auto;flex-shrink:0;flex:1 0 auto}.midi-style{padding:0 20px;background:transparent;border:none;border-radius:0}.single-track-group{display:flex;flex-direction:column;align-items:flex-start;padding:6px 10px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px}.single-track-label,.part-upload-title{font-size:10px;color:var(--text-muted);font-weight:600;letter-spacing:.5px;text-transform:uppercase;margin-bottom:3px;padding:0 2px}.part-upload-row{display:flex;align-items:center;gap:0;flex-wrap:wrap}.play-bar-top{display:flex;align-items:center;gap:12px;margin-bottom:6px}.ctrl-btn{cursor:pointer;width:42px;height:42px;border-radius:50%;border:2px solid var(--line-2);background:var(--bg-2);color:var(--text-2);display:flex;align-items:center;justify-content:center;position:relative;transition:all var(--transition)}.ctrl-btn:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}.ctrl-btn.active{background:var(--green-soft);border-color:var(--green);color:var(--green)}.ctrl-btn.active .rec-dot{background:var(--green)}.midi-editor{display:flex;flex-direction:column;width:100%;border:none;border-radius:0;overflow:hidden;margin-top:0;background:#0e1219}.editor-toolbar{display:flex;align-items:center;gap:5px;padding:0 12px;flex-shrink:0;flex-wrap:wrap;background:var(--bg-2);border-bottom:1px solid var(--line);border-radius:0}.toolbar-spacer{flex:1;min-width:8px}.midi-info-tags{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--text-muted,var(--text-2));white-space:nowrap}.mi-tag{font-weight:600;color:var(--accent,var(--accent))}.mi-label{color:var(--text-muted,var(--text-2));font-weight:400}.mi-sep{color:var(--border,var(--line-2));font-size:10px}.et-divider{width:1px;height:20px;background:var(--border,var(--line-2));align-self:center}.et-btn{padding:4px 10px;height:28px;font-size:12px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-2);cursor:pointer;display:flex;align-items:center;gap:4px;transition:all var(--transition);font-family:inherit}.track-btn{border-color:var(--track-color);color:var(--track-color)}.track-btn.muted{border-color:var(--line-2);color:var(--text-3);background:var(--bg-2);opacity:.6}.editor-body{display:flex;flex:1;min-height:0}.editor-canvas{flex:1;min-width:0;background:#0e1219}.rec-dot{width:10px;height:10px;border-radius:50%;background:var(--rec);display:block}.wave-canvas{width:120px;height:60px;margin:0 auto;align-self:center;min-width:120px}.rec-midi-check{display:flex;align-items:center;gap:3px;font-size:10px;color:var(--accent);cursor:pointer;white-space:nowrap;margin-top:9px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;padding:0 2px}.rec-midi-check input{width:12px;height:12px;cursor:pointer;accent-color:var(--accent)}.ctrl-btn:disabled{opacity:.25;cursor:not-allowed}.ctrl-btn.active{border-color:var(--accent, var(--accent))!important}.play-triangle{width:0;height:0;border-style:solid;border-width:6px 0 6px 11px;border-color:transparent transparent transparent var(--accent, var(--accent));border-radius:2px;position:relative;z-index:2;top:0;left:1px;transition:border-color .15s;filter:none}.ctrl-btn.active .play-triangle{border-left-color:#fff}.ctrl-btn:hover .play-triangle{border-left-color:var(--accent, var(--accent))}.ctrl-btn.active:hover .play-triangle{border-left-color:#fff}.pause-icon{display:flex;gap:2px;align-items:center;justify-content:center;position:relative;z-index:2}.pause-bar{display:block;width:3px;height:8px;border-radius:1px;background:var(--accent, var(--accent));transition:background .15s;position:relative;z-index:3}.ctrl-btn.active .pause-bar{background:currentColor}.ctrl-btn:hover .pause-bar{background:var(--accent, var(--accent))}.ctrl-btn.active:hover .pause-bar{background:currentColor}.stop-square{display:block;width:8px;height:8px;border-radius:2px;background:var(--accent, var(--accent));transition:background .15s;position:relative;z-index:2}.ctrl-btn:hover .stop-square{background:var(--accent, var(--accent))}.ctrl-btn:disabled .stop-square{background:var(--text-muted, var(--text-2))}.bpm-input{width:44px;padding:2px;border-radius:4px;border:1px solid transparent;background:transparent;color:var(--accent);font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;text-align:center;margin-top:8px;transition:all .15s}.bpm-input.editing,.bpm-input:focus{border-color:var(--accent);background:var(--bg-input, #fff);outline:none}.page-footer{font-size:11px;z-index:999;pointer-events:none}.page-footer a{pointer-events:auto}.footer-label{color:var(--text-muted, var(--text-2))}.footer-link{color:var(--accent, var(--accent));text-decoration:none;font-weight:600}.footer-link:hover{text-decoration:underline}.lp-overlay{position:fixed;inset:0;background:transparent;z-index:9999;display:flex;align-items:center;justify-content:center;pointer-events:none}.lp-wrapper{position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:auto}.lp-card{background:var(--bg-1);border-radius:18px;border:1px solid var(--border,var(--line-2));box-shadow:var(--e3);overflow:hidden;position:relative;animation:mapBoxIn .3s cubic-bezier(.34,1.56,.64,1)}.lp-header{display:flex;align-items:center;justify-content:space-between;padding:16px 22px 12px;background:transparent;cursor:grab;position:relative}.lp-header:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,var(--violet) 0%,var(--violet) 50%,var(--accent) 100%)}.lp-header:active{cursor:grabbing}.lp-header-title{font-size:15px;font-weight:600;color:#999;letter-spacing:.3px;display:flex;align-items:center;height:17px;white-space:nowrap}.lp-header-hint{margin-left:auto;margin-right:10px;font-size:11px;color:var(--text-muted,#999);white-space:nowrap}.lp-header-close{width:28px;height:28px;border:none;border-radius:50%;background:var(--bg-2);color:#888;font-size:13px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0;backdrop-filter:blur(4px)}.lp-header-close:hover{background:var(--red);color:#fff;transform:rotate(90deg) scale(1.08);box-shadow:0 4px 12px rgb(var(--rgb-rec) / .35)}.lp-topbar{display:flex;align-items:center;justify-content:space-between;padding:8px 22px;background:transparent}.lp-nav-btn{width:22px;height:22px;border:1px solid var(--line-2);border-radius:4px;background:var(--bg-2);color:var(--text-2);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.lp-nav-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--panel);box-shadow:0 0 8px rgb(var(--rgb-accent) / .15)}.lp-nav-btn:disabled{opacity:.2;cursor:default}.lp-nav-info{display:flex;align-items:center;gap:4px;margin:0 4px}.lp-nav-dot{width:8px;height:8px;border-radius:50%;background:var(--line-2);cursor:pointer;transition:all .25s;border:1px solid transparent}.lp-nav-dot:hover{background:var(--tx-3);transform:scale(1.15)}.lp-nav-dot.active{background:var(--accent);border-color:rgb(var(--rgb-accent) / .3);box-shadow:0 0 6px rgb(var(--rgb-accent) / .35);transform:scale(1.1)}.lp-nav-text{font-size:11px;color:#aab;margin-left:4px;letter-spacing:.3px;font-weight:500}.lp-map-btn{height:24px;padding:0 8px;border:1px solid var(--line-2);border-radius:4px;background:var(--bg-2);color:var(--text-2);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.lp-map-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--panel);box-shadow:0 0 8px rgb(var(--rgb-accent) / .15)}.lp-map-btn.active{border-color:var(--accent);color:#fff;background:var(--accent);box-shadow:0 0 8px rgb(var(--rgb-accent) / .25)}.lp-grid{display:flex;flex-direction:column;gap:4px;padding:12px 22px;background:transparent}.lp-row{display:flex;gap:3px;justify-content:center}.lp-cell{width:52px;height:52px;border-radius:5px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .12s}.lp-cell--melody{background:var(--bg-2);border:1px solid var(--line-strong)}.lp-cell--melody:hover{background:var(--bg-3);border-color:var(--accent);transform:translateY(-1px);box-shadow:0 2px 8px rgb(var(--rgb-accent) / .18)}.lp-cell--melody .lp-cell-num{color:var(--accent)}.lp-cell--harmony{background:var(--bg-2);border:1px solid var(--text-2)}.lp-cell--harmony:hover{background:var(--bg-3);border-color:var(--violet);transform:translateY(-1px);box-shadow:0 2px 8px rgb(var(--rgb-violet) / .18)}.lp-cell--harmony .lp-cell-num{color:var(--violet)}.lp-cell--melody.lp-cell--current{background:linear-gradient(145deg,var(--accent),var(--accent))!important;border-color:var(--accent)!important;box-shadow:0 0 10px #1a7aa073!important;transform:translateY(-1px)}.lp-cell--harmony.lp-cell--current{background:linear-gradient(145deg,var(--harmony),var(--harmony))!important;border-color:var(--harmony)!important;box-shadow:0 0 10px #7b2d9c73!important;transform:translateY(-1px)}.lp-cell--current .lp-cell-num{color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.2)}.lp-cell--disabled{background:var(--bg-1)!important;border-color:var(--line-2)!important;cursor:default!important;pointer-events:none}.lp-cell--disabled:hover{transform:none!important;box-shadow:none!important}.lp-cell--disabled .lp-cell-num{color:#bbb!important}.lp-cell--current.lp-cell--disabled{background:var(--bg-1)!important;border-color:var(--line-2)!important;box-shadow:none!important;transform:none!important}.lp-cell--current.lp-cell--disabled .lp-cell-num{color:#bbb!important;text-shadow:none!important}.lp-cell-num{font-size:11px;font-weight:700;text-align:center;line-height:1.15;pointer-events:none}.lp-reveal-bar{display:flex;align-items:center;gap:8px;padding:10px 22px 14px;background:transparent}.lp-step-btn{width:22px;height:22px;border:1px solid var(--line-2);border-radius:4px;background:var(--bg-2);color:var(--text-2);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.lp-step-btn:hover:not(:disabled){border-color:var(--line-3);background:var(--panel-2)}.lp-step-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--panel);box-shadow:0 0 8px rgb(var(--rgb-accent) / .15)}.lp-step-btn:disabled{opacity:.2;cursor:default}.lp-reveal-slider{-webkit-appearance:none;width:100%;height:5px;border-radius:3px;background:var(--bg-3);outline:none;cursor:pointer}.lp-reveal-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:linear-gradient(145deg,var(--accent),var(--accent));border:2px solid #fff;box-shadow:var(--e1);cursor:pointer;-webkit-transition:all .15s;transition:all .15s}.lp-reveal-slider::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 1px 8px rgb(var(--rgb-accent) / .35)}.lp-reveal-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:linear-gradient(145deg,var(--accent),var(--accent));border:2px solid #fff;box-shadow:var(--e1);cursor:pointer}.lp-reveal-val{font-size:12px;font-weight:600;color:var(--accent);min-width:32px;text-align:center;flex-shrink:0;letter-spacing:.5px}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:99999;animation:mapOverlayIn .25s ease-out}@keyframes mapOverlayIn{0%{opacity:0;backdrop-filter:blur(0px)}to{opacity:1;backdrop-filter:blur(6px)}}.map-modal-box{background:var(--bg-1);border-radius:18px;max-width:488px;width:92%;box-shadow:var(--e3);border:1px solid var(--border,var(--line-2));position:relative;overflow:hidden;display:flex;flex-direction:column;animation:mapBoxIn .3s cubic-bezier(.34,1.56,.64,1)}@keyframes mapBoxIn{0%{opacity:0;transform:scale(.92) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.map-modal-close{width:26px;height:26px;border:none;border-radius:50%;background:var(--bg-2);color:#888;font-size:12px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0;flex-shrink:0;backdrop-filter:blur(4px)}.map-modal-close:hover{background:var(--red);color:#fff;transform:rotate(90deg) scale(1.08);box-shadow:0 4px 12px rgb(var(--rgb-rec) / .35)}.map-header{display:flex;align-items:center;justify-content:space-between;padding:16px 22px 12px;background:var(--bg-2);position:relative;flex-shrink:0}.map-header:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,var(--violet) 0%,var(--violet) 50%,var(--accent) 100%)}.map-header-title{font-size:15px;font-weight:600;color:var(--text-2);letter-spacing:.3px}.map-legend{font-size:11px;font-weight:500;color:#6b7088;display:flex;align-items:center;gap:10px}.map-dot{display:inline-block;width:10px;height:10px;border-radius:2px}.map-dot--harmony{background:var(--harmony-soft);border:1px solid var(--violet)}.map-dot--melody{background:#e6f4fb;border:1px solid var(--accent)}.map-topbar{display:flex;align-items:center;justify-content:space-between;padding:8px 22px;background:transparent}.map-checkboxes{display:flex;align-items:center;gap:14px}.map-check-label{font-size:12px;color:var(--text-2);display:flex;align-items:center;gap:5px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-weight:500;transition:color .15s}.map-check-label:hover{color:#1a1d2e}.map-check-label input{accent-color:var(--accent-hover);width:14px;height:14px;cursor:pointer}.arrow-row{display:flex;gap:4px;align-items:center}.arr-btn:hover{border-color:var(--accent-hover);color:#fff;background:linear-gradient(135deg,var(--accent-hover),var(--accent));box-shadow:0 3px 10px #2b8cf052;transform:translateY(-1px)}.map-grid{display:flex;flex-direction:column;gap:3px;padding:12px 22px;background:transparent}.map-cell{width:52px;height:52px;border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:10px;cursor:pointer;position:relative;transition:all .12s}.map-cell--harmony{background:var(--bg-2);border:1px solid var(--text-2);color:var(--violet)}.map-cell--harmony:hover{background:var(--bg-3);border-color:var(--violet);transform:translateY(-1px);box-shadow:0 2px 8px rgb(var(--rgb-violet) / .18)}.map-cell--melody{background:var(--bg-2);border:1px solid var(--line-strong);color:var(--accent)}.map-cell--melody:hover{background:var(--bg-3);border-color:var(--accent);transform:translateY(-1px);box-shadow:0 2px 8px rgb(var(--rgb-accent) / .18)}.map-cell--empty{opacity:.25}.map-cell-key{font-weight:700;font-size:11px;line-height:1.2}.map-cell-note{font-size:9px;opacity:.75}.map-cell--selected{outline:2px solid #ff6600;outline-offset:-2px;box-shadow:0 0 10px #ff660059;transform:translateY(-1px)}.map-cell--current{box-shadow:0 0 0 2px var(--accent, var(--accent)),0 0 14px rgb(var(--rgb-accent) / .5);transform:translateY(-1px)}.map-cell--current.map-cell--harmony{box-shadow:0 0 0 2px var(--violet),0 0 14px rgb(var(--rgb-violet) / .5)}.map-cell--current .map-cell-key,.map-cell--current .map-cell-note{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.25)}.map-cell--modified{outline:2px solid var(--red);outline-offset:-2px;box-shadow:0 0 8px rgb(var(--rgb-rec) / .2)}.map-cell--modified .map-cell-note{opacity:1}.map-cell--modified .map-cell-note:after{content:" \2726";color:var(--red);font-size:8px}.map-cell-pair{position:absolute;top:-4px;right:-4px;background:linear-gradient(135deg,var(--red),#c0392b);color:#fff;font-size:8px;font-weight:700;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:1;box-shadow:0 1px 4px rgb(var(--rgb-rec) / .35)}.map-cell-count{position:absolute;bottom:1px;right:2px;font-size:9px;font-weight:700;color:var(--tx-3);line-height:1;background:var(--bg-1);padding:0 2px;border-radius:2px}.map-modified-info{display:flex;align-items:center;gap:8px;margin-top:10px;padding:8px 14px;background:var(--harmony-soft);border:1px solid var(--text-2);border-radius:8px;font-size:12px;color:var(--violet);line-height:1.4}.map-modified-info:before{content:"\2726";color:var(--violet);font-size:13px;flex-shrink:0}.map-modified-info strong{color:var(--violet);font-weight:700}.map-source-label{color:#b69cc8}.map-source-label{color:#999;font-weight:400;font-size:11px}.map-modal-footer{display:flex;gap:10px;justify-content:flex-end;padding:10px 22px 14px;background:transparent}.map-modal-footer .modal-btn{padding:8px 22px;border-radius:10px;border:none;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;gap:6px}.map-modal-footer .modal-btn--secondary{background:rgba(232,234,245,.9);color:#5a5e72;border:1px solid rgba(180,190,220,.35)}.map-modal-footer .modal-btn--secondary:hover{background:#e0e3f0;color:#2a2e45;transform:translateY(-1px);box-shadow:0 3px 8px #00000014}.map-modal-footer .modal-btn--primary{background:linear-gradient(135deg,var(--accent-hover),var(--accent));color:#fff;box-shadow:0 3px 10px #2b8cf047}.map-modal-footer .modal-btn--primary:hover{background:linear-gradient(135deg,#2079d6,#2ba3cc);transform:translateY(-1px);box-shadow:0 5px 14px #2b8cf061}.map-modal-footer .modal-btn:active{transform:translateY(0) scale(.98)}.arrow-row:before{content:"\6574\4f53\504f\79fb";font-size:11px;color:#8a8fa3;margin-right:6px;font-weight:500}.arr-btn{width:24px;height:24px;border:1px solid var(--line-strong);border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .18s;padding:0;color:var(--accent-hover);background:var(--bg-2);box-shadow:none}.arr-btn:hover{border-color:var(--accent-hover);color:#fff;background:var(--accent-hover);box-shadow:0 2px 8px #2b8cf040;transform:translateY(-1px)}.arr-btn:active{transform:scale(.9);box-shadow:none}.part-upload-group,.midi-style{background:rgba(10,14,24,.55);border:1px solid var(--nb-line);border-radius:6px}.part-upload-group:hover,.midi-style:hover{border-color:rgb(var(--rgb-accent) / .32)}.part-upload-btn{border-radius:6px}.part-label{font-family:var(--daw-font-display);letter-spacing:.06em}.midi-editor{background:#0e1219;border:none;border-radius:0;box-shadow:none}.et-divider,.mi-sep{background:var(--nb-line);color:var(--nb-line)}.mi-tag{color:var(--nb-cyan);text-shadow:0 0 10px rgb(var(--rgb-accent) / .35)}.mi-label{color:var(--nb-muted)}.bpm-input{color:var(--nb-cyan);background:transparent}.bpm-input.editing,.bpm-input:focus{background:rgba(10,14,24,.9);border-color:rgb(var(--rgb-accent) / .7)}.track-btn.muted{border-color:var(--nb-line);color:var(--nb-muted);background:rgba(10,14,24,.6)}.lp-card{background:linear-gradient(180deg,var(--bg) 0%,var(--bg-2) 100%);border:1px solid rgb(var(--rgb-accent) / .18);border-radius:10px;box-shadow:inset 0 1px 0 rgb(var(--rgb-accent) / .1),0 10px 34px #0000009e,0 0 24px rgb(var(--rgb-accent) / .08)}.lp-header:after,.map-header:after{background:linear-gradient(90deg,transparent,rgb(var(--rgb-accent) / .45) 20%,rgb(var(--rgb-accent) / .45) 80%,transparent);height:1px}.lp-header-title,.map-header-title{color:var(--nb-cyan);font-family:var(--daw-font-display);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.16em;text-shadow:0 0 10px rgb(var(--rgb-accent) / .55)}.lp-header-hint,.map-legend,.map-check-label,.arrow-row:before,.map-source-label{color:var(--nb-muted);font-size:10.5px;letter-spacing:.08em}.map-check-label:hover{color:var(--nb-cyan)}.lp-header-close,.map-modal-close{background:rgba(14,18,32,.7);border:1px solid var(--nb-line);color:var(--nb-muted)}.lp-header-close:hover,.map-modal-close:hover{background:rgba(255,34,153,.16);border-color:#ff2299b3;color:var(--nb-pink);box-shadow:var(--nb-glow-pink)}.lp-nav-dot{background:rgba(136,146,176,.35)}.lp-nav-dot:hover{background:rgb(var(--rgb-accent) / .6)}.lp-nav-dot.active{background:var(--nb-cyan);border-color:rgb(var(--rgb-accent) / .4);box-shadow:0 0 8px rgb(var(--rgb-accent) / .7)}.lp-nav-text,.lp-reveal-val{color:var(--nb-cyan);font-family:var(--daw-font-display);letter-spacing:.1em}.lp-cell--melody,.map-cell--melody{background:linear-gradient(145deg,rgb(var(--rgb-accent) / .1),rgb(var(--rgb-accent) / .04));border:1px solid rgb(var(--rgb-accent) / .28);color:var(--nb-cyan)}.lp-cell--melody:hover,.map-cell--melody:hover{background:linear-gradient(145deg,rgb(var(--rgb-accent) / .2),rgb(var(--rgb-accent) / .08));border-color:rgb(var(--rgb-accent) / .75);box-shadow:var(--nb-glow-cyan)}.lp-cell--melody .lp-cell-num{color:var(--nb-cyan)}.lp-cell--harmony,.map-cell--harmony{background:linear-gradient(145deg,rgba(255,34,153,.1),rgba(255,34,153,.04));border:1px solid rgba(255,34,153,.3);color:var(--nb-pink)}.lp-cell--harmony:hover,.map-cell--harmony:hover{background:linear-gradient(145deg,rgba(255,34,153,.2),rgba(255,34,153,.08));border-color:#ff2299bf;box-shadow:var(--nb-glow-pink)}.lp-cell--harmony .lp-cell-num{color:var(--nb-pink)}.lp-cell--melody.lp-cell--current,.map-cell--current{background:linear-gradient(145deg,rgb(var(--rgb-accent) / .38),rgb(var(--rgb-accent) / .2))!important;border-color:rgb(var(--rgb-accent) / .9)!important;box-shadow:var(--nb-glow-cyan-strong)!important}.lp-cell--harmony.lp-cell--current{background:linear-gradient(145deg,rgba(255,34,153,.38),rgba(255,34,153,.2))!important;border-color:#ff2299e6!important;box-shadow:var(--nb-glow-pink)!important}.lp-cell--current .lp-cell-num,.map-cell--current .map-cell-key,.map-cell--current .map-cell-note{color:#fff!important;text-shadow:0 0 10px rgb(var(--rgb-accent) / .6)}.lp-cell--disabled,.lp-cell--current.lp-cell--disabled{background:rgba(10,14,24,.6)!important;border-color:#8892b029!important;box-shadow:none!important}.lp-cell--disabled .lp-cell-num,.lp-cell--current.lp-cell--disabled .lp-cell-num{color:#8892b059!important;text-shadow:none!important}.lp-reveal-slider{background:linear-gradient(90deg,#04070e,#0a0e18);box-shadow:inset 0 1px 3px #000c,inset 0 0 0 1px #8892b024}.lp-reveal-slider::-webkit-slider-thumb{background:var(--accent);border:1px solid rgb(var(--rgb-accent) / .8);box-shadow:0 0 10px rgb(var(--rgb-accent) / .85)}.lp-reveal-slider::-moz-range-thumb{background:var(--accent);border:1px solid rgb(var(--rgb-accent) / .8);box-shadow:0 0 10px rgb(var(--rgb-accent) / .85)}.map-modal-box{background:linear-gradient(180deg,var(--bg) 0%,var(--bg-2) 100%);border:1px solid rgb(var(--rgb-accent) / .18);border-radius:10px;box-shadow:inset 0 1px 0 rgb(var(--rgb-accent) / .1),0 10px 34px #0000009e,0 0 24px rgb(var(--rgb-accent) / .08)}.map-header{background:linear-gradient(180deg,#111c31 0%,var(--bg-2) 100%)}.map-dot--melody{background:rgb(var(--rgb-accent) / .18);border:1px solid rgb(var(--rgb-accent) / .7)}.map-dot--harmony{background:rgba(255,34,153,.18);border:1px solid rgba(255,34,153,.7)}.map-cell-count{color:var(--nb-muted);background:rgba(10,14,24,.65)}.map-cell--selected{outline:2px solid rgba(255,34,153,.9);box-shadow:var(--nb-glow-pink)}.map-cell--modified{outline:2px solid rgba(255,77,109,.9);box-shadow:var(--nb-glow-danger)}.map-cell--modified .map-cell-note:after{color:var(--nb-danger)}.map-cell-pair{background:linear-gradient(135deg,var(--red),#c0392b);box-shadow:0 0 10px #ff4d6d80}.map-modified-info{background:rgba(255,34,153,.08);border:1px solid rgba(255,34,153,.3);color:var(--nb-pink);border-radius:6px}.map-modified-info:before,.map-modified-info strong{color:var(--nb-pink)}.map-modal-footer .modal-btn--secondary{background:var(--nb-solid);border:1px solid var(--nb-line);color:var(--nb-muted)}.map-modal-footer .modal-btn--secondary:hover{background:rgb(var(--rgb-accent) / .1);border-color:rgb(var(--rgb-accent) / .6);color:var(--nb-cyan)}.map-modal-footer .modal-btn--primary{background:rgb(var(--rgb-accent) / .2);border:1px solid rgb(var(--rgb-accent) / .7);color:var(--nb-cyan);box-shadow:var(--nb-glow-cyan-strong)}.map-modal-footer .modal-btn--primary:hover{background:rgb(var(--rgb-accent) / .3)}.page-footer{font-family:var(--daw-font-display);font-size:10px!important;letter-spacing:.12em;color:var(--nb-muted);padding:6px 0 8px;background:linear-gradient(to top,rgba(8,13,24,.94),rgba(8,13,24,0))}.footer-link{color:var(--nb-cyan)!important;text-shadow:0 0 10px rgb(var(--rgb-accent) / .5)}.velo-bar{background:rgba(10,14,24,.9)!important;border:1px solid var(--nb-line)!important;border-radius:6px!important;color:var(--nb-ink)!important;box-shadow:0 6px 24px #0009!important;backdrop-filter:blur(6px)}.velo-bar button{border-radius:4px}#app{width:100%;max-width:none;margin:0;padding:0;min-height:100%}:root{--rgb-page: 11 13 18;--rgb-surface: 18 21 28;--rgb-card: 25 30 39;--rgb-raised: 34 41 54;--rgb-well: 11 13 18;--rgb-line: 28 30 35;--rgb-line-2: 40 43 49;--rgb-line-3: 54 58 66;--rgb-ink: 242 244 248;--rgb-ink-2: 155 166 184;--rgb-ink-3: 98 109 126;--rgb-accent: 108 140 255;--rgb-accent-hover: 138 164 255;--rgb-ok: 52 211 153;--rgb-warn: 251 191 36;--rgb-rec: 255 92 92;--rgb-violet: 168 123 255;--rgb-melody: 67 198 242;--font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Consolas, monospace;--font-display: "Orbitron", "JetBrains Mono", "Fira Code", Consolas, "Microsoft YaHei", "PingFang SC", monospace;--font-cjk-display: "Smiley Sans", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--text-2xs: 10px;--lh-2xs: 14px;--text-xs: 11px;--lh-xs: 16px;--text-sm: 12px;--lh-sm: 18px;--text-md: 13px;--lh-md: 20px;--text-lg: 14px;--lh-lg: 21px;--text-xl: 16px;--lh-xl: 24px;--text-2xl: 20px;--lh-2xl: 28px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--ctl-xs: 24px;--ctl-sm: 28px;--ctl-md: 32px;--ctl-lg: 36px;--radius-sm: 6px;--radius-md: 6px;--radius-lg: 6px;--radius-xl: 8px;--radius-full: 9999px;--duration-fast: .12s;--duration-base: .18s;--duration-slow: .24s;--ease-standard: cubic-bezier(.4, 0, .2, 1);--ease-emphasized: cubic-bezier(.3, 0, 0, 1.2);--shadow-sm: 0 2px 8px rgb(0 0 0 / .55);--shadow-md: 0 10px 34px rgb(0 0 0 / .55);--shadow-lg: 0 18px 60px rgb(0 0 0 / .65);--glow-accent: 0 0 0 1px rgb(var(--rgb-accent) / .45), 0 0 18px rgb(var(--rgb-accent) / .3), inset 0 0 22px rgb(var(--rgb-accent) / .08);--glow-rec: 0 0 0 1px rgb(var(--rgb-rec) / .5), 0 0 22px rgb(var(--rgb-rec) / .36), inset 0 0 24px rgb(var(--rgb-rec) / .12);--glow-violet: 0 0 0 1px rgb(var(--rgb-violet) / .5), 0 0 22px rgb(var(--rgb-violet) / .34), inset 0 0 24px rgb(var(--rgb-violet) / .12);--ring-focus: 0 0 0 1px rgb(var(--rgb-accent) / .75), 0 0 16px rgb(var(--rgb-accent) / .45);--z-base: 0;--z-sticky: 10;--z-panel: 30;--z-topbar: 50;--z-overlay: 80;--z-modal: 100;--z-dropdown: 200;--z-tooltip: 300;--h-topbar: 48px;--h-transport: 72px;--h-mixer: 64px;--h-toolbar: 40px;--h-status: 28px;--w-sidebar: 220px;--bg: rgb(var(--rgb-page));--bg-2: rgb(var(--rgb-surface));--bg-surface: rgb(var(--rgb-card));--bg-elevated: rgb(var(--rgb-raised));--bg-input: rgb(var(--rgb-well));--panel: rgb(var(--rgb-card));--panel-2: rgb(var(--rgb-raised));--inset: rgb(var(--rgb-well));--line: rgb(var(--rgb-line));--line-2: rgb(var(--rgb-line-2));--line-3: rgb(var(--rgb-line-3));--border: rgb(var(--rgb-line));--border-light: rgb(var(--rgb-line-2));--text: rgb(var(--rgb-ink));--text-2: rgb(var(--rgb-ink-2));--text-3: rgb(var(--rgb-ink-3));--text-primary: rgb(var(--rgb-ink));--text-secondary: rgb(var(--rgb-ink-2));--text-muted: rgb(var(--rgb-ink-3));--accent: rgb(var(--rgb-accent));--accent-soft: rgb(var(--rgb-accent) / .14);--accent-mid: rgb(var(--rgb-accent) / .32);--accent-glow: 0 0 12px rgb(var(--rgb-accent) / .45);--green: rgb(var(--rgb-ok));--green-soft: rgb(var(--rgb-ok) / .12);--success: rgb(var(--rgb-ok));--red: rgb(var(--rgb-rec));--red-soft: rgb(var(--rgb-rec) / .14);--danger: rgb(var(--rgb-rec));--amber: rgb(var(--rgb-warn));--amber-soft: rgb(var(--rgb-warn) / .12);--violet: rgb(var(--rgb-violet));--top-bar-h: var(--h-topbar);--transport-h: var(--h-transport);--mixer-h: var(--h-mixer);--toolbar-h: var(--h-toolbar);--status-h: var(--h-status);--sidebar-w: var(--w-sidebar);--daw-font-display: var(--font-display);--daw-font-mono: var(--font-mono);--nb-cyan: var(--accent);--nb-pink: var(--red);--nb-danger: var(--red);--nb-ink: var(--text);--nb-muted: var(--text-2);--nb-solid: rgb(255 255 255 / .03);--nb-deep: var(--inset);--nb-line: var(--line);--nb-ease: var(--ease-standard);--nb-glow-cyan: var(--glow-accent);--nb-glow-cyan-strong: var(--glow-accent);--nb-glow-pink: var(--glow-rec);--nb-glow-danger: var(--glow-rec);--transition: .18s cubic-bezier(.4, 0, .2, 1);--track-color: rgb(var(--rgb-accent))}:root{--bg-0: #0b0d12;--bg-1: #12151c;--bg-2: #191e27;--bg-3: #222936;--bg-glass: rgba(18, 21, 28, .82);--bg-glass-2: rgba(25, 30, 39, .92);--line: rgba(255, 255, 255, .07);--line-strong: rgba(255, 255, 255, .12);--line-accent: rgba(108, 140, 255, .45);--tx-1: #f2f4f8;--tx-2: #9ba6b8;--tx-3: #626d7e;--tx-on-accent: #ffffff;--accent: #6c8cff;--accent-hi: #8aa4ff;--accent-soft: rgba(108, 140, 255, .14);--melody: #43c6f2;--melody-soft: rgba(67, 198, 242, .18);--harmony: #a87bff;--harmony-soft: rgba(168, 123, 255, .18);--play: #34d399;--play-soft: rgba(52, 211, 153, .16);--rec: #ff5c5c;--rec-soft: rgba(255, 92, 92, .16);--warn: #fbbf24;--warn-soft: rgba(251, 191, 36, .16);--danger: #f87171;--gold: #e9c46a;--gold-soft: rgba(233, 196, 106, .15);--r-xs: 4px;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-pill: 999px;--e1: 0 1px 2px rgba(0, 0, 0, .4);--e2: 0 8px 24px rgba(0, 0, 0, .45);--e3: 0 24px 64px rgba(0, 0, 0, .55);--e-focus: 0 0 0 3px rgba(108, 140, 255, .35);--ease: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--d-fast: .12s;--d-base: .18s;--d-slow: .24s;--d-xl: .32s;--font-ui: "Inter", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--font-num: "JetBrains Mono", "SFMono-Regular", Consolas, monospace;--h-top: 44px;--h-toolbar: 44px;--w-left: 248px;--h-bottom: 28px;--w-key: 52px;--h-control: 28px;--h-control-sm: 24px}*{box-sizing:border-box}html,body,#app{height:100%}body{margin:0;background:var(--bg-0);color:var(--tx-1);font-family:var(--font-ui);font-size:13px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::-moz-selection{background:var(--accent-soft)}::selection{background:var(--accent-soft)}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:4px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.22);background-clip:content-box}@keyframes op-spin{to{transform:rotate(360deg)}}@keyframes op-blink{0%,to{opacity:1}50%{opacity:.35}}@keyframes op-pulse{0%{box-shadow:0 0 #34d39980}70%{box-shadow:0 0 0 6px #34d39900}to{box-shadow:0 0 #34d39900}}@keyframes op-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes op-char-wave{0%,to{transform:translateY(0);opacity:1}50%{transform:translateY(-2px);opacity:.85}}@keyframes op-slide-up{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes op-fade{0%{opacity:0}to{opacity:1}}@keyframes op-rec-blink{0%,to{opacity:1;box-shadow:0 0 #ff5c5c8c}50%{opacity:.45;box-shadow:0 0 0 4px #ff5c5c00}}.daw-num,.daw-tnum{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;letter-spacing:0}.daw-cjk{font-family:var(--font-ui);letter-spacing:0}.daw-cjk-display{font-family:var(--font-ui);font-weight:600;letter-spacing:0}.daw-scroll{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.16) transparent}.daw-scroll::-webkit-scrollbar{width:8px;height:8px}.daw-scroll::-webkit-scrollbar-track{background:transparent}.daw-scroll::-webkit-scrollbar-thumb{background:rgba(255,255,255,.14);border:2px solid transparent;background-clip:content-box;border-radius:4px}.daw-scroll::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.24);background-clip:content-box}.daw-no-bar{scrollbar-width:none}.daw-no-bar::-webkit-scrollbar{display:none}.daw-no-select{-moz-user-select:none;user-select:none;-webkit-user-select:none}.op-sec{padding:10px 12px;border-bottom:1px solid var(--line)}.op-sec:last-child{border-bottom:none}.op-sec__title{display:flex;align-items:center;justify-content:space-between;margin:0 0 8px;font:600 11px/1 var(--font-ui);letter-spacing:.04em;color:var(--tx-2);text-transform:none}.op-sec__tag{font:500 9px/1 var(--font-num);letter-spacing:.08em;color:var(--tx-3)}.op-knobs{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 4px}.op-faders{display:flex;align-items:flex-start;justify-content:space-between;gap:6px;padding:2px 2px 0}.op-roll-head{display:flex;align-items:center;gap:4px;height:34px;flex:none;padding:0 10px;background:var(--bg-1);border-bottom:1px solid var(--line)}.op-pr-btn{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:var(--r-xs);border:1px solid transparent;background:transparent;color:var(--tx-3);font:500 10px/1 var(--font-ui);cursor:pointer;transition:all var(--d-fast) var(--ease)}.op-pr-btn:hover{background:var(--bg-3);color:var(--tx-1)}.op-pr-btn.is-on{background:var(--accent-soft);color:var(--accent-hi);border-color:var(--line-accent)}.op-pr-sep{width:1px;height:14px;margin:0 4px;background:var(--line-strong)}.op-pr-chip{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 8px;border-radius:var(--r-pill);background:rgba(255,255,255,.05);border:1px solid var(--line);font:400 10px/1 var(--font-ui);color:var(--tx-3)}.op-pr-chip b{color:var(--tx-1);font-weight:600}@media (max-width: 760px){.op-roll-head{gap:2px;padding:0 6px}.op-pr-txt{display:none}.op-pr-btn{padding:0 6px}.op-pr-chip--range{display:none}.op-pr-chip{padding:0 6px}}.op-dot{color:var(--tx-3);opacity:.6}.daw-anim-pulse{animation:op-blink 2s ease-in-out infinite}.daw-anim-spin{animation:op-spin .9s linear infinite}.daw-anim-flicker{animation:op-blink 6s linear infinite}.daw-anim-pop{animation:op-slide-up var(--d-base) var(--ease)}.daw-stripes{background-image:none}.op-side-wrap{position:relative}.op-rail{width:52px;flex:none;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 0;background:var(--bg-1);border-right:1px solid var(--line);z-index:41;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}.op-rail::-webkit-scrollbar{display:none}.op-rail__btn{width:40px;height:44px;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--tx-3);cursor:pointer;transition:color var(--d-fast) var(--ease),background var(--d-fast) var(--ease),border-color var(--d-fast) var(--ease)}.op-rail__btn:hover{color:var(--tx-1);background:var(--bg-2);border-color:var(--line)}.op-rail__btn.active{color:var(--accent-hi);background:var(--accent-soft);border-color:var(--line-accent)}.op-rail__txt{font:500 9px/1 var(--font-ui);letter-spacing:.02em}.op-rail__sep{width:22px;height:1px;flex:none;margin:3px 0;background:linear-gradient(90deg,transparent,var(--line-strong),transparent)}.op-side{background:var(--bg-1)}@media (max-height: 560px){.op-rail{gap:2px;padding:4px 0}.op-rail__btn{height:36px;gap:0}.op-rail__txt{display:none}.op-rail__sep{margin:1px 0}}.op-side-veil{position:fixed;inset:0;z-index:60;background:rgb(5 7 11 / .62);backdrop-filter:blur(10px) saturate(1.12);animation:op-veil-in .16s var(--ease) both}.op-side.is-pop{position:fixed;inset:0;margin:auto;width:min(92vw,480px);height:-moz-fit-content;height:fit-content;max-height:min(84dvh,640px);z-index:61;border:1px solid var(--line-strong);border-radius:14px;background:linear-gradient(180deg,var(--bg-1) 0%,var(--bg-2) 100%);box-shadow:0 28px 72px #000000a8,inset 0 1px #ffffff0a;animation:op-pop-in .2s var(--ease) both}@keyframes op-pop-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes op-veil-in{0%{opacity:0}to{opacity:1}}@media (max-width: 760px){.op-side.is-pop{width:min(calc(100vw - 24px),480px);max-height:calc(100dvh - 24px);border-radius:14px;padding-bottom:calc(4px + env(safe-area-inset-bottom,0px))}.op-side.is-pop .op-sec__title{position:sticky;top:0;z-index:3;background:var(--bg-1)}}@font-face{font-family:Smiley Sans;src:url(./SmileySans-Oblique-801d3330.woff2) format("woff2");font-weight:400 900;font-style:normal;font-display:swap}html,body{background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:13px;letter-spacing:.02em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--bg);background-image:radial-gradient(82% 62% at 92% 104%,rgb(var(--rgb-rec) / .16),transparent 60%),radial-gradient(64% 52% at 100% -6%,rgb(var(--rgb-violet) / .16),transparent 62%),radial-gradient(72% 56% at 0% 0%,rgb(var(--rgb-accent) / .12),transparent 60%),linear-gradient(rgb(var(--rgb-line-3) / .055) 1px,transparent 1px),linear-gradient(90deg,rgb(var(--rgb-line-3) / .055) 1px,transparent 1px);background-size:100% 100%,100% 100%,100% 100%,44px 44px,44px 44px;background-attachment:fixed}::-moz-selection{background:rgb(var(--rgb-accent) / .28);color:rgb(var(--rgb-ink))}::selection{background:rgb(var(--rgb-accent) / .28);color:rgb(var(--rgb-ink))}:focus-visible{outline:none;box-shadow:var(--ring-focus)}*{scrollbar-width:thin;scrollbar-color:rgb(var(--rgb-accent) / .35) rgb(var(--rgb-well) / .6)}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:rgb(var(--rgb-well) / .6);border-radius:var(--radius-sm)}*::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgb(var(--rgb-accent) / .55),rgb(var(--rgb-accent) / .22));border:1px solid rgb(var(--rgb-accent) / .35);border-radius:var(--radius-sm)}*::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,rgb(var(--rgb-accent) / .9),rgb(var(--rgb-accent) / .45))}*::-webkit-scrollbar-corner{background:transparent}html,body{height:100%;background:rgb(var(--rgb-page));color:rgb(var(--rgb-ink));font-family:var(--font-ui);font-size:var(--text-md);line-height:var(--lh-md);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-moz-selection{background:rgb(var(--rgb-accent) / .28);color:#fff}::selection{background:rgb(var(--rgb-accent) / .28);color:#fff}:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:none;box-shadow:var(--ring-focus)}::-moz-placeholder{color:rgb(var(--rgb-ink-3));opacity:1}::placeholder{color:rgb(var(--rgb-ink-3));opacity:1}*{scrollbar-width:thin;scrollbar-color:rgb(var(--rgb-ink) / .16) transparent}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:rgb(var(--rgb-ink) / .16);border-radius:var(--radius-full)}*::-webkit-scrollbar-thumb:hover{background:rgb(var(--rgb-ink) / .3)}@media (max-width: 760px){.mc-modal-overlay{align-items:center;padding:16px}.mc-modal-overlay .mc-modal-box,.mc-modal-overlay .mc-modal-box--light,.mc-modal-overlay .mc-modal-box--midi,.mc-modal-overlay .mc-modal-box--song{width:100%!important;max-height:calc(100dvh - 32px);border-radius:14px}.mc-modal-overlay .mc-modal-box--midi{height:auto}.mc-modal-overlay .mc-modal-box--song{height:min(88dvh,760px)}.mc-modal-footer{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));flex-wrap:wrap;gap:8px}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.daw-cyber-bg{background:var(--bg-0);color:var(--tx-1)}.daw-panel{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--e1);transition:border-color var(--d-base) var(--ease),background var(--d-base) var(--ease)}.daw-panel:hover{border-color:var(--line-strong)}.daw-inset{background:var(--bg-0);border:1px solid var(--line);border-radius:var(--r-sm)}.daw-scanlines:after{content:none}.ui-btn{display:inline-flex;height:32px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;justify-content:center;gap:.5rem;white-space:nowrap;border-radius:6px;border-width:1px;padding-left:1rem;padding-right:1rem;font-size:13px;line-height:20px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.18s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ui-btn:disabled,.ui-btn.is-disabled{pointer-events:none;opacity:.4}.ui-btn:active:not(:disabled){--tw-scale-x: .96;--tw-scale-y: .96;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.ui-btn:focus-visible{--tw-shadow: 0 0 0 1px rgb(var(--rgb-accent) / .75), 0 0 16px rgb(var(--rgb-accent) / .45);--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color), 0 0 16px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.ui-btn--primary{border-color:rgb(var(--rgb-accent) / .9);background-color:rgb(var(--rgb-accent) / .18);--tw-text-opacity: 1;color:rgb(var(--rgb-accent) / var(--tw-text-opacity, 1));--tw-shadow: 0 0 0 1px rgb(var(--rgb-accent) / .45), 0 0 18px rgb(var(--rgb-accent) / .3);--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color), 0 0 18px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);--tw-shadow-color: rgb(var(--rgb-accent) / 1);--tw-shadow: var(--tw-shadow-colored)}.ui-btn--primary:hover{background-color:rgb(var(--rgb-accent) / .3);--tw-shadow: 0 0 0 1px rgb(var(--rgb-accent) / .75), 0 0 28px rgb(var(--rgb-accent) / .5);--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color), 0 0 28px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.ui-btn.is-active{border-color:rgb(var(--rgb-accent) / .8);background-color:rgb(var(--rgb-accent) / .18);--tw-text-opacity: 1;color:rgb(var(--rgb-accent) / var(--tw-text-opacity, 1));--tw-shadow: 0 0 0 1px rgb(var(--rgb-accent) / .45), 0 0 18px rgb(var(--rgb-accent) / .3);--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color), 0 0 18px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);--tw-shadow-color: rgb(var(--rgb-accent) / 1);--tw-shadow: var(--tw-shadow-colored)}.ui-btn--block{width:100%}.ui-icon-btn{display:inline-flex;height:32px;width:32px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;justify-content:center;border-radius:6px;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--rgb-line-2) / var(--tw-border-opacity, 1));background-color:transparent;--tw-text-opacity: 1;color:rgb(var(--rgb-ink-2) / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.18s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ui-icon-btn:hover{border-color:rgb(var(--rgb-accent) / .5);background-color:rgb(var(--rgb-accent) / .1);--tw-text-opacity: 1;color:rgb(var(--rgb-accent) / var(--tw-text-opacity, 1))}.ui-icon-btn.is-active{border-color:rgb(var(--rgb-accent) / .7);background-color:rgb(var(--rgb-accent) / .14);--tw-text-opacity: 1;color:rgb(var(--rgb-accent) / var(--tw-text-opacity, 1));--tw-shadow: 0 0 0 1px rgb(var(--rgb-accent) / .45), 0 0 18px rgb(var(--rgb-accent) / .3);--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color), 0 0 18px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);--tw-shadow-color: rgb(var(--rgb-accent) / 1);--tw-shadow: var(--tw-shadow-colored)}.ui-icon-btn--circle{height:2.5rem;width:2.5rem;flex-shrink:0;border-radius:9999px;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--rgb-line-2) / var(--tw-border-opacity, 1));background-color:rgb(var(--rgb-surface) / .8);--tw-text-opacity: 1;color:rgb(var(--rgb-ink-2) / var(--tw-text-opacity, 1))}.ui-icon-btn--circle:hover:not(:disabled){border-color:rgb(var(--rgb-accent) / .6);--tw-bg-opacity: 1;background-color:rgb(var(--rgb-raised) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(var(--rgb-accent) / var(--tw-text-opacity, 1));--tw-shadow: 0 0 0 1px rgb(var(--rgb-accent) / .45), 0 0 18px rgb(var(--rgb-accent) / .3);--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color), 0 0 18px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);--tw-shadow-color: rgb(var(--rgb-accent) / 1);--tw-shadow: var(--tw-shadow-colored)}.ui-icon-btn--circle:active:not(:disabled){--tw-scale-x: .9;--tw-scale-y: .9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.ui-icon-btn--circle.is-active{--tw-border-opacity: 1;border-color:rgb(var(--rgb-accent) / var(--tw-border-opacity, 1));background-color:rgb(var(--rgb-accent) / .16);--tw-text-opacity: 1;color:rgb(var(--rgb-accent) / var(--tw-text-opacity, 1));--tw-shadow: 0 0 0 1px rgb(var(--rgb-accent) / .75), 0 0 28px rgb(var(--rgb-accent) / .5);--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color), 0 0 28px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.ui-field{display:flex;flex-direction:column;gap:.25rem}.ui-label{font-size:12px;line-height:18px;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--rgb-ink-2) / var(--tw-text-opacity, 1))}.ui-hint{font-size:11px;line-height:16px;--tw-text-opacity: 1;color:rgb(var(--rgb-ink-3) / var(--tw-text-opacity, 1))}.ui-input,.ui-select,.ui-textarea{height:32px;width:100%;border-radius:6px;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--rgb-line-2) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--rgb-well) / var(--tw-bg-opacity, 1));padding-left:.75rem;padding-right:.75rem;font-size:13px;line-height:20px;--tw-text-opacity: 1;color:rgb(var(--rgb-ink) / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.18s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ui-input:hover,.ui-select:hover,.ui-textarea:hover{--tw-border-opacity: 1;border-color:rgb(var(--rgb-line-3) / var(--tw-border-opacity, 1))}.ui-input:focus,.ui-select:focus,.ui-textarea:focus{--tw-border-opacity: 1;border-color:rgb(var(--rgb-accent) / var(--tw-border-opacity, 1));--tw-shadow: 0 0 0 1px rgb(var(--rgb-accent) / .45), 0 0 18px rgb(var(--rgb-accent) / .3);--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color), 0 0 18px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);--tw-shadow-color: rgb(var(--rgb-accent) / 1);--tw-shadow: var(--tw-shadow-colored);outline:2px solid transparent;outline-offset:2px}.ui-textarea{height:auto;min-height:80px;resize:vertical;padding-top:.5rem;padding-bottom:.5rem;line-height:1.625}.ui-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:2rem;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 14px) 13px,calc(100% - 9px) 13px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.ui-input--sm,.ui-select--sm{height:28px;font-size:12px;line-height:18px}.ui-panel{border-radius:6px;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--rgb-line) / var(--tw-border-opacity, 1));--tw-shadow: 0 10px 34px rgb(0 0 0 / .55);--tw-shadow-colored: 0 10px 34px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);--tw-shadow-color: rgb(var(--rgb-surface) / 1);--tw-shadow: var(--tw-shadow-colored);background:rgb(var(--rgb-surface) / .9);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%)}.ui-panel__header{display:flex;height:2.5rem;align-items:center;justify-content:space-between;gap:.75rem;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--rgb-line) / var(--tw-border-opacity, 1));padding-left:1rem;padding-right:1rem;background:rgb(var(--rgb-card) / .5)}.ui-panel__title{font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,system-ui,sans-serif;font-size:13px;line-height:20px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;--tw-text-opacity: 1;color:rgb(var(--rgb-ink) / var(--tw-text-opacity, 1))}.ui-panel__body{padding:1rem}.ui-panel__footer{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;border-top-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--rgb-line) / var(--tw-border-opacity, 1));padding:.75rem 1rem}.ui-chip{display:inline-flex;height:24px;align-items:center;gap:.25rem;border-radius:6px;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--rgb-line) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--rgb-raised) / var(--tw-bg-opacity, 1));padding-left:.5rem;padding-right:.5rem;font-family:JetBrains Mono,Noto Sans SC,Fira Code,SFMono-Regular,Consolas,monospace;font-size:11px;line-height:16px;text-transform:uppercase;letter-spacing:.08em;--tw-text-opacity: 1;color:rgb(var(--rgb-ink-2) / var(--tw-text-opacity, 1))}.ui-chip.is-active{border-color:rgb(var(--rgb-accent) / .6);background-color:rgb(var(--rgb-accent) / .15);--tw-text-opacity: 1;color:rgb(var(--rgb-accent) / var(--tw-text-opacity, 1))}.ui-badge{display:inline-flex;align-items:center;border-radius:6px;border-width:1px;border-color:rgb(var(--rgb-accent) / .5);background-color:rgb(var(--rgb-accent) / .15);padding:.125rem .375rem;font-family:JetBrains Mono,Noto Sans SC,Fira Code,SFMono-Regular,Consolas,monospace;font-size:10px;line-height:14px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;--tw-text-opacity: 1;color:rgb(var(--rgb-accent) / var(--tw-text-opacity, 1))}.ui-badge--ok{border-color:rgb(var(--rgb-ok) / .5);background-color:rgb(var(--rgb-ok) / .15);--tw-text-opacity: 1;color:rgb(var(--rgb-ok) / var(--tw-text-opacity, 1))}.ui-badge--warn{border-color:rgb(var(--rgb-warn) / .5);background-color:rgb(var(--rgb-warn) / .15);--tw-text-opacity: 1;color:rgb(var(--rgb-warn) / var(--tw-text-opacity, 1))}.ui-badge--rec{border-color:rgb(var(--rgb-rec) / .5);background-color:rgb(var(--rgb-rec) / .15);--tw-text-opacity: 1;color:rgb(var(--rgb-rec) / var(--tw-text-opacity, 1))}.ui-tabs{display:inline-flex;align-items:center;gap:.25rem;border-radius:6px;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--rgb-line) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--rgb-well) / var(--tw-bg-opacity, 1));padding:.25rem}.ui-tab{display:flex;height:28px;cursor:pointer;align-items:center;gap:.375rem;border-radius:6px;padding-left:.75rem;padding-right:.75rem;font-size:12px;line-height:18px;text-transform:uppercase;letter-spacing:.08em;--tw-text-opacity: 1;color:rgb(var(--rgb-ink-2) / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.18s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ui-tab:hover{--tw-text-opacity: 1;color:rgb(var(--rgb-accent) / var(--tw-text-opacity, 1))}.ui-tab.is-active{background-color:rgb(var(--rgb-accent) / .16);--tw-text-opacity: 1;color:rgb(var(--rgb-accent) / var(--tw-text-opacity, 1));--tw-shadow: 0 0 0 1px rgb(var(--rgb-accent) / .45), 0 0 18px rgb(var(--rgb-accent) / .3);--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color), 0 0 18px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);--tw-shadow-color: rgb(var(--rgb-accent) / 1);--tw-shadow: var(--tw-shadow-colored)}.ui-switch{position:relative;height:1.25rem;width:2.25rem;flex-shrink:0;cursor:pointer;border-radius:9999px;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--rgb-line-2) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--rgb-well) / var(--tw-bg-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.12s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ui-switch:after{content:"";position:absolute;left:.125rem;top:.125rem;height:.875rem;width:.875rem;border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(var(--rgb-ink-3) / var(--tw-bg-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.12s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ui-switch.is-active{border-color:rgb(var(--rgb-accent) / .5);background-color:rgb(var(--rgb-accent) / .25)}.ui-switch.is-active:after{--tw-translate-x: 1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-bg-opacity: 1;background-color:rgb(var(--rgb-accent) / var(--tw-bg-opacity, 1))}.ui-slider{height:.25rem;width:100%;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(var(--rgb-line-3) / var(--tw-bg-opacity, 1))}.ui-slider::-webkit-slider-thumb{height:.875rem;width:.875rem;-webkit-appearance:none;appearance:none;border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(var(--rgb-accent) / var(--tw-bg-opacity, 1));--tw-shadow: 0 2px 8px rgb(0 0 0 / .55);--tw-shadow-colored: 0 2px 8px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);border:2px solid rgb(var(--rgb-page))}.ui-slider::-moz-range-thumb{height:.875rem;width:.875rem;border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(var(--rgb-accent) / var(--tw-bg-opacity, 1));border:2px solid rgb(var(--rgb-page))}.ui-modal-overlay{position:fixed;inset:0px;z-index:100;display:flex}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.ui-modal-overlay{animation:fade-in .24s cubic-bezier(.2,0,0,1);align-items:center;justify-content:center;background-color:#0009;--tw-backdrop-blur: blur(4px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.ui-modal{position:relative;width:90%;max-width:420px}@keyframes box-in{0%{opacity:0;transform:scale(.96) translateY(-6px)}to{opacity:1;transform:scale(1) translateY(0)}}.ui-modal{animation:box-in .24s cubic-bezier(.2,0,0,1);overflow:hidden;border-radius:6px;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--rgb-line) / var(--tw-border-opacity, 1));--tw-shadow: 0 18px 60px rgb(0 0 0 / .65);--tw-shadow-colored: 0 18px 60px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background:rgb(var(--rgb-surface) / .94);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);box-shadow:var(--shadow-lg),0 0 0 1px rgb(var(--rgb-accent) / .14)}.ui-modal:before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,rgb(var(--rgb-accent) / .7),rgb(var(--rgb-rec) / .6),transparent)}.ui-modal__body{padding:1.25rem 1.5rem;font-size:13px;line-height:20px;line-height:1.625;--tw-text-opacity: 1;color:rgb(var(--rgb-ink-2) / var(--tw-text-opacity, 1))}.ui-modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding-left:1.5rem;padding-right:1.5rem;padding-bottom:1.25rem}.ui-card{cursor:pointer;border-radius:6px;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--rgb-line) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--rgb-card) / var(--tw-bg-opacity, 1));padding:1rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.18s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ui-card:hover{border-color:rgb(var(--rgb-accent) / .5);--tw-bg-opacity: 1;background-color:rgb(var(--rgb-raised) / var(--tw-bg-opacity, 1));--tw-shadow: 0 0 0 1px rgb(var(--rgb-accent) / .45), 0 0 18px rgb(var(--rgb-accent) / .3);--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color), 0 0 18px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);--tw-shadow-color: rgb(var(--rgb-accent) / 1);--tw-shadow: var(--tw-shadow-colored)}.ui-card.is-selected{border-color:rgb(var(--rgb-accent) / .8);background-color:rgb(var(--rgb-accent) / .14);--tw-shadow: 0 0 0 1px rgb(var(--rgb-accent) / .45), 0 0 18px rgb(var(--rgb-accent) / .3);--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color), 0 0 18px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);--tw-shadow-color: rgb(var(--rgb-accent) / 1);--tw-shadow: var(--tw-shadow-colored)}.ui-spinner{height:.875rem;width:.875rem}@keyframes spin{to{transform:rotate(360deg)}}.ui-spinner{animation:spin 1s linear infinite;border-radius:9999px;border-width:2px;border-color:currentColor;border-top-color:transparent}.ui-sound-item.is-active{--tw-text-opacity: 1;color:rgb(var(--rgb-accent) / var(--tw-text-opacity, 1))}.ui-sound-item.is-active:after{opacity:1}.ui-sound-item.is-active .ui-sound-item__icon{filter:drop-shadow(0 0 6px rgb(var(--rgb-accent) / .7))}.ui-pad{position:relative;cursor:pointer;border-style:none;transition-property:all;transition-duration:.12s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ui-pad:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.ui-pad--round{height:2.5rem;width:2.5rem;border-radius:9999px}.ui-pad--square{height:50px;width:50px;border-radius:6px}.ui-pad__text{pointer-events:none;position:absolute;left:50%;top:50%;max-width:90%;--tw-translate-x: -50%;--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));overflow-wrap:break-word;text-align:center;font-size:12px;line-height:18px;font-weight:700;--tw-text-opacity: 1;color:rgb(var(--rgb-ink) / var(--tw-text-opacity, 1))}.ui-transport-btn.is-active,.ui-transport-btn.active{--tw-border-opacity: 1;border-color:rgb(var(--rgb-ok) / var(--tw-border-opacity, 1));background-color:rgb(var(--rgb-ok) / .1);--tw-text-opacity: 1;color:rgb(var(--rgb-ok) / var(--tw-text-opacity, 1));box-shadow:0 0 12px rgb(var(--rgb-ok) / .2)}.ui-seg-btn.is-active,.ui-seg-btn.active{border-color:rgb(var(--rgb-accent) / .4);background-color:rgb(var(--rgb-accent) / .1);--tw-text-opacity: 1;color:rgb(var(--rgb-accent) / var(--tw-text-opacity, 1))}.ui-tile-btn.is-active,.ui-tile-btn.active{--tw-border-opacity: 1;border-color:rgb(var(--rgb-accent) / var(--tw-border-opacity, 1));background-color:rgb(var(--rgb-accent) / .1);--tw-text-opacity: 1;color:rgb(var(--rgb-accent) / var(--tw-text-opacity, 1))}.ui-tile-btn:hover .ui-tile-btn__icon,.ui-tile-btn.is-active .ui-tile-btn__icon{filter:none}.ui-key{position:absolute;top:0px;box-sizing:border-box;cursor:pointer;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition-property:all;transition-duration:.12s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ui-key--white{height:100%;border-bottom-right-radius:6px;border-bottom-left-radius:6px;border-width:1px;border-bottom-width:4px;--tw-border-opacity: 1;border-color:rgb(var(--rgb-line-2) / var(--tw-border-opacity, 1));border-bottom-color:rgb(var(--rgb-accent) / .3);background-image:linear-gradient(to bottom,var(--tw-gradient-stops));--tw-gradient-from: rgb(var(--rgb-card) / 1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(var(--rgb-card) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: rgb(var(--rgb-surface) / 1) var(--tw-gradient-to-position);--tw-shadow: 0 2px 8px rgb(0 0 0 / .55);--tw-shadow-colored: 0 2px 8px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.ui-key--white:hover{--tw-gradient-from: rgb(var(--rgb-raised) / 1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(var(--rgb-raised) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: rgb(var(--rgb-card) / 1) var(--tw-gradient-to-position)}@media not all and (min-width: 480px){.ui-key--white{height:100px}}.ui-key--black{height:60%;border-bottom-right-radius:6px;border-bottom-left-radius:6px;border-width:1px;border-bottom-width:3px;border-color:rgb(var(--rgb-accent) / .2);--tw-border-opacity: 1;border-bottom-color:rgb(0 0 0 / var(--tw-border-opacity, 1));background-image:linear-gradient(to bottom,var(--tw-gradient-stops));--tw-gradient-from: rgb(var(--rgb-well) / 1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(var(--rgb-well) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: rgb(var(--rgb-page) / 1) var(--tw-gradient-to-position)}.ui-key--black:hover{--tw-gradient-from: rgb(var(--rgb-surface) / 1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(var(--rgb-surface) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: rgb(var(--rgb-well) / 1) var(--tw-gradient-to-position)}@media not all and (min-width: 480px){.ui-key--black{height:60px}}.ui-key.is-active{--tw-border-opacity: 1;border-bottom-color:rgb(var(--rgb-accent) / var(--tw-border-opacity, 1));background-image:linear-gradient(to bottom,var(--tw-gradient-stops));--tw-gradient-from: rgb(var(--rgb-accent) / .75) var(--tw-gradient-from-position);--tw-gradient-to: rgb(var(--rgb-accent) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: rgb(var(--rgb-accent) / .5) var(--tw-gradient-to-position);box-shadow:0 0 20px rgb(var(--rgb-accent) / .55)}.ui-key__name{font-size:10px;line-height:14px;font-weight:700;--tw-text-opacity: 1;color:rgb(var(--rgb-ink-2) / var(--tw-text-opacity, 1))}@media not all and (min-width: 480px){.ui-key__name{font-size:9px}}.ui-key--black .ui-key__name{color:rgb(var(--rgb-ink) / .75)}.ui-key.is-active .ui-key__name{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.ui-key__label{pointer-events:none;position:absolute;bottom:.375rem;display:flex;width:100%;flex-direction:column;align-items:center;justify-content:center}.midi-connector{position:relative;grid-column:1 / -1;grid-row:1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;padding:0 var(--space-5);overflow:hidden;background:rgb(var(--rgb-surface) / .92);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border:none;border-bottom:1px solid var(--line);box-shadow:0 10px 34px #00000073;z-index:var(--z-topbar)}.midi-connector:after{content:"";position:absolute;inset:auto 0 0;height:1px;pointer-events:none;background:linear-gradient(90deg,transparent,rgb(var(--rgb-accent) / .65) 22%,rgb(var(--rgb-rec) / .5) 62%,rgb(var(--rgb-violet) / .55) 88%,transparent)}.part-upload-group{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);padding:10px}.part-upload-title{display:block;font-size:11px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.6px;margin-bottom:8px}.card-divider{display:none}.controls-row .part-upload-group .sound-selector{display:grid;grid-template-columns:repeat(3,1fr);justify-items:center;row-gap:12px;-moz-column-gap:2px;column-gap:2px;padding:2px 0}.part-upload-row{display:flex;flex-wrap:wrap;gap:6px}.duration-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px}.part-upload-btn{display:flex;min-width:3.5rem;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;border-radius:6px;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--rgb-line-2) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--rgb-surface) / var(--tw-bg-opacity, 1));padding:.5rem .375rem;--tw-text-opacity: 1;color:rgb(var(--rgb-ink-2) / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.12s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.part-upload-btn:hover{--tw-border-opacity: 1;border-color:rgb(var(--rgb-line-3) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--rgb-raised) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(var(--rgb-ink) / var(--tw-text-opacity, 1))}.part-upload-btn:active{--tw-scale-x: .96;--tw-scale-y: .96;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.part-upload-btn.is-active,.part-upload-btn.active{--tw-border-opacity: 1;border-color:rgb(var(--rgb-accent) / var(--tw-border-opacity, 1));background-color:rgb(var(--rgb-accent) / .1);--tw-text-opacity: 1;color:rgb(var(--rgb-accent) / var(--tw-text-opacity, 1))}.part-upload-btn:hover .ui-tile-btn__icon,.part-upload-btn.is-active .ui-tile-btn__icon{filter:none}.part-upload-btn:hover{background:var(--panel-2);border-color:var(--line-3);color:var(--text)}.part-upload-btn:active{transform:scale(.96)}.part-upload-btn.duration-selected,.part-upload-btn.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.part-icon{width:18px;height:18px;filter:grayscale(1) brightness(1.3)}.part-upload-btn:hover .part-icon,.part-upload-btn.duration-selected .part-icon{filter:grayscale(0) brightness(1)}.part-label{font-size:10px;font-weight:500;white-space:nowrap}.part-upload-btn:has(.part-label) .part-icon{filter:none}.audio-controls.midi-style{grid-column:2;grid-row:2;display:flex;align-items:center;gap:20px;padding:0 20px;background:var(--panel);border-bottom:1px solid var(--line)}.transport-cluster .rec-midi-check{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:2px}.ctrl-btn{display:flex;height:2.5rem;width:2.5rem;flex-shrink:0;cursor:pointer;align-items:center;justify-content:center;border-radius:9999px;border-width:2px;--tw-border-opacity: 1;border-color:rgb(var(--rgb-line-2) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--rgb-surface) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(var(--rgb-ink-2) / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.12s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ctrl-btn:hover:not(:disabled){--tw-border-opacity: 1;border-color:rgb(var(--rgb-line-3) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--rgb-raised) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(var(--rgb-ink) / var(--tw-text-opacity, 1))}.ctrl-btn:active:not(:disabled){--tw-scale-x: .9;--tw-scale-y: .9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.ctrl-btn:disabled{cursor:not-allowed;opacity:.35}.ctrl-btn.is-active,.ctrl-btn.active{--tw-border-opacity: 1;border-color:rgb(var(--rgb-ok) / var(--tw-border-opacity, 1));background-color:rgb(var(--rgb-ok) / .1);--tw-text-opacity: 1;color:rgb(var(--rgb-ok) / var(--tw-text-opacity, 1));box-shadow:0 0 12px rgb(var(--rgb-ok) / .2)}.ctrl-btn:hover:not(:disabled){border-color:var(--line-3);background:var(--panel-2);color:var(--text)}.ctrl-btn:active:not(:disabled){transform:scale(.92)}.ctrl-btn:disabled{opacity:.35;cursor:not-allowed}.ctrl-btn.active{border-color:var(--green);background:var(--green-soft);color:var(--green);box-shadow:0 0 12px rgb(var(--rgb-ok) / .2)}.play-triangle{width:0;height:0;border-style:solid;border-width:8px 0 8px 14px;border-color:transparent transparent transparent currentColor;margin-left:3px}.pause-icon{display:flex;gap:4px}.pause-bar{width:4px;height:16px;background:currentColor;border-radius:1px}.stop-square{width:14px;height:14px;background:currentColor;border-radius:2px}.rec-dot{width:16px;height:16px;background:var(--red);border-radius:50%}.ctrl-btn.active .rec-dot,.ui-icon-btn--circle.is-active .rec-dot{animation:rec-pulse 1s ease-in-out infinite}@keyframes rec-pulse{0%,to{opacity:1}50%{opacity:.4}}.rec-midi-check{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--text-3);cursor:pointer;margin-top:2px;white-space:nowrap}.rec-midi-check input[type=checkbox]{accent-color:var(--accent);width:12px;height:12px}.wave-canvas{flex:1;min-width:0;height:44px;border-radius:var(--radius-sm);background:var(--inset);border:1px solid var(--line);cursor:pointer}.knob{position:relative;width:38px;height:38px;border-radius:50%;background:radial-gradient(circle at 50% 38%,var(--panel-2),var(--bg-2) 72%);box-shadow:inset 0 0 0 1px var(--line-2),0 1px 2px #00000073;cursor:ns-resize;transition:box-shadow var(--transition);flex-shrink:0}.knob:hover{box-shadow:inset 0 0 0 1px var(--accent-mid),0 1px 2px #00000073}.knob:active{cursor:grabbing}.knob:before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 210deg,var(--accent) 0deg,var(--accent) var(--knob-fill, 0deg),rgb(255 255 255 / .09) var(--knob-fill, 0deg),rgb(255 255 255 / .09) 300deg,transparent 300deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3.5px));mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3.5px));pointer-events:none}.knob.metro-btn{display:flex;align-items:center;justify-content:center;padding:0;font-size:15px;color:var(--text-2);cursor:pointer;transition:all var(--transition)}.knob.metro-btn:before{display:none}.knob.metro-btn:hover{color:var(--text);box-shadow:inset 0 0 0 1px var(--line-3),0 1px 2px #00000073}.knob.metro-btn.metro-active{color:var(--amber);background:var(--amber-soft);box-shadow:inset 0 0 0 1px var(--amber),0 0 10px rgb(var(--rgb-warn) / .22)}.bpm-input{height:2rem;width:3rem;border-radius:6px;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--rgb-line-2) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--rgb-well) / var(--tw-bg-opacity, 1));padding:.25rem;text-align:center;font-family:JetBrains Mono,Noto Sans SC,Fira Code,SFMono-Regular,Consolas,monospace;font-size:16px;line-height:24px;font-weight:700;--tw-text-opacity: 1;color:rgb(var(--rgb-accent) / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.12s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.bpm-input:focus,.bpm-input.editing{--tw-border-opacity: 1;border-color:rgb(var(--rgb-accent) / var(--tw-border-opacity, 1));background-color:rgb(var(--rgb-accent) / .1);outline:2px solid transparent;outline-offset:2px}.bpm-input:focus{border-color:var(--accent);background:var(--accent-soft);outline:none}.bpm-input.editing{border-color:var(--accent);background:var(--accent-soft)}@keyframes metro-pulse{0%,to{box-shadow:0 0 0 0 rgb(var(--rgb-warn) / .3)}50%{box-shadow:0 0 0 6px rgb(var(--rgb-warn) / 0)}}.recording-item.active{border-color:var(--accent);background:var(--accent-soft)}.rec-play-btn.playing{border-color:var(--green);background:var(--green-soft);color:var(--green)}.page-footer{grid-column:1 / -1;grid-row:-2 / -1;display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:var(--bg-2);border-top:1px solid var(--line)}.footer-label{font-size:11px;color:var(--text-3)}.footer-link{font-size:11px;color:var(--text-2);text-decoration:none;transition:color var(--transition)}.footer-link:hover{color:var(--accent)}.midi-left{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand-icon{color:var(--text-primary);flex-shrink:0}@keyframes piano-rgb{0%{fill:#ff5c6c}20%{fill:#f5a623}40%{fill:#2fd39b}60%{fill:#4d9fff}80%{fill:#9d7bff}to{fill:#ff5c6c}}.brand-name{font-size:15px;font-weight:700;letter-spacing:.5px;display:inline-flex}.brand-char{animation:neon-glow 3s ease-in-out infinite}@keyframes neon-glow{0%,to{color:#ff4757}25%{color:rgb(var(--rgb-warn))}50%{color:#1e90ff}75%{color:#a855f7}}.changelog-btn{padding:2px 8px;border-radius:5px;border:1px solid var(--border);background:var(--bg-surface);color:var(--text-muted);font-size:10px;cursor:pointer;transition:all .2s}.changelog-btn:hover{color:var(--accent);border-color:var(--accent)}.midi-icon-bar{display:flex;align-items:center;gap:11px;line-height:1;flex-shrink:0;position:relative}.device-name{font-size:13px;font-weight:600;color:rgb(var(--rgb-ink-3));letter-spacing:.3px;display:flex;align-items:center;height:17px}.loaded-song-name{font-size:13px;font-weight:600;color:rgb(var(--rgb-ink-3));letter-spacing:.3px;display:flex;align-items:center;height:17px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 8px 0 4px;border-right:1px solid var(--border, rgb(var(--rgb-ink-2)))}.midi-indicators{display:flex;flex-direction:column;justify-content:center;gap:2px;height:14px}.midi-dot{width:6px;height:6px;border-radius:1px;background:rgb(var(--rgb-line-3));transition:background .15s,box-shadow .15s}.midi-dot.active{background:rgb(var(--rgb-warn));box-shadow:0 0 4px rgb(var(--rgb-warn) / .6)}.icon-btn{position:relative;width:24px;height:32px;border:none;background:none;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.icon-btn:hover{color:var(--accent)}.icon-btn--gear{margin-left:-3px}.status-dot{position:absolute;top:1px;right:1px;width:7px;height:7px;border-radius:50%;background:rgb(var(--rgb-line-3));border:1px solid rgb(var(--rgb-line-2));transition:all .3s}.status-dot.connected{background:var(--success);box-shadow:0 0 6px rgb(var(--rgb-ok) / .5)}.status-dot.connecting{background:rgb(var(--rgb-warn));animation:dot-pulse .8s infinite}@keyframes dot-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.5}}@keyframes sun-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes sun-glow{0%,to{fill:#f33;color:#f33}20%{fill:#f90;color:#f90}40%{fill:#fd0;color:#fd0}60%{fill:#3c3;color:#3c3}80%{fill:#39f;color:#39f}}.icon-btn--lp-on{color:rgb(var(--rgb-accent))}.toggle-switch.active{background:linear-gradient(135deg,rgb(var(--rgb-accent)),rgb(var(--rgb-accent-hover)));border-color:var(--accent);box-shadow:0 0 14px var(--accent-glow)}.toggle-switch.active .toggle-knob{transform:translate(82px);box-shadow:0 2px 8px #0003}.toggle-switch.active .toggle-status{color:#fff}.device-group{display:flex;align-items:center;gap:8px;flex:1;min-width:200px}.device-group label{margin-right:5px;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.midi-channel-selector{padding:8px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);width:65px;font-size:13px;transition:all var(--transition)}.knob{position:relative;width:40px;height:40px;border-radius:50%;background:radial-gradient(circle at 50% 34%,var(--panel-2),var(--inset) 74%);border:1px solid rgb(var(--rgb-line-2));box-shadow:0 2px 12px #0000008c,inset 0 1px 0 rgb(var(--rgb-ink) / .08);cursor:ns-resize;display:flex;align-items:center;justify-content:center;transition:all var(--transition)}.toggle-container .toggle-switch.small{width:36px;height:18px;border-radius:9px}.toggle-container .toggle-switch.small .toggle-knob{width:14px;height:14px;top:1px;left:1px}.toggle-container .toggle-switch.small.active .toggle-knob{transform:translate(18px)}.device-status-indicator{margin-left:10px;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;background-color:var(--success);color:#fff}.device-status-indicator.disconnected{background-color:var(--danger)}.shift-selector-container{display:flex;align-items:center;margin-left:8px}.shift-selector-container label{margin-right:5px;font-size:11px;color:var(--text-muted);font-weight:600}.semitone-shift-selector{padding:5px 8px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);font-size:12px;min-width:60px;transition:all var(--transition)}.semitone-shift-selector:hover{border-color:var(--border-light)}.semitone-shift-selector:focus{border-color:var(--accent);outline:none}.mc-modal-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:16px;background:rgb(5 7 11 / .66);backdrop-filter:blur(10px) saturate(1.15);-webkit-backdrop-filter:blur(10px) saturate(1.15);z-index:10000;animation:mc-fade-in .18s ease}@keyframes mc-fade-in{0%{opacity:0}to{opacity:1}}.mc-modal-box{position:relative;display:flex;flex-direction:column;width:min(94vw,520px);max-height:min(86vh,720px);overflow:hidden;border-radius:12px;border:1px solid rgb(var(--rgb-line-2));background:linear-gradient(180deg,rgb(var(--rgb-card)) 0%,rgb(var(--rgb-surface)) 62%,rgb(var(--rgb-page)) 100%);box-shadow:0 24px 64px #0000009e,inset 0 1px #ffffff0a;animation:mc-modal-in var(--duration-slow) var(--ease-emphasized)}@keyframes mc-modal-in{0%{opacity:0;transform:scale(.94) translateY(-6px)}to{opacity:1;transform:scale(1) translateY(0)}}.mc-modal-box--light{width:min(94vw,680px)!important;height:min(84vh,560px);max-height:min(84vh,560px)}.mc-modal-box--midi{width:min(94vw,640px)!important;height:auto;min-height:420px;max-height:min(84vh,560px)}.mc-modal-box--song{width:min(94vw,720px)!important;height:min(80vh,560px);max-height:min(80vh,560px)}.mc-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px 12px;background:transparent;flex-shrink:0;position:relative}.mc-modal-header:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,rgb(var(--rgb-accent) / .4),rgb(var(--rgb-line-2)) 45%,rgb(var(--rgb-line) / .4))}.mc-modal-title{display:flex;align-items:center;gap:9px}.mc-modal-header h2{margin:0;font-size:13px;font-weight:600;color:rgb(var(--rgb-ink));letter-spacing:.3px}.mc-modal-close{width:26px;height:26px;border:1px solid rgb(var(--rgb-line-2));background:rgb(var(--rgb-raised) / .6);color:rgb(var(--rgb-ink-2));font-size:12px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard);padding:0;flex-shrink:0}.mc-modal-close:hover{color:rgb(var(--rgb-ink));background:rgb(var(--rgb-rec) / .16);border-color:rgb(var(--rgb-rec) / .55)}.mc-modal-body{padding:12px 22px 20px;overflow-y:auto;max-height:65vh;background:transparent}.lp-setting-list{display:flex;flex-direction:column;gap:0;margin-bottom:4px}.lp-setting-list+.lp-heading{margin-top:18px}.lp-setting-row{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid rgb(var(--rgb-line))}.lp-setting-row:last-child{border-bottom:none}.lp-setting-row-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.lp-setting-row-name{font-size:12.5px;font-weight:500;color:rgb(var(--rgb-ink));letter-spacing:.1px}.lp-setting-row-hint{font-size:11px;color:rgb(var(--rgb-ink-3));line-height:1.3}.lp-setting-row-empty{font-size:11px;color:rgb(var(--rgb-ink-3));font-style:italic}.mc-status-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:10px;font-size:11.5px;font-weight:600;letter-spacing:.2px;background:rgb(var(--rgb-raised));color:rgb(var(--rgb-ink-3));white-space:nowrap;flex-shrink:0}.mc-status-pill.on{background:rgb(var(--rgb-ok) / .14);color:rgb(var(--rgb-ok))}.mc-status-pill.\!on{background:rgb(var(--rgb-ok) / .14)!important;color:rgb(var(--rgb-ok))!important}.mc-status-pill.off{background:rgb(var(--rgb-raised));color:rgb(var(--rgb-ink-3))}.mc-status-pill.\!off{background:rgb(var(--rgb-raised))!important;color:rgb(var(--rgb-ink-3))!important}.mc-status-pill.busy{background:var(--amber-soft, rgb(251 191 36 / .1));color:var(--amber, rgb(var(--rgb-warn)))}.mc-status-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.mc-status-pill.busy .mc-status-dot{animation:mc-status-blink 1s ease-in-out infinite}@keyframes mc-status-blink{0%,to{opacity:1}50%{opacity:.3}}.mc-btn{display:inline-flex;align-items:center;justify-content:center;height:28px;padding:0 14px;border-radius:6px;border:1px solid transparent;font-size:12px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s ease;white-space:nowrap;flex-shrink:0;letter-spacing:.2px}.mc-btn--primary{background:var(--accent, rgb(var(--rgb-accent)));color:rgb(var(--rgb-ink));border-color:var(--accent, rgb(var(--rgb-accent)))}.mc-btn--primary:hover:not(:disabled){filter:brightness(1.05)}.mc-btn--primary:disabled{opacity:.5;cursor:not-allowed}.mc-alert{display:flex;align-items:center;gap:8px;margin-top:10px;padding:8px 12px;background:var(--amber-soft, rgb(251 191 36 / .1));border:1px solid var(--amber, rgb(var(--rgb-warn)));border-radius:6px;font-size:12px;color:rgb(var(--rgb-warn));line-height:1.4}.mc-alert--error{background:var(--red-soft, rgb(248 113 113 / .1));border-color:var(--red, rgb(var(--rgb-rec)));color:var(--red, rgb(var(--rgb-rec)))}.mc-alert svg{flex-shrink:0}.mc-select{height:28px;padding:0 24px 0 10px;border-radius:6px;border:1px solid rgb(var(--rgb-line-2));background:var(--panel);color:var(--text);font-size:12px;font-family:inherit;font-weight:500;cursor:pointer;transition:border-color .15s;min-width:120px;max-width:200px;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3e%3cpath d='M3 5l3 3 3-3' stroke='%23b0b0bc' fill='none' stroke-width='1.6' stroke-linecap='round'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 8px center;background-size:10px 10px}.mc-select:hover{border-color:rgb(var(--rgb-line-3))}.mc-select:focus{border-color:var(--accent, rgb(var(--rgb-accent)));outline:none}.mc-select:disabled{opacity:.5;cursor:not-allowed}.mc-select--narrow{min-width:80px;max-width:100px;text-align:center;font-variant-numeric:tabular-nums}.mc-light-layout{display:flex;flex:1;min-height:0}.mc-light-nav{width:170px;flex-shrink:0;background:rgb(var(--rgb-well) / .55);border-right:1px solid var(--nb-line);padding:10px 0 0;display:flex;flex-direction:column;overflow-y:auto}.mc-light-nav-item{display:flex;align-items:center;gap:8px;padding:7px 22px;border:none;background:transparent;color:var(--nb-muted);font-size:12.5px;font-weight:500;cursor:pointer;text-align:left;transition:background .12s ease,color .12s ease;position:relative;font-family:inherit;border-left:3px solid transparent}.mc-light-nav-item:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.mc-light-nav-item.active{background:rgb(var(--rgb-accent) / .14);color:var(--nb-cyan);font-weight:600;border-left:3px solid rgb(var(--rgb-accent));box-shadow:inset 0 0 18px rgb(var(--rgb-accent) / .08)}.mc-light-nav-item.active:before{display:none}.mc-light-nav-item svg{flex-shrink:0;opacity:.85}.mc-light-nav-item.active svg{opacity:1;color:rgb(var(--rgb-accent))}.mc-light-nav-footer{margin-top:auto;padding:10px 16px 12px}.mc-light-nav-divider{height:1px;background:var(--nb-line);margin:4px 0 10px}.mc-light-nav-summary{display:flex;flex-direction:column;gap:7px}.mc-light-nav-summary-row{display:flex;align-items:center;gap:8px}.mc-light-nav-dot{width:10px;height:10px;border-radius:3px;flex-shrink:0;background:rgb(var(--rgb-ink-3) / .55);box-shadow:0 0 0 1px #0000000f}.mc-light-nav-dot.on{background:rgb(var(--rgb-ok));box-shadow:0 0 0 1px #0000000f,0 0 6px rgb(var(--rgb-ok) / .45)}.mc-light-nav-dot.\!on{background:rgb(var(--rgb-ok))!important;box-shadow:0 0 0 1px #0000000f,0 0 6px rgb(var(--rgb-ok) / .45)!important}.mc-light-nav-dot.busy{background:rgb(var(--rgb-warn));box-shadow:0 0 0 1px #0000000f,0 0 6px rgb(var(--rgb-warn) / .4);animation:mc-nav-dot-pulse 1s ease-in-out infinite}@keyframes mc-nav-dot-pulse{0%,to{opacity:1}50%{opacity:.4}}.mc-light-nav-summary-label{font-size:11px;color:rgb(var(--rgb-ink-3));font-weight:500;letter-spacing:.2px}.mc-light-main{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--panel)}.mc-light-main-inner{flex:1;overflow-y:auto;padding:22px 26px 18px;min-height:0}.mc-light-section{display:flex;flex-direction:column;gap:22px}.mc-light-section--lp{gap:14px}.mc-light-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--nb-line)}.mc-light-section-header h3{margin:0 0 4px;font-size:14px;font-weight:600;color:rgb(var(--rgb-ink));letter-spacing:.2px}.mc-light-section-header p{margin:0;font-size:12px;color:rgb(var(--rgb-ink-3));line-height:1.5}.mc-light-group{display:flex;flex-direction:column;gap:10px}.mc-light-group-meta{display:flex;align-items:center;gap:10px;padding-left:2px}.mc-light-group-name{font-size:12px;font-weight:600;color:rgb(var(--rgb-ink-2));letter-spacing:.3px}.mc-light-group-preview{width:14px;height:14px;border-radius:4px;box-shadow:0 0 0 1px #00000014,0 1px 4px #0000001f}.mc-swatch-row{display:flex;gap:6px;flex-wrap:wrap;align-items:center;padding:4px 0 2px}.mc-swatch{width:26px;height:26px;border-radius:6px;border:1.5px solid rgb(0 0 0 / .08);cursor:pointer;position:relative;box-shadow:0 1px 2px #00000014,inset 0 1px #ffffff2e;transition:all .18s cubic-bezier(.4,0,.2,1);padding:0;display:flex;align-items:center;justify-content:center;color:rgb(var(--rgb-ink))}.mc-swatch:hover{transform:translateY(-1px) scale(1.08);box-shadow:0 4px 12px #0000002e;z-index:1}.mc-swatch.selected{border-color:transparent;box-shadow:0 0 0 2px rgb(var(--rgb-card)),0 0 0 3.5px rgb(var(--rgb-accent));transform:scale(1.05)}.mc-swatch-check{filter:drop-shadow(0 0 2px rgb(0 0 0 / .5))}.mc-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 22px;border-top:1px solid var(--nb-line);background:rgb(var(--rgb-well) / .55);flex-shrink:0}.mc-footer-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:7px;border:1px solid transparent;font-size:12.5px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s ease;letter-spacing:.2px}.mc-footer-btn--save-server{margin-right:8px;background:rgb(var(--rgb-surface));color:rgb(var(--rgb-ink-2));border-color:rgb(var(--rgb-line-2));display:inline-flex;align-items:center;gap:6px}.mc-footer-btn--save-server:hover{background:rgb(var(--rgb-raised));border-color:rgb(var(--rgb-line-3));color:rgb(var(--rgb-ink))}.mc-footer-btn--primary{background:var(--accent, rgb(var(--rgb-accent)));color:rgb(var(--rgb-ink))}.mc-footer-btn--primary:hover{filter:brightness(1.05)}.mc-footer-btn--primary:active{filter:brightness(.95)}.mc-modal-hint{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 20px;color:var(--text-muted);font-size:14px;gap:8px}.mc-modal-hint-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:rgb(var(--rgb-raised));color:rgb(var(--rgb-ink-3));margin-bottom:4px}.mc-modal-hint p{margin:0;font-size:13px;font-weight:500;color:rgb(var(--rgb-ink-2))}.mc-modal-hint-sub{font-size:12px;color:rgb(var(--rgb-ink-3));font-weight:400}.mc-modal-box--tutorial{width:min(92vw,800px)}.tutorial-body{padding:0;background:#000;border-radius:0 0 14px 14px;overflow:hidden;min-height:200px;display:flex;align-items:center;justify-content:center}.tutorial-video-wrap{width:100%;line-height:0}.tutorial-video{width:100%;max-height:80vh;display:block}@media (max-width: 480px){.connection-toggle-container{flex-wrap:wrap;gap:8px}.toggle-switch{min-width:auto;padding:6px 12px}.toggle-label{font-size:12px}.device-control-area{flex-direction:column;gap:8px}.device-selection-row{flex-direction:column;gap:6px}.device-group{width:100%}.device-group label{font-size:11px;min-width:40px}.knob{width:32px;height:32px}.knob-control{gap:4px;margin-right:0}.knob-label,.knob-value{font-size:10px}.shift-selector-container{margin-left:0}}.mc-brightness-val{font-size:11px;font-weight:700;color:var(--accent, rgb(var(--rgb-accent)));min-width:32px;text-align:right}.mc-brightness-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;border-radius:2px;background:rgb(var(--rgb-line-2));outline:none;cursor:pointer;margin:4px 0}.mc-brightness-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:linear-gradient(135deg,rgb(var(--rgb-accent)),rgb(var(--rgb-violet)));border:2px solid rgb(var(--rgb-page));box-shadow:0 1px 4px #0003;cursor:pointer;-webkit-transition:transform .12s;transition:transform .12s}.mc-brightness-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.mc-brightness-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:linear-gradient(135deg,rgb(var(--rgb-accent)),rgb(var(--rgb-violet)));border:2px solid rgb(var(--rgb-page));box-shadow:0 1px 4px #0003;cursor:pointer}.mc-light-msg{font-size:12px;font-weight:600;color:var(--accent, rgb(var(--rgb-accent)));margin:0 auto 0 8px;flex-shrink:0}.mc-select{background-color:rgb(var(--rgb-well) / .9);border-color:var(--nb-line);color:var(--nb-ink)}.mc-select:hover{border-color:rgb(var(--rgb-accent) / .4)}.mc-alert{background:rgb(var(--rgb-warn) / .08);border-color:rgb(var(--rgb-warn) / .3);color:rgb(var(--rgb-warn))}.mc-alert--error{background:rgb(var(--rgb-rec) / .1);border-color:rgb(var(--rgb-rec) / .4);color:var(--nb-danger)}.mc-status-pill,.mc-status-pill.off{background:rgb(var(--rgb-well) / .7);color:var(--nb-muted);border:1px solid var(--nb-line)}.mc-status-pill.\!off{background:rgb(var(--rgb-well) / .7)!important;color:var(--nb-muted)!important;border:1px solid var(--nb-line)!important}.mc-status-pill.on{background:rgb(var(--rgb-ok) / .12);color:var(--success);border:1px solid rgb(var(--rgb-ok) / .35)}.mc-status-pill.\!on{background:rgb(var(--rgb-ok) / .12)!important;color:var(--success)!important;border:1px solid rgb(var(--rgb-ok) / .35)!important}.mc-status-pill.busy{background:rgb(var(--rgb-warn) / .12);color:rgb(var(--rgb-warn));border:1px solid rgb(var(--rgb-warn) / .35)}.mc-light-section-header h3{color:var(--nb-ink);font-family:var(--daw-font-display);font-size:12px;letter-spacing:.12em;text-transform:uppercase}.mc-light-section-header p{color:var(--nb-muted)}.mc-light-main{background:transparent}.mc-light-nav-item:hover{background:rgb(var(--rgb-accent) / .1);color:var(--nb-cyan)}.mc-light-section-header{border-bottom-color:var(--nb-line)}.mc-light-nav-summary-label{color:var(--nb-muted)}.mc-modal-body{background:transparent;color:var(--nb-ink)}.mc-modal-footer{background:transparent;border-top:1px solid var(--nb-line)}.mc-modal-hint{background:rgb(var(--rgb-accent) / .06);border:1px solid rgb(var(--rgb-accent) / .22);color:var(--nb-muted)}.connection-toggle-container,.device-group,.device-control-area{background:rgb(var(--rgb-well) / .5);border:1px solid var(--nb-line);border-radius:6px}.connection-status-text,.device-name,.channel-label,.knob-label{color:var(--nb-muted);letter-spacing:.1em;text-transform:uppercase;font-size:10px}.lp-panel{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);color:rgb(var(--rgb-ink));background:rgb(var(--rgb-surface));border:1px solid rgb(var(--rgb-line));border-radius:var(--radius-lg)}.lp-section{padding:0}.lp-section.disabled,.lp-setting-grid.disabled{opacity:.45;pointer-events:none}.lp-section.\!disabled,.lp-setting-grid.\!disabled{opacity:.45!important;pointer-events:none!important}.lp-divider{height:1px;margin:var(--space-3) 0 0;background:rgb(var(--rgb-line))}.lp-setting-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-top:var(--space-2);transition:opacity var(--duration-base) var(--ease-standard)}.lp-setting{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.lp-setting-label{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);padding:0 2px}.lp-setting-name{font-size:var(--text-xs);line-height:var(--lh-xs);font-weight:600;letter-spacing:.04em;color:rgb(var(--rgb-ink-2))}.lp-setting-hint{font-size:var(--text-2xs);line-height:var(--lh-2xs);font-weight:400;color:rgb(var(--rgb-ink-3))}.lp-color-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:2px 0}.lp-color-chip{position:relative;width:28px;height:28px;border:1px solid rgb(var(--rgb-ink) / .22);border-radius:var(--radius-md);box-shadow:inset 0 1px 0 rgb(var(--rgb-ink) / .22);cursor:pointer;transition:transform var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}.lp-color-chip:hover{transform:scale(1.08);border-color:rgb(var(--rgb-ink) / .4)}.lp-color-chip:active{transform:scale(.95)}.lp-chip-input{position:absolute;inset:0;width:100%;height:100%;padding:0;border:none;background:none;opacity:0;cursor:pointer}.lp-chip-num{position:absolute;right:-4px;bottom:-4px;z-index:2;display:flex;align-items:center;justify-content:center;width:14px;height:14px;font-size:var(--text-2xs);font-weight:700;color:rgb(var(--rgb-ink));background:rgb(var(--rgb-raised));border:1px solid rgb(var(--rgb-line-2));border-radius:var(--radius-full);pointer-events:none}.lp-chip-del{position:absolute;top:-6px;right:-6px;z-index:3;display:none;align-items:center;justify-content:center;width:16px;height:16px;padding:0;font-size:var(--text-xs);line-height:1;color:rgb(var(--rgb-ink));background:rgb(var(--rgb-rec));border:1px solid rgb(var(--rgb-line-2));border-radius:var(--radius-full);cursor:pointer}.lp-color-chip:hover .lp-chip-del{display:flex}.lp-add-chip{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;color:rgb(var(--rgb-ink-3));background:transparent;border:1px dashed rgb(var(--rgb-line-2));border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.lp-add-chip:hover{color:rgb(var(--rgb-accent));border-style:solid;border-color:rgb(var(--rgb-accent) / .6)}.lp-save-preset{display:inline-flex;align-items:center;gap:var(--space-1);height:var(--ctl-sm);margin-left:auto;padding:0 10px;font-family:inherit;font-size:var(--text-sm);white-space:nowrap;color:rgb(var(--rgb-ink-2));background:transparent;border:1px solid rgb(var(--rgb-line-2));border-radius:var(--radius-md);cursor:pointer;transition:color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.lp-save-preset:hover{color:rgb(var(--rgb-accent));background:rgb(var(--rgb-accent) / .08);border-color:rgb(var(--rgb-accent) / .55)}.lp-del-preset{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:18px;height:18px;padding:0;font-size:var(--text-sm);font-weight:700;color:rgb(var(--rgb-rec));background:rgb(var(--rgb-rec) / .15);border:none;border-radius:var(--radius-full);cursor:pointer;opacity:0;transition:opacity var(--duration-fast) var(--ease-standard)}.lp-custom-select-opt:hover .lp-del-preset{opacity:1}.lp-duration{display:flex;align-items:center;gap:var(--space-1);height:var(--ctl-sm);padding:0 var(--space-2);background:rgb(var(--rgb-well));border:1px solid rgb(var(--rgb-line));border-radius:var(--radius-md);transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.lp-duration:focus-within{border-color:rgb(var(--rgb-accent) / .7);box-shadow:0 0 0 2px rgb(var(--rgb-accent) / .12)}.lp-duration input{flex:1;width:100%;min-width:0;padding:0;font-family:inherit;font-size:var(--text-sm);font-weight:500;font-variant-numeric:tabular-nums;color:rgb(var(--rgb-ink));background:none;border:none;outline:none;-moz-appearance:textfield}.lp-duration input::-webkit-outer-spin-button,.lp-duration input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.lp-duration-unit{flex-shrink:0;font-size:var(--text-2xs);font-weight:500;letter-spacing:.04em;color:rgb(var(--rgb-ink-3))}.lp-custom-select{position:relative;min-width:0}.lp-custom-select-trigger{display:flex;align-items:center;gap:6px;box-sizing:border-box;width:100%;height:var(--ctl-sm);padding:0 var(--space-2);font-size:var(--text-sm);color:rgb(var(--rgb-ink));background:rgb(var(--rgb-well));border:1px solid rgb(var(--rgb-line));border-radius:var(--radius-md);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:border-color var(--duration-fast) var(--ease-standard)}.lp-custom-select-trigger:hover{border-color:rgb(var(--rgb-line-3))}.lp-custom-select-text{flex-shrink:0;font-weight:500;color:rgb(var(--rgb-ink));white-space:nowrap}.lp-custom-select-bar{flex:1;min-width:24px;height:8px;border-radius:var(--radius-sm);box-shadow:inset 0 0 0 1px rgb(var(--rgb-ink) / .1)}.lp-custom-select-bar--empty{background:repeating-linear-gradient(45deg,rgb(var(--rgb-raised)) 0 4px,rgb(var(--rgb-card)) 4px 8px)}.lp-custom-select-arrow{flex-shrink:0;color:rgb(var(--rgb-ink-3));transition:transform var(--duration-base) var(--ease-standard)}.lp-custom-select-arrow.open{transform:rotate(180deg)}.lp-custom-select-arrow.\!open{transform:rotate(180deg)!important}.lp-custom-select-drop{max-height:280px;padding:var(--space-1);overflow-y:auto;background:rgb(var(--rgb-card));border:1px solid rgb(var(--rgb-line-2));border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.lp-custom-select-opt{display:flex;align-items:center;gap:var(--space-2);padding:6px var(--space-2);font-size:var(--text-sm);color:rgb(var(--rgb-ink-2));border-radius:var(--radius-sm);cursor:pointer;transition:color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.lp-custom-select-opt:hover{color:rgb(var(--rgb-ink));background:rgb(var(--rgb-accent) / .1)}.lp-custom-select-opt-text{flex-shrink:0;font-weight:500}.lp-custom-select-opt-sub{margin-left:var(--space-1);font-size:var(--text-2xs);color:rgb(var(--rgb-ink-3))}.lp-custom-select-opt .lp-custom-select-bar{flex:1;min-width:30px;height:8px}.lp-segment{display:flex;align-items:center;gap:0;height:var(--ctl-sm);padding:2px;background:rgb(var(--rgb-well));border:1px solid rgb(var(--rgb-line));border-radius:var(--radius-md)}.lp-segment-item{flex:1;min-width:0;height:100%;padding:0 var(--space-2);overflow:hidden;font-family:inherit;font-size:var(--text-xs);font-weight:500;letter-spacing:.02em;color:rgb(var(--rgb-ink-2));text-overflow:ellipsis;white-space:nowrap;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.lp-segment-item:hover{color:rgb(var(--rgb-ink))}.lp-segment-item.active,.lp-segment-item.is-active{font-weight:600;color:rgb(var(--rgb-ink));background:rgb(var(--rgb-raised))}.lp-segment--fps .lp-segment-item{padding:0 var(--space-1);font-variant-numeric:tabular-nums}.midi-editor{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.editor-toolbar{display:flex;align-items:center;gap:6px;padding:0 12px;height:var(--toolbar-h);background:var(--bg-2);border-bottom:1px solid var(--line);flex-shrink:0;overflow-x:auto}.et-btn{display:flex;height:28px;cursor:pointer;align-items:center;gap:.375rem;white-space:nowrap;border-radius:6px;border-width:1px;border-color:transparent;background-color:transparent;padding-left:.625rem;padding-right:.625rem;font-size:12px;line-height:18px;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--rgb-ink-2) / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.12s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.et-btn:hover{--tw-border-opacity: 1;border-color:rgb(var(--rgb-line-2) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--rgb-card) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(var(--rgb-ink) / var(--tw-text-opacity, 1))}.et-btn.is-active,.et-btn.active{border-color:rgb(var(--rgb-accent) / .4);background-color:rgb(var(--rgb-accent) / .1);--tw-text-opacity: 1;color:rgb(var(--rgb-accent) / var(--tw-text-opacity, 1))}.et-btn:hover{background:var(--panel);border-color:var(--line-2);color:var(--text)}.et-btn.active{background:var(--accent-soft);border-color:var(--accent-mid);color:var(--accent)}.et-divider{width:1px;height:18px;background:var(--line-2);margin:0 4px}.toolbar-spacer{flex:1}.track-btn.muted{opacity:.5;text-decoration:line-through}.midi-info-tags{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;color:var(--text-3)}.mi-label{color:var(--text-3);font-size:10px;text-transform:uppercase;margin-right:2px}.mi-sep{color:var(--line-2)}.editor-body{display:flex;flex:1;min-height:0;overflow:hidden;overflow-y:auto;scrollbar-width:none}.editor-body::-webkit-scrollbar{display:none}.editor-body>.live-piano{flex:0 0 52px;height:auto}.live-piano{width:52px;flex-shrink:0;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-right:1px solid var(--line);display:flex;flex-direction:column;overflow:hidden;background:var(--bg-1)}.live-ruler{height:22px;background:var(--bg-1);border-bottom:1px solid var(--line);flex-shrink:0}.live-keys-wrap{flex:1;overflow:hidden}.live-key-row{position:relative;display:flex;align-items:center;justify-content:flex-end;padding:0;background:#f2f4f8;border-bottom:1px solid rgba(0,0,0,.28);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background 80ms linear}.live-key-row:hover{background:var(--accent-hi)}.live-key-row:active{background:var(--accent)}.live-key-row.black{background:#1a2029;border-bottom-color:#ffffff0f}.live-key-row.black:hover{background:var(--melody)}.live-key-row.black:active{background:var(--accent)}.live-key-label{display:none}.editor-canvas{flex:1;min-width:0;background:#0e1219;cursor:crosshair;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.modal-overlay{position:fixed;inset:0;background:rgb(0 0 0 / .6);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-box{background:var(--panel);border:1px solid var(--line-2);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.modal-btn{height:32px;padding:0 16px;border-radius:var(--radius-sm);border:1px solid var(--line-2);background:var(--bg-2);color:var(--text);font-family:inherit;font-size:12px;font-weight:500;cursor:pointer;transition:all var(--transition)}.modal-btn:hover{border-color:var(--line-3);background:var(--panel-2)}.modal-btn--primary{background:var(--accent);border-color:var(--accent);color:#fff}.modal-btn--primary:hover{background:rgb(var(--rgb-accent-hover))}.modal-btn--secondary:hover{border-color:var(--line-3);background:var(--panel-2)}.lp-overlay{position:fixed;inset:0;pointer-events:none;z-index:900}.lp-wrapper{pointer-events:auto}.lp-card{background:var(--panel);border:1px solid var(--line-2);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.lp-header{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg-2);border-bottom:1px solid var(--line);cursor:move}.lp-header-title{font-size:13px;font-weight:600;color:var(--text)}.lp-header-hint{font-size:11px;color:var(--amber)}.lp-header-close{display:inline-flex;height:32px;width:32px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;justify-content:center;border-radius:6px;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--rgb-line-2) / var(--tw-border-opacity, 1));background-color:transparent;--tw-text-opacity: 1;color:rgb(var(--rgb-ink-2) / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.18s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.lp-header-close:hover{border-color:rgb(var(--rgb-accent) / .5);background-color:rgb(var(--rgb-accent) / .1);--tw-text-opacity: 1;color:rgb(var(--rgb-accent) / var(--tw-text-opacity, 1))}.lp-header-close.is-active{border-color:rgb(var(--rgb-accent) / .7);background-color:rgb(var(--rgb-accent) / .14);--tw-text-opacity: 1;color:rgb(var(--rgb-accent) / var(--tw-text-opacity, 1));--tw-shadow: 0 0 0 1px rgb(var(--rgb-accent) / .45), 0 0 18px rgb(var(--rgb-accent) / .3);--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color), 0 0 18px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);--tw-shadow-color: rgb(var(--rgb-accent) / 1);--tw-shadow: var(--tw-shadow-colored)}.lp-header-close{height:28px;width:28px;margin-left:auto}.lp-header-close:hover{background:var(--red-soft);color:var(--red)}.lp-topbar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--line)}.lp-nav-btn{display:flex;height:1.75rem;width:1.75rem;flex-shrink:0;cursor:pointer;align-items:center;justify-content:center;border-radius:6px;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--rgb-line-2) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--rgb-surface) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(var(--rgb-ink-2) / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.12s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.lp-nav-btn:hover{--tw-border-opacity: 1;border-color:rgb(var(--rgb-line-3) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--rgb-raised) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(var(--rgb-ink) / var(--tw-text-opacity, 1))}.lp-nav-btn:disabled{cursor:not-allowed;opacity:.35}.lp-nav-btn:hover:not(:disabled){border-color:var(--line-3);background:var(--panel-2)}.lp-nav-btn:disabled{opacity:.35}.lp-nav-info{display:flex;gap:4px}.lp-nav-dot{width:7px;height:7px;border-radius:50%;background:var(--line-2);cursor:pointer}.lp-nav-dot.active{background:var(--accent)}.lp-nav-text{font-size:11px;color:var(--text-3)}.lp-map-btn{display:flex;height:1.75rem;width:1.75rem;flex-shrink:0;cursor:pointer;align-items:center;justify-content:center;border-radius:6px;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--rgb-line-2) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--rgb-surface) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(var(--rgb-ink-2) / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.12s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.lp-map-btn:hover{--tw-border-opacity: 1;border-color:rgb(var(--rgb-line-3) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--rgb-raised) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(var(--rgb-ink) / var(--tw-text-opacity, 1))}.lp-map-btn:disabled{cursor:not-allowed;opacity:.35}.lp-map-btn{height:auto;width:auto;gap:.25rem;padding-left:.5rem;padding-right:.5rem;font-size:11px;line-height:16px}.lp-map-btn:hover{border-color:var(--line-3);background:var(--panel-2)}.lp-map-btn.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.lp-grid{display:flex;flex-direction:column;gap:3px;padding:12px}.lp-row{display:flex;gap:3px}.lp-cell{flex:1;aspect-ratio:1;border:1px solid var(--line-2);border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition)}.lp-cell:hover{border-color:var(--line-3)}.lp-cell--harmony{background:var(--amber-soft)}.lp-cell--melody{background:var(--accent-soft)}.lp-cell--current{border-color:var(--green)!important;background:var(--green-soft)!important}.lp-cell--disabled{opacity:.4;cursor:not-allowed}.lp-cell-num{font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--text)}.lp-reveal-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;border-top:1px solid var(--line)}.lp-step-btn{display:flex;height:1.75rem;width:1.75rem;flex-shrink:0;cursor:pointer;align-items:center;justify-content:center;border-radius:6px;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--rgb-line-2) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--rgb-surface) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(var(--rgb-ink-2) / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.12s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.lp-step-btn:hover{--tw-border-opacity: 1;border-color:rgb(var(--rgb-line-3) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--rgb-raised) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(var(--rgb-ink) / var(--tw-text-opacity, 1))}.lp-step-btn:disabled{cursor:not-allowed;opacity:.35}.lp-reveal-slider{flex:1;accent-color:var(--accent)}.lp-reveal-val{font-family:var(--font-mono);font-size:11px;color:var(--text-3);min-width:32px}.map-modal-box{width:520px;max-height:85vh;overflow-y:auto}.map-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line)}.map-header-title{font-size:15px;font-weight:600}.map-header-actions{display:flex;align-items:center;gap:12px}.map-legend{display:flex;gap:10px}.map-legend-item{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-3)}.map-dot{width:8px;height:8px;border-radius:50%}.map-dot--harmony{background:var(--amber)}.map-dot--melody{background:var(--accent)}.map-modal-close{display:inline-flex;height:32px;width:32px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;justify-content:center;border-radius:6px;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--rgb-line-2) / var(--tw-border-opacity, 1));background-color:transparent;--tw-text-opacity: 1;color:rgb(var(--rgb-ink-2) / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.18s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.map-modal-close:hover{border-color:rgb(var(--rgb-accent) / .5);background-color:rgb(var(--rgb-accent) / .1);--tw-text-opacity: 1;color:rgb(var(--rgb-accent) / var(--tw-text-opacity, 1))}.map-modal-close.is-active{border-color:rgb(var(--rgb-accent) / .7);background-color:rgb(var(--rgb-accent) / .14);--tw-text-opacity: 1;color:rgb(var(--rgb-accent) / var(--tw-text-opacity, 1));--tw-shadow: 0 0 0 1px rgb(var(--rgb-accent) / .45), 0 0 18px rgb(var(--rgb-accent) / .3);--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color), 0 0 18px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);--tw-shadow-color: rgb(var(--rgb-accent) / 1);--tw-shadow: var(--tw-shadow-colored)}.map-modal-close{height:28px;width:28px}.map-modal-close:hover{background:var(--red-soft);color:var(--red)}.map-topbar{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;border-bottom:1px solid var(--line)}.map-checkboxes{display:flex;gap:14px}.map-check-label{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--text-2);cursor:pointer}.map-check-label input{accent-color:var(--accent)}.arrow-row{display:flex;gap:4px}.arr-btn{display:flex;height:1.75rem;width:1.75rem;flex-shrink:0;cursor:pointer;align-items:center;justify-content:center;border-radius:6px;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--rgb-line-2) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--rgb-surface) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(var(--rgb-ink-2) / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.12s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.arr-btn:hover{--tw-border-opacity: 1;border-color:rgb(var(--rgb-line-3) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--rgb-raised) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(var(--rgb-ink) / var(--tw-text-opacity, 1))}.arr-btn:disabled{cursor:not-allowed;opacity:.35}.arr-btn:hover{border-color:var(--line-3);background:var(--panel-2);color:var(--text)}.map-grid{padding:14px 18px}.map-row{display:flex;gap:3px;margin-bottom:3px}.map-cell{flex:1;aspect-ratio:1;border:1px solid var(--line-2);border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition);position:relative;min-height:38px}.map-cell:hover{border-color:var(--line-3)}.map-cell--harmony{background:var(--amber-soft)}.map-cell--melody{background:var(--accent-soft)}.map-cell--empty{background:var(--bg-2);opacity:.5}.map-cell--selected{border-color:var(--accent)!important;box-shadow:0 0 0 2px var(--accent-mid)}.map-cell--modified{border-color:var(--amber)}.map-cell--current{border-color:var(--green)}.map-cell-key{font-family:var(--font-mono);font-size:9px;color:var(--text-3)}.map-cell-note{font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--text)}.map-cell-count{position:absolute;top:2px;right:2px;width:14px;height:14px;border-radius:50%;background:var(--accent);color:#fff;font-size:9px;display:flex;align-items:center;justify-content:center}.map-cell-pair{position:absolute;bottom:2px;right:2px;font-size:8px;color:var(--amber)}.map-modified-info{text-align:center;padding:10px;font-size:12px;color:var(--text-2)}.map-source-label{color:var(--text-3)}.map-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 18px;border-top:1px solid var(--line)}.lp-diag-panel{grid-column:1 / -1;padding:6px 16px;background:var(--amber-soft);border-bottom:1px solid var(--amber);font-family:var(--font-mono);font-size:11px;color:var(--amber)}.lp-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px;background:rgb(5 7 11 / .62);backdrop-filter:blur(10px) saturate(1.12);-webkit-backdrop-filter:blur(10px) saturate(1.12);pointer-events:auto;animation:mapOverlayIn .18s ease-out}.lp-wrapper{position:relative;max-width:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none}.lp-card{display:flex;flex-direction:column;width:min(94vw,448px);--pad-cell: min(calc((min(94vw, 448px) - 60px)/8), calc((88dvh - 200px)/8), 46px );max-height:min(88vh,700px);overflow:hidden;border-radius:12px;border:1px solid rgb(var(--rgb-line-2));background:linear-gradient(180deg,rgb(var(--rgb-card)) 0%,rgb(var(--rgb-surface)) 60%,rgb(var(--rgb-page)) 100%);box-shadow:0 24px 64px #0000009e,inset 0 1px #ffffff0a;animation:mapBoxIn var(--duration-slow) var(--ease-emphasized)}.lp-card .lp-header{padding:12px 16px 10px}.lp-header:after{background:linear-gradient(90deg,rgb(var(--rgb-melody) / .5),rgb(var(--rgb-violet) / .5) 55%,rgb(var(--rgb-line) / .2))}.lp-header-title{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:rgb(var(--rgb-ink));letter-spacing:.6px;text-shadow:none}.lp-header-title:before{content:"";width:6px;height:14px;border-radius:3px;background:linear-gradient(180deg,rgb(var(--rgb-melody)),rgb(var(--rgb-violet)));box-shadow:0 0 10px rgb(var(--rgb-accent) / .4);flex-shrink:0}.lp-header-hint{margin-left:8px;margin-right:0;font-size:10px;color:rgb(var(--rgb-warn));letter-spacing:.2px}.lp-legend{display:flex;align-items:center;gap:10px;margin-left:auto;margin-right:10px;font-size:10px;color:rgb(var(--rgb-ink-3));letter-spacing:.2px}.lp-legend-item{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.lp-legend-dot{width:7px;height:7px;border-radius:2px;flex-shrink:0}.lp-legend-dot--harmony{background:rgb(var(--rgb-violet) / .35);border:1px solid rgb(var(--rgb-violet) / .9)}.lp-legend-dot--melody{background:rgb(var(--rgb-melody) / .35);border:1px solid rgb(var(--rgb-melody) / .9)}.lp-header-close,.map-modal-close{width:26px;height:26px;border:1px solid rgb(var(--rgb-line-2));border-radius:6px;background:rgb(var(--rgb-raised) / .6);color:rgb(var(--rgb-ink-2));font-size:12px;transition:background var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}.lp-header-close:hover,.map-modal-close:hover{background:rgb(var(--rgb-rec) / .16);border-color:rgb(var(--rgb-rec) / .55);color:rgb(var(--rgb-ink));transform:none;box-shadow:none}.lp-card .lp-topbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 16px 4px;flex-wrap:wrap}.lp-page-controls{display:flex;align-items:center;gap:6px}.lp-nav-btn,.lp-step-btn{width:26px;height:26px;border-radius:6px;border:1px solid rgb(var(--rgb-line-2));background:rgb(var(--rgb-raised) / .5);color:rgb(var(--rgb-ink-2));transition:background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.lp-nav-btn:hover:not(:disabled),.lp-step-btn:hover:not(:disabled){border-color:rgb(var(--rgb-accent) / .65);background:rgb(var(--rgb-accent) / .16);color:rgb(var(--rgb-accent-hover));box-shadow:none}.lp-nav-btn:disabled,.lp-step-btn:disabled{opacity:.28}.lp-nav-info{gap:5px;margin:0 2px}.lp-nav-dot{width:6px;height:6px;background:rgb(var(--rgb-line-2));border:none;transition:background var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.lp-nav-dot:hover{background:rgb(var(--rgb-ink-3));transform:scale(1.2)}.lp-nav-dot.active{background:rgb(var(--rgb-accent));box-shadow:0 0 8px rgb(var(--rgb-accent) / .7);transform:scale(1.15)}.lp-nav-text{margin-left:4px;font-family:var(--font-mono);font-size:10.5px;color:rgb(var(--rgb-ink-2));letter-spacing:.4px}.lp-map-btn{height:26px;padding:0 9px;border-radius:6px;border:1px solid rgb(var(--rgb-line-2));background:rgb(var(--rgb-raised) / .5);color:rgb(var(--rgb-ink-2));transition:background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.lp-map-btn:hover{border-color:rgb(var(--rgb-accent) / .65);background:rgb(var(--rgb-accent) / .14);color:rgb(var(--rgb-accent-hover));box-shadow:none}.lp-map-btn.active{border-color:rgb(var(--rgb-accent) / .7);background:rgb(var(--rgb-accent) / .22);color:rgb(var(--rgb-accent-hover));box-shadow:0 0 0 1px rgb(var(--rgb-accent) / .25)}.lp-card .lp-grid{padding:10px 16px 12px;gap:4px;background:transparent}.lp-card .lp-row{gap:4px;justify-content:center}.lp-card .lp-cell{flex:0 0 auto;aspect-ratio:auto;touch-action:none;width:max(22px,var(--pad-cell));height:max(22px,var(--pad-cell));border-radius:8px;background:rgb(var(--rgb-well));border:1px solid rgb(var(--rgb-line-2));transition:background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.lp-card .lp-cell--melody{background:linear-gradient(160deg,rgb(var(--rgb-melody) / .16),rgb(var(--rgb-melody) / .04));border-color:rgb(var(--rgb-melody) / .3);box-shadow:inset 0 1px 0 rgb(var(--rgb-melody) / .12)}.lp-card .lp-cell--melody:hover{background:linear-gradient(160deg,rgb(var(--rgb-melody) / .26),rgb(var(--rgb-melody) / .08));border-color:rgb(var(--rgb-melody) / .7);box-shadow:0 0 0 1px rgb(var(--rgb-melody) / .35),0 6px 16px rgb(var(--rgb-melody) / .22);transform:translateY(-1px)}.lp-card .lp-cell--melody .lp-cell-num{color:rgb(var(--rgb-melody))}.lp-card .lp-cell--harmony{background:linear-gradient(160deg,rgb(var(--rgb-violet) / .18),rgb(var(--rgb-violet) / .05));border-color:rgb(var(--rgb-violet) / .32);box-shadow:inset 0 1px 0 rgb(var(--rgb-violet) / .14)}.lp-card .lp-cell--harmony:hover{background:linear-gradient(160deg,rgb(var(--rgb-violet) / .28),rgb(var(--rgb-violet) / .09));border-color:rgb(var(--rgb-violet) / .7);box-shadow:0 0 0 1px rgb(var(--rgb-violet) / .35),0 6px 16px rgb(var(--rgb-violet) / .22);transform:translateY(-1px)}.lp-card .lp-cell--harmony .lp-cell-num{color:rgb(var(--rgb-violet))}.lp-card .lp-cell--melody.lp-cell--current{background:linear-gradient(160deg,rgb(var(--rgb-melody)),rgb(var(--rgb-melody) / .72))!important;border-color:rgb(var(--rgb-melody))!important;box-shadow:0 0 18px rgb(var(--rgb-melody) / .45),inset 0 1px #ffffff59!important;transform:translateY(-1px) scale(1.02)}.lp-card .lp-cell--harmony.lp-cell--current{background:linear-gradient(160deg,rgb(var(--rgb-violet)),rgb(var(--rgb-violet) / .72))!important;border-color:rgb(var(--rgb-violet))!important;box-shadow:0 0 18px rgb(var(--rgb-violet) / .45),inset 0 1px #ffffff59!important;transform:translateY(-1px) scale(1.02)}.lp-card .lp-cell--current .lp-cell-num{color:rgb(var(--rgb-page))!important;text-shadow:none!important}.lp-card .lp-cell--disabled,.lp-card .lp-cell--current.lp-cell--disabled{background:rgb(var(--rgb-well) / .7)!important;border-color:rgb(var(--rgb-line))!important;box-shadow:none!important;opacity:.55}.lp-card .lp-cell--disabled .lp-cell-num,.lp-card .lp-cell--current.lp-cell--disabled .lp-cell-num{color:rgb(var(--rgb-ink-3))!important}.lp-card .lp-cell-num{font-family:var(--font-mono);font-size:10.5px;font-weight:600;line-height:1.15;letter-spacing:0}.lp-card .lp-reveal-bar{display:flex;align-items:center;gap:10px;padding:10px 16px 14px;border-top:1px solid rgb(var(--rgb-line))}.lp-card .lp-reveal-slider{height:4px;border-radius:2px;background:rgb(var(--rgb-well));box-shadow:inset 0 0 0 1px rgb(var(--rgb-line-2))}.lp-card .lp-reveal-slider::-webkit-slider-thumb{width:14px;height:14px;border:none;background:rgb(var(--rgb-accent));box-shadow:0 0 0 3px rgb(var(--rgb-accent) / .18),0 2px 6px #00000080}.lp-card .lp-reveal-slider::-moz-range-thumb{width:14px;height:14px;border:none;background:rgb(var(--rgb-accent));box-shadow:0 0 0 3px rgb(var(--rgb-accent) / .18)}.lp-card .lp-reveal-val{font-family:var(--font-mono);font-size:11px;font-weight:600;color:rgb(var(--rgb-accent-hover));min-width:44px;letter-spacing:.4px}.modal-overlay{padding:16px;z-index:10000;background:rgb(5 7 11 / .66);backdrop-filter:blur(10px) saturate(1.12);-webkit-backdrop-filter:blur(10px) saturate(1.12)}.map-modal-box{width:min(94vw,468px);--pad-cell: min(calc((min(94vw, 468px) - 64px)/8), calc((88dvh - 210px)/8), 46px );max-height:min(88vh,760px);border-radius:12px;border:1px solid rgb(var(--rgb-line-2));background:linear-gradient(180deg,rgb(var(--rgb-card)) 0%,rgb(var(--rgb-surface)) 60%,rgb(var(--rgb-page)) 100%);box-shadow:0 24px 64px #0000009e,inset 0 1px #ffffff0a;overflow:hidden;display:flex;flex-direction:column;animation:mapBoxIn var(--duration-slow) var(--ease-emphasized)}.map-header{padding:12px 16px 10px;background:transparent;gap:10px;flex-shrink:0}.map-header:after{background:linear-gradient(90deg,rgb(var(--rgb-violet) / .5),rgb(var(--rgb-melody) / .5) 55%,rgb(var(--rgb-line) / .2))}.map-header-title{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:rgb(var(--rgb-ink));letter-spacing:.6px;text-shadow:none}.map-header-title:before{content:"";width:6px;height:14px;border-radius:3px;background:linear-gradient(180deg,rgb(var(--rgb-violet)),rgb(var(--rgb-melody)));box-shadow:0 0 10px rgb(var(--rgb-accent) / .4);flex-shrink:0}.map-header-actions{display:flex;align-items:center;gap:10px}.map-legend{display:flex;align-items:center;gap:10px;font-size:10.5px;color:rgb(var(--rgb-ink-3))}.map-legend-item{display:inline-flex;align-items:center;gap:5px}.map-dot{width:8px;height:8px;border-radius:3px}.map-dot--melody{background:rgb(var(--rgb-melody) / .25);border:1px solid rgb(var(--rgb-melody) / .85)}.map-dot--harmony{background:rgb(var(--rgb-violet) / .25);border:1px solid rgb(var(--rgb-violet) / .85)}.map-topbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 16px 10px;flex-wrap:wrap}.map-checkboxes{display:flex;align-items:center;gap:12px}.map-check-label{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:500;color:rgb(var(--rgb-ink-2));cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:color var(--duration-fast) var(--ease-standard)}.map-check-label:hover{color:rgb(var(--rgb-ink))}.map-check-label input{width:14px;height:14px;accent-color:rgb(var(--rgb-accent));cursor:pointer}.arrow-row{display:flex;align-items:center;gap:4px}.arrow-row:before{content:"\6574\4f53\504f\79fb";font-size:10px;font-weight:500;color:rgb(var(--rgb-ink-3));margin-right:4px;letter-spacing:.2px}.arr-btn{width:26px;height:26px;border-radius:6px;border:1px solid rgb(var(--rgb-line-2));background:rgb(var(--rgb-raised) / .5);color:rgb(var(--rgb-ink-2));transition:background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.arr-btn:hover{border-color:rgb(var(--rgb-accent) / .65);background:rgb(var(--rgb-accent) / .16);color:rgb(var(--rgb-accent-hover));box-shadow:none;transform:none}.arr-btn:active{transform:scale(.94)}.map-grid{display:flex;flex-direction:column;gap:4px;padding:8px 16px 12px;overflow-y:auto;min-height:0}.map-row{display:flex;gap:4px;justify-content:center}.map-cell{position:relative;flex:0 0 auto;aspect-ratio:auto;min-height:0;width:max(22px,var(--pad-cell, 46px));height:max(22px,var(--pad-cell, 46px));border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;background:rgb(var(--rgb-well));border:1px solid rgb(var(--rgb-line-2));cursor:pointer;transition:background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.map-cell--melody{background:linear-gradient(160deg,rgb(var(--rgb-melody) / .14),rgb(var(--rgb-melody) / .04));border-color:rgb(var(--rgb-melody) / .3)}.map-cell--melody:hover{background:linear-gradient(160deg,rgb(var(--rgb-melody) / .24),rgb(var(--rgb-melody) / .07));border-color:rgb(var(--rgb-melody) / .7);box-shadow:0 0 0 1px rgb(var(--rgb-melody) / .3),0 6px 16px rgb(var(--rgb-melody) / .2);transform:translateY(-1px)}.map-cell--harmony{background:linear-gradient(160deg,rgb(var(--rgb-violet) / .16),rgb(var(--rgb-violet) / .05));border-color:rgb(var(--rgb-violet) / .32)}.map-cell--harmony:hover{background:linear-gradient(160deg,rgb(var(--rgb-violet) / .26),rgb(var(--rgb-violet) / .08));border-color:rgb(var(--rgb-violet) / .7);box-shadow:0 0 0 1px rgb(var(--rgb-violet) / .3),0 6px 16px rgb(var(--rgb-violet) / .2);transform:translateY(-1px)}.map-cell--empty{opacity:.3}.map-cell-key{font-family:var(--font-mono);font-size:11px;font-weight:700;color:rgb(var(--rgb-ink));line-height:1.15}.map-cell-note{font-family:var(--font-mono);font-size:9px;line-height:1.15;color:rgb(var(--rgb-melody));opacity:.85}.map-cell--harmony .map-cell-note{color:rgb(var(--rgb-violet))}.map-cell--empty .map-cell-key,.map-cell--empty .map-cell-note{color:rgb(var(--rgb-ink-3))}.map-cell--selected{outline:2px solid rgb(var(--rgb-accent));outline-offset:-2px;box-shadow:0 0 0 3px rgb(var(--rgb-accent) / .22),0 6px 18px rgb(var(--rgb-accent) / .25)}.map-cell--modified{outline:2px solid rgb(var(--rgb-rec));outline-offset:-2px;box-shadow:0 0 0 3px rgb(var(--rgb-rec) / .16)}.map-cell--current{outline:2px solid rgb(var(--rgb-melody));outline-offset:-2px;box-shadow:0 0 0 3px rgb(var(--rgb-melody) / .2),0 0 16px rgb(var(--rgb-melody) / .35);transform:translateY(-1px)}.map-cell--harmony.map-cell--current{outline-color:rgb(var(--rgb-violet));box-shadow:0 0 0 3px rgb(var(--rgb-violet) / .2),0 0 16px rgb(var(--rgb-violet) / .35)}.map-cell--current .map-cell-key,.map-cell--current .map-cell-note{color:rgb(var(--rgb-ink))!important;text-shadow:none}.map-cell-count{position:absolute;right:3px;bottom:2px;font-family:var(--font-mono);font-size:8.5px;font-weight:600;line-height:1;color:rgb(var(--rgb-ink-3));background:transparent;padding:0}.map-cell-pair{position:absolute;top:-4px;right:-4px;width:15px;height:15px;border-radius:50%;background:rgb(var(--rgb-rec));color:rgb(var(--rgb-page));font-family:var(--font-mono);font-size:8px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px rgb(var(--rgb-page))}.map-modified-info{display:flex;align-items:center;gap:6px;margin-top:10px;padding:7px 10px;border-radius:6px;border:1px solid rgb(var(--rgb-violet) / .3);background:rgb(var(--rgb-violet) / .1);font-size:11px;color:rgb(var(--rgb-ink-2));line-height:1.4}.map-modified-info:before{content:"\2726";color:rgb(var(--rgb-violet));font-size:11px}.map-modified-info strong{color:rgb(var(--rgb-violet));font-weight:700}.map-source-label{color:rgb(var(--rgb-ink-3));font-weight:400;font-size:10px}.map-modal-footer{display:flex;gap:8px;justify-content:flex-end;padding:10px 16px 14px;border-top:1px solid rgb(var(--rgb-line));flex-shrink:0}.map-modal-footer .modal-btn{height:32px;padding:0 14px;border-radius:8px;border:1px solid rgb(var(--rgb-line-2));background:rgb(var(--rgb-raised) / .5);color:rgb(var(--rgb-ink-2));font-size:12px;font-weight:500}.map-modal-footer .modal-btn--secondary:hover{background:rgb(var(--rgb-raised) / .85);border-color:rgb(var(--rgb-line-3));color:rgb(var(--rgb-ink));transform:none;box-shadow:none}.map-modal-footer .modal-btn--primary{background:rgb(var(--rgb-accent));border-color:rgb(var(--rgb-accent));color:#fff;box-shadow:0 6px 18px rgb(var(--rgb-accent) / .3)}.map-modal-footer .modal-btn--primary:hover{background:rgb(var(--rgb-accent-hover));border-color:rgb(var(--rgb-accent-hover));transform:translateY(-1px);box-shadow:0 8px 22px rgb(var(--rgb-accent) / .36)}.map-modal-footer .modal-btn:active{transform:scale(.98)}@media (max-width: 760px){.lp-overlay,.modal-overlay{align-items:center;padding:10px}.lp-wrapper{width:100%}.lp-card,.map-modal-box{width:100%;max-width:none;max-height:calc(100dvh - 20px);border-radius:14px}.lp-card .lp-header,.map-header{padding:10px 12px 8px}.lp-card .lp-header{flex-wrap:wrap}.lp-header-title,.map-header-title{font-size:12px}.lp-header-hint{order:5;flex:1 1 100%;margin:4px 0 0;font-size:9.5px}.lp-legend{gap:8px;margin-right:8px;font-size:9.5px}.lp-card .lp-topbar{padding:8px 12px 2px;gap:6px}.lp-nav-info{display:none}.lp-card .lp-grid{padding:8px 10px 10px}.lp-card .lp-row,.lp-card .lp-grid{gap:3px}.map-topbar{padding:6px 12px 8px;gap:6px}.map-grid{padding:8px 10px 10px;gap:3px}.map-row{gap:3px}.lp-card{--pad-cell: min(calc((100vw - 62px)/8), calc((100dvh - 210px)/8), 44px )}.map-modal-box{--pad-cell: min(calc((100vw - 62px)/8), calc((100dvh - 225px)/8), 44px )}.lp-card .lp-cell,.map-cell{border-radius:6px}.lp-card .lp-cell-num,.map-cell-key{font-size:10px}.map-cell-note{font-size:8px}.lp-card .lp-reveal-bar{padding:8px 12px calc(12px + env(safe-area-inset-bottom,0px));gap:8px}.map-legend{display:flex;gap:8px;font-size:10px}.arrow-row:before{display:none}.map-modal-footer{padding:10px 12px calc(12px + env(safe-area-inset-bottom,0px));flex-wrap:wrap;gap:8px}.map-modal-footer .modal-btn{flex:1 1 auto;justify-content:center;height:36px;padding:0 12px}}@media (max-height: 560px){.lp-overlay,.modal-overlay{padding:8px}.lp-card,.map-modal-box{max-height:calc(100dvh - 16px);border-radius:12px}.lp-wrapper{display:flex;justify-content:center}.lp-card{width:-moz-fit-content;width:fit-content;--pad-cell: min(calc((88dvh - 165px)/8), 46px)}.lp-card .lp-cell{flex:0 0 auto;width:max(18px,var(--pad-cell));height:max(18px,var(--pad-cell))}.lp-nav-info,.lp-legend{display:none}.map-modal-box{width:-moz-fit-content;width:fit-content;min-width:280px;--pad-cell: clamp(21px, calc((100dvh - 200px)/8), 34px)}.lp-card .lp-header,.map-header{padding:6px 12px}.lp-card .lp-topbar{padding:4px 12px 0}.lp-card .lp-grid{padding:4px 12px 8px}.lp-card .lp-reveal-bar{padding:6px 12px 8px}.lp-nav-btn,.lp-map-btn{height:24px}.map-topbar{padding:2px 12px 6px}.map-grid{padding:4px 12px 6px}.map-modal-footer{padding:6px 12px calc(8px + env(safe-area-inset-bottom,0px))}.map-modal-footer .modal-btn{height:32px}}@media (max-width: 760px),(max-height: 560px){.lp-card .lp-header,.map-header{display:none}.lp-card .lp-topbar,.map-topbar{padding-top:10px}}@media (max-width: 760px),(max-height: 560px){.mc-modal-box,.mc-modal-box--light,.mc-modal-box--midi,.mc-modal-box--song{position:relative;overflow:visible!important}.mc-modal-header{position:absolute;top:0;right:0;width:0;height:0;padding:0;margin:0;border:none;background:none;z-index:8}.mc-modal-header:after{display:none}.mc-modal-title,.mc-modal-header h2{display:none}.mc-modal-close{position:absolute;top:-14px;right:-14px;z-index:20;width:32px;height:32px;border-radius:50%;background:rgb(var(--rgb-card));border:1px solid rgb(var(--rgb-line-3));box-shadow:0 8px 22px #0000009e;color:rgb(var(--rgb-ink))}}@media (max-width: 1000px) and (orientation: landscape) and (max-height: 560px){.lp-overlay,.modal-overlay{padding:8px}.mc-modal-overlay{padding:16px}.mc-modal-box--midi{width:min(94vw,640px)!important;min-height:0;max-height:calc(100dvh - 32px)}.mc-modal-box--song{max-height:calc(100dvh - 32px)}.lp-card{width:-moz-fit-content;width:fit-content;height:calc(100dvh - 16px);max-height:none;max-width:calc(100vw - 16px);--pad-cell: min(calc((100dvh - 130px)/8), 60px)}.lp-card .lp-topbar{padding:4px 12px 0}.lp-card .lp-grid{flex:1;padding:4px 12px 8px;justify-content:center}.lp-card .lp-reveal-bar{padding:6px 12px 8px}.map-modal-box{display:grid;grid-template-columns:auto minmax(180px,210px);grid-template-rows:auto 1fr;gap:8px 10px;width:-moz-fit-content;width:fit-content;height:calc(100dvh - 16px);max-height:none;max-width:calc(100vw - 16px);padding:10px 12px;overflow:hidden;--pad-cell: min(calc((100dvh - 100px)/8), 46px)}.map-topbar{grid-column:2;grid-row:1;flex-direction:column;align-items:stretch;gap:8px;padding:0}.arrow-row{justify-content:flex-start;flex-wrap:nowrap}.arrow-row:before{display:inline;white-space:nowrap;flex:0 0 auto}.map-grid{grid-column:1;grid-row:1 / span 2;padding:4px;align-content:center;justify-content:center}.map-modal-footer{grid-column:2;grid-row:2;flex-direction:column;align-items:stretch;justify-content:flex-end;gap:6px;padding:0}.map-modal-footer .modal-btn{flex:0 0 auto;width:100%;height:34px}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.-inset-1{inset:-.25rem}.-inset-\[2px\]{inset:-2px}.inset-0{inset:0px}.inset-\[1px\]{inset:1px}.inset-x-0{left:0px;right:0px}.inset-x-1\.5{left:.375rem;right:.375rem}.inset-x-2{left:.5rem;right:.5rem}.inset-x-\[1px\]{left:1px;right:1px}.inset-x-\[2px\]{left:2px;right:2px}.inset-y-0{top:0px;bottom:0px}.inset-y-2{top:.5rem;bottom:.5rem}.inset-y-\[1px\]{top:1px;bottom:1px}.inset-y-\[2px\]{top:2px;bottom:2px}.-left-\[4px\]{left:-4px}.-right-1{right:-.25rem}.-top-1{top:-.25rem}.-top-\[1px\]{top:-1px}.-top-\[3px\]{top:-3px}.bottom-0{bottom:0px}.bottom-\[-1px\]{bottom:-1px}.bottom-\[2px\]{bottom:2px}.left-0{left:0px}.left-1{left:.25rem}.left-1\.5{left:.375rem}.left-1\/2{left:50%}.left-\[2px\]{left:2px}.right-0{right:0px}.right-1\.5{right:.375rem}.right-\[14px\]{right:14px}.right-\[2px\]{right:2px}.top-0{top:0px}.top-1\/2{top:50%}.top-\[2px\]{top:2px}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[1000\]{z-index:1000}.z-\[2\]{z-index:2}.z-\[80\]{z-index:80}.z-\[9999\]{z-index:9999}.mx-0\.5{margin-left:.125rem;margin-right:.125rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-2\.5{margin-top:.625rem;margin-bottom:.625rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.my-5{margin-top:1.25rem;margin-bottom:1.25rem}.mb-1{margin-bottom:.25rem}.mb-2\.5{margin-bottom:.625rem}.mb-3{margin-bottom:.75rem}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-auto{margin-left:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-\[2px\]{margin-top:2px}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.\!hidden{display:none!important}.hidden{display:none}.h-0{height:0px}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[10px\]{height:10px}.h-\[11px\]{height:11px}.h-\[13px\]{height:13px}.h-\[14px\]{height:14px}.h-\[150px\]{height:150px}.h-\[15px\]{height:15px}.h-\[18px\]{height:18px}.h-\[1px\]{height:1px}.h-\[200px\]{height:200px}.h-\[2px\]{height:2px}.h-\[3px\]{height:3px}.h-\[5px\]{height:5px}.h-\[6px\]{height:6px}.h-\[7px\]{height:7px}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-\[70vh\]{max-height:70vh}.\!min-h-0{min-height:0px!important}.min-h-0{min-height:0px}.min-h-screen{min-height:100vh}.w-0{width:0px}.w-1\.5{width:.375rem}.w-1\/3{width:33.333333%}.w-11{width:2.75rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-44{width:11rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[10px\]{width:10px}.w-\[13px\]{width:13px}.w-\[14px\]{width:14px}.w-\[190px\]{width:190px}.w-\[1px\]{width:1px}.w-\[22px\]{width:22px}.w-\[2px\]{width:2px}.w-\[3px\]{width:3px}.w-\[5px\]{width:5px}.w-\[6px\]{width:6px}.w-\[7px\]{width:7px}.w-\[8px\]{width:8px}.w-\[9px\]{width:9px}.w-auto{width:auto}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[14px\]{min-width:14px}.max-w-\[1180px\]{max-width:1180px}.max-w-\[800px\]{max-width:800px}.\!flex-1{flex:1 1 0%!important}.flex-1{flex:1 1 0%}.flex-shrink,.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.origin-bottom{transform-origin:bottom}.origin-left{transform-origin:left}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate: 45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-0{--tw-scale-x: 0;--tw-scale-y: 0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-95{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-\[0\.97\]{--tw-scale-x: .97;--tw-scale-y: .97;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-\[0\.98\]{--tw-scale-x: .98;--tw-scale-y: .98;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-\[1\.02\]{--tw-scale-x: 1.02;--tw-scale-y: 1.02;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-\[1\.04\]{--tw-scale-x: 1.04;--tw-scale-y: 1.04;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-x-0{--tw-scale-x: 0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-ew-resize{cursor:ew-resize}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-not-allowed{cursor:not-allowed}.cursor-ns-resize{cursor:ns-resize}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.place-items-start{place-items:start}.place-items-end{place-items:end}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-8{gap:2rem}.gap-\[1px\]{gap:1px}.gap-\[3px\]{gap:3px}.gap-x-2\.5{-moz-column-gap:.625rem;column-gap:.625rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.gap-y-1\.5{row-gap:.375rem}.gap-y-2{row-gap:.5rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:6px}.rounded-\[2px\]{border-radius:2px}.rounded-\[3px\]{border-radius:3px}.rounded-\[5px\]{border-radius:5px}.rounded-\[6px\]{border-radius:6px}.rounded-full{border-radius:9999px}.rounded-lg,.rounded-md{border-radius:6px}.rounded-none{border-radius:0}.rounded-sm,.rounded-xl{border-radius:6px}.rounded-b-\[3px\]{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.rounded-r{border-top-right-radius:6px;border-bottom-right-radius:6px}.rounded-t-\[1px\]{border-top-left-radius:1px;border-top-right-radius:1px}.rounded-t-\[3px\]{border-top-left-radius:3px;border-top-right-radius:3px}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-x-0{border-left-width:0px;border-right-width:0px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-r-2{border-right-width:2px}.border-t{border-top-width:1px}.border-t-0{border-top-width:0px}.border-t-2{border-top-width:2px}.border-dashed{border-style:dashed}.border-\[\#ff2bd6\]\/25{border-color:#ff2bd640}.border-\[\#ff4d6d\]\/70{border-color:#ff4d6db3}.border-\[\#ffb648\]\/70{border-color:#ffb648b3}.border-black\/40{border-color:#0006}.border-ink\/40{border-color:rgb(var(--rgb-ink) / .4)}.border-line{--tw-border-opacity: 1;border-color:rgb(var(--rgb-line) / var(--tw-border-opacity, 1))}.border-line\/60{border-color:rgb(var(--rgb-line) / .6)}.border-line\/70{border-color:rgb(var(--rgb-line) / .7)}.border-neon{--tw-border-opacity: 1;border-color:rgb(var(--rgb-accent) / var(--tw-border-opacity, 1))}.border-neon\/40{border-color:rgb(var(--rgb-accent) / .4)}.border-neon\/60{border-color:rgb(var(--rgb-accent) / .6)}.border-neon\/70{border-color:rgb(var(--rgb-accent) / .7)}.border-neon\/80{border-color:rgb(var(--rgb-accent) / .8)}.border-neon2{--tw-border-opacity: 1;border-color:rgb(var(--rgb-rec) / var(--tw-border-opacity, 1))}.border-neon2\/70{border-color:rgb(var(--rgb-rec) / .7)}.border-neon2\/80{border-color:rgb(var(--rgb-rec) / .8)}.border-transparent{border-color:transparent}.border-t-\[\#ff2bd6\]{--tw-border-opacity: 1;border-top-color:rgb(255 43 214 / var(--tw-border-opacity, 1))}.bg-\[\#04070e\]{--tw-bg-opacity: 1;background-color:rgb(4 7 14 / var(--tw-bg-opacity, 1))}.bg-\[\#05070e\]{--tw-bg-opacity: 1;background-color:rgb(5 7 14 / var(--tw-bg-opacity, 1))}.bg-\[\#0a0e18\]{--tw-bg-opacity: 1;background-color:rgb(10 14 24 / var(--tw-bg-opacity, 1))}.bg-\[\#1a2233\]{--tw-bg-opacity: 1;background-color:rgb(26 34 51 / var(--tw-bg-opacity, 1))}.bg-\[\#ffb648\]\/20{background-color:#ffb64833}.bg-\[rgba\(10\,14\,24\,0\.97\)\]{background-color:#0a0e18f7}.bg-\[rgba\(10\,14\,24\,0\.98\)\]{background-color:#0a0e18fa}.bg-\[rgba\(var\(--daw-rgb\)\,0\.14\)\]{background-color:rgba(var(--daw-rgb),.14)}.bg-base\/60{background-color:rgb(var(--rgb-page) / .6)}.bg-base\/70{background-color:rgb(var(--rgb-page) / .7)}.bg-card{--tw-bg-opacity: 1;background-color:rgb(var(--rgb-card) / var(--tw-bg-opacity, 1))}.bg-line\/60{background-color:rgb(var(--rgb-line) / .6)}.bg-muted\/50{background-color:rgb(var(--rgb-ink-2) / .5)}.bg-muted\/70{background-color:rgb(var(--rgb-ink-2) / .7)}.bg-neon{--tw-bg-opacity: 1;background-color:rgb(var(--rgb-accent) / var(--tw-bg-opacity, 1))}.bg-neon\/10{background-color:rgb(var(--rgb-accent) / .1)}.bg-neon\/15{background-color:rgb(var(--rgb-accent) / .15)}.bg-neon\/20{background-color:rgb(var(--rgb-accent) / .2)}.bg-neon2{--tw-bg-opacity: 1;background-color:rgb(var(--rgb-rec) / var(--tw-bg-opacity, 1))}.bg-neon2\/15{background-color:rgb(var(--rgb-rec) / .15)}.bg-neon2\/20{background-color:rgb(var(--rgb-rec) / .2)}.bg-page{--tw-bg-opacity: 1;background-color:rgb(var(--rgb-page) / var(--tw-bg-opacity, 1))}.bg-panelDeep\/50{background-color:rgb(var(--rgb-well) / .5)}.bg-panelDeep\/60{background-color:rgb(var(--rgb-well) / .6)}.bg-panelDeep\/80{background-color:rgb(var(--rgb-well) / .8)}.bg-panelDeep\/85{background-color:rgb(var(--rgb-well) / .85)}.bg-panelDeep\/90{background-color:rgb(var(--rgb-well) / .9)}.bg-panelSolid\/70{background-color:rgb(var(--rgb-surface) / .7)}.bg-surface{--tw-bg-opacity: 1;background-color:rgb(var(--rgb-surface) / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-well{--tw-bg-opacity: 1;background-color:rgb(var(--rgb-well) / var(--tw-bg-opacity, 1))}.bg-well\/60{background-color:rgb(var(--rgb-well) / .6)}.bg-white\/10{background-color:#ffffff1a}.bg-white\/25{background-color:#ffffff40}.bg-white\/\[0\.05\]{background-color:#ffffff0d}.bg-white\/\[0\.06\]{background-color:#ffffff0f}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.from-\[\#0a0e18\]{--tw-gradient-from: #0a0e18 var(--tw-gradient-from-position);--tw-gradient-to: rgb(10 14 24 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-\[\#080c14\]{--tw-gradient-to: #080c14 var(--tw-gradient-to-position)}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-8{padding:2rem}.p-\[3px\]{padding:3px}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-\[2px\]{padding-left:2px;padding-right:2px}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-\[1px\]{padding-top:1px;padding-bottom:1px}.py-\[3px\]{padding-top:3px;padding-bottom:3px}.pb-10{padding-bottom:2.5rem}.pb-2{padding-bottom:.5rem}.pb-2\.5{padding-bottom:.625rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-\[2px\]{padding-bottom:2px}.pl-6{padding-left:1.5rem}.pr-1\.5{padding-right:.375rem}.pr-6{padding-right:1.5rem}.pt-2\.5{padding-top:.625rem}.pt-3{padding-top:.75rem}.text-left{text-align:left}.text-center{text-align:center}.font-display{font-family:Orbitron,JetBrains Mono,Noto Sans SC,Fira Code,Consolas,Microsoft YaHei,monospace}.font-mono{font-family:JetBrains Mono,Noto Sans SC,Fira Code,SFMono-Regular,Consolas,monospace}.text-2xl{font-size:20px;line-height:28px}.text-2xs{font-size:10px;line-height:14px}.text-5xl{font-size:3rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[17px\]{font-size:17px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-lg{font-size:14px;line-height:21px}.text-md{font-size:13px;line-height:20px}.text-sm{font-size:12px;line-height:18px}.text-xl{font-size:16px;line-height:24px}.text-xs{font-size:11px;line-height:16px}.font-black{font-weight:900}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-\[13px\]{line-height:13px}.leading-\[14px\]{line-height:14px}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-\[0\.12em\]{letter-spacing:.12em}.tracking-\[0\.14em\]{letter-spacing:.14em}.tracking-\[0\.16em\]{letter-spacing:.16em}.tracking-\[0\.18em\]{letter-spacing:.18em}.tracking-\[0\.1em\]{letter-spacing:.1em}.tracking-\[0\.22em\]{letter-spacing:.22em}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-\[\#ff4d6d\]{--tw-text-opacity: 1;color:rgb(255 77 109 / var(--tw-text-opacity, 1))}.text-\[\#ffb648\]{--tw-text-opacity: 1;color:rgb(255 182 72 / var(--tw-text-opacity, 1))}.text-accent{--tw-text-opacity: 1;color:rgb(var(--rgb-accent) / var(--tw-text-opacity, 1))}.text-ink{--tw-text-opacity: 1;color:rgb(var(--rgb-ink) / var(--tw-text-opacity, 1))}.text-ink-2{--tw-text-opacity: 1;color:rgb(var(--rgb-ink-2) / var(--tw-text-opacity, 1))}.text-ink-3{--tw-text-opacity: 1;color:rgb(var(--rgb-ink-3) / var(--tw-text-opacity, 1))}.text-ink\/70{color:rgb(var(--rgb-ink) / .7)}.text-ink\/90{color:rgb(var(--rgb-ink) / .9)}.text-muted{--tw-text-opacity: 1;color:rgb(var(--rgb-ink-2) / var(--tw-text-opacity, 1))}.text-muted\/35{color:rgb(var(--rgb-ink-2) / .35)}.text-muted\/40{color:rgb(var(--rgb-ink-2) / .4)}.text-muted\/50{color:rgb(var(--rgb-ink-2) / .5)}.text-muted\/55{color:rgb(var(--rgb-ink-2) / .55)}.text-muted\/60{color:rgb(var(--rgb-ink-2) / .6)}.text-muted\/70{color:rgb(var(--rgb-ink-2) / .7)}.text-muted\/75{color:rgb(var(--rgb-ink-2) / .75)}.text-neon{--tw-text-opacity: 1;color:rgb(var(--rgb-accent) / var(--tw-text-opacity, 1))}.text-neon2{--tw-text-opacity: 1;color:rgb(var(--rgb-rec) / var(--tw-text-opacity, 1))}.text-panelDeep{--tw-text-opacity: 1;color:rgb(var(--rgb-well) / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-45{opacity:.45}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-\[0\.14\]{opacity:.14}.shadow-\[0_0_0_1px_rgba\(255\,77\,109\,\.4\)\,0_0_14px_rgba\(255\,77\,109\,\.25\)\]{--tw-shadow: 0 0 0 1px rgba(255,77,109,.4),0 0 14px rgba(255,77,109,.25);--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color), 0 0 14px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_10px_rgba\(0\,234\,255\,0\.85\)\]{--tw-shadow: 0 0 10px rgba(0,234,255,.85);--tw-shadow-colored: 0 0 10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_10px_rgba\(255\,34\,153\,0\.85\)\]{--tw-shadow: 0 0 10px rgba(255,34,153,.85);--tw-shadow-colored: 0 0 10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_8px_rgba\(255\,182\,72\,\.35\)\]{--tw-shadow: 0 0 8px rgba(255,182,72,.35);--tw-shadow-colored: 0 0 8px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-inset{--tw-shadow: inset 0 1px 3px rgb(0 0 0 / .6);--tw-shadow-colored: inset 0 1px 3px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-neon{--tw-shadow: 0 0 0 1px rgb(var(--rgb-accent) / .45), 0 0 18px rgb(var(--rgb-accent) / .3);--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color), 0 0 18px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-neon-strong{--tw-shadow: 0 0 0 1px rgb(var(--rgb-accent) / .75), 0 0 28px rgb(var(--rgb-accent) / .5);--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color), 0 0 28px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-neon2{--tw-shadow: 0 0 0 1px rgb(var(--rgb-rec) / .5), 0 0 18px rgb(var(--rgb-rec) / .34);--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color), 0 0 18px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-neon2-strong{--tw-shadow: 0 0 0 1px rgb(var(--rgb-rec) / .75), 0 0 28px rgb(var(--rgb-rec) / .5);--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color), 0 0 28px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 2px 8px rgb(0 0 0 / .55);--tw-shadow-colored: 0 2px 8px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-neon{--tw-shadow-color: rgb(var(--rgb-accent) / 1);--tw-shadow: var(--tw-shadow-colored)}.shadow-neon2{--tw-shadow-color: rgb(var(--rgb-rec) / 1);--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-\[10px\]{--tw-backdrop-blur: blur(10px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-\[14px\]{--tw-backdrop-blur: blur(14px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-\[16px\]{--tw-backdrop-blur: blur(16px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-\[2px\]{--tw-backdrop-blur: blur(2px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-\[3px\]{--tw-backdrop-blur: blur(3px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.18s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.18s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.18s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.18s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.18s}.duration-\[180ms\]{transition-duration:.18s}.ease-daw,.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.placeholder\:text-muted\/50::-moz-placeholder{color:rgb(var(--rgb-ink-2) / .5)}.placeholder\:text-muted\/50::placeholder{color:rgb(var(--rgb-ink-2) / .5)}.hover\:border-\[\#ff2299\]\/60:hover{border-color:#f299}.hover\:border-\[\#ffb648\]\/60:hover{border-color:#ffb64899}.hover\:border-\[var\(--daw-c\)\]:hover{border-color:var(--daw-c)}.hover\:border-ink\/30:hover{border-color:rgb(var(--rgb-ink) / .3)}.hover\:border-neon\/35:hover{border-color:rgb(var(--rgb-accent) / .35)}.hover\:border-neon\/45:hover{border-color:rgb(var(--rgb-accent) / .45)}.hover\:border-neon\/50:hover{border-color:rgb(var(--rgb-accent) / .5)}.hover\:border-neon\/60:hover{border-color:rgb(var(--rgb-accent) / .6)}.hover\:border-neon2\/60:hover{border-color:rgb(var(--rgb-rec) / .6)}.hover\:bg-\[rgba\(var\(--daw-rgb\)\,0\.04\)\]:hover{background-color:rgba(var(--daw-rgb),.04)}.hover\:bg-\[rgba\(var\(--daw-rgb\)\,0\.07\)\]:hover{background-color:rgba(var(--daw-rgb),.07)}.hover\:bg-\[rgba\(var\(--daw-rgb\)\,0\.08\)\]:hover{background-color:rgba(var(--daw-rgb),.08)}.hover\:bg-\[rgba\(var\(--daw-rgb\)\,0\.2\)\]:hover{background-color:rgba(var(--daw-rgb),.2)}.hover\:bg-neon\/10:hover{background-color:rgb(var(--rgb-accent) / .1)}.hover\:bg-neon\/15:hover{background-color:rgb(var(--rgb-accent) / .15)}.hover\:bg-neon\/20:hover{background-color:rgb(var(--rgb-accent) / .2)}.hover\:bg-neon\/5:hover{background-color:rgb(var(--rgb-accent) / .05)}.hover\:bg-neon\/60:hover{background-color:rgb(var(--rgb-accent) / .6)}.hover\:bg-neon\/\[0\.06\]:hover{background-color:rgb(var(--rgb-accent) / .06)}.hover\:bg-neon2\/10:hover{background-color:rgb(var(--rgb-rec) / .1)}.hover\:bg-white\/\[0\.028\]:hover{background-color:#ffffff07}.hover\:bg-white\/\[0\.06\]:hover{background-color:#ffffff0f}.hover\:text-\[\#ffb648\]:hover{--tw-text-opacity: 1;color:rgb(255 182 72 / var(--tw-text-opacity, 1))}.hover\:text-\[var\(--daw-c\)\]:hover{color:var(--daw-c)}.hover\:text-ink:hover{--tw-text-opacity: 1;color:rgb(var(--rgb-ink) / var(--tw-text-opacity, 1))}.hover\:text-neon:hover{--tw-text-opacity: 1;color:rgb(var(--rgb-accent) / var(--tw-text-opacity, 1))}.hover\:text-neon2:hover{--tw-text-opacity: 1;color:rgb(var(--rgb-rec) / var(--tw-text-opacity, 1))}.hover\:shadow-\[0_10px_34px_rgba\(0\,0\,0\,\.6\)\,0_0_18px_rgba\(0\,234\,255\,\.12\)\]:hover{--tw-shadow: 0 10px 34px rgba(0,0,0,.6),0 0 18px rgba(0,234,255,.12);--tw-shadow-colored: 0 10px 34px var(--tw-shadow-color), 0 0 18px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-neon:hover{--tw-shadow: 0 0 0 1px rgb(var(--rgb-accent) / .45), 0 0 18px rgb(var(--rgb-accent) / .3);--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color), 0 0 18px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-neon2:hover{--tw-shadow: 0 0 0 1px rgb(var(--rgb-rec) / .5), 0 0 18px rgb(var(--rgb-rec) / .34);--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color), 0 0 18px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-neon:hover{--tw-shadow-color: rgb(var(--rgb-accent) / 1);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-neon2:hover{--tw-shadow-color: rgb(var(--rgb-rec) / 1);--tw-shadow: var(--tw-shadow-colored)}.focus-visible\:shadow-neon:focus-visible{--tw-shadow: 0 0 0 1px rgb(var(--rgb-accent) / .45), 0 0 18px rgb(var(--rgb-accent) / .3);--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color), 0 0 18px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus-visible\:shadow-neon-strong:focus-visible{--tw-shadow: 0 0 0 1px rgb(var(--rgb-accent) / .75), 0 0 28px rgb(var(--rgb-accent) / .5);--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color), 0 0 28px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus-visible\:shadow-neon:focus-visible{--tw-shadow-color: rgb(var(--rgb-accent) / 1);--tw-shadow: var(--tw-shadow-colored)}.active\:scale-\[0\.92\]:active{--tw-scale-x: .92;--tw-scale-y: .92;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-\[0\.93\]:active{--tw-scale-x: .93;--tw-scale-y: .93;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-\[0\.94\]:active{--tw-scale-x: .94;--tw-scale-y: .94;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-\[0\.95\]:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:cursor-grabbing:active{cursor:grabbing}.active\:bg-neon\/35:active{background-color:rgb(var(--rgb-accent) / .35)}.active\:brightness-125:active{--tw-brightness: brightness(1.25);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.group:hover .group-hover\:scale-x-100{--tw-scale-x: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:border-neon\/55{border-color:rgb(var(--rgb-accent) / .55)}.group:hover .group-hover\:border-neon\/60{border-color:rgb(var(--rgb-accent) / .6)}.group:hover .group-hover\:bg-ink{--tw-bg-opacity: 1;background-color:rgb(var(--rgb-ink) / var(--tw-bg-opacity, 1))}.group:hover .group-hover\:bg-neon\/5{background-color:rgb(var(--rgb-accent) / .05)}.group:hover .group-hover\:bg-white\/70{background-color:#ffffffb3}.group:hover .group-hover\:text-ink{--tw-text-opacity: 1;color:rgb(var(--rgb-ink) / var(--tw-text-opacity, 1))}.group:focus-visible .group-focus-visible\:opacity-100{opacity:1}.peer:focus-visible~.peer-focus-visible\:shadow-neon-strong{--tw-shadow: 0 0 0 1px rgb(var(--rgb-accent) / .75), 0 0 28px rgb(var(--rgb-accent) / .5);--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color), 0 0 28px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}@media not all and (min-width: 480px){.max-xs\:h-\[100px\]{height:100px}}@media (min-width: 768px){.md\:col-span-3{grid-column:span 3 / span 3}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (min-width: 1024px){.lg\:flex{display:flex}}@media (min-width: 1280px){.xl\:flex{display:flex}}
