@font-face{font-family:Orbitron;src:url('/fonts/orbitron.woff2') format('woff2');font-weight:400 900;font-display:swap}@font-face{font-family:Space Grotesk;src:url('/fonts/space-grotesk.woff2') format('woff2');font-weight:300 700;font-display:swap}
:root{color-scheme:dark;--gold:#fdcc0d;--blue:#32527b;--cyan:#00ffff;--copper:#b87333;--dim:#9ba9bd;--text:#edf1f6;--line:#32527b70;--cut:polygon(.65rem 0,100% 0,100% calc(100% - .65rem),calc(100% - .65rem) 100%,0 100%,0 .65rem);--display:Orbitron,monospace;--body:'Space Grotesk',Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:#050505;color:var(--text);font:clamp(1rem,1vw,1.08rem)/1.5 var(--body)}button,input,select{font:inherit}button{min-height:2.75rem;background:#152132aa;border:1px solid var(--line);color:var(--text);padding:.58rem .85rem;cursor:pointer;font-size:clamp(.875rem,.92vw,1rem);transition:background .18s,color .18s,border-color .18s;clip-path:var(--cut)}button:hover{border-color:var(--gold);background:#fdcc0d16}button[aria-pressed=true],button.active{color:var(--gold);border-color:var(--gold);background:#fdcc0d12}button:disabled{opacity:.42;cursor:not-allowed}button:focus-visible,select:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}button.gold{background:var(--gold);border-color:var(--gold);color:#050505;font-weight:600}button.gold:hover{background:#ffe256}button.text-button{border:0;background:transparent;padding:.2rem .35rem;color:var(--dim);min-height:2rem}button.text-button:hover{color:var(--gold)}button.icon-button{font-family:var(--display);padding:.4rem;width:2.75rem}h1,h2,p{margin:0}[hidden]{display:none!important}#visual{position:fixed;inset:0;width:100%;height:100%;touch-action:none}#interface{position:relative;min-height:100svh;padding:clamp(.8rem,1.6vw,1.8rem);pointer-events:none;display:flex;flex-direction:column;gap:clamp(.7rem,1.2vh,1.2rem);background:linear-gradient(180deg,#05080c88 0,transparent 22%,transparent 58%,#05080cd9 84%)}.topbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;pointer-events:auto}.brand{display:flex;align-items:center;gap:clamp(.6rem,1vw,1.1rem)}.brand-code{font:900 clamp(1.5rem,2.5vw,2.4rem)/1 var(--display);letter-spacing:-.08em}.brand-code>span{color:var(--gold);margin-left:.1rem}.brand h1{font:600 clamp(1.15rem,1.5vw,1.65rem)/1.2 var(--display);letter-spacing:.25em}.brand p{font:clamp(.75rem,.7vw,.8rem)/1.5 var(--body);letter-spacing:.12em;color:var(--dim);margin-top:.2rem}.version{align-self:flex-start;color:var(--gold);font:.75rem var(--display);border:1px solid #fdcc0d55;padding:.2rem .4rem}.global{display:flex;align-items:center;gap:.5rem}#fps{font:clamp(.75rem,.8vw,.875rem) var(--display);color:var(--cyan);min-width:5.8rem;text-align:right;margin-right:.8rem}.record>span{color:var(--copper);margin-right:.3rem}.record.recording{border-color:#fd6b40;color:#fd6b40}.workspace{display:grid;grid-template-columns:minmax(0,1fr) clamp(17rem,24vw,21rem);gap:1.3rem;flex:1;min-height:clamp(32rem,64svh,55rem)}.viewport{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-width:0}.scene-heading{padding:clamp(1.3rem,4vw,4.5rem) clamp(.5rem,2.5vw,3rem);text-shadow:0 2px 15px #000}.eyebrow{font:clamp(.75rem,.8vw,.85rem) var(--display);letter-spacing:.1em;color:#b9c5d7;display:flex;align-items:center;gap:.7rem}.live-dot{width:.4rem;height:.4rem;background:var(--gold);box-shadow:0 0 8px #fdcc0d77}.scene-line{display:flex;gap:1rem;align-items:baseline;margin:.7rem 0}.scene-line>span{font:clamp(.8rem,1vw,1rem) var(--display);color:var(--gold)}.scene-line h2{font:400 clamp(1.7rem,3vw,3.7rem)/1.2 var(--display);letter-spacing:-.045em}.scene-heading>p:last-child{color:#a7b6cc;font-size:clamp(.875rem,1.1vw,1.1rem);max-width:34rem}.frame-guides{position:absolute;inset:35% 8% 18%;display:grid;grid-template-columns:1fr 1fr;align-content:space-between;font:1.6rem monospace;color:#7a9cc044}.frame-guides span:nth-child(even){text-align:right}.viewport-bottom{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.8rem .2rem}.viewport-bottom>span{font:.75rem var(--body);color:var(--dim);letter-spacing:.08em}.mini-controls{display:flex;gap:.4rem;pointer-events:auto}.glass{background:#10161cc2;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--line);clip-path:var(--cut)}.rack{pointer-events:auto;padding:clamp(.9rem,1.4vw,1.45rem);align-self:start}.rack-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:.7rem}.rack-title>span{font:.8rem var(--display);letter-spacing:.08em}.rack-title button{font-size:.75rem}.tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);margin-bottom:1.1rem}.tabs button{background:transparent;border:0;border-bottom:2px solid transparent;clip-path:none;padding:.65rem .5rem}.tabs button[aria-selected=true]{color:var(--gold);border-bottom-color:var(--gold)}.control-caption{display:flex;align-items:center;justify-content:space-between;gap:.5rem;color:#a2b1c7;font:.75rem var(--body);letter-spacing:.08em;margin:1.1rem 0 .8rem}.control-caption span{color:var(--gold);letter-spacing:0}.slider-label{display:flex;flex-direction:column;gap:.3rem;margin:.8rem 0 1rem;font-size:clamp(.875rem,1vw,1rem)}.slider-label>span{display:flex;justify-content:space-between}.slider-label output{color:var(--gold);font:.85rem var(--display)}input[type=range]{width:100%;accent-color:var(--gold);cursor:pointer;height:1.2rem;margin:0}select,input[type=number]{background:#080d14;color:#c6d5e7;border:1px solid var(--line);padding:.45rem .6rem;min-height:2.5rem;font-size:.875rem;max-width:100%}.select-row{display:flex;align-items:center;justify-content:space-between;font-size:.875rem;gap:.8rem;margin:1rem 0}.palettes{display:flex;gap:.65rem}.palettes button{min-width:2.5rem;min-height:2.5rem;padding:.25rem;border-radius:50%;clip-path:none;background:transparent}.palettes button>span{display:block;border-radius:50%;width:1.9rem;height:1.9rem}.palettes button[aria-pressed=true]{outline:1px solid var(--gold);outline-offset:3px}.audio-meter{border-top:1px solid var(--line);padding-top:1rem;display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-top:1rem}.audio-meter span{font:.75rem var(--body);color:var(--dim)}meter{display:block;width:100%;height:.45rem;margin-top:.4rem}meter::-webkit-meter-bar{background:#32527b44;border:0}meter::-webkit-meter-optimum-value{background:var(--cyan)}meter::-moz-meter-bar{background:var(--cyan)}.fx-buttons{display:flex;gap:.6rem;margin:1rem 0}.fx-buttons button{flex:1}.full{width:100%}kbd{font:.75rem var(--display);border:1px solid currentColor;padding:.1rem .35rem;opacity:.65;margin-left:.4rem}.hint{color:var(--dim);font-size:.8rem;line-height:1.6;margin-top:.8rem}.xy-pad{position:relative;width:100%;height:clamp(9rem,18vh,13rem);touch-action:none;border:1px solid #32527b;background:linear-gradient(90deg,transparent calc(50% - 1px),#32527b66 50%,transparent calc(50% + 1px)),linear-gradient(0deg,transparent calc(50% - 1px),#32527b66 50%,transparent calc(50% + 1px)),#07121e;cursor:crosshair;overflow:hidden}.xy-pad:focus-visible{outline-offset:0}.xy-axis{position:absolute;color:#8499b6;font-size:.75rem;pointer-events:none;letter-spacing:.1em}.xy-axis.x{bottom:.4rem;right:.5rem}.xy-axis.y{top:.5rem;left:.5rem}.xy-pad #xyCursor{position:absolute;left:50%;top:50%;width:.9rem;height:.9rem;border:2px solid var(--gold);background:#fdcc0d33;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 20px #fdcc0d44;pointer-events:none}.xy-readout{display:flex;justify-content:space-between;align-items:center;font:.75rem var(--body);color:var(--cyan);margin:.2rem 0 .8rem}.tempo{display:flex;align-items:center;gap:.6rem}.tempo button{flex:1}.tempo label{font-size:.75rem;color:var(--dim);display:flex;align-items:center;gap:.5rem}.tempo input{width:5rem}.toggle-row{display:flex;justify-content:space-between;align-items:center;font-size:.875rem;margin-top:1rem}input[type=checkbox]{width:1.2rem;height:1.2rem;accent-color:var(--gold)}.saved-presets{display:flex;flex-wrap:wrap;gap:.4rem}.saved-presets button{flex:1;min-width:4rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.8rem}.saved-presets:empty:after{content:'Todavía no hay memorias guardadas.';color:var(--dim);font-size:.8rem}.preset-io{display:flex;gap:.5rem;margin-top:.7rem}.preset-io button{font-size:.8rem;flex:1}.universes{display:flex;gap:1.1rem;align-items:center;pointer-events:auto;min-width:0}.library-label{display:flex;flex-direction:column;gap:.5rem;font:.75rem var(--display);color:var(--dim);writing-mode:vertical-rl;transform:rotate(180deg);align-items:center}.library-label span:last-child{color:var(--gold)}.preset-strip{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:.55rem;min-width:0;flex:1}.scene-card{position:relative;padding:0;overflow:hidden;min-height:6.9rem;text-align:left;background:#0b131e;border-color:#32527b66}.scene-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.7;transition:opacity .3s,transform .5s}.scene-card:hover img,.scene-card[aria-pressed=true] img{opacity:1;transform:scale(1.08)}.scene-card[aria-pressed=true]{border-color:var(--gold);box-shadow:inset 0 -2px var(--gold)}.scene-card .card-number{position:absolute;top:.4rem;left:.55rem;font:.75rem var(--display);color:#ced6e4}.scene-card .card-title{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#050505f5);padding:1.7rem .65rem .65rem;font-size:clamp(.8rem,.95vw,1rem);line-height:1.25}.scene-card[aria-pressed=true] .card-number{color:var(--gold)}.transport{display:flex;justify-content:space-between;gap:1.2rem;align-items:center;padding:.8rem 1rem;pointer-events:auto}.track{display:flex;align-items:center;gap:.8rem;min-width:0;flex:1}.play-button{width:2.9rem;min-width:2.9rem;height:2.9rem;color:var(--gold)}.track>div{min-width:0}.track strong{display:block;font-size:1rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:20rem}.track small{display:block;font-size:.75rem;color:var(--dim)}#scope{width:clamp(7rem,16vw,20rem);height:2.7rem;opacity:.8}.source-buttons{display:flex;gap:.4rem}.source-buttons button{white-space:nowrap}.bottom-note{display:flex;justify-content:space-between;color:#96a1b1;font-size:.75rem;letter-spacing:.08em}.bottom-note span:last-child{letter-spacing:0}.stage #interface{display:none}#exitStage{position:fixed;top:1rem;right:1rem;z-index:10;background:#0b131eb8}#recordBadge{position:fixed;left:1rem;bottom:1rem;color:#ff9b69;padding:.5rem .8rem;background:#070b11d9;border:1px solid #b8733355;font:.85rem var(--display);pointer-events:none;z-index:20}#engineError{position:fixed;inset:40% 20%;text-align:center;z-index:15;background:#111923;padding:2rem}dialog{color:var(--text);background:#101821;border:1px solid var(--blue);max-width:min(36rem,92vw);padding:clamp(1.2rem,3vw,2.2rem);line-height:1.7}dialog::backdrop{background:#000a;backdrop-filter:blur(6px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:1rem}.dialog-head h2{font:1.3rem var(--display)}dialog p{margin:1rem 0;color:#b5c4d8}dialog dl{display:grid;grid-template-columns:6rem 1fr;gap:.7rem;font-size:.875rem}dialog dt{color:var(--gold)}dialog dd{margin:0}.help-actions{display:flex;gap:.6rem}dialog small{display:block;margin-top:1rem;color:var(--dim);font-size:.75rem}#toast{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%) translateY(1rem);opacity:0;pointer-events:none;background:#142133f5;color:#e7edf6;border:1px solid var(--blue);padding:.85rem 1.2rem;max-width:min(35rem,90vw);font-size:.9rem;z-index:50;transition:.2s;line-height:1.6}#toast.show{transform:translateX(-50%) translateY(0);opacity:1}
@media(max-width:1100px){.brand p{max-width:15rem;font-size:.75rem}.desktop-only{display:none}.workspace{grid-template-columns:minmax(0,1fr) 17rem;gap:.7rem}.viewport-bottom{flex-direction:column;align-items:flex-start}.preset-strip{grid-template-columns:repeat(8,minmax(7rem,1fr));overflow-x:auto;padding-bottom:.5rem;scrollbar-width:thin}.library-label{display:none}#scope{display:none}.scene-heading{padding:1.7rem .5rem}.scene-line h2{font-size:clamp(1.6rem,3.2vw,3rem)}#fps{margin-right:.2rem;min-width:4.5rem}}@media(max-width:720px){#interface{padding:max(.75rem,env(safe-area-inset-top)) .75rem max(.75rem,env(safe-area-inset-bottom));gap:.7rem}.topbar{align-items:flex-start}.brand-code{font-size:1.4rem}.brand h1{font-size:1rem}.brand p,.version,#fps,.global #fullscreen>span{display:none}.global{gap:.3rem}.global button{font-size:.8rem;padding:.5rem .6rem;min-height:2.6rem}.global .icon-button{width:2rem}.workspace{display:flex;flex-direction:column;gap:.8rem;min-height:auto}.viewport{min-height:52svh}.scene-heading{padding:1.7rem .25rem}.eyebrow{font-size:.75rem}.scene-line h2{font-size:clamp(1.6rem,6.5vw,2.5rem)}.scene-heading>p:last-child{font-size:.875rem;max-width:85%}.viewport-bottom{flex-direction:row;flex-wrap:wrap;gap:.5rem}.viewport-bottom>span{font-size:.75rem}.mini-controls{width:100%}.mini-controls button{flex:1;font-size:.8rem}.rack{width:100%;padding:1rem}.rack-title{margin-bottom:.3rem}.tabs{margin-bottom:.5rem}.rack [role=tabpanel]{display:grid;grid-template-columns:1fr 1fr;gap:0 .9rem}#shapeControls,#fxControls{display:contents}.rack .control-caption,.rack .palettes,.rack .select-row,.rack .hint,.rack .full,.rack .fx-buttons,.rack .xy-pad,.rack .xy-readout,.rack .tempo,.rack .toggle-row,.rack .saved-presets,.rack .preset-io{grid-column:1/-1}.slider-label{margin:.6rem 0}.control-caption{margin:.6rem 0}.audio-meter{margin-top:.5rem;padding-top:.6rem}.universes{order:1}.workspace{order:0}.transport{order:2;flex-wrap:wrap;gap:.65rem;padding:.75rem}.bottom-note{order:3;font-size:.75rem;flex-wrap:wrap;gap:.4rem}.transport .track{min-width:70%;flex:1}.source-buttons{width:100%;order:2}.source-buttons button{flex:1}.track strong{max-width:15rem}.preset-strip{grid-template-columns:repeat(8,8.5rem);gap:.5rem}.scene-card{min-height:6.5rem}.xy-pad{height:11rem}.brand{gap:.45rem}.brand-code>span{font-size:1rem}.record{white-space:nowrap}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
/* PRISMA 03: an audio patch rack alongside an unobstructed stage. */
.workspace{grid-template-columns:minmax(0,1fr) clamp(23rem,30vw,29rem);min-height:clamp(34rem,67svh,55rem)}.rack{padding:1rem;min-width:0}.tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:.12rem;margin-bottom:.75rem}.tabs button{min-height:2.65rem;font-size:.875rem;padding:.5rem}.rack [role=tabpanel]{height:clamp(24rem,48svh,42rem);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#32527b #0b1018;padding-right:.45rem;padding-bottom:.6rem}.audio-meter{margin-top:.5rem;padding-top:.55rem}.panel-intro{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.panel-intro .eyebrow{font-size:.75rem;color:var(--gold)}.beat-indicator{--beat:0;font-size:.75rem;color:var(--cyan);display:flex;gap:.4rem;align-items:center;text-shadow:0 0 calc(var(--beat)*18px) var(--cyan)}.beat-indicator meter{width:3rem;margin:0}.profile-buttons,.fx-presets,.builtin-models{display:flex;gap:.35rem;margin:.8rem 0}.profile-buttons button,.fx-presets button,.builtin-models button{flex:1;padding:.4rem;font-size:.875rem}details{border:1px solid #32527b55;margin:.8rem 0;background:#080f1699;padding:.65rem .7rem}summary{cursor:pointer;font-size:.875rem;line-height:1.5;color:#d5e4f3;min-height:1.7rem}summary::marker{color:var(--gold)}details[open]>summary{margin-bottom:.65rem}summary span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;color:var(--dim);margin-top:.3rem;max-width:100%}.matrix-hint{font-size:.75rem;margin-bottom:.5rem}.matrix-head,.matrix-row{display:grid;grid-template-columns:minmax(5.2rem,1.35fr) repeat(4,minmax(2.4rem,1fr));gap:.3rem;align-items:center}.matrix-head{position:sticky;top:0;background:#101820;z-index:1;padding:.6rem 0;font-size:.75rem;color:var(--cyan)}.matrix-head>span:not(:first-child){text-align:center}.matrix-row{padding:.55rem 0;border-bottom:1px solid #32527b30}.route-caption{font-size:.875rem;line-height:1.25;color:#cbd8e9;padding-right:.25rem}.route-caption meter{width:75%;height:3px;margin-top:.35rem;opacity:.7}.matrix-cell{display:flex;flex-direction:column;align-items:center;gap:.1rem;min-width:0}.matrix-cell input{height:1.35rem;accent-color:var(--cyan)}.matrix-cell:nth-child(2) input{accent-color:var(--gold)}.matrix-cell:nth-child(3) input{accent-color:#80a5dc}.matrix-cell:nth-child(5) input{accent-color:#ed9969}.matrix-cell output{font-size:.75rem;font-variant-numeric:tabular-nums;color:#91a6c0}.asset-actions{display:flex;gap:.35rem}.asset-actions button{flex:1;padding:.5rem;font-size:.875rem}.asset-actions button:last-child{flex:0;min-width:2.5rem}.asset-drop{border:1px dashed #32527b88;padding:.7rem;display:flex;align-items:center;gap:.7rem;margin-bottom:.65rem;min-height:4.5rem}.asset-drop span{font-size:.8rem;color:var(--dim)}.asset-drop img{width:5rem;height:3.75rem;object-fit:contain;flex-shrink:0}.asset-drop.drag-over{border-color:var(--cyan);background:#00ffff10}.link-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.4rem;margin-top:.7rem}.link-form label{font-size:.8rem;color:var(--dim);grid-column:1/-1}.link-form input,.color-row input[type=text]{min-width:0;width:100%;background:#070c13;border:1px solid var(--blue);color:var(--text);padding:.5rem;font-size:.875rem}.link-form button{padding:.5rem}.color-row{display:grid;grid-template-columns:1fr 3rem 6.4rem;gap:.55rem;align-items:center;margin:1rem 0}.color-row label{font-size:.875rem}.color-row input[type=color]{width:3rem;height:2.75rem;background:transparent;border:1px solid var(--blue);padding:.2rem;cursor:pointer}.color-row input[type=text]{font-family:monospace;text-transform:uppercase;letter-spacing:.02em}.rack .hint{font-size:.8rem;line-height:1.6}.scene-heading{padding-top:2rem}.scene-line h2{font-size:clamp(1.7rem,2.8vw,3.3rem)}.scene-card{min-height:6rem}#scope{width:clamp(6rem,13vw,15rem)}
@media(min-width:1500px){.rack [role=tabpanel]{height:50svh}.scene-heading{padding-top:3rem}}
@media(max-width:1100px) and (min-width:721px){.workspace{grid-template-columns:minmax(0,1fr) 23rem}.scene-line h2{font-size:1.8rem}.scene-heading>p:last-child{max-width:22rem}.topbar .brand p{max-width:12rem}.global{gap:.3rem}.global button{padding:.5rem .6rem}}
@media(max-width:850px) and (min-width:721px){.scene-heading>p:last-child{display:none}.scene-line h2{font-size:1.4rem}.scene-line{gap:.5rem}.eyebrow{font-size:.75rem}.global #capture{display:none}}
@media(max-width:720px){.workspace{display:flex;min-height:auto}.rack{padding:.85rem}.rack [role=tabpanel]{display:block;height:31rem;max-height:65svh;padding-right:.35rem}.viewport{min-height:50svh}.rack .slider-label{display:flex;margin:.7rem 0}.matrix-head,.matrix-row{grid-template-columns:minmax(5.5rem,1.35fr) repeat(4,minmax(2.6rem,1fr));gap:.25rem}.route-caption{font-size:.875rem}.tabs{gap:0}.tabs button{font-size:.875rem}.scene-heading{padding-top:1.3rem}.scene-line h2{font-size:clamp(1.6rem,6.5vw,2.5rem)}.color-row{grid-template-columns:1fr 3rem 6.4rem}.topbar .brand p{display:none}}
@media(max-width:365px){.matrix-head,.matrix-row{grid-template-columns:minmax(4.9rem,1.3fr) repeat(4,minmax(2.05rem,1fr));gap:.15rem}.matrix-head{font-size:.75rem}.rack{padding:.65rem}.global #help{display:none}}
