/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */:root{--brand-azul:#0b61d6;--brand-rojo:#e11d2e;--brand-naranja:#ff6a1a;--brand-amarillo:#ffc400;--brand-verde:#00a85a;--brand-negro:#15171e;--brand-cian:#0891b2;--cian-text:#0e7490;--naranja-text:#b04509;--azul-700:#0a52b6;--rojo-700:#c2152a;--verde-700:#00904d;--amarillo-text:#8f6200;--bg:#e2e8f1;--surface:#fff;--surface-2:#eef1f7;--panel-dark:#0a0b0e;--frame:#15171e;--text-1:#15171e;--text-2:#42464f;--text-3:#5c6470;--text-muted:#62676e;--text-on-color:#fff;--border:#15171e1f;--border-strong:#15171e33;--border-hair:#15171e14;--primary:var(--brand-azul);--primary-hover:var(--azul-700);--accent:var(--brand-amarillo);--success:var(--brand-verde);--success-text:#007a42;--warning:var(--brand-amarillo);--warning-text:var(--amarillo-text);--danger:var(--brand-rojo);--tint-azul:#0b61d61f;--tint-verde:#00a85a1f;--tint-rojo:#e11d2e1f;--tint-naranja:#ff6a1a1f;--tint-amarillo:#ffc4002e;--tint-cian:#0891b21f;--focus-ring:#0b61d68c;--selection:#0b61d638;--ring:0 0 0 3px var(--focus-ring);--dom-numeros:#0b61d6;--dom-geometria:#00a85a;--dom-problemas:#e11d2e;--dom-patrones:#ff6a1a;--dom-datos:#0891b2;--eje-numeros:var(--dom-numeros);--eje-geometria:var(--dom-geometria);--eje-algebra:var(--dom-patrones);--eje-funciones:var(--brand-amarillo);--eje-datos:var(--dom-datos);--eje-logica:var(--dom-problemas);--juego-fondo:#101218;--juego-marco:#1b1e27;--juego-texto:#f2f3f7;--juego-texto-inverso:var(--brand-negro);--juego-blanco:#fff;--juego-cta:var(--brand-amarillo);--juego-exito:var(--brand-verde);--juego-error:var(--brand-rojo);--juego-exito-texto:#7fe0b2;--juego-error-texto:#ff9d94;--pulso-neon:#22d3ee;--reactor-sobrecarga:#a970ff;--reactor-sobrecarga-texto:#d7b5ff;--reactor-borde-neutro:#586171;--reactor-tutorial-fondo:#11141b;--reactor-resultado-fondo:#0c0e13;--reactor-escudo-brillo:#5ff3ff;--reactor-exito-brillo:#00c96b;--reactor-unidad-texto:#e8f0ff;--cv-black:#000;--cv-night-green:#030b0c;--cv-night-blue-deep:#071221;--cv-night-blue:#071426;--cv-night:#0a0d14;--cv-night-slate:#0a1020;--cv-night-steel:#0d111b;--cv-night-panel:#101a2c;--cv-night-charcoal:#11151f;--cv-slate-900:#1a2638;--cv-slate-800:#303947;--cv-slate-600:#4b5668;--cv-slate-label:#4d596c;--cv-slate-muted:#687386;--cv-slate-muted-alt:#697487;--cv-slate-410:#8a94a3;--cv-slate-400:#8791a2;--cv-slate-200:#d9dfe8;--cv-slate-75:#eef2f8;--cv-slate-50:#edf3fa;--cv-cyan-bright:#28abc7;--cv-cyan-300:#77cde1;--cv-green-400:#3ebf88;--cv-green-300:#68e1ac;--cv-green-200:#77f5bf;--cv-red-800:#9c2834;--cv-red-750:#a40f21;--cv-red-300:#ff7583;--cv-red-250:#ff8894;--cv-red-200:#ff8d98;--cv-red-150:#ffb0b8;--cv-red-100:#f0b5bb;--cv-amber-900:#594000;--cv-amber-500:#ffad19;--cv-yellow-300:#ffd633;--cv-yellow-200:#ffe16a;--cv-yellow-100:#fff1ae;--cv-yellow-50:#fff8d8;--cv-blue-50:#e8f0ff;--cv-blue-25:#eaf1fb;--cv-blue-10:#f7faff;--cv-amber-25:#f7f3e7;--font-display:"Bricolage Grotesque",system-ui,sans-serif;--font-body:"Onest",system-ui,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,monospace;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-black:800;--fs-display:54px;--fs-h1:40px;--fs-h2:30px;--fs-h3:19px;--fs-lead:18px;--fs-subtitle:17px;--fs-body:15px;--fs-small:13.5px;--fs-caption:12px;--fs-mono:12.5px;--fs-micro:11px;--lh-tight:.98;--lh-snug:1.15;--lh-body:1.55;--ls-display:-.04em;--ls-title:-.03em;--ls-tight:-.02em;--ls-eyebrow:.12em;--ls-label:.14em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--gap-tile:12px;--gap-card:16px;--gap-inline:11px;--container:1180px;--measure:560px;--radius-tile:4px;--radius-chip:8px;--radius-input:12px;--radius-btn:13px;--radius-icon:13px;--radius-card:18px;--radius-pill:99px;--shadow-card:0 14px 34px -28px #15171e66;--shadow-card-hover:0 18px 40px -24px #15171e6b;--shadow-btn:0 14px 30px -12px #0b61d6cc;--shadow-color:0 16px 36px -18px #0b61d699;--shadow-pop:0 24px 60px -24px #15171e59;--tile-depth:inset 0 -2px 0 #00000029,inset 0 1px 0 #ffffff40;--tile-depth-dark:inset 0 -2px 0 #0000004d,inset 0 1px 0 #ffffff1f;--tile-depth-amarillo:inset 0 -2px 0 #00000024,inset 0 1px 0 #fff6;--ease-cubo:cubic-bezier(.2,.7,.3,1);--dur-fast:.15s;--dur-base:.25s}::selection{background:var(--selection)}.eyebrow{font-family:var(--font-mono);font-size:var(--fs-mono);font-weight:var(--fw-bold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--primary)}.cube-caret-bar{pointer-events:none;width:2px;animation:cube-caret-bg 6s step-end infinite,cube-caret-blink 1s ease-in-out infinite;position:absolute}@keyframes cube-caret-bg{0%{background:var(--brand-rojo)}16.66%{background:var(--brand-naranja)}33.33%{background:var(--brand-amarillo)}50%{background:var(--brand-verde)}66.66%{background:var(--brand-azul)}83.33%{background:var(--brand-cian)}}@keyframes cube-caret-blink{0%,45%{opacity:1}50%,95%{opacity:0}to{opacity:1}}@keyframes mat-cube-turn{0%,18%{transform:rotate(0)}25%,43%{transform:rotate(90deg)}50%,68%{transform:rotate(180deg)}75%,93%{transform:rotate(270deg)}to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.cube-caret-bar{background:var(--primary);animation:cube-caret-blink 1s ease-in-out infinite}}.ds-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--gap-inline);border:0;border-radius:var(--radius-btn);font-family:var(--font-body);font-weight:var(--fw-semibold);font-size:var(--fs-body);cursor:pointer;transition:transform var(--dur-fast) var(--ease-cubo),box-shadow var(--dur-fast) var(--ease-cubo),background var(--dur-fast) var(--ease-cubo)}.ds-btn:hover:not(:disabled){transform:translateY(-2px)}.ds-btn:active:not(:disabled){transform:translateY(0) scale(.98)}.ds-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.ds-btn:disabled{opacity:.45;cursor:not-allowed}.ds-btn--sm{padding:9px 15px;font-size:var(--fs-small)}.ds-btn--md{padding:13px 22px}.ds-btn--lg{padding:16px 28px;font-size:var(--fs-subtitle)}.ds-btn--full{width:100%}.ds-btn--primary{background:var(--primary);color:var(--text-on-color);box-shadow:var(--tile-depth),var(--shadow-btn)}.ds-btn--primary:hover:not(:disabled){background:var(--primary-hover)}.ds-btn--secondary{background:var(--surface);color:var(--text-1);box-shadow:inset 0 0 0 1px var(--border-strong)}.ds-btn--secondary:hover:not(:disabled){box-shadow:inset 0 0 0 1px var(--border-strong),var(--shadow-card)}.ds-btn--dark{background:var(--frame);color:var(--text-on-color);box-shadow:var(--tile-depth-dark),0 16px 36px -18px rgba(21,23,30,.6)}.ds-btn--accent{background:var(--accent);color:var(--frame);box-shadow:var(--tile-depth-amarillo),0 16px 36px -18px rgba(255,196,0,.6)}.ds-btn--danger{background:var(--danger);color:var(--text-on-color);box-shadow:var(--tile-depth),0 16px 36px -18px rgba(225,29,46,.6)}.ds-btn--danger:hover:not(:disabled){filter:brightness(.94)}.ds-btn--ghost{background:transparent;color:var(--text-2)}.ds-btn--ghost:hover:not(:disabled){background:var(--tint-azul);color:var(--primary)}.ds-iconbtn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius-icon);cursor:pointer;transition:transform var(--dur-fast) var(--ease-cubo),box-shadow var(--dur-fast) var(--ease-cubo)}.ds-iconbtn:hover:not(:disabled){transform:translateY(-2px)}.ds-iconbtn:active:not(:disabled){transform:scale(.94)}.ds-iconbtn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.ds-iconbtn:disabled{opacity:.45;cursor:not-allowed}.ds-iconbtn--sm{width:32px;height:32px}.ds-iconbtn--md{width:40px;height:40px}.ds-iconbtn--lg{width:48px;height:48px}.ds-iconbtn--primary{background:var(--primary);color:var(--text-on-color);box-shadow:var(--tile-depth)}.ds-iconbtn--secondary{background:var(--surface);color:var(--text-2);box-shadow:inset 0 0 0 1px var(--border-strong)}.ds-iconbtn--dark{background:var(--frame);color:var(--text-on-color);box-shadow:var(--tile-depth-dark)}.ds-iconbtn--ghost{background:transparent;color:var(--text-2)}.ds-iconbtn--ghost:hover:not(:disabled){background:var(--tint-azul);color:var(--primary)}.ds-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.ds-card--interactive{transition:transform var(--dur-base) var(--ease-cubo),box-shadow var(--dur-base) var(--ease-cubo);cursor:pointer}.ds-card--interactive:hover{transform:translateY(-3px);box-shadow:var(--shadow-card-hover)}.ds-card--color{border:0;color:var(--text-on-color);box-shadow:var(--tile-depth),var(--shadow-card)}.ds-badge{gap:6px;padding:4px 10px;border-radius:var(--radius-chip);font-family:var(--font-body);font-size:var(--fs-caption);font-weight:var(--fw-semibold)}.ds-badge,.ds-icontile{display:inline-flex;align-items:center}.ds-icontile{justify-content:center;border-radius:var(--radius-icon);flex-shrink:0}.ds-spinner{display:inline-grid;grid-template-columns:1fr 1fr;gap:12%;animation:mat-cube-turn 1.7s cubic-bezier(.65,0,.35,1) infinite}.ds-spinner>span{border-radius:var(--radius-tile)}@media (prefers-reduced-motion:reduce){.ds-spinner{animation:none;opacity:.7}}.ds-field{display:flex;flex-direction:column;gap:6px;font-family:var(--font-body)}.ds-field__label{font-size:var(--fs-small);font-weight:var(--fw-semibold);color:var(--text-2)}.ds-field__hint{font-size:var(--fs-caption);color:var(--text-3)}.ds-field__error{font-size:var(--fs-caption);color:var(--danger);font-weight:var(--fw-medium)}.ds-input,.ds-select,.ds-textarea{font-family:var(--font-body);font-size:var(--fs-body);color:var(--text-1);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-input);padding:11px 14px;transition:border-color var(--dur-fast) var(--ease-cubo),box-shadow var(--dur-fast) var(--ease-cubo)}.ds-input:focus,.ds-select:focus,.ds-textarea:focus{border-color:var(--primary);outline:2px solid var(--primary);outline-offset:2px}.ds-input:disabled,.ds-select:disabled,.ds-textarea:disabled{opacity:.45;cursor:not-allowed}.ds-input--error,.ds-textarea--error{border-color:var(--danger)}.ds-input--cube-caret{caret-color:transparent}.ds-input-wrap{position:relative;display:flex}.ds-input-wrap>.ds-input{flex:1}.ds-input-mirror{position:absolute;visibility:hidden;white-space:pre;font-family:var(--font-body);font-size:var(--fs-body)}.ds-select-wrap{position:relative;display:flex}.ds-select-wrap>.ds-select{flex:1;appearance:none;padding-right:38px}.ds-select-wrap:after{content:"";position:absolute;right:15px;top:50%;width:8px;height:8px;border-right:1.8px solid var(--text-3);border-bottom:1.8px solid var(--text-3);transform:translateY(-70%) rotate(45deg);pointer-events:none}.ds-textarea{resize:vertical}.ds-check{gap:10px;cursor:pointer;font-family:var(--font-body);font-size:var(--fs-body);color:var(--text-1)}.ds-check,.ds-check__box{display:inline-flex;align-items:center}.ds-check__box{width:20px;height:20px;border-radius:6px;border:1.5px solid var(--border-strong);background:var(--surface);justify-content:center;transition:all var(--dur-fast) var(--ease-cubo);flex-shrink:0}.ds-check input{position:absolute;opacity:0;width:0;height:0}.ds-check input:checked+.ds-check__box{background:var(--primary);border-color:var(--primary);box-shadow:var(--tile-depth)}.ds-check input:focus-visible+.ds-check__box{outline:2px solid var(--primary);outline-offset:2px}.ds-check__tick{color:var(--text-on-color);opacity:0;transform:scale(.5);transition:all var(--dur-fast) var(--ease-cubo)}.ds-check input:checked+.ds-check__box .ds-check__tick{opacity:1;transform:scale(1)}.ds-radio{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-family:var(--font-body);font-size:var(--fs-body);color:var(--text-1)}.ds-radio input{position:absolute;opacity:0;width:0;height:0}.ds-radio__ring{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--border-strong);background:var(--surface);display:inline-flex;align-items:center;justify-content:center;transition:border-color var(--dur-fast) var(--ease-cubo);flex-shrink:0}.ds-radio input:checked+.ds-radio__ring{border-color:var(--primary);border-width:2px}.ds-radio input:focus-visible+.ds-radio__ring{outline:2px solid var(--primary);outline-offset:2px}.ds-radio__dot{width:10px;height:10px;border-radius:50%;background:var(--primary);transform:scale(0);transition:transform var(--dur-fast) var(--ease-cubo)}.ds-radio input:checked+.ds-radio__ring .ds-radio__dot{transform:scale(1)}.ds-switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-family:var(--font-body);font-size:var(--fs-body);color:var(--text-1)}.ds-switch input{position:absolute;opacity:0;width:0;height:0}.ds-switch__track{width:42px;height:24px;border-radius:var(--radius-pill);background:rgba(21,23,30,.14);position:relative;transition:background var(--dur-base) var(--ease-cubo);flex-shrink:0}.ds-switch__knob{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--surface);box-shadow:0 1px 3px rgba(21,23,30,.3);transition:transform var(--dur-base) var(--ease-cubo)}.ds-switch input:checked+.ds-switch__track{background:var(--primary)}.ds-switch input:checked+.ds-switch__track .ds-switch__knob{transform:translateX(18px)}.ds-switch input:focus-visible+.ds-switch__track{outline:2px solid var(--primary);outline-offset:2px}.ds-tabs{display:flex;gap:var(--space-5);border-bottom:1px solid var(--border-hair)}.ds-tab{background:none;border:0;padding:10px 2px 12px;font-family:var(--font-body);font-size:var(--fs-body);font-weight:var(--fw-medium);color:var(--text-3);cursor:pointer;position:relative;transition:color var(--dur-fast) var(--ease-cubo)}.ds-tab:hover{color:var(--text-1)}.ds-tab:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--radius-chip)}.ds-tab:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2.5px;background:var(--primary);transform:scaleX(0);transition:transform var(--dur-base) var(--ease-cubo)}.ds-tab--active{color:var(--primary);font-weight:var(--fw-bold)}.ds-tab--active:after{transform:scaleX(1)}.ds-seg{display:inline-flex;gap:3px;padding:3px;border-radius:var(--radius-btn);background:rgba(21,23,30,.06)}.ds-seg__item{border:0;background:transparent;border-radius:10px;font-family:var(--font-body);font-weight:var(--fw-medium);color:var(--text-3);cursor:pointer;padding:7px 14px;font-size:var(--fs-small);transition:all var(--dur-fast) var(--ease-cubo)}.ds-seg--md .ds-seg__item{padding:9px 18px;font-size:var(--fs-body)}.ds-seg__item--active{background:var(--surface);color:var(--text-1);font-weight:var(--fw-semibold);box-shadow:var(--shadow-card)}.ds-seg__item:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.ds-alert{display:flex;gap:12px;align-items:flex-start;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-4) var(--space-5);font-family:var(--font-body)}.ds-alert__tile{width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-on-color);font-weight:var(--fw-bold);font-size:var(--fs-small);box-shadow:var(--tile-depth);flex-shrink:0}.ds-alert__title{font-weight:var(--fw-bold);font-size:var(--fs-body);color:var(--text-1)}.ds-alert__body{font-size:var(--fs-small);color:var(--text-3);line-height:var(--lh-body)}.ds-alert__close{margin-left:auto;border:0;background:none;color:var(--text-3);cursor:pointer;font-size:16px;line-height:1;padding:2px 6px;border-radius:var(--radius-chip)}.ds-alert__close:hover{background:rgba(21,23,30,.06);color:var(--text-1)}.ds-toast{display:flex;gap:12px;align-items:flex-start;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-4);min-width:280px;max-width:380px}.ds-toast,.ds-tooltip{font-family:var(--font-body)}.ds-tooltip{position:absolute;z-index:50;background:var(--frame);color:var(--text-on-color);font-size:var(--fs-caption);line-height:1.4;padding:7px 11px;border-radius:10px;box-shadow:var(--shadow-pop);max-width:240px;pointer-events:none;white-space:normal}.ds-dialog-overlay{position:fixed;inset:0;background:rgba(10,11,14,.45);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;padding:var(--space-4)}.ds-dialog{background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow-pop);padding:var(--space-6);width:100%;font-family:var(--font-body)}.ds-dialog__header{display:flex;align-items:center;gap:12px;margin-bottom:var(--space-4)}.ds-dialog__title{font-family:var(--font-display);font-weight:var(--fw-black);font-size:var(--fs-h3);letter-spacing:var(--ls-tight);color:var(--text-1);flex:1}.ds-dialog__footer{display:flex;justify-content:flex-end;gap:var(--gap-inline);margin-top:var(--space-6)}.ds-cubelogo{display:inline-grid;grid-template-columns:repeat(3,1fr);gap:2px;flex-shrink:0}.ds-cubelogo>span{border-radius:16%}.ds-progress{background:rgba(21,23,30,.08);overflow:hidden}.ds-progress,.ds-progress__fill{border-radius:var(--radius-pill)}.ds-progress__fill{height:100%;transition:width .4s var(--ease-cubo)}.ds-progress-row{display:flex;align-items:center;gap:10px}.ds-progress-label{font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--text-muted)}.ds-stat{font-family:var(--font-body)}.ds-stat__value{font-family:var(--font-display);font-weight:var(--fw-black);font-size:var(--fs-h2);letter-spacing:var(--ls-title);color:var(--text-1);line-height:var(--lh-snug)}.ds-stat__label{font-size:var(--fs-small);color:var(--text-3)}.ds-stat__delta{font-family:var(--font-mono);font-size:var(--fs-mono);font-weight:var(--fw-bold)}.ds-avatar{display:inline-flex;align-items:center;justify-content:center;color:var(--text-on-color);font-family:var(--font-body);font-weight:var(--fw-bold);overflow:hidden;flex-shrink:0;box-shadow:var(--tile-depth)}.ds-avatar img{width:100%;height:100%;object-fit:cover}