html,body{color:#f5f5f5;font-family:var(--font-body), system-ui, sans-serif;background:#000;margin:0;font-size:14px;line-height:1.5}body{min-height:100vh}:focus-visible{outline-offset:2px;outline:2px solid #fff}.is-hidden{display:none!important}.is-invalid{border-color:#ef5350!important}.is-error{color:#ef5350!important}.is-hidden.hint-pill,.is-hidden.toast,.is-hidden.drop-overlay{display:none!important}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hint{color:#737373;font-size:12.5px}.stack{flex-direction:column;gap:16px;display:flex}.row{align-items:center;gap:8px;display:flex}.status{color:#a3a3a3;margin:0;font-size:13px}.text-link-btn{color:#fff;font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-weight:500;text-decoration:underline}.text-link-btn:hover{color:#a3a3a3}.btn{color:#e5e5e5;height:34px;font:inherit;letter-spacing:-.01em;white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #2a2a2a;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-size:13px;font-weight:600;transition:background-color .12s,border-color .12s,color .12s;display:inline-flex}.btn:hover:not(:disabled){color:#fff;background:#141414;border-color:#525252}.btn:disabled{opacity:.35;cursor:not-allowed}.btn-orange{color:#000;background:#fff;border-color:#fff;font-weight:700}.btn-orange:hover:not(:disabled){color:#000;background:#d4d4d4;border-color:#d4d4d4}.btn-outline{color:#fff;border-color:#525252}.btn-ghost{color:#a3a3a3;border-color:#0000}.btn-ghost:hover:not(:disabled){background:#141414;border-color:#0000}.btn-sm{height:30px;padding:0 10px;font-size:12px;font-weight:600}.btn-lg{height:44px;padding:0 22px;font-size:14.5px;font-weight:700}.tag{color:#d4d4d4;letter-spacing:.01em;border:1px solid #2a2a2a;border-radius:6px;padding:3px 9px;font-size:12px;font-weight:600}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{color:#d4d4d4;font:inherit;cursor:pointer;background:0 0;border:1px solid #2a2a2a;border-radius:6px;padding:5px 10px;font-size:12px;font-weight:600;transition:background-color .12s,border-color .12s}.chip:hover{color:#fff;background:#1a1a1a;border-color:#525252}.tabs{border-bottom:1px solid #1f1f1f;gap:4px;margin-bottom:12px;display:flex}.tab-btn{color:#737373;font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:6px 12px;font-size:13px;font-weight:600}.tab-btn:hover{color:#fff}.tab-btn[aria-selected=true]{color:#fff;border-bottom-color:#fff}.field{flex-direction:column;gap:6px;display:flex}.field label{color:#e5e5e5;font-size:13px;font-weight:600}select,input[type=text],textarea{box-sizing:border-box;color:#fff;width:100%;height:38px;font:inherit;background:#050505;border:1px solid #2a2a2a;border-radius:8px;padding:0 12px;font-size:14px}textarea{height:auto;font-family:var(--font-mono), ui-monospace, monospace;resize:vertical;padding:8px 12px;font-size:12.5px}.main{box-sizing:border-box;flex-direction:column;flex:1;justify-content:center;width:100%;max-width:920px;margin:0 auto;padding:56px 24px;display:flex}.setup{transition:filter .24s}body.has-links-open .setup{filter:blur(10px);pointer-events:none;-webkit-user-select:none;user-select:none}.setup-head{margin-bottom:28px}.setup-head h1{font-family:var(--font-display), "Bricolage Grotesque", system-ui, sans-serif;letter-spacing:-.03em;color:#fff;margin:0 0 6px;font-size:32px;font-weight:800;line-height:1.1}.setup-head p{color:#a3a3a3;margin:0;font-size:15px;font-weight:500}.resume{background:#0a0a0a;border:1px solid #2a2a2a;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;padding:16px;display:flex}.resume strong{font-family:var(--font-display), "Bricolage Grotesque", system-ui, sans-serif;color:#fff;font-size:15px;font-weight:700;display:block}.setup-grid{background:#0a0a0a;border:1px solid #1f1f1f;border-radius:14px;grid-template-columns:1fr 1.1fr;display:grid;overflow:hidden}.panel{flex-direction:column;gap:20px;padding:28px;display:flex}.panel+.panel{border-left:1px solid #1f1f1f}.panel h2{font-family:var(--font-display), "Bricolage Grotesque", system-ui, sans-serif;letter-spacing:-.015em;color:#fff;margin:0;font-size:18px;font-weight:700}.dropzone{text-align:center;cursor:pointer;border:1px dashed #3a3a3a;border-radius:12px;flex-direction:column;align-items:center;gap:12px;padding:48px 24px;transition:border-color .12s,background-color .12s;display:flex}.dropzone:hover,.dropzone.is-dragover{background:#ffffff0a;border-color:#fff}.dropzone strong{font-family:var(--font-display), "Bricolage Grotesque", system-ui, sans-serif;letter-spacing:-.01em;color:#fff;font-size:16px;font-weight:700}.warn{color:#fde68a;background:#78350f33;border:1px solid #f59e0b4d;border-radius:8px;padding:12px;font-size:12px}.warn strong{color:#fff;font-weight:700;display:block}.loaded-head{align-items:flex-start;gap:12px;display:flex}.loaded-head>div:first-child{flex:1;min-width:0}.loaded-name{font-family:var(--font-display), "Bricolage Grotesque", system-ui, sans-serif;letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;color:#fff;margin:0;font-size:17px;font-weight:700;overflow:hidden}.tags{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.progress-meta{justify-content:space-between;font-size:12px;font-weight:600;display:flex}.progress{background:#1c1c1c;border-radius:999px;height:6px;overflow:hidden}.progress-bar{background:#fff;border-radius:999px;height:100%;transition:width .2s}.run-row{gap:10px;display:flex}.run-row .btn{flex:1}.tools-toggle{border-top:1px solid #1f1f1f;justify-content:space-between;align-items:center;gap:12px;padding-top:16px;display:flex}.tools{flex-direction:column;gap:16px;display:flex}.tools-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.files{border:1px solid #1f1f1f;border-radius:10px;overflow:hidden}.files-head{border-bottom:1px solid #1f1f1f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:600;display:flex}.composer{border-bottom:1px solid #1f1f1f;flex-direction:column;gap:12px;padding:14px;display:flex}.composer-actions{gap:8px;display:flex}.fs-list{max-height:190px;overflow-y:auto}.file-row{border-bottom:1px solid #1f1f1f;justify-content:space-between;align-items:center;gap:10px;padding:8px 14px;font-size:12.5px;display:flex}.file-row:last-child{border-bottom:0}.file-row-name{font-family:var(--font-mono), ui-monospace, monospace;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.file-row-right{color:#737373;font-family:var(--font-mono), ui-monospace, monospace;flex-shrink:0;align-items:center;gap:8px;font-size:11.5px;display:flex}.player-overlay{z-index:1000;-webkit-backdrop-filter:blur(24px);background:#000000d9;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.player-card{background:#0a0a0a;border:1px solid #262626;border-radius:16px;flex-direction:column;width:100%;max-width:1040px;max-height:96vh;display:flex;overflow:hidden;box-shadow:0 30px 80px -10px #000000f2}.player-card.is-1080p{max-width:min(96vw,1920px)}.player-bar{border-bottom:1px solid #1f1f1f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;display:flex}.player-title{min-width:0;font-family:var(--font-display), "Bricolage Grotesque", system-ui, sans-serif;color:#fff;align-items:center;gap:10px;font-size:15px;font-weight:700;display:flex}.live-dot{background:#34d399;border-radius:50%;flex-shrink:0;width:8px;height:8px;box-shadow:0 0 8px #34d399cc}.live-dot.is-paused{box-shadow:none;background:#737373}.bar-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.menu-wrap{position:relative}.more-menu{z-index:50;background:#0a0a0a;border:1px solid #2a2a2a;border-radius:10px;flex-direction:column;gap:2px;min-width:230px;padding:6px;display:none;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 16px 40px -8px #000000e6}.more-menu.is-open{display:flex}.more-menu .btn{border-color:#0000;justify-content:flex-start;width:100%;height:32px}.menu-label{color:#737373;letter-spacing:.06em;text-transform:uppercase;padding:8px 10px 4px;font-size:11px;font-weight:700}.screen-stage{background:#040404;flex:1;justify-content:center;align-items:stretch;min-height:480px;display:flex;position:relative;overflow:hidden}#v86-screen{cursor:pointer;outline:none;justify-content:center;align-items:center;max-width:100%;margin:0 auto;padding:16px;display:flex}#v86-screen div{color:#f0f0f0;font-family:var(--font-mono), ui-monospace, monospace;white-space:pre;background:#000;font-size:14px;line-height:16px}#v86-screen canvas{max-width:100%;max-height:64vh;image-rendering:pixelated;background:#000;border:1px solid #1f1f1f;width:auto!important;height:auto!important}.player-card.is-1080p #v86-screen{max-width:100%;padding:8px}.player-card.is-1080p #v86-screen canvas{aspect-ratio:16/9;object-fit:contain;width:100%!important;max-width:1920px!important;max-height:76vh!important}.hint-pill{z-index:30;pointer-events:none;background:#000000e6;border:1px solid #404040;border-radius:999px;padding:6px 14px;font-size:12px;transition:opacity .3s;position:absolute;top:16px;left:50%;transform:translate(-50%)}.drop-overlay{z-index:40;pointer-events:none;background:#000000d9;border:2px dashed #fff9;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;inset:0}.toast{z-index:30;background:#0a0a0af2;border:1px solid #2a2a2a;border-radius:12px;align-items:center;gap:10px;padding:8px 14px;font-size:12px;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0009}.logs{background:#020706;border-top:1px solid #1c2e28;flex-direction:column;max-height:320px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;display:flex}.logs-head{color:#34d399;background:#051410;border-bottom:1px solid #0f2c23;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:6px 12px;display:flex}.leds,.logs-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.led-label{color:#a3a3a3;align-items:center;gap:4px;font-size:10px;display:inline-flex}.led{background:#57534e;border-radius:50%;width:6px;height:6px;display:inline-block}.led-on{background:#34d399}.meter{color:#a3a3a3;border:1px solid #144339;border-radius:4px;padding:1px 6px;font-size:10px}.logs .btn{color:#a7f3d0;background:#0a231d;border-color:#0a231d;height:24px;padding:0 8px;font-size:11px}.logs .btn:hover:not(:disabled){background:#12382f;border-color:#12382f}.logs-body{color:#0f8;-webkit-user-select:text;user-select:text;min-height:140px;max-height:220px;padding:12px;overflow-y:auto}.footer{background:#0a0a0a;border-top:1px solid #1f1f1f;flex-direction:column;display:flex}.footer-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.quick-type{flex:1;gap:8px;min-width:280px;margin:0;display:flex}.quick-type select{width:auto;height:32px;font-size:12px}.quick-type input{height:32px;font-family:var(--font-mono), ui-monospace, monospace;background:#050505;flex:1;font-size:12.5px}.footer-status{color:#737373;font-family:var(--font-mono), ui-monospace, monospace;align-items:center;gap:12px;font-size:11.5px;display:flex}.status-btn{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;gap:12px;padding:0;display:flex}.status-btn:hover{color:#fff}.tools-panel{border-top:1px solid #1f1f1f;padding:0 14px 12px}.tools-panel .tabs{margin-top:10px}.exit-zone{z-index:9999;padding:12px 14px 28px 28px;display:none;position:fixed;top:0;right:0}.exit-btn{color:#fff;height:30px;font:inherit;opacity:0;cursor:pointer;background:#141414;border:1px solid #fff;border-radius:6px;padding:0 10px;font-size:12px;font-weight:500;transition:opacity .15s,transform .15s;transform:translateY(-4px)}.exit-zone:hover .exit-btn,.exit-zone.is-peek .exit-btn,.exit-btn:focus-visible{opacity:1;transform:none}body.is-special-open{background:#000;overflow:hidden}body.is-special-open .setup,body.is-special-open .player-bar,body.is-special-open .logs,body.is-special-open .footer{display:none!important}body.is-special-open .main{max-width:none;height:100vh;margin:0;padding:0}body.is-special-open .player-overlay{-webkit-backdrop-filter:none;backdrop-filter:none;background:#000;padding:0}body.is-special-open .player-card,body.is-special-open .screen-stage,body.is-special-open #v86-screen{width:100%;max-width:100%;height:100%;min-height:0;max-height:100%;box-shadow:none;background:#000;border:0;border-radius:0;margin:0;padding:0}body.is-special-open .player-overlay{position:fixed;inset:0}body.is-special-open .screen-stage{align-items:center}body.is-special-open #v86-screen canvas{object-fit:contain;border:0;max-width:100%;max-height:100%;width:100%!important;height:100%!important}body.is-special-open .exit-zone{display:block}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(20px);opacity:0;visibility:hidden;background:#000000bf;justify-content:center;align-items:center;padding:20px;transition:opacity .24s,visibility .24s;display:flex;position:fixed;inset:0}.modal-overlay.is-open{opacity:1;visibility:visible}.modal{background:#0a0a0a;border:1px solid #262626;border-radius:14px;width:100%;max-width:480px;max-height:90vh;padding:24px 28px;transition:transform .26s cubic-bezier(.16,1,.3,1);overflow-y:auto;transform:translateY(12px)scale(.96);box-shadow:0 24px 60px -12px #000000f2}.modal-overlay.is-open .modal{transform:none}.modal-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.modal h3{font-family:var(--font-display), "Bricolage Grotesque", system-ui, sans-serif;letter-spacing:-.015em;color:#fff;margin:0;font-size:20px;font-weight:700}.modal-sub{color:#a3a3a3;margin:4px 0 16px;font-size:14px}.source-list{border-top:1px solid #1f1f1f;flex-direction:column;display:flex}.source{color:#fff;border-top:1px solid #1f1f1f;border-radius:8px;padding:12px 8px;text-decoration:none;display:block}.source:first-child{border-top:0}.source:hover{background:#141414}.source strong{font-family:var(--font-display), "Bricolage Grotesque", system-ui, sans-serif;color:#fff;font-size:15px;font-weight:700;display:block}.source span{color:#a3a3a3;margin-top:2px;font-size:13px;display:block}.modal-foot{color:#a3a3a3;border-top:1px solid #1f1f1f;margin-top:8px;padding-top:16px}@media (max-width:760px){.setup-grid,.tools-grid{grid-template-columns:1fr}.panel+.panel{border-top:1px solid #1f1f1f;border-left:0}.setup-head h1{font-size:26px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
