.ct-app{--ct-bg: #0c0c10;--ct-panel: #16161c;--ct-line: #2a2a33;--ct-accent: #2ee6a6;--ct-accent-break: #e67e2e;--ct-text: #eee;--ct-muted: #9a9aa6;color-scheme:dark;height:100vh;position:relative;overflow:hidden;background:var(--ct-bg);color:var(--ct-text)}.ct-app .mock-status{font-size:.8rem;color:var(--ct-muted)}.ct-app .mock-status.on{color:var(--ct-accent)}.ct-app .status{font-size:.8rem;color:var(--ct-muted)}.ct-app .status.error{color:#ff6b6b}.ct-app .user{font-size:.8rem;color:var(--ct-muted)}.ct-app .signout{font-size:.78rem;padding:5px 10px}.ct-app .stage{position:absolute;top:0;right:0;bottom:0;left:0;background:#000}.ct-app canvas{width:100%;height:100%;object-fit:contain}.ct-app .hud-top{position:absolute;top:16px;left:16px;display:flex;align-items:center;gap:10px;pointer-events:none}.ct-app .beat-dot{width:12px;height:12px;border-radius:50%;background:var(--ct-accent);opacity:0;flex:0 0 auto}.ct-app .progress{position:absolute;bottom:84px;left:50%;transform:translate(-50%);max-width:calc(100vw - 32px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;font-size:.78rem;color:var(--ct-accent);font-variant-numeric:tabular-nums;letter-spacing:.03em;min-height:1.2em;pointer-events:none}.ct-app .top-controls{position:absolute;top:14px;right:14px;z-index:20;display:flex;align-items:center;gap:4px}.ct-app .settings-btn,.ct-app .fx-btn{width:52px;height:52px;padding:0;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:50%;color:var(--ct-text);font-size:1.9rem;line-height:1;cursor:pointer;transition:color .15s,background .15s,opacity .15s}.ct-app .settings-btn:hover,.ct-app .fx-btn:hover{background:#ffffff14}.ct-app .fx-btn{opacity:.35;filter:grayscale(1)}.ct-app .fx-btn.on{opacity:1;filter:none}.ct-app .fx-logo{width:26px;height:auto;display:block;pointer-events:none}.ct-app .section h2{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ct-muted);margin:0 0 10px}.ct-app .btn{padding:8px 14px;border-radius:10px;border:1px solid var(--ct-line);background:var(--ct-panel);color:var(--ct-text);font-size:.88rem;font-weight:400;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.ct-app .btn:hover:not(:disabled){border-color:#3a3a46}.ct-app .btn:disabled{opacity:.45;cursor:not-allowed}.ct-app .file-row{display:flex;flex-direction:column;gap:6px}.ct-app .file-count{font-size:.78rem;color:var(--ct-muted)}.ct-app .bpm-field{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--ct-muted)}.ct-app .bpm-field input{width:80px;padding:8px 10px;border-radius:8px;border:1px solid var(--ct-line);background:#0f0f14;color:var(--ct-text);font-size:.85rem;font-variant-numeric:tabular-nums}.ct-app .bpm-field select{flex:1;padding:8px 10px;border-radius:8px;border:1px solid var(--ct-line);background:#0f0f14;color:var(--ct-text);font-size:.85rem}.ct-app .bpm-field select:disabled{opacity:.5;cursor:not-allowed}.ct-app .play-btn{position:absolute;bottom:24px;left:50%;transform:translate(-50%);z-index:20;padding:14px 44px;font-size:1rem;font-weight:600;border-radius:999px;border:none;background:var(--ct-accent);color:#0c0c10;cursor:pointer;box-shadow:0 6px 24px #00000073}.ct-app .play-btn:disabled{opacity:.4;cursor:not-allowed}.ct-app .play-btn:hover:not(:disabled){filter:brightness(1.1)}.ct-app .seq-section{display:flex;flex-direction:column}.ct-app .seq-list{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.ct-app .seq-row{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;border:1px solid var(--ct-line);background:#0f0f14;transition:border-color .15s}.ct-app .seq-row.active{border-color:var(--ct-accent);background:color-mix(in srgb,var(--ct-accent) 7%,#0f0f14)}.ct-app .seq-row select{padding:4px 8px;border-radius:7px;border:1px solid var(--ct-line);background:var(--ct-panel);color:var(--ct-text);font-size:.85rem;flex:0 0 auto}.ct-app .seq-row select option[value=flow]{color:var(--ct-accent)}.ct-app .seq-row select option[value=break]{color:var(--ct-accent-break)}.ct-app .seq-row input[type=number]{width:64px;padding:4px 8px;border-radius:7px;border:1px solid var(--ct-line);background:var(--ct-panel);color:var(--ct-text);font-size:.85rem;font-variant-numeric:tabular-nums;text-align:right}.ct-app .seq-pulse-label{font-size:.75rem;color:var(--ct-muted);flex:1}.ct-app .seq-remove{padding:3px 8px;font-size:.9rem;color:var(--ct-muted);flex:0 0 auto}.ct-app .seq-start-marker{padding:3px 7px;font-size:.75rem;color:var(--ct-muted);flex:0 0 auto;border-radius:6px}.ct-app .seq-row.start .seq-start-marker{color:var(--ct-accent);border-color:var(--ct-accent)}.ct-app .seq-add{width:100%;justify-content:center}.ct-app .seq-section-auto .seq-list,.ct-app .seq-section-auto .seq-add{opacity:.35;pointer-events:none}.ct-app .seq-auto-note{display:none;font-size:.75rem;color:var(--ct-muted);font-style:italic;margin-bottom:6px}.ct-app .seq-section-auto .seq-auto-note{display:block}.ct-app .mode-toggle{display:flex;border-radius:10px;border:1px solid var(--ct-line);overflow:hidden;background:var(--ct-panel)}.ct-app .mode-btn{flex:1;padding:8px 0;font-size:.85rem;font-weight:500;border:none;border-radius:0;background:transparent;color:var(--ct-muted);cursor:pointer;transition:background .15s,color .15s}.ct-app .mode-btn.active{background:var(--ct-accent);color:#0c0c10;font-weight:600}.ct-app .mode-btn:not(.active):hover{color:var(--ct-text)}.ct-app .auto-config-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}.ct-app .auto-config-field{display:flex;flex-direction:column;gap:3px}.ct-app .auto-config-field label{font-size:.72rem;color:var(--ct-muted);text-transform:uppercase;letter-spacing:.06em}.ct-app .auto-config-field input[type=number],.ct-app .auto-config-field input[type=range]{width:100%;padding:5px 8px;border-radius:7px;border:1px solid var(--ct-line);background:#0f0f14;color:var(--ct-text);font-size:.85rem;font-variant-numeric:tabular-nums}.ct-app .auto-config-field input[type=range]{padding:0;accent-color:var(--ct-accent)}.ct-app .auto-config-val{font-size:.75rem;color:var(--ct-accent);font-variant-numeric:tabular-nums;text-align:right}.ct-app .effect-group{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.ct-app .effect-toggle{display:flex;align-items:center;gap:8px;font-size:.85rem;cursor:pointer;-webkit-user-select:none;user-select:none}.ct-app .effect-toggle input[type=checkbox]{width:15px;height:15px;margin:0;accent-color:var(--ct-accent);cursor:pointer}.ct-app .effect-toggle .info-btn{margin-left:auto}.ct-app .effect-toggle .info-popover{left:auto;right:-6px;transform:none}.ct-app .effect-toggle .info-popover:after{left:auto;right:12px;transform:none}.ct-app .auto-config-reset{font-size:.75rem;color:var(--ct-muted);background:none;border:none;cursor:pointer;padding:0;text-decoration:underline;text-align:right;margin-top:2px}.ct-app .auto-config-reset:hover{color:var(--ct-text)}.ct-app .auto-config-label-row{display:flex;align-items:center;gap:5px}.ct-app .auto-config-label-row label{flex:1}.ct-app .info-btn{flex-shrink:0;width:14px;height:14px;border-radius:50%;border:1px solid var(--ct-muted);background:none;color:var(--ct-muted);font-size:.6rem;font-weight:700;font-style:italic;font-family:Georgia,serif;line-height:1;cursor:pointer;padding:0;position:relative;display:flex;align-items:center;justify-content:center;transition:color .15s,border-color .15s}.ct-app .info-btn:hover,.ct-app .info-btn:focus-visible{color:var(--ct-accent);border-color:var(--ct-accent);outline:none}.ct-app .info-popover{display:none;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);width:210px;background:#1c1c26;border:1px solid #3a3a50;border-radius:9px;padding:9px 11px;font-size:.75rem;color:var(--ct-text);line-height:1.45;z-index:200;pointer-events:none;text-transform:none;letter-spacing:0;font-weight:400;font-style:normal;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;box-shadow:0 4px 16px #00000080}.ct-app .info-popover:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-bottom-color:#3a3a50}.ct-app .info-btn:hover .info-popover,.ct-app .info-btn:focus-visible .info-popover{display:block}.ct-app .auto-config-grid>:nth-child(2n) .info-popover{left:auto;right:-6px;transform:none}.ct-app .auto-config-grid>:nth-child(2n) .info-popover:after{left:auto;right:12px;transform:none}.ct-app .modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:100;background:#0009;display:flex;align-items:center;justify-content:center;padding:16px}.ct-app .settings-dialog{width:min(380px,100%);max-height:calc(100vh - 64px);overflow-y:auto;background:var(--ct-panel);border:1px solid var(--ct-line);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:18px;box-shadow:0 12px 48px #0009}.ct-app .dialog-header{display:flex;align-items:center;gap:12px}.ct-app .dialog-header h1{font-size:1rem;margin:0;font-weight:600;letter-spacing:.02em;flex:1}.ct-app .dialog-close{width:30px;height:30px;padding:0;justify-content:center;border-radius:50%;font-size:1rem;line-height:1}.ct-app .dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--ct-line);padding-top:14px}:root{--bg: #0b0b0f;--panel: #15151c;--text: #e7e7ee;--muted: #9a9aa8;--accent: #6c7bff;--danger: #ff6c7b}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:radial-gradient(1200px 600px at 50% -10%,#1b1b29,var(--bg));color:var(--text)}.screen-center{min-height:100%;display:grid;place-items:center;padding:24px}.card{width:100%;max-width:560px;background:var(--panel);border:1px solid #23232e;border-radius:16px;padding:40px 36px;box-shadow:0 20px 60px #0006}.badge{display:inline-block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);border:1px solid #2c2c4a;border-radius:999px;padding:4px 12px;margin-bottom:20px}h1{font-size:28px;line-height:1.2;margin:0 0 12px}p{color:var(--muted);line-height:1.6;margin:0 0 8px}code{background:#0e0e14;border:1px solid #23232e;border-radius:6px;padding:2px 6px;color:#c7c7d6;font-size:13px}form{display:grid;gap:14px;margin-top:8px}label{font-size:13px;color:var(--muted);display:grid;gap:6px}input{width:100%;background:#0e0e14;border:1px solid #23232e;border-radius:8px;padding:10px 12px;color:var(--text);font-size:15px}input:focus{outline:none;border-color:var(--accent)}select{width:100%;background:#0e0e14;border:1px solid #23232e;border-radius:8px;padding:10px 12px;color:var(--text);font-size:15px;font-family:inherit}select:focus{outline:none;border-color:var(--accent)}select:disabled{opacity:.6;cursor:not-allowed}button{background:var(--accent);color:#0b0b0f;border:none;border-radius:8px;padding:11px 16px;font-size:15px;font-weight:600;cursor:pointer}button:disabled{opacity:.6;cursor:default}button.secondary{background:transparent;color:var(--muted);border:1px solid #23232e;font-weight:400}.alert{border:1px solid #4a2c34;background:#1c1015;color:var(--danger);border-radius:8px;padding:10px 12px;font-size:14px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:28px}.toolbar span{font-size:13px;color:#6b6b78}.option-grid{display:grid;gap:14px;margin-top:16px}.option-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:100%;text-align:left;background:#0e0e14;border:1px solid #23232e;border-radius:12px;padding:16px 18px;cursor:pointer;color:var(--text);font-family:inherit;transition:border-color .15s,background .15s}.option-card:hover:not(:disabled){border-color:var(--accent)}.option-card:disabled{opacity:.5;cursor:not-allowed}.option-card-title{font-size:16px;font-weight:600}.option-card-desc{font-size:13px;color:var(--muted);line-height:1.5}.option-card-tags{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 0;padding:0;list-style:none}.tag{font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:3px 8px;border-radius:999px;border:1px solid #2c2c4a;color:var(--muted)}.tag-flow{color:#2ee6a6;border-color:#1f4a3c}.tag-break{color:#e67e2e;border-color:#4a3420}.option-hint{font-size:13px;color:var(--muted);margin-top:8px}
