:root{--chassis: #121016;--panel: #1c1920;--panel-2: #201d26;--recessed: #0d0b10;--seam: rgba(255, 255, 255, .06);--seam-lit: rgba(255, 255, 255, .14);--ink: #f1ecf5;--ink-dim: #948b9c;--ink-faint: #635c6b;--signal: #ff2e73;--signal-dim: rgba(255, 46, 115, .15);--signal-glow: rgba(255, 46, 115, .45);--signal-alt: #baff3d;--warn: #ffb02e;--danger: #ff5468;--radius-switch: 4px;--font-display: "Chakra Petch", "IBM Plex Sans", sans-serif;--font-mono: "IBM Plex Mono", "Courier New", monospace;--bg: var(--recessed);--surface: var(--panel);--surface-2: var(--panel-2);--border: var(--seam);--border-strong: var(--seam-lit);--text: var(--ink);--text-dim: var(--ink-dim);--accent: var(--signal);--accent-dim: var(--signal-dim);--success: var(--signal-alt);--error: var(--danger);--warning: var(--warn);--radius: var(--radius-switch)}.app{display:flex;flex-direction:column;height:100vh;background:radial-gradient(ellipse 900px 500px at 50% -10%,rgba(255,46,115,.05),transparent 60%),var(--chassis);color:var(--ink)}.header{position:relative;background:linear-gradient(180deg,var(--panel-2),var(--panel));border-bottom:1px solid var(--seam);box-shadow:0 1px 0 var(--seam-lit) inset;padding:14px 28px;display:flex;justify-content:space-between;align-items:center;flex:0 0 auto}.header:before,.header:after{content:"";position:absolute;top:50%;width:4px;height:4px;border-radius:50%;background:#ffffff1f;box-shadow:inset 0 1px 1px #0009;transform:translateY(-50%)}.header:before{left:10px}.header:after{right:10px}.header-left{display:flex;align-items:center;gap:10px}.header-back{background:transparent;border:1px solid var(--seam-lit);border-radius:var(--radius-switch);color:var(--ink-dim);width:26px;height:26px;font-size:16px;line-height:1;cursor:pointer}.header-back:hover{color:var(--ink);border-color:var(--signal)}.header h1{font-family:var(--font-display);font-size:19px;font-weight:600;letter-spacing:.02em;color:var(--ink);display:flex;align-items:center;gap:10px}.header-subname{font-family:var(--font-mono);font-size:11px;font-weight:400;color:var(--ink-dim);letter-spacing:0}.header h1:before{content:"";width:9px;height:9px;background:var(--signal);box-shadow:0 0 10px 2px var(--signal-glow);transform:rotate(45deg);flex:0 0 auto}.status-indicator{display:flex;align-items:center;gap:8px;padding:5px 12px 5px 8px;background:var(--recessed);border-radius:3px;border:1px solid var(--seam);font-family:var(--font-mono);font-size:12px;color:var(--ink-dim)}.status-indicator .dot{width:8px;height:8px;border-radius:50%;background:var(--ink-faint)}.status-indicator .dot.connected{background:var(--signal-alt);box-shadow:0 0 8px 2px #baff3d8c;animation:led-breathe 2.4s ease-in-out infinite}.status-indicator .dot.disconnected{background:var(--ink-faint)}.status-indicator .dot.error{background:var(--danger);box-shadow:0 0 8px 2px #ff546880}@keyframes led-breathe{0%,to{opacity:1}50%{opacity:.55}}.main-content{display:flex;flex:1;gap:2px;padding:2px;overflow:hidden;background:var(--seam)}.left-panel,.center-panel,.right-panel{background:var(--panel);padding:16px;display:flex;flex-direction:column;overflow-y:auto}.left-panel{flex:0 0 250px;gap:16px}.center-panel{flex:1;min-width:0;min-height:0;gap:10px;padding:10px}.right-panel{flex:0 0 300px}.stage-tabs{display:flex;gap:2px;flex:0 0 auto;background:var(--recessed);padding:3px;border-radius:var(--radius-switch)}.stage-tabs button{background:transparent;border:none;border-radius:3px;padding:8px 14px;color:var(--ink-dim);cursor:pointer;font-family:var(--font-display);font-size:13px;font-weight:500;letter-spacing:.01em;transition:background .15s,color .15s}.stage-tabs button:hover{color:var(--ink);background:#ffffff0a}.stage-tabs button.active{background:var(--signal-dim);color:var(--ink);box-shadow:0 0 0 1px #ff2e7366 inset}.stage-body{flex:1;min-height:0;min-width:0;width:100%}.webamp-stage{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:auto}.webamp-loading,.webamp-unsupported{color:var(--ink-dim);font-size:14px}.butterchurn-stage{display:flex;flex-direction:column;width:100%;height:100%;gap:8px}.stage-canvas-wrap{position:relative;flex:1;min-height:0;background:#000;box-shadow:0 0 0 2px var(--recessed),0 0 0 3px var(--seam-lit),0 8px 24px #00000080 inset}.stage-canvas{width:100%;height:100%;display:block}.stage-controls{display:flex;flex-wrap:wrap;align-items:center;gap:6px;flex:0 0 auto}.file-label{background:var(--panel-2);border:1px solid var(--seam-lit);border-radius:var(--radius-switch);padding:7px 14px;cursor:pointer;font-size:12px;color:var(--ink);transition:border-color .15s}.file-label:hover{border-color:var(--signal)}.file-label.capture-active-label{cursor:default;color:var(--signal-alt);border-color:#baff3d66}.play-btn{background:var(--panel-2);border:1px solid var(--seam-lit);border-radius:var(--radius-switch);padding:6px 11px;cursor:pointer;font-size:12px;color:var(--ink);transition:border-color .15s,background .15s,color .15s}.play-btn:hover:not(:disabled){border-color:var(--signal)}.play-btn:disabled{opacity:.35;cursor:not-allowed}.play-btn.active{background:var(--signal-dim);border-color:var(--signal);color:var(--ink)}.volume-control{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-dim)}.volume-control input[type=range]{width:64px;height:3px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(90deg,var(--signal) 0%,var(--ink-faint) 0%);border-radius:2px;outline:none}.volume-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:16px;border-radius:2px;background:linear-gradient(180deg,#3a3640,#201d26);border:1px solid var(--seam-lit);box-shadow:0 1px 3px #0009;cursor:pointer}.volume-control input[type=range]::-moz-range-thumb{width:12px;height:16px;border-radius:2px;background:linear-gradient(180deg,#3a3640,#201d26);border:1px solid var(--seam-lit);cursor:pointer}.gain-value{color:var(--ink-dim);font-family:var(--font-mono);font-size:11px;min-width:34px}.playlist-box{flex:0 0 auto;max-height:68px;overflow-y:auto;display:flex;flex-direction:column;gap:2px;padding:5px;background:var(--recessed);border-radius:var(--radius-switch);border:1px solid var(--seam)}.playlist-item{box-sizing:border-box;height:26px;flex:0 0 26px;display:flex;align-items:center;text-align:left;background:transparent;border:none;border-radius:3px;padding:0 9px;color:var(--ink-dim);font-size:12px;line-height:1;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.playlist-item:hover{background:#ffffff0a;color:var(--ink)}.playlist-item.active{background:var(--signal-dim);color:var(--ink)}.canvas-toolbar{position:absolute;top:10px;right:10px;display:flex;gap:4px;z-index:7}.canvas-toolbar-btn{background:#0d0b10b3;border:1px solid var(--seam-lit);border-radius:3px;width:30px;height:30px;color:var(--ink);font-size:13px;cursor:pointer;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.canvas-toolbar-btn:hover{border-color:var(--signal)}.canvas-toolbar-btn.active{border-color:var(--signal);background:var(--signal-dim)}.info-badge{position:absolute;top:48px;right:10px;background:#0d0b10eb;border:1px solid var(--seam-lit);border-radius:3px;padding:8px 12px;font-family:var(--font-mono);font-size:11px;color:var(--ink);z-index:7;max-width:240px}.info-badge strong{color:var(--signal-alt);font-weight:500}.rating-badge{position:absolute;top:48px;right:10px;background:#0d0b10eb;border:1px solid var(--seam-lit);border-radius:3px;padding:8px 12px;font-size:17px;z-index:7;display:flex;gap:2px}.rating-star{cursor:pointer}.load-error-badge{position:absolute;bottom:10px;left:10px;right:10px;background:#ff54681f;border:1px solid var(--danger);color:#ffc0c8;padding:8px 12px;border-radius:3px;font-size:12px;z-index:6;cursor:pointer;word-break:break-word;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.lock-badge{position:absolute;top:10px;left:10px;background:#0d0b10bf;border:1px solid var(--warn);color:var(--warn);padding:4px 10px;border-radius:3px;font-family:var(--font-mono);font-size:11px;font-weight:500;z-index:5}.help-overlay{position:absolute;top:10px;left:10px;background:#0d0b10f0;border:1px solid var(--seam-lit);border-radius:4px;padding:12px 16px;color:var(--ink);font-size:13px;line-height:1.8;z-index:5;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.help-overlay strong{color:var(--signal-alt);font-family:var(--font-mono);font-weight:500}.help-overlay .help-hint{margin-top:6px;color:var(--ink-dim);font-size:11px}.preset-select{background:var(--panel-2);border:1px solid var(--seam-lit);border-radius:var(--radius-switch);padding:7px 12px;font-size:12px;color:var(--ink);max-width:220px}.seek-bar-wrapper{flex:0 0 100%;width:100%;display:flex;align-items:center;gap:8px;margin-bottom:4px}.seek-input{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:3px;background:var(--seam-lit);border-radius:2px;cursor:pointer}.seek-input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:11px;height:11px;border-radius:50%;background:var(--signal);cursor:pointer;box-shadow:0 0 6px var(--signal-glow)}.seek-input::-moz-range-thumb{width:11px;height:11px;border-radius:50%;background:var(--signal);cursor:pointer;border:none;box-shadow:0 0 6px var(--signal-glow)}.time-label{font-size:11px;color:var(--ink-dim);min-width:32px;text-align:center;font-family:var(--font-mono)}.info-box{background:var(--recessed);border:1px solid var(--seam);border-radius:var(--radius-switch);padding:14px}.info-box h3{font-family:var(--font-display);font-size:12px;color:var(--ink-dim);margin-bottom:10px;font-weight:500;letter-spacing:.02em}.info-box p{font-size:12px;margin:7px 0;font-family:var(--font-mono);color:var(--ink-dim)}.info-box strong{color:var(--signal-alt);font-weight:500}@media (max-width: 1200px){.main-content{flex-direction:column}.left-panel,.right-panel{flex:0 0 auto;max-height:200px}.center-panel{flex:1}}@media (max-width: 720px){.header{padding:12px 16px}.header h1{font-size:15px}.status-indicator span:last-child{display:none}}.hub{position:relative;height:100vh;display:flex;flex-direction:column;background:var(--chassis);overflow:hidden}.hub-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;image-rendering:pixelated;filter:blur(28px) saturate(1.1);opacity:.55;transform:scale(1.15)}.hub-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,var(--chassis) 0%,rgba(18,16,22,.55) 35%,rgba(18,16,22,.55) 65%,var(--chassis) 100%)}.hub-content{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:34px;padding:24px}.hub-brand{display:flex;align-items:center;gap:10px}.hub-mark{width:12px;height:12px;background:var(--signal);box-shadow:0 0 14px 3px var(--signal-glow);transform:rotate(45deg);flex:0 0 auto}.hub-eyebrow{font-family:var(--font-mono);font-size:12px;color:var(--ink-dim);letter-spacing:.02em}.hub-install-btn{font-family:var(--font-mono);font-size:11px;color:var(--ink);background:var(--signal-dim);border:1px solid rgba(255,46,115,.4);border-radius:var(--radius-switch);padding:4px 10px;cursor:pointer;margin-left:6px}.hub-install-btn:hover{border-color:var(--signal)}.hub-units{display:flex;gap:2px;background:var(--seam-lit);width:100%;max-width:660px;box-shadow:0 20px 60px #00000080}.hub-unit{flex:1;background:var(--panel);border:none;padding:0;display:flex;flex-direction:column;text-align:left;cursor:pointer;text-decoration:none;color:var(--ink)}.hub-unit-preview{width:100%;height:110px;display:block;image-rendering:pixelated;border-bottom:1px solid var(--seam)}.hub-unit-body{display:flex;flex-direction:column;gap:7px;padding:18px 20px 20px;transition:background .15s}.hub-unit:hover .hub-unit-body{background:var(--panel-2)}.hub-unit-led{width:8px;height:8px;border-radius:50%;background:var(--signal);box-shadow:0 0 10px 2px var(--signal-glow)}.hub-unit-led-alt{background:var(--signal-alt);box-shadow:0 0 10px 2px #baff3d80}.hub-unit-led-motorvisuales{background:#22d3ee;box-shadow:0 0 10px 2px #22d3ee80}.hub-unit-name{font-family:var(--font-display);font-size:17px;font-weight:600}.hub-unit-subname{font-family:var(--font-mono);font-size:11px;font-weight:400;color:var(--ink-dim);margin-left:4px}.hub-unit-desc{font-size:12px;color:var(--ink-dim);line-height:1.5}.hub-unit-cta{margin-top:6px;font-family:var(--font-mono);font-size:11px;color:var(--ink-faint)}.hub-unit:hover .hub-unit-cta{color:var(--signal-alt)}.hub-rail{position:relative;z-index:1;flex:0 0 auto;height:22px;background:linear-gradient(180deg,var(--panel-2),var(--panel));border-top:1px solid var(--seam);display:flex;align-items:center;justify-content:space-between;padding:0 12px}.hub-rivet{width:4px;height:4px;border-radius:50%;background:#ffffff1f;box-shadow:inset 0 1px 1px #0009}@media (max-width: 560px){.hub-units{flex-direction:column;max-width:340px}.hub-unit-preview{height:80px}}.visualizer3d-wrap{position:relative;width:100%;height:100%;border-radius:6px;overflow:hidden;background:#05060f}.visualizer3d-rotate-btn{position:absolute;top:10px;right:10px;background:#0a0c18b3;border:1px solid var(--border, #2a3050);border-radius:6px;color:var(--text, #e4e8ff);padding:6px 10px;font-size:12px;cursor:pointer}.visualizer3d-rotate-btn:hover{border-color:var(--border-strong, #4a5480)}.visualizer3d-canvas{width:100%;height:100%;display:block;cursor:grab}.visualizer3d-canvas:active{cursor:grabbing}.optical-illusions{display:flex;flex-direction:column;width:100%;height:100%;background:#0a0a0a;color:#0f0}.oi-controls{display:flex;align-items:center;gap:1rem;padding:1rem;background:#1a1a1a;border-bottom:1px solid #333;flex-wrap:wrap}.oi-generate-btn{padding:.75rem 1.5rem;background:linear-gradient(135deg,#0f0,#0c0);color:#000;border:none;border-radius:6px;font-weight:700;cursor:pointer;font-size:.95rem;transition:all .2s}.oi-generate-btn:hover:not(:disabled){background:linear-gradient(135deg,#0f8,#0f0);box-shadow:0 0 12px #00ff0080;transform:scale(1.05)}.oi-generate-btn:disabled{opacity:.6;cursor:not-allowed}.oi-info{display:flex;gap:1.5rem;align-items:center;font-size:.9rem}.oi-family{padding:.4rem .8rem;background:#00ff001a;border:1px solid rgba(0,255,0,.3);border-radius:4px;letter-spacing:.05em;font-size:.8rem}.oi-features{display:flex;gap:1rem;font-size:.85rem;color:#0d0}.oi-features span{display:flex;align-items:center}.oi-canvas{flex:1;width:100%;height:100%;display:block}@media (max-width: 768px){.oi-controls{flex-direction:column;gap:.5rem}.oi-generate-btn{width:100%}.oi-info{width:100%;justify-content:space-around;font-size:.8rem}}.preset-arena{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;overflow-y:auto;color:#fff;padding:1rem;gap:1rem}.pa-header{display:flex;flex:0 0 auto;align-items:center;gap:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-strong)}.pa-header h2{margin:0;font-size:1.5rem;color:var(--accent);font-weight:700}.pa-btn{padding:.7rem 1.4rem;background:var(--accent-dim);color:var(--accent);border:1px solid var(--accent);border-radius:8px;font-weight:700;cursor:pointer;transition:all .2s}.pa-btn:hover:not(:disabled){background:var(--accent);color:#041016}.pa-btn:disabled{opacity:.5;cursor:not-allowed}.pa-waiting{color:#9aa0b4;font-size:.95rem}.pa-grid{display:grid;grid-template-columns:repeat(2,1fr);align-content:start;gap:1rem;min-height:0}.pa-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:border-color .2s}.pa-card:hover{border-color:var(--border-strong)}.pa-canvas-wrapper{position:relative;width:100%;aspect-ratio:16/9;background:#000;overflow:hidden}.pa-canvas{width:100%;height:100%;display:block}.pa-info{display:flex;align-items:center;gap:.6rem;padding:.75rem 1rem;background:var(--surface-2);border-top:1px solid var(--border)}.pa-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;color:#d7dbe8}.pa-select{flex:1;min-width:0;background:var(--surface);color:#d7dbe8;border:1px solid var(--border-strong);border-radius:6px;padding:.3rem .4rem;font-size:.8rem}.pa-badge{flex:0 0 auto;padding:.2rem .5rem;border-radius:4px;font-size:.7rem;font-weight:700;white-space:nowrap}.pa-badge-agente{background:var(--accent-dim);color:var(--accent);border:1px solid var(--accent)}.pa-badge-clasico{background:#ffffff14;color:#b8bccb;border:1px solid var(--border-strong)}.pa-vote-btn{flex:0 0 auto;padding:.4rem .8rem;background:var(--surface);color:#fff;border:1px solid var(--border-strong);border-radius:6px;cursor:pointer;font-weight:700;transition:all .2s}.pa-vote-btn:hover{border-color:var(--accent);color:var(--accent)}@media (max-width: 768px){.preset-arena{padding:.5rem;gap:.5rem}.pa-header{flex-direction:column;align-items:stretch}.pa-grid{grid-template-columns:1fr}}.audio-bars h3{font-family:var(--font-display);font-size:12px;color:var(--ink-dim);letter-spacing:.02em;font-weight:500;margin-bottom:14px;border-bottom:1px solid var(--seam);padding-bottom:9px}.bars-container{display:flex;gap:14px}.bar{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px}.bar label{font-family:var(--font-mono);font-size:10px;font-weight:500;color:var(--ink-dim)}.bar-track{width:100%;max-width:34px;height:90px;background:var(--recessed);border:1px solid var(--seam);border-radius:2px;overflow:hidden;display:flex;align-items:flex-end;padding:2px}.bar-fill{width:100%;transition:height .05s ease-out;min-height:2px;background-image:repeating-linear-gradient(0deg,transparent 0,transparent 2px,var(--recessed) 2px,var(--recessed) 4px)}.bar-value{font-size:10px;font-family:var(--font-mono);color:var(--ink-faint);text-align:center}.status-panel h3{font-family:var(--font-display);font-size:13px;color:var(--ink);letter-spacing:.02em;font-weight:600;margin-bottom:15px;border-bottom:1px solid var(--border);padding-bottom:10px}.status-group{margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid var(--border)}.status-group:last-child{border-bottom:none;margin-bottom:10px}.status-group h4{font-family:var(--font-display);font-size:11px;color:var(--ink-dim);letter-spacing:.02em;margin-bottom:10px;font-weight:500}.status-row{display:flex;justify-content:space-between;align-items:center;margin:8px 0;font-size:12px}.status-row span{color:var(--text-dim)}.status-row code{background:var(--bg);padding:2px 6px;border-radius:3px;font-family:var(--font-mono);color:var(--accent);font-size:11px}.btn-generate{width:100%;padding:11px;margin-top:15px;background:var(--accent);border:none;border-radius:var(--radius-switch);color:#06181c;font-weight:600;font-size:13px;cursor:pointer;transition:opacity .2s}.btn-generate:hover:not(:disabled){opacity:.85}.btn-generate:disabled{opacity:.5;cursor:not-allowed}.btn-masterpiece{width:100%;padding:11px;margin-top:10px;background:var(--warning);border:none;border-radius:var(--radius-switch);color:#241300;font-weight:600;font-size:13px;cursor:pointer;transition:opacity .2s}.btn-masterpiece:hover:not(:disabled){opacity:.85}.btn-masterpiece:disabled{opacity:.5;cursor:not-allowed}.error-box{background:#ff54681f;border:1px solid var(--danger);border-radius:var(--radius-switch);padding:10px}.error-box p{font-size:12px;color:var(--danger);margin:0}.last-preset-label{font-size:11px;color:var(--text-dim);margin:4px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-mono)}.preset-browser-group{border-bottom:none}.spectrum-wave-box{margin-bottom:10px;padding:0}.spectrum-wave-canvas{width:100%;height:150px;border-radius:var(--radius-switch);display:block}.spectrum-wave-legend{display:flex;flex-direction:column;gap:3px;margin-top:8px;padding-left:2px}.spectrum-wave-legend-row{display:flex;align-items:center;gap:8px;font-size:11px}.spectrum-wave-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto}.spectrum-wave-legend-label{color:var(--text);font-weight:600;letter-spacing:.5px;flex:1 1 auto}.spectrum-wave-legend-hex{color:var(--text-dim);font-family:var(--font-mono);font-size:10px}.preset-browser{display:flex;flex-direction:column;gap:8px}.pb-tabs{display:flex;flex-wrap:wrap;gap:4px}.pb-tab{flex:1 1 auto;background:#ffffff0a;border:1px solid rgba(255,255,255,.15);border-radius:6px;padding:6px 8px;color:#999;font-size:11px;cursor:pointer;white-space:nowrap}.pb-tab.active{background:#00ffff26;border-color:#00ffff80;color:#fff}.pb-search{box-sizing:border-box;width:100%;background:#0000004d;border:1px solid rgba(255,255,255,.15);border-radius:6px;padding:6px 10px;color:#fff;font-size:12px}.pb-count-row{display:flex;align-items:center;justify-content:space-between}.pb-count{font-size:11px;color:#666}.pb-pager{display:flex;gap:4px}.pb-pager button{background:#ffffff0f;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#ccc;width:24px;height:22px;font-size:11px;cursor:pointer}.pb-pager button:hover:not(:disabled){background:#ffffff26;color:#fff}.pb-pager button:disabled{opacity:.3;cursor:not-allowed}.pb-list{max-height:260px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.pb-empty{font-size:12px;color:#666}.pb-row{display:flex;gap:4px;flex:0 0 28px}.pb-item{display:flex;align-items:center;gap:8px;box-sizing:border-box;height:28px;flex:1 1 auto;min-width:0;text-align:left;background:#00ffff0d;border:1px solid rgba(0,255,255,.15);border-radius:5px;padding:0 10px;color:#ccc;font-size:12px;font-family:inherit;line-height:1;cursor:pointer}.pb-item:hover:not(:disabled){background:#00ffff26;border-color:#00ffff80;color:#fff}.pb-item:disabled{opacity:.6;cursor:wait}.pb-item-icon{flex:0 0 auto;font-size:11px}.pb-item-label{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pb-view-btn{flex:0 0 28px;height:28px;box-sizing:border-box;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:5px;color:#ccc;cursor:pointer;font-size:12px}.pb-view-btn:hover{background:#ffffff26;color:#fff}.milk-viewer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:100}.milk-viewer-box{width:min(800px,90vw);height:min(700px,85vh);background:#0d0d18;border:1px solid rgba(0,255,255,.3);border-radius:10px;display:flex;flex-direction:column;overflow:hidden}.milk-viewer-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#00ffff14;border-bottom:1px solid rgba(0,255,255,.2);font-size:13px;color:#0ff;font-family:monospace}.milk-viewer-header button{background:none;border:none;color:#fff;cursor:pointer;font-size:16px}.milk-viewer-actions{display:flex;align-items:center;gap:10px}.milk-viewer-save{background:#00ff9626!important;border:1px solid rgba(0,255,150,.5)!important;border-radius:5px;padding:4px 10px;font-size:12px!important;color:#0f8!important}.milk-viewer-save:hover:not(:disabled){background:#00ff964d!important}.milk-viewer-save:disabled{opacity:.6;cursor:wait}.milk-viewer-error{background:#c8000033;color:#ff8080;padding:6px 14px;font-size:12px}.milk-viewer-content{flex:1;overflow:auto;margin:0;padding:14px;font-family:Courier New,monospace;font-size:12px;color:#ccc;white-space:pre-wrap;word-break:break-word}.milk-viewer-textarea{border:none;resize:none;background:#0d0d18;outline:none;white-space:pre}.preset-arena-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.preset-arena-modal{background:#1a1a1a;border:2px solid #00ff00;border-radius:12px;padding:2rem;max-width:500px;width:90%;box-shadow:0 0 30px #00ff004d}.pam-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(0,255,0,.3)}.pam-header h2{margin:0;color:#0f0;font-size:1.5rem}.pam-close{background:none;border:none;color:#0f0;font-size:1.5rem;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;transition:all .2s}.pam-close:hover{transform:scale(1.2);text-shadow:0 0 10px rgba(0,255,0,.5)}.pam-content{display:flex;flex-direction:column;gap:1.5rem}.pam-desc{color:#aaa;margin:0;font-size:.95rem}.pam-models{display:flex;flex-direction:column;gap:1.2rem}.pam-backend-group{display:flex;flex-direction:column;gap:.8rem;padding:.8rem;background:#00ff0005;border:1px solid rgba(0,255,0,.15);border-radius:8px;transition:all .2s}.pam-backend-group.selected{background:#00ff0014;border-color:#00ff004d}.pam-model-check{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background:#00ff000d;border:2px solid rgba(0,255,0,.2);border-radius:6px;cursor:pointer;transition:all .2s}.pam-model-check:hover{background:#00ff001a;border-color:#0f06}.pam-model-check.selected{background:#0f03;border-color:#0f0;box-shadow:0 0 12px #00ff004d}.pam-model-check input[type=checkbox]{width:1.2rem;height:1.2rem;margin-top:.2rem;cursor:pointer;accent-color:#00ff00}.pam-model-info{display:flex;flex-direction:column;gap:.3rem}.pam-model-name{color:#0f0;font-weight:700;font-size:.95rem}.pam-model-desc{color:#888;font-size:.8rem}.pam-model-status{display:inline-block;margin-top:.5rem;padding:.3rem .6rem;background:#00ff001a;border:1px solid rgba(0,255,0,.3);border-radius:3px;color:#0f0;font-size:.75rem;font-weight:700;letter-spacing:.05em}.pam-submodels{display:flex;flex-direction:column;gap:.5rem;padding:.8rem;background:#0000004d;border-left:2px solid #00ff00;border-radius:4px;margin-left:.4rem}.pam-model-label{color:#0f0;font-size:.85rem;font-weight:700;display:block}.pam-model-select{background:#00000080;color:#0f0;border:1px solid rgba(0,255,0,.4);border-radius:4px;padding:.5rem;font-size:.9rem;font-family:monospace;cursor:pointer;transition:all .2s}.pam-model-select:hover{border-color:#0f0;background:#000000b3;box-shadow:0 0 8px #0f03}.pam-model-select:focus{outline:none;border-color:#0f0;box-shadow:0 0 10px #00ff004d}.pam-model-select option{background:#1a1a1a;color:#0f0}.pam-actions{display:flex;gap:1rem;padding-top:1rem;border-top:1px solid rgba(0,255,0,.2)}.pam-cancel,.pam-generate{flex:1;padding:.8rem 1rem;border:none;border-radius:6px;font-weight:700;cursor:pointer;font-size:.95rem;transition:all .2s}.pam-cancel{background:#f003;color:#f66;border:1px solid #ff6666}.pam-cancel:hover{background:#ff00004d;box-shadow:0 0 10px #ff00004d}.pam-generate{background:linear-gradient(135deg,#0f0,#0c0);color:#000;border:1px solid #00ff00}.pam-generate:hover:not(:disabled){box-shadow:0 0 15px #0f09;transform:translateY(-2px)}.pam-generate:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 600px){.preset-arena-modal{padding:1.5rem}.pam-header h2{font-size:1.2rem}.pam-model-check{padding:.75rem}.pam-actions{flex-direction:column}}*{margin:0;padding:0;box-sizing:border-box}html{background:#121016}body{font-family:IBM Plex Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#121016;color:#f1ecf5;min-height:100vh}#root{width:100%;height:100%}
