:root{--bg-primary: #070a13;--bg-secondary: #0d111d;--color-primary: #00f2fe;--color-secondary: #8a2be2;--color-accent: #0088ff;--texto: #e8ecf4;--texto-tenue: #8d97ad;--font-sans: "Outfit", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;background:var(--bg-primary);color:var(--texto);font-family:var(--font-sans);overflow:hidden}.hud{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;padding:1.5rem;z-index:10}.hud>*{pointer-events:none}.hud button,.hud a{pointer-events:auto}.hud__marca{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--color-primary);opacity:.8;animation:subir .7s ease .2s both}.hud__marca em{display:block;font-style:normal;font-size:.55rem;letter-spacing:.42em;margin-top:5px;color:var(--texto-tenue)}.hud__centro{display:flex;align-items:flex-end;justify-content:center;flex:1;padding-bottom:2vh}.hud__pie{font-family:var(--font-mono);font-size:.7rem;color:var(--texto-tenue)}@keyframes subir{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.portal{display:flex;flex-direction:column;align-items:center;gap:clamp(12px,2.4vh,20px);animation:subir .8s ease 1.6s both}.portal__lead{margin:0;font-size:.92rem;font-weight:600;text-align:center;padding:7px 18px;border-radius:20px;background:#05081099;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.portal__opciones{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;max-width:660px}.portal__carta{display:flex;flex-direction:column;gap:5px;width:270px;padding:16px 18px;text-align:left;text-decoration:none;color:inherit;font:inherit;cursor:pointer;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#0d111db8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.portal__carta:hover,.portal__carta:focus-visible{transform:translateY(-3px);outline:none}.portal__carta--principal:hover,.portal__carta--principal:focus-visible{border-color:var(--color-primary);box-shadow:0 0 24px #00f2fe38}.portal__carta--secundaria:hover,.portal__carta--secundaria:focus-visible{border-color:var(--color-secondary);box-shadow:0 0 24px #8a2be233}.portal__kicker{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--color-primary)}.portal__carta--secundaria .portal__kicker{color:var(--color-secondary)}.portal__titulo{font-weight:700;font-size:1rem}.portal__desc{font-size:.78rem;line-height:1.45;color:var(--texto-tenue)}@media (max-width: 640px){.portal__carta{width:min(88vw,300px);padding:13px 15px}}@media (prefers-reduced-motion: reduce){.hud__marca,.portal{animation:none}}.sin-webgl{height:100%;display:grid;place-content:center;gap:1rem;text-align:center;padding:2rem}.sin-webgl a{color:var(--color-primary);font-family:var(--font-mono)}.riel{position:fixed;right:1.25rem;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:6px;animation:subir .6s ease both}.riel__lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.riel__parada{display:flex;align-items:center;gap:9px;width:100%;padding:6px 10px;font:inherit;color:var(--texto-tenue);background:transparent;border:0;border-right:2px solid transparent;border-radius:6px 0 0 6px;cursor:pointer;transition:color .2s ease,border-color .2s ease,background .2s ease}.riel__parada:hover,.riel__parada:focus-visible{color:var(--texto);background:#0d111db3;outline:none}.riel__parada--activa{color:var(--texto);border-right-color:var(--acento);background:#0d111dcc}.riel__num{font-family:var(--font-mono);font-size:.6rem;color:var(--acento)}.riel__etiqueta{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.12em}.riel__pista{margin:4px 0 0;font-family:var(--font-mono);font-size:.55rem;color:var(--texto-tenue);opacity:.7;text-align:right}@media (max-width: 720px){.riel{right:0;left:0;top:auto;bottom:2.6rem;transform:none;padding:0 .75rem}.riel__lista{flex-direction:row;overflow-x:auto;gap:4px;padding-bottom:4px;scrollbar-width:none}.riel__lista::-webkit-scrollbar{display:none}.riel__parada{flex-direction:column;gap:2px;width:auto;white-space:nowrap;border-right:0;border-bottom:2px solid transparent;border-radius:6px 6px 0 0}.riel__parada--activa{border-bottom-color:var(--acento)}.riel__pista{text-align:center}.hud--laboratorio .hud__pie{display:none}}.marca{display:flex;flex-direction:column;gap:3px;width:230px;padding:12px 14px;font:inherit;text-align:left;color:var(--texto);background:#050810b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid color-mix(in srgb,var(--acento) 35%,transparent);border-radius:12px;cursor:pointer;transition:border-color .25s ease,transform .25s ease}.marca:hover,.marca:focus-visible,.marca--activa{border-color:var(--acento);transform:translateY(-2px);outline:none}.marca__num{font-family:var(--font-mono);font-size:.58rem;letter-spacing:.16em;color:var(--acento)}.marca__nombre{font-weight:600;font-size:.86rem}.marca__estado{font-family:var(--font-mono);font-size:.55rem;color:var(--texto-tenue)}@media (prefers-reduced-motion: reduce){.riel{animation:none}.marca:hover,.marca--activa{transform:none}}.diorama-titulo{width:420px;text-align:center;pointer-events:none;padding:14px 22px 16px;border-radius:18px;background:radial-gradient(ellipse at center,#050814d1,#0508149e 55%,#05081400);text-shadow:0 1px 10px rgba(0,0,0,.85)}.diorama-titulo__kicker{display:block;font-family:var(--font-mono);font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--color-primary)}.diorama-titulo h2{margin:8px 0 6px;font-size:1.6rem;font-weight:700;line-height:1.15}.diorama-titulo h2 em{font-style:normal;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.diorama-titulo p{margin:0 auto;max-width:380px;font-size:.8rem;line-height:1.5;color:var(--texto-tenue)}.agente{width:200px;display:flex;flex-direction:column;align-items:center;gap:6px}.agente__nombre{font:inherit;font-weight:700;font-size:.85rem;color:var(--texto);padding:5px 12px;border-radius:999px;border:1px solid color-mix(in srgb,var(--acento) 40%,transparent);background:#050810c7;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;white-space:nowrap;transition:border-color .2s ease,box-shadow .2s ease}.agente__nombre:hover,.agente__nombre:focus-visible,.agente--abierto .agente__nombre{border-color:var(--acento);box-shadow:0 0 18px color-mix(in srgb,var(--acento) 28%,transparent);outline:none}.agente__detalle{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .3s ease,opacity .25s ease}.agente--abierto .agente__detalle{grid-template-rows:1fr;opacity:1}.agente__detalle-interior{min-height:0;overflow:hidden}.agente__rol{margin:0;padding:9px 12px;font-size:.72rem;line-height:1.45;text-align:center;color:var(--texto-tenue);border-radius:10px;background:#050810cc;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.agente__accion{margin-top:7px;width:100%;padding:8px 12px;font:inherit;font-weight:700;font-size:.74rem;color:#070a13;border:0;border-radius:999px;cursor:pointer;background:linear-gradient(135deg,var(--acento),var(--acento2));transition:transform .2s ease,filter .2s ease}.agente__accion:hover,.agente__accion:focus-visible{transform:translateY(-1px);filter:brightness(1.1);outline:none}@media (prefers-reduced-motion: reduce){.agente__detalle{transition:none}.agente__accion:hover{transform:none}}.hud--editor{padding-right:340px}.ed{position:fixed;top:0;right:0;bottom:0;width:320px;z-index:40;display:flex;flex-direction:column;background:#070a13f0;border-left:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:.74rem}.ed__cabecera{padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.1)}.ed__cabecera strong{display:block;font-size:.85rem}.ed__cabecera span{color:var(--texto-tenue);font-size:.66rem}.ed__cuerpo{flex:1;overflow-y:auto;padding:10px 14px 16px}.ed h3{margin:14px 0 7px;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--color-primary);display:flex;justify-content:space-between;align-items:center}.ed__lista{display:flex;flex-direction:column;gap:1px}.ed__item{all:unset;cursor:pointer;padding:5px 8px;border-radius:5px;color:var(--texto-tenue);border-left:2px solid transparent}.ed__item:hover{background:#ffffff0f;color:var(--texto)}.ed__item--tocada{color:var(--texto)}.ed__item--tocada:after{content:" ·";color:var(--color-primary)}.ed__item--sel{background:#00f2fe1f;border-left-color:var(--color-primary);color:var(--texto)}.ed__vacio{margin:0;color:var(--texto-tenue);font-size:.68rem;line-height:1.5}.ed__nota{margin:0 0 8px;color:var(--texto-tenue);font-size:.66rem;line-height:1.45}.ed__detalle{margin-top:14px;padding-top:10px;border-top:1px solid rgba(255,255,255,.12)}.ed__campo{display:flex;align-items:center;gap:8px;margin-bottom:6px}.ed__campo>span{width:58px;color:var(--texto-tenue)}.ed__campo input[type=text],.ed__campo select{flex:1;background:#ffffff12;border:1px solid rgba(255,255,255,.12);border-radius:5px;color:var(--texto);font:inherit;padding:4px 6px}.ed__campo input[type=color]{width:42px;height:24px;border:0;background:none}.ed__campo input[type=range]{flex:1}.ed__grupo{margin:10px 0}.ed__titulo{display:block;margin-bottom:4px;font-family:var(--font-mono);font-size:.6rem;color:var(--texto-tenue)}.ed__eje{display:flex;align-items:center;gap:6px;margin-bottom:3px}.ed__eje>span{width:12px;color:var(--color-secondary);font-family:var(--font-mono)}.ed__eje input[type=range]{flex:1}.ed__eje input[type=number]{width:62px;background:#ffffff12;border:1px solid rgba(255,255,255,.12);border-radius:5px;color:var(--texto);font:inherit;padding:3px 5px}.ed__acciones{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}.ed button:not(.ed__item){cursor:pointer;font:inherit;padding:6px 10px;border-radius:6px;border:1px solid rgba(255,255,255,.16);background:#ffffff12;color:var(--texto)}.ed button:not(.ed__item):hover{border-color:var(--color-primary)}.ed__mini{padding:2px 7px!important;font-size:.64rem!important}.ed__peligro:hover{border-color:#ff6b6b!important;color:#ff9d9d}.ed__principal{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary))!important;color:#070a13!important;font-weight:700;border:0!important}.ed__pie{padding:10px 14px;border-top:1px solid rgba(255,255,255,.1);display:flex;gap:6px;flex-wrap:wrap;align-items:center}.ed__aviso{width:100%;color:var(--color-primary);font-size:.66rem}@media (max-width: 900px){.ed{width:100%;top:auto;height:52vh;border-left:0;border-top:1px solid rgba(255,255,255,.12)}.hud--editor{padding-right:1.5rem}}.ee-subida{height:100%;display:grid;place-content:center;padding:2rem}.ee-subida__caja{width:min(90vw,460px);display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;padding:2.2rem 2rem;border:1px dashed rgba(255,255,255,.18);border-radius:16px;background:#0d111d8c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.ee-subida__caja h1{margin:0;font-size:1.15rem}.ee-subida__caja p{margin:0;font-size:.8rem;line-height:1.5;color:var(--texto-tenue)}.ee-subida__caja code{font-family:var(--font-mono);font-size:.78em;color:var(--color-primary)}.ee-subida__boton{cursor:pointer;font-weight:700;font-size:.82rem;padding:9px 20px;border-radius:999px;color:#070a13;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));transition:transform .2s ease,filter .2s ease}.ee-subida__boton:hover{transform:translateY(-1px);filter:brightness(1.08)}.ee-subida__nota{font-size:.68rem!important}.ee-subida__error{width:100%;margin:0;padding:10px 12px;border-radius:8px;background:#ff6b6b1f;border:1px solid rgba(255,107,107,.4);color:#ff9d9d;font-family:var(--font-mono);font-size:.68rem;text-align:left;white-space:pre-wrap;max-height:30vh;overflow-y:auto}.ee-error-flotante{position:fixed;left:1.25rem;bottom:1.25rem;z-index:45;max-width:min(70vw,480px);padding:10px 14px;border-radius:10px;background:#ff6b6b24;border:1px solid rgba(255,107,107,.45);color:#ff9d9d;font-family:var(--font-mono);font-size:.7rem;line-height:1.4}.ee-error-flotante button{all:unset;cursor:pointer;float:right;margin-left:10px;font-size:.9rem}@media (max-width: 900px){.ee-error-flotante{right:1.25rem;left:1.25rem;max-width:none}}
