:root{--fondo: #06060d;--texto: #ece8f4;--tenue: #9b95ad;--vidrio: rgba(18, 16, 30, .55);--borde: rgba(255, 255, 255, .08);--acento: #ffb46a;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--fondo);color:var(--texto);font:13px/1.3 Inter,system-ui,sans-serif;-webkit-user-select:none;user-select:none}#lienzo{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;display:block;touch-action:none;cursor:none}#anillo{position:fixed;left:0;top:0;border-radius:50%;border:1px solid rgba(255,255,255,.55);box-shadow:0 0 0 1px #00000059;pointer-events:none;opacity:0;transition:opacity .15s}.vidrio{background:var(--vidrio);border:1px solid var(--borde);border-radius:16px;backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%)}.barra{position:fixed;top:max(12px,env(safe-area-inset-top));left:16px;right:16px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;pointer-events:none}.barra>*{pointer-events:auto}.marca{display:flex;flex-direction:column;padding:2px 4px;text-shadow:0 1px 12px rgba(0,0,0,.6)}.logo{font-family:Fraunces,Georgia,serif;font-weight:300;font-size:28px;letter-spacing:.02em;background:linear-gradient(90deg,#ffd9a0,#ff8a4c 55%,#ff5f7a);-webkit-background-clip:text;background-clip:text;color:transparent}.sub{color:var(--tenue);font-size:11px;letter-spacing:.18em;text-transform:uppercase}#acciones{display:flex;align-items:center;gap:2px;padding:4px}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}button.icono{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;color:var(--tenue);transition:background .15s,color .15s}button.icono svg{width:18px;height:18px}button.icono:hover{background:#ffffff12;color:var(--texto)}button.icono.activo{color:var(--acento)}.rango{display:flex;align-items:center;gap:8px;padding:0 10px 0 8px;color:var(--tenue);font-size:12px}.rango input{width:90px;accent-color:var(--acento)}#paleta{position:fixed;left:50%;transform:translate(-50%);bottom:max(14px,env(safe-area-inset-bottom));max-width:calc(100vw - 32px);display:flex;gap:2px;padding:6px;overflow-x:auto;scrollbar-width:none}#paleta::-webkit-scrollbar{display:none}.chip{flex:none;display:flex;flex-direction:column;align-items:center;gap:6px;width:62px;padding:8px 2px 6px;border-radius:12px;color:var(--tenue);font-size:11px;transition:background .15s,color .15s}.chip i{width:22px;height:22px;border-radius:50%;display:block;outline:1px solid rgba(255,255,255,.12);transition:transform .2s}.chip:hover{background:#ffffff0f;color:var(--texto)}.chip:hover i{transform:scale(1.12)}.chip.activo{background:#ffffff1a;color:var(--texto)}.chip.activo i{outline:2px solid rgba(255,255,255,.7)}#toast{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%) scale(.96);padding:10px 18px;border-radius:999px;background:var(--vidrio);border:1px solid var(--borde);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}#toast.visible{opacity:1;transform:translate(-50%,-50%) scale(1)}#fps{position:fixed;left:16px;bottom:96px;font:11px ui-monospace,monospace;color:var(--tenue)}#aviso{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center;padding:24px;font-size:16px;line-height:1.6;background:var(--fondo)}#aviso[hidden],#fps[hidden]{display:none}@media(max-width:640px){.barra{left:12px;right:12px;gap:8px}.logo{font-size:20px}.sub{display:none}.rango{padding:0 4px}.rango input{width:48px}.rango span{display:none}button.icono{width:28px;height:28px}button.icono svg{width:16px;height:16px}.chip{width:54px}}.chip-ayuda i{display:grid;place-items:center;font:600 13px/1 Fraunces,Georgia,serif;color:#1a1426;background:radial-gradient(circle at 35% 30%,#fff1d6,#ffb46a 75%);box-shadow:0 0 12px 1px #ffb46a88}#ayuda{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:16px;background:#04040a8c;z-index:10}#ayuda[hidden]{display:none}.ayuda-caja{width:min(980px,100%);max-height:calc(100vh - 32px);display:flex;flex-direction:column;padding:18px 20px 20px;background:#0e0c18d1}.ayuda-caja header{display:flex;justify-content:space-between;align-items:center}.ayuda-caja h2{margin:0;font:300 24px Fraunces,Georgia,serif}.ayuda-cuerpo{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:18px;margin-top:8px;min-height:0;overflow:auto}.grafo svg{width:100%;height:auto;display:block}.grafo text{fill:var(--tenue);font:12px Inter,system-ui,sans-serif;pointer-events:none}.grafo .nodo{cursor:pointer;outline:none;transition:opacity .2s}.grafo .nodo circle{stroke:#ffffff59;stroke-width:1}.grafo .nodo:hover text,.grafo .nodo:focus text{fill:var(--texto)}.grafo .arista path{stroke-width:1.6;opacity:.55;transition:opacity .2s}.grafo .arista{transition:opacity .2s}.grafo .apagado{opacity:.12}.lista{list-style:none;margin:0;padding:0;align-self:center}.lista li{padding:9px 0;border-bottom:1px solid var(--borde)}.lista li.titulo{font:300 20px Fraunces,Georgia,serif;border:0}.lista .formula{color:var(--texto)}.lista p{margin:3px 0 0;color:var(--tenue);font-size:12px}.lista i{display:inline-block;width:10px;height:10px;border-radius:50%;margin:0 5px 0 2px;vertical-align:-1px}.lista li.titulo i{width:14px;height:14px}@media(max-width:720px){.ayuda-cuerpo{grid-template-columns:1fr}.grafo{max-width:380px;margin:0 auto;width:100%}}
