:root{--bg:#f6f6fb;--bg-2:#ecedf6;--sup:#fff;--tinta:#1d1b3a;--tinta-2:#5b5877;--tinta-3:#8e8aa8;--borde:#e3e4ef;--borde-2:#cfd1e1;--primario:#6c4cf5;--primario-osc:#4f31d9;--primario-suave:#eee9ff;--amarillo:#ffc83d;--amarillo-osc:#e0a200;--verde:#22c38e;--verde-osc:#149e71;--rojo:#ff5a6a;--rojo-osc:#d93a4b;--azul:#3db2ff;--codigo-bg:#1b1d36;--codigo-bg-2:#15172d;--r:16px;--r-s:10px;--sombra:0 1px 0 #1d1b3a0a, 0 8px 24px -12px #1d1b3a2e;--f-titulo:"Baloo 2", "Nunito", system-ui, sans-serif;--f-texto:"Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;--f-codigo:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--tinta);font-family:var(--f-texto);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.55}h1,h2,h3,h4{font-family:var(--f-titulo);letter-spacing:-.01em;margin:0;line-height:1.15}h1{font-size:clamp(1.7rem,3vw,2.3rem);font-weight:800}h2{font-size:1.35rem;font-weight:700}p{margin:0}a{color:var(--primario)}button{font:inherit;color:inherit}code,pre,.codigo-estatico{font-variant-ligatures:none}code{font-family:var(--f-codigo);background:var(--primario-suave);color:var(--primario-osc);border-radius:6px;padding:.08em .35em;font-size:.9em}pre{font-family:var(--f-codigo);margin:0}:focus-visible{outline:3px solid var(--azul);outline-offset:2px;border-radius:6px}[hidden]{display:none!important}.flex1{flex:1}.btn{--b:var(--sup);--b-osc:var(--borde-2);--t:var(--tinta);border:2px solid var(--b-osc);background:var(--b);color:var(--t);cursor:pointer;white-space:nowrap;box-shadow:0 3px 0 var(--b-osc);border-radius:12px;justify-content:center;align-items:center;gap:.4em;padding:.6em 1.1em;font-size:.95rem;font-weight:800;text-decoration:none;transition:transform 80ms,box-shadow 80ms,background .15s;display:inline-flex;transform:translateY(0)}.btn:hover{box-shadow:0 4px 0 var(--b-osc);transform:translateY(-1px)}.btn:active{box-shadow:0 0 0 var(--b-osc);transform:translateY(3px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-primario{--b:var(--primario);--b-osc:var(--primario-osc);--t:#fff}.btn-exito{--b:var(--verde);--b-osc:var(--verde-osc);--t:#fff}.btn-peligro{--b:var(--rojo);--b-osc:var(--rojo-osc);--t:#fff}.btn-compilar{--b:var(--amarillo);--b-osc:var(--amarillo-osc);--t:var(--tinta)}.btn-secundario{--b:var(--sup);--b-osc:var(--borde-2)}.btn-fantasma{box-shadow:none;color:var(--tinta-2);background:0 0;border-color:#0000}.btn-fantasma:hover{box-shadow:none;background:#1d1b3a0f}.btn-grande{padding:.8em 1.5em;font-size:1.05rem}.btn-peque{border-radius:10px;padding:.4em .75em;font-size:.85rem}.btn-icono{border:2px solid var(--borde);background:var(--sup);cursor:pointer;width:38px;height:38px;color:var(--tinta);border-radius:10px;place-items:center;font-size:1rem;text-decoration:none;display:inline-grid}.btn-icono:hover{background:var(--bg-2)}.btn-texto{color:var(--primario);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:.2em .4em;font-size:.9rem;font-weight:800;text-decoration:none}.btn-texto:hover{background:var(--primario-suave)}.fila-botones{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.input{border:2px solid var(--borde-2);background:var(--sup);width:100%;font:inherit;color:var(--tinta);border-radius:12px;padding:.7em .9em;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--primario);box-shadow:0 0 0 4px var(--primario-suave);outline:none}.input-pin{font-family:var(--f-codigo);letter-spacing:.6em;text-align:center;max-width:12rem;font-size:1.4rem}.etiqueta{color:var(--tinta-2);margin:.9rem 0 .35rem;font-size:.88rem;font-weight:800;display:block}.texto-suave{color:var(--tinta-2)}.chip{background:var(--bg-2);border:1.5px solid var(--borde);cursor:pointer;border-radius:999px;align-items:center;gap:.3em;padding:.25em .7em;font-size:.82rem;font-weight:700;display:inline-flex}button.chip:hover{border-color:var(--primario);color:var(--primario)}.selector-avatar,.selector-color{flex-wrap:wrap;gap:.4rem;display:flex}.op-avatar{border:2px solid var(--borde);background:var(--sup);cursor:pointer;border-radius:12px;width:46px;height:46px;font-size:1.6rem}.op-avatar.sel{border-color:var(--primario);background:var(--primario-suave);transform:scale(1.08)}.op-color{background:var(--c);border:3px solid var(--sup);width:34px;height:34px;box-shadow:0 0 0 2px var(--borde);cursor:pointer;border-radius:50%}.op-color.sel{box-shadow:0 0 0 3px var(--tinta)}.logo-marca{flex:none;display:block}.logotipo{align-items:center;gap:.6rem;display:inline-flex}.logotipo-texto{flex-direction:column;line-height:.92;display:flex}.logotipo-nombre{font-family:var(--f-titulo);letter-spacing:-.01em;color:var(--tinta);font-size:1.45rem;font-weight:800}.logotipo-sub{font-family:var(--f-titulo);letter-spacing:.08em;text-transform:uppercase;color:var(--primario);font-size:.78rem;font-weight:700}.logotipo-lema{color:var(--tinta-2);margin-top:.3rem;font-size:.8rem;font-weight:700}.logotipo-oscuro .logotipo-nombre{color:#fff}.logotipo-oscuro .logotipo-sub{color:var(--amarillo)}.modal-fondo{z-index:100;opacity:0;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1d1b3a73;place-items:center;padding:16px;transition:opacity .2s;display:grid;position:fixed;inset:0}.modal-fondo.visible{opacity:1}.modal{background:var(--sup);border-radius:22px;flex-direction:column;width:100%;max-height:calc(100vh - 32px);transition:transform .2s;display:flex;transform:translateY(12px)scale(.98);box-shadow:0 30px 60px -20px #1d1b3a80}.modal-fondo.visible .modal{transform:none}.modal-cabecera{justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.3rem .4rem;display:flex}.modal-cabecera h2{font-size:1.3rem}.modal-x{background:var(--bg-2);border:0}.modal-cuerpo{padding:.4rem 1.3rem 1rem;overflow:auto}.modal-acciones{border-top:1.5px solid var(--borde);justify-content:flex-end;gap:.6rem;padding:.9rem 1.3rem 1.2rem;display:flex}.texto-modal{color:var(--tinta-2);margin-bottom:.6rem}#toast-root{z-index:200;pointer-events:none;flex-direction:column;gap:8px;width:max-content;max-width:calc(100vw - 32px);display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast{background:var(--tinta);color:#fff;opacity:0;text-align:center;border-radius:14px;padding:.7em 1.1em;font-weight:700;transition:all .25s;transform:translateY(10px);box-shadow:0 10px 30px -8px #00000059}.toast.visible{opacity:1;transform:none}.toast-exito{background:var(--verde-osc)}.toast-error{background:var(--rojo-osc)}.confeti{pointer-events:none;z-index:300;position:fixed;inset:0}.barra-progreso{background:#1d1b3a14;border-radius:999px;height:12px;overflow:hidden}.barra-progreso i{background:linear-gradient(90deg, var(--amarillo), #ff9f1c);border-radius:999px;height:100%;transition:width .6s;display:block}.barra-progreso.fina{height:6px}.codigo-estatico{background:var(--codigo-bg);color:#f2f3ff;white-space:pre;border-radius:12px;padding:.8rem 1rem;font-size:.88rem;line-height:1.6;overflow-x:auto}.tk-kw{color:#ff7ac6;font-weight:700}.tk-str{color:#a5e844}.tk-num{color:#ffb86b}.tk-com{color:#8a8fb8;font-style:italic}.tk-fn{color:#62d6ff}@keyframes temblar{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}.temblar{animation:.3s temblar}@keyframes girar{to{transform:rotate(360deg)}}.girar{animation:1.2s linear infinite girar;display:inline-block}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.cookies-banner{z-index:1000;background:var(--sup);max-width:720px;color:var(--tinta);border:1.5px solid var(--borde);border-radius:20px;flex-wrap:wrap;align-items:flex-end;gap:1rem;margin:0 auto;padding:1rem 1.2rem;font-size:.92rem;display:flex;position:fixed;bottom:16px;left:16px;right:16px;box-shadow:0 20px 40px -12px #1d1b3a59}.cookies-texto{flex:320px}.cookies-texto p{color:var(--tinta-2);margin:.25rem 0 0}.cookies-texto details{margin-top:.35rem}.cookies-texto summary{cursor:pointer;color:var(--primario);font-weight:800}.cookies-botones{flex:none;gap:.5rem;display:flex}@media (width<=480px){.cookies-botones{width:100%}.cookies-botones .btn{flex:1}}
