/* public/tools/app.css · tema Brigada X tools (REEMPLAZO completo; sin frameworks)
   Oscuro espacial, acentos ámbar y cian al estilo New Eden / láminas Academia Brigada X.
   Sin logos ni marcas de CCP. Un solo archivo: layout, header, hub, formularios, panel de resistencias,
   paso a paso, botón «Conectar con EVE», chip del personaje y panel ESI. */

:root {
  --bx-bg:        #070b10;
  --bx-bg-2:      #0c121a;
  --bx-panel:     #111924;
  --bx-panel-2:   #16202d;
  --bx-line:      #243244;
  --bx-line-2:    #2f4158;
  --bx-text:      #e7edf4;
  --bx-muted:     #8d9aab;
  --bx-amber:     #f0a830;
  --bx-amber-2:   #ffc85c;
  --bx-cyan:      #35c6e6;
  --bx-cyan-2:    #7fe3f7;
  --bx-ok:        #39d98a;
  --bx-warn:      #ff8a3d;
  --bx-err:       #ff5c5c;
  --bx-radius:    10px;
  --bx-font:      "Segoe UI", "Inter", Roboto, system-ui, -apple-system, sans-serif;
  --bx-mono:      "Cascadia Code", Consolas, "JetBrains Mono", monospace;
  color-scheme: dark;
}

/* ---- base ---- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0; min-height: 100vh;
  font: 16px/1.5 var(--bx-font); color: var(--bx-text);
  background:
    radial-gradient(1200px 600px at 80% -10%, rgba(53,198,230,.10), transparent 60%),
    radial-gradient(900px 500px at 0% 100%, rgba(240,168,48,.08), transparent 60%),
    var(--bx-bg);
}
a { color: var(--bx-cyan-2); }
a:hover { color: #fff; }
code { font-family: var(--bx-mono); font-size: .9em; background: var(--bx-bg-2); padding: .1em .35em; border-radius: 4px; }
h1, h2, h3 { line-height: 1.2; margin: 0 0 .5rem; letter-spacing: .01em; }
h1 { font-size: 1.7rem; } h2 { font-size: 1.25rem; } h3 { font-size: 1rem; }
small { font-size: .8em; }
.bx-muted, .eve-muted { color: var(--bx-muted); }
.bx-small, .eve-small { font-size: .85rem; }
.eve-ok  { color: var(--bx-ok); }
.eve-err { color: var(--bx-err); }
.eve-ok code, .eve-err code { color: inherit; background: rgba(255,255,255,.06); }

/* ---- header / marca ---- */
.site-header {
  position: sticky; top: 0; z-index: 10;
  display: flex; align-items: center; gap: 1rem; flex-wrap: wrap;
  padding: .7rem clamp(1rem, 4vw, 2.5rem);
  background: rgba(7,11,16,.85); backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--bx-line);
}
.brand {
  display: inline-flex; align-items: center; gap: .6rem;
  color: var(--bx-text); text-decoration: none; font-weight: 800; letter-spacing: .12em; font-size: 1.05rem;
}
.brand::before {               /* emblema: chevrón ámbar sobre fondo cian, sin logo ajeno */
  content: ""; width: 26px; height: 26px; border-radius: 6px; flex: none;
  background:
    linear-gradient(135deg, var(--bx-amber) 0 50%, transparent 50%),
    linear-gradient(315deg, var(--bx-cyan) 0 50%, transparent 50%),
    var(--bx-panel-2);
  box-shadow: 0 0 0 1px var(--bx-line-2);
}
.brand small { font-weight: 500; letter-spacing: .2em; color: var(--bx-cyan); font-size: .7rem; text-transform: uppercase; }
.site-header nav { margin-left: auto; display: flex; align-items: center; gap: .9rem; flex-wrap: wrap; }
.site-header nav > a:not(.btn-eve) {
  color: var(--bx-muted); text-decoration: none; font-weight: 600; font-size: .95rem;
  padding: .3rem 0; border-bottom: 2px solid transparent;
}
.site-header nav > a:not(.btn-eve):hover, .site-header nav > a.is-active { color: var(--bx-text); border-bottom-color: var(--bx-amber); }

.eve-main, main { width: min(1100px, 100% - 2rem); margin: 1.75rem auto 3.5rem; }
.site-footer {
  width: min(1100px, 100% - 2rem); margin: 0 auto 2rem; padding-top: 1rem;
  border-top: 1px solid var(--bx-line); color: var(--bx-muted); font-size: .85rem;
}
.site-footer p { margin: .25rem 0; }

/* ---- hub (portada / tools) ---- */
.bx-hero { padding: 2.5rem 0 1.5rem; }
.bx-hero h1 { font-size: clamp(1.8rem, 4vw, 2.6rem); }
.bx-hero h1 em { font-style: normal; color: var(--bx-amber-2); }
.bx-hero p { max-width: 60ch; color: var(--bx-muted); font-size: 1.05rem; }
.bx-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1rem; }
.bx-card {
  display: block; color: inherit; text-decoration: none;
  background: linear-gradient(180deg, var(--bx-panel-2), var(--bx-panel));
  border: 1px solid var(--bx-line); border-radius: var(--bx-radius); padding: 1.2rem 1.3rem;
  transition: border-color .15s ease, transform .1s ease;
}
.bx-card:hover { border-color: var(--bx-cyan); transform: translateY(-2px); color: inherit; }
.bx-card__icon { font-size: 1.6rem; margin-bottom: .4rem; }
.bx-card h2 { font-size: 1.15rem; }
.bx-card p { margin: .2rem 0 0; color: var(--bx-muted); }
.bx-card--soon { opacity: .6; }
.bx-card .bx-tag { margin-top: .6rem; }

/* ---- paneles ---- */
.bx-panel, .eve-card {
  background: var(--bx-panel); border: 1px solid var(--bx-line); border-radius: var(--bx-radius);
  padding: 1.1rem 1.3rem; margin: 1rem 0;
}
.bx-panel__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: .3rem 1rem; margin-bottom: .9rem; }
.bx-panel__head p { margin: 0; }
.bx-tag {
  display: inline-block; font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  padding: .15rem .5rem; border-radius: 999px; background: rgba(240,168,48,.15); color: var(--bx-amber-2); border: 1px solid rgba(240,168,48,.4);
}
.bx-tag--cyan { background: rgba(53,198,230,.12); color: var(--bx-cyan-2); border-color: rgba(53,198,230,.4); }
.eve-card--cta   { border-left: 4px solid var(--bx-amber); }
.eve-card--ok    { border-left: 4px solid var(--bx-ok); }
.eve-card--error { border-left: 4px solid var(--bx-err); }
.eve-card h3 { font-size: .8rem; color: var(--bx-muted); text-transform: uppercase; letter-spacing: .1em; margin-top: 1rem; }
.eve-card__head { display: flex; align-items: center; gap: .9rem; margin-bottom: .6rem; }
.eve-card__head > div { flex: 1; min-width: 0; }
.eve-portrait { width: 64px; height: 64px; border-radius: 8px; border: 1px solid var(--bx-amber); background: #000; flex: none; }

/* ---- formularios ---- */
.bx-form { display: grid; gap: 1rem; }
.bx-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: .8rem 1rem; }
.bx-field { display: grid; gap: .3rem; font-size: .85rem; color: var(--bx-muted); }
.bx-field > span { font-weight: 600; }
.bx-field--wide { grid-column: 1 / -1; }
.bx-field--check { grid-template-columns: auto 1fr; align-items: center; align-self: end; gap: .5rem; color: var(--bx-text); }
input[type="number"], input[type="text"], textarea, select {
  width: 100%; font: inherit; color: var(--bx-text);
  background: var(--bx-bg-2); border: 1px solid var(--bx-line-2); border-radius: 6px; padding: .5rem .65rem;
  font-variant-numeric: tabular-nums;
}
textarea { font-family: var(--bx-mono); font-size: .9rem; resize: vertical; }
input:focus-visible, textarea:focus-visible { outline: 2px solid var(--bx-cyan); outline-offset: 1px; border-color: var(--bx-cyan); }
input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--bx-amber); }
.bx-form__actions { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }

/* ---- barras de resistencia ---- */
.bx-res-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: .8rem; }
.bx-res { padding: .7rem .8rem; border: 1px solid var(--bx-line); border-radius: 8px; background: var(--bx-bg-2); }
.bx-res.is-low { border-color: var(--bx-amber); box-shadow: 0 0 0 1px rgba(240,168,48,.35), 0 0 18px rgba(240,168,48,.12) inset; }
.bx-res__label { display: flex; justify-content: space-between; align-items: center; font-weight: 600; font-size: .9rem; margin-bottom: .4rem; }
.bx-bar { height: 10px; background: var(--bx-line); border-radius: 999px; overflow: hidden; }
.bx-bar__fill { height: 100%; border-radius: 999px; background: linear-gradient(90deg, var(--bx-cyan), var(--bx-cyan-2)); transition: width .25s ease; }
.bx-res[data-layer="em"]  .bx-bar__fill { background: linear-gradient(90deg, #4f8cff, #8fb5ff); }
.bx-res[data-layer="th"]  .bx-bar__fill { background: linear-gradient(90deg, #ff6a3d, #ffa07a); }
.bx-res[data-layer="kin"] .bx-bar__fill { background: linear-gradient(90deg, #a8b4c4, #e0e7ef); }
.bx-res[data-layer="ex"]  .bx-bar__fill { background: linear-gradient(90deg, #ffb13d, #ffd27a); }
.bx-res.is-low .bx-bar { box-shadow: 0 0 0 1px var(--bx-amber) inset; }
.bx-res__input { display: flex; align-items: center; gap: .4rem; margin-top: .5rem; font-size: .9rem; color: var(--bx-muted); }
.bx-res__input input { width: 6.5ch; padding: .3rem .4rem; text-align: right; }

/* ---- paso a paso ---- */
.bx-step-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; counter-reset: step; }
.bx-step {
  display: grid; grid-template-columns: 44px 1fr; gap: .9rem; align-items: start;
  padding: .9rem 1rem; border: 1px solid var(--bx-line); border-radius: 8px; background: var(--bx-bg-2);
  border-left-width: 4px; border-left-color: var(--bx-cyan);
}
.bx-step.is-ok   { border-left-color: var(--bx-ok); }
.bx-step.is-warn { border-left-color: var(--bx-warn); }
.bx-step__n {
  width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%;
  font-weight: 800; font-size: 1.1rem; color: var(--bx-bg); background: var(--bx-cyan);
}
.bx-step.is-ok .bx-step__n   { background: var(--bx-ok); }
.bx-step.is-warn .bx-step__n { background: var(--bx-warn); }
.bx-step__body h3 { font-size: .8rem; color: var(--bx-muted); text-transform: uppercase; letter-spacing: .1em; margin-bottom: .2rem; }
.bx-step__body p { margin: .15rem 0; }
.bx-step__value { font-size: 1.6rem; font-weight: 800; font-variant-numeric: tabular-nums; color: var(--bx-amber-2); line-height: 1.15; }
.bx-step__value small { font-size: .85rem; font-weight: 600; color: var(--bx-muted); margin-left: .25rem; }
.bx-step.is-ok .bx-step__value { color: var(--bx-ok); }
.bx-vs { font-size: .9rem; color: var(--bx-muted); margin: 0 .5rem; font-weight: 500; }
.bx-formula { font-family: var(--bx-mono); font-size: .9rem; color: var(--bx-cyan-2); }

/* ---- tablas ---- */
.eve-table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.eve-table th, .eve-table td { text-align: left; padding: .45rem .5rem; border-bottom: 1px solid var(--bx-line); }
.eve-table th { color: var(--bx-muted); font-weight: 600; font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; }
.eve-table td:nth-child(n+2) { font-variant-numeric: tabular-nums; }
.eve-table tfoot td { border-bottom: 0; padding-top: .6rem; color: var(--bx-muted); }
.eve-table tfoot strong { color: var(--bx-amber-2); font-size: 1.05rem; }

/* ---- botón «Conectar con EVE» ---- */
.btn-eve {
  display: inline-flex; align-items: center; gap: .55rem;
  padding: .7rem 1.1rem; border-radius: 6px; cursor: pointer;
  background: linear-gradient(180deg, var(--bx-amber-2), var(--bx-amber));
  color: #1a1206; font: inherit; font-weight: 700; letter-spacing: .02em; text-decoration: none;
  border: 1px solid #c98a1f; box-shadow: 0 1px 0 rgba(255,255,255,.25) inset, 0 4px 14px rgba(240,168,48,.25);
  transition: transform .08s ease, box-shadow .15s ease, filter .15s ease;
}
.btn-eve:hover  { filter: brightness(1.06); color: #1a1206; box-shadow: 0 1px 0 rgba(255,255,255,.3) inset, 0 6px 18px rgba(240,168,48,.35); }
.btn-eve:active { transform: translateY(1px); }
.btn-eve:focus-visible { outline: 2px solid var(--bx-amber-2); outline-offset: 2px; }
.btn-eve--sm    { padding: .45rem .8rem; font-size: .9rem; }
.btn-eve--ghost { background: transparent; color: var(--bx-text); border-color: var(--bx-line-2); box-shadow: none; }
.btn-eve--ghost:hover { border-color: var(--bx-amber); color: var(--bx-amber-2); filter: none; }
.btn-eve__logo {           /* rombo-nave en CSS; no es el logo de EVE */
  width: 14px; height: 14px; flex: none; background: currentColor;
  clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%, 50% 30%, 30% 50%, 50% 70%, 70% 50%, 50% 30%);
}

/* ---- chip del personaje (header) ---- */
.eve-chip {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .25rem .6rem .25rem .3rem; border-radius: 999px;
  background: var(--bx-panel); border: 1px solid var(--bx-line-2); color: var(--bx-text); font-size: .9rem; line-height: 1;
}
.eve-chip__portrait { width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--bx-amber); background: #000; }
.eve-chip__name     { font-weight: 600; max-width: 14ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.eve-chip__logout   { color: var(--bx-muted); text-decoration: none; font-size: .8rem; padding-left: .5rem; border-left: 1px solid var(--bx-line-2); }
.eve-chip__logout:hover { color: var(--bx-err); }

/* ---- panel ESI (skills) ---- */
.eve-stats { display: flex; flex-wrap: wrap; gap: 1.2rem; margin: .4rem 0 .2rem; }
.eve-stats dt { font-size: .75rem; color: var(--bx-muted); text-transform: uppercase; letter-spacing: .06em; }
.eve-stats dd { margin: 0; font-size: 1.35rem; font-weight: 700; color: var(--bx-amber-2); font-variant-numeric: tabular-nums; }
.eve-level { display: inline-flex; gap: 3px; vertical-align: middle; }
.eve-level::before, .eve-level::after { content: none; }
.eve-level i { width: 9px; height: 9px; background: var(--bx-line-2); border-radius: 1px; }
.eve-level[data-level="1"] i:nth-child(-n+1),
.eve-level[data-level="2"] i:nth-child(-n+2),
.eve-level[data-level="3"] i:nth-child(-n+3),
.eve-level[data-level="4"] i:nth-child(-n+4),
.eve-level[data-level="5"] i:nth-child(-n+5) { background: var(--bx-amber); }
.eve-queue { padding-left: 1.2rem; margin: .3rem 0; }
.eve-queue li { padding: .2rem 0; }

/* ---- sitios Sleeper: selector, lista, detalle ---- */
.bx-quick { display: flex; align-items: center; gap: .8rem; flex-wrap: wrap; margin-bottom: .6rem; }
.bx-quick__label { font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--bx-muted); min-width: 3.5rem; }
.bx-seg { display: inline-flex; flex-wrap: wrap; gap: .35rem; }
.bx-seg__btn {
  font: inherit; font-weight: 700; color: var(--bx-text); cursor: pointer;
  background: var(--bx-bg-2); border: 1px solid var(--bx-line-2); border-radius: 6px; padding: .4rem .85rem;
  transition: border-color .12s ease, background .12s ease;
}
.bx-seg__btn:hover { border-color: var(--bx-cyan); }
.bx-seg__btn.is-on { background: rgba(53,198,230,.16); border-color: var(--bx-cyan); color: var(--bx-cyan-2); box-shadow: 0 0 0 1px rgba(53,198,230,.3) inset; }
.bx-legend { margin-left: auto; display: flex; gap: .9rem; flex-wrap: wrap; font-size: .8rem; color: var(--bx-muted); }
.bx-legend span { display: inline-flex; align-items: center; gap: .35rem; }
.bx-dot { width: 10px; height: 10px; border-radius: 2px; display: inline-block; background: var(--bx-line-2); }
.bx-dot--trigger  { background: var(--bx-err); }
.bx-dot--optional { background: var(--bx-ok); }
.bx-dot--hack     { background: var(--bx-cyan); }
.bx-dot--despawn  { background: var(--bx-amber); }

.bx-site-list { display: grid; gap: .5rem; margin-top: .4rem; }
.bx-site {
  display: flex; align-items: center; gap: 1rem; width: 100%; text-align: left; cursor: pointer;
  font: inherit; color: var(--bx-text); background: var(--bx-bg-2); border: 1px solid var(--bx-line); border-radius: 8px; padding: .8rem 1rem;
  transition: border-color .12s ease, transform .08s ease;
}
.bx-site:hover { border-color: var(--bx-cyan); }
.bx-site.is-on { border-color: var(--bx-amber); box-shadow: 0 0 0 1px rgba(240,168,48,.3) inset; }
.bx-site__main { flex: 1; min-width: 0; }
.bx-site__title { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; font-size: 1.05rem; }
.bx-site__sub { color: var(--bx-muted); margin-top: .15rem; }
.bx-site__side { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; justify-content: flex-end; }
.bx-site__arrow { color: var(--bx-muted); font-size: 1.1rem; }
.bx-hull { display: inline-flex; align-items: center; gap: .2rem; font-size: .8rem; font-weight: 700; color: var(--bx-muted); background: var(--bx-panel); border: 1px solid var(--bx-line); border-radius: 999px; padding: .05rem .5rem .05rem .35rem; }
.bx-hull i, .bx-npc i, .bx-modal h3 i { font-style: normal; font-size: .75em; margin-right: .3rem; }
.bx-hull--frigate i, i.bx-hull--frigate       { color: var(--bx-cyan-2); }
.bx-hull--cruiser i, i.bx-hull--cruiser       { color: var(--bx-amber-2); }
.bx-hull--battleship i, i.bx-hull--battleship { color: var(--bx-err); }
.bx-hull--sentry i, i.bx-hull--sentry         { color: var(--bx-muted); }
.bx-peak { display: inline-block; font-weight: 700; font-size: .85rem; color: #ffb3b3; background: rgba(255,92,92,.12); border: 1px solid rgba(255,92,92,.45); border-radius: 999px; padding: .2rem .7rem; white-space: nowrap; }
.bx-peak--big { font-size: 1rem; padding: .35rem .9rem; }

.bx-chip { display: inline-block; font-size: .72rem; font-weight: 700; letter-spacing: .02em; border-radius: 4px; padding: .1rem .45rem; border: 1px solid var(--bx-line-2); color: var(--bx-muted); white-space: nowrap; margin: .1rem 0; }
.bx-chip--warp     { color: #e6b3ff; border-color: rgba(200,120,255,.5); background: rgba(200,120,255,.1); }
.bx-chip--web      { color: var(--bx-cyan-2); border-color: rgba(53,198,230,.5); background: rgba(53,198,230,.1); }
.bx-chip--neut     { color: var(--bx-amber-2); border-color: rgba(240,168,48,.5); background: rgba(240,168,48,.1); }
.bx-chip--rr       { color: var(--bx-ok); border-color: rgba(57,217,138,.5); background: rgba(57,217,138,.1); }
.bx-chip--trigger  { color: #ffb3b3; border-color: rgba(255,92,92,.5); background: rgba(255,92,92,.1); }
.bx-chip--optional { color: var(--bx-ok); border-color: rgba(57,217,138,.5); background: rgba(57,217,138,.1); }
.bx-chip--hack     { color: var(--bx-cyan-2); border-color: rgba(53,198,230,.5); background: rgba(53,198,230,.1); }
.bx-chip--despawn  { color: var(--bx-amber-2); border-color: rgba(240,168,48,.5); background: rgba(240,168,48,.1); }

.bx-site-detail { margin-top: .9rem; border-top: 1px solid var(--bx-line); padding-top: .9rem; }
.bx-site-detail__head { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; margin-bottom: .6rem; }
.bx-site-detail__head > div { flex: 1; min-width: 0; }
.bx-site-detail__head p { margin: 0; }
.bx-wave { border: 1px solid var(--bx-line); border-radius: 8px; background: var(--bx-bg-2); margin: .6rem 0; overflow: hidden; }
.bx-wave.is-on { border-color: var(--bx-amber); }
.bx-wave__head { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; padding: .6rem .9rem; background: var(--bx-panel-2); border-bottom: 1px solid var(--bx-line); }
.bx-wave__head h3 { margin: 0; font-size: 1rem; }
.bx-wave__stats { display: flex; gap: .9rem; flex-wrap: wrap; flex: 1; font-size: .85rem; color: var(--bx-muted); }
.bx-wave__stats b { color: var(--bx-text); font-variant-numeric: tabular-nums; }
.bx-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.bx-wave-table { min-width: 760px; font-size: .9rem; }
.bx-wave-table td:nth-child(n+3):nth-child(-n+8) { font-variant-numeric: tabular-nums; white-space: nowrap; }
.bx-wave-table tr.is-trigger  td { background: rgba(255,92,92,.08); box-shadow: 3px 0 0 var(--bx-err) inset; }
.bx-wave-table tr.is-optional td { background: rgba(57,217,138,.07); box-shadow: 3px 0 0 var(--bx-ok) inset; }
.bx-wave-table tr.is-hack     td { background: rgba(53,198,230,.07); box-shadow: 3px 0 0 var(--bx-cyan) inset; }
.bx-wave-table tr.is-despawn  td { background: rgba(240,168,48,.08); box-shadow: 3px 0 0 var(--bx-amber) inset; }
.bx-wave-table tr.is-trigger td:first-child, .bx-wave-table tr.is-optional td:first-child, .bx-wave-table tr.is-hack td:first-child, .bx-wave-table tr.is-despawn td:first-child { padding-left: .8rem; }
.bx-npc { font: inherit; color: var(--bx-text); background: none; border: 0; padding: 0; cursor: pointer; text-decoration: underline dotted var(--bx-line-2); text-underline-offset: 3px; }
.bx-npc:hover { color: var(--bx-cyan-2); }
.bx-specials { display: flex; flex-wrap: wrap; gap: .25rem; }
.bx-notes { margin-top: .6rem; font-size: .9rem; color: var(--bx-muted); }
.bx-notes summary { cursor: pointer; color: var(--bx-cyan-2); }
.bx-notes ul { margin: .4rem 0 0; padding-left: 1.2rem; }
.bx-sites__foot { margin-top: .8rem; }

/* plan por oleadas contra el fit */
.bx-plan { min-width: 720px; }
.bx-plan tr.is-ok  td:nth-child(4), .bx-plan tr.is-ok  td:last-child { color: var(--bx-ok); }
.bx-plan tr.is-warn td:last-child { color: var(--bx-amber-2); }
.bx-plan tr.is-bad td:nth-child(4), .bx-plan tr.is-bad td:last-child { color: var(--bx-err); }
.bx-plan tr.is-on td { background: rgba(240,168,48,.08); }

/* ficha de NPC (modal) */
.bx-modal { position: fixed; inset: 0; z-index: 50; display: grid; place-items: center; padding: 1rem; }
.bx-modal[hidden] { display: none; }
.bx-modal__backdrop { position: absolute; inset: 0; background: rgba(3,6,10,.75); backdrop-filter: blur(3px); }
.bx-modal__card { position: relative; width: min(760px, 100%); max-height: 90vh; overflow: auto; background: var(--bx-panel); border: 1px solid var(--bx-line-2); border-radius: var(--bx-radius); padding: 1.2rem 1.3rem; box-shadow: 0 20px 60px rgba(0,0,0,.6); }
.bx-modal__close { position: absolute; top: .5rem; right: .6rem; font: inherit; font-size: 1.4rem; line-height: 1; color: var(--bx-muted); background: none; border: 0; cursor: pointer; }
.bx-modal__close:hover { color: var(--bx-text); }
.bx-npc-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: .8rem 1.2rem; margin-top: .6rem; }
.bx-npc-grid h4 { margin: 0 0 .3rem; font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; color: var(--bx-muted); }
.bx-npc-grid dl { margin: 0; display: grid; grid-template-columns: auto 1fr; gap: .2rem .7rem; font-size: .9rem; }
.bx-npc-grid dt { color: var(--bx-muted); }
.bx-npc-grid dd { margin: 0; font-variant-numeric: tabular-nums; }

/* ---- responsive ---- */
@media (max-width: 640px) {
  .site-header { gap: .6rem; }
  .site-header nav { margin-left: 0; width: 100%; gap: .7rem; }
  .eve-chip__name { max-width: 9ch; }
  .eve-card__head { flex-wrap: wrap; }
  .bx-site { flex-wrap: wrap; gap: .5rem; }
  .bx-site__side { width: 100%; justify-content: flex-start; }
  .bx-legend { margin-left: 0; }
  .bx-quick__label { min-width: 0; }
  .bx-step { grid-template-columns: 36px 1fr; gap: .6rem; }
  .bx-step__n { width: 36px; height: 36px; font-size: 1rem; }
  .bx-step__value { font-size: 1.35rem; }
}

/* ---- panel Defensa (fit-panel.php) ---- */
.bx-def { margin-top: 1rem; border-top: 1px solid var(--bx-line); padding-top: .9rem; }
.bx-def__head { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; margin-bottom: .7rem; }
.bx-def__head > div:first-child { flex: 1; min-width: 0; }
.bx-def__head p { margin: 0; }
.bx-def__total { display: grid; justify-items: end; line-height: 1; }
.bx-def__total-n { font-size: 2rem; font-weight: 800; color: var(--bx-amber-2); font-variant-numeric: tabular-nums; }
.bx-def__total small { color: var(--bx-muted); font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; }
.bx-def-table { min-width: 640px; }
.bx-def-table td:nth-child(2), .bx-def-table td:last-child { font-variant-numeric: tabular-nums; white-space: nowrap; }
.bx-def-table tr.is-tank td { background: rgba(240,168,48,.07); }
.bx-def-res { min-width: 5.5rem; }
.bx-def-res__n { display: block; font-weight: 700; font-variant-numeric: tabular-nums; }
.bx-def-res__bar { display: block; height: 6px; margin-top: 3px; background: var(--bx-line); border-radius: 999px; overflow: hidden; }
.bx-def-res__bar i { display: block; height: 100%; background: var(--bx-cyan); }
.bx-def-res[data-layer="em"]  .bx-def-res__bar i { background: #6f9fff; }
.bx-def-res[data-layer="th"]  .bx-def-res__bar i { background: #ff7d55; }
.bx-def-res[data-layer="kin"] .bx-def-res__bar i { background: #c3ced9; }
.bx-def-res[data-layer="ex"]  .bx-def-res__bar i { background: #ffc252; }
.bx-def-res.is-low .bx-def-res__n { color: var(--bx-amber-2); }
.bx-def-res.is-low .bx-def-res__bar { box-shadow: 0 0 0 1px var(--bx-amber) inset; }
.bx-def__stats { margin-top: .8rem; }
select { width: 100%; font: inherit; color: var(--bx-text); background: var(--bx-bg-2); border: 1px solid var(--bx-line-2); border-radius: 6px; padding: .5rem .65rem; }

/* ---- compat: reglas del app.css anterior que siguen usando hub, minero y el formulario EFT ---- */
.lead { color: var(--bx-muted); font-size: 1.1rem; }
.small { font-size: .8rem; }
.cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 10px; }
.btn { display: inline-block; padding: 11px 18px; border-radius: 9px; font-weight: 700; text-decoration: none;
       border: 1px solid var(--bx-line); background: var(--bx-panel); color: var(--bx-text); cursor: pointer; font: inherit; }
.btn.yt  { background: #e5484d; border-color: #e5484d; color: #fff; }
.btn.acc { background: var(--bx-amber); border-color: var(--bx-amber); color: #111; }
.btn.acc:hover { background: var(--bx-amber-2); }
form > label, .row label { display: block; margin: 12px 0 4px; color: var(--bx-muted); }
.row { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; }
.row input { width: 100%; }
form > textarea { width: 100%; min-height: 200px; }
.note { background: #1a1609; border: 1px solid #4a3b12; border-radius: var(--bx-radius); padding: 12px 14px; color: #f0d58a; margin: 16px 0; }
.out { background: var(--bx-panel); border: 1px solid var(--bx-line); border-radius: var(--bx-radius); padding: 14px; margin: 16px 0; }
.out table { width: 100%; border-collapse: collapse; }
.out td, .out th { padding: 6px 8px; border-bottom: 1px solid var(--bx-line); text-align: left; }
.flash { background: #0f1f14; border: 1px solid #1f5a33; border-radius: var(--bx-radius); padding: 10px 14px; color: #9fe2b5; margin: 0 0 16px; }

/* ==========================================================================
   v2 (2026-10-09): modo básico/nerd, hub nuevo, veredicto y pulido general
   ========================================================================== */
html, body { overflow-x: clip; }
h1 { font-size: clamp(1.6rem, 3.2vw, 2.1rem); letter-spacing: -.01em; }
.bx-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.bx-skip { position: absolute; left: -999px; top: .5rem; z-index: 100; background: var(--bx-amber); color: #111; padding: .4rem .8rem; border-radius: 6px; }
.bx-skip:focus { left: .5rem; }
.bx-panel { border-radius: 14px; padding: 1.3rem 1.4rem; background: linear-gradient(180deg, rgba(22,32,45,.75), var(--bx-panel)); }
.bx-panel__head h2 { display: inline-flex; align-items: center; gap: .55rem; }
.btn-eve--lg { padding: .85rem 1.35rem; font-size: 1.05rem; border-radius: 8px; }
.site-footer__row { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .3rem 1.5rem; }
.site-footer a { color: var(--bx-muted); text-decoration-color: rgba(141,154,171,.4); }
.site-footer a:hover { color: var(--bx-amber-2); }

/* ---- modo: visibilidad ---- */
html.mode-basic .nerd-only { display: none !important; }
html.mode-nerd .basic-only { display: none !important; }

/* ---- interruptor lateral de modo ---- */
.bx-mode {
  position: fixed; right: 0; top: 50%; transform: translateY(-50%); z-index: 40;
  display: flex; flex-direction: column; align-items: stretch; gap: 4px;
  padding: 8px 6px 6px 8px; border-radius: 14px 0 0 14px;
  background: rgba(12,18,26,.92); backdrop-filter: blur(10px);
  border: 1px solid var(--bx-line-2); border-right: 0;
  box-shadow: -8px 0 30px rgba(0,0,0,.45);
}
.bx-mode__label { font: 700 .58rem/1 var(--bx-mono); letter-spacing: .2em; text-transform: uppercase; color: var(--bx-muted); text-align: center; padding: 2px 0 4px; }
.bx-mode__btn {
  display: flex; flex-direction: column; align-items: center; gap: 3px; width: 74px;
  padding: 8px 4px; border-radius: 10px; cursor: pointer; font: inherit; line-height: 1.1;
  color: var(--bx-muted); background: transparent; border: 1px solid transparent;
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.bx-mode__btn:hover { color: var(--bx-text); background: rgba(255,255,255,.04); }
.bx-mode__btn:focus-visible { outline: 2px solid var(--bx-cyan); outline-offset: 1px; }
.bx-mode__ico { font-size: 1.15rem; }
.bx-mode__txt { display: flex; flex-direction: column; align-items: center; }
.bx-mode__txt b { font-size: .78rem; font-weight: 700; }
.bx-mode__txt small { font-size: .62rem; opacity: .8; letter-spacing: .04em; }
.bx-mode__btn[data-mode="basic"][aria-pressed="true"] { color: #1a1206; background: linear-gradient(180deg, var(--bx-amber-2), var(--bx-amber)); border-color: #c98a1f; }
.bx-mode__btn[data-mode="nerd"][aria-pressed="true"]  { color: #04161c; background: linear-gradient(180deg, var(--bx-cyan-2), var(--bx-cyan)); border-color: #1f9bb7; }
.bx-mode-toast {
  position: fixed; right: 100px; top: 50%; transform: translateY(-50%); z-index: 41;
  background: var(--bx-panel-2); border: 1px solid var(--bx-line-2); color: var(--bx-text);
  padding: .55rem .85rem; border-radius: 10px; font-size: .88rem; box-shadow: 0 10px 30px rgba(0,0,0,.5);
  animation: bx-rise .25s ease-out;
}
.bx-mode-toast[hidden] { display: none; }
/* deja sitio al interruptor lateral: contenido centrado con 100 px libres a cada lado hasta que sobra ancho */
@media (min-width: 761px) and (max-width: 1320px) { .eve-main, main, .site-footer { width: calc(100% - 200px); } }
@media (max-width: 760px) {
  .site-footer { padding-bottom: 4.5rem; }
  .bx-mode { top: auto; bottom: 12px; right: 12px; transform: none; flex-direction: row; align-items: center; border-radius: 999px; border-right: 1px solid var(--bx-line-2); padding: 4px; gap: 2px; }
  .bx-mode__label { display: none; }
  .bx-mode__btn { flex-direction: row; width: auto; gap: 6px; padding: 7px 12px; border-radius: 999px; }
  .bx-mode__ico { font-size: 1rem; }
  .bx-mode__txt small { display: none; }
  .bx-mode-toast { right: 12px; left: 12px; top: auto; bottom: 66px; transform: none; text-align: center; }
}

/* ---- número de paso (básico) ---- */
.bx-num {
  display: inline-grid; place-items: center; width: 1.7rem; height: 1.7rem; border-radius: 50%; flex: none;
  font: 800 .9rem/1 var(--bx-font); color: #1a1206; background: var(--bx-amber); box-shadow: 0 0 0 4px rgba(240,168,48,.15);
}
.bx-hint { margin: .2rem 0 .4rem; color: var(--bx-cyan-2); font-weight: 600; }
.bx-page-head { margin: .5rem 0 1.2rem; }
.bx-page-head .lead { margin: .3rem 0 0; max-width: 70ch; }

/* ---- flujo 1-2-3 (resistencias, básico) ---- */
.bx-flow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; margin: 0 0 1.2rem; }
.bx-flow__step {
  display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: .8rem; align-items: center;
  padding: 1rem 1.1rem; border-radius: 14px; text-decoration: none; color: var(--bx-text);
  background: linear-gradient(180deg, var(--bx-panel-2), var(--bx-panel)); border: 1px solid var(--bx-line);
  transition: border-color .15s ease, transform .1s ease;
}
.bx-flow__step:hover { border-color: var(--bx-amber); color: var(--bx-text); transform: translateY(-2px); }
.bx-flow__step span { grid-row: 1 / 3; display: grid; place-items: center; width: 2.4rem; height: 2.4rem; border-radius: 50%; font-weight: 800; font-size: 1.1rem; color: #1a1206; background: var(--bx-amber); }
.bx-flow__step b { font-size: 1.05rem; }
.bx-flow__step small { color: var(--bx-muted); }
@media (max-width: 640px) { .bx-flow { grid-template-columns: 1fr; gap: .5rem; } .bx-flow__step { padding: .75rem .9rem; } }

/* ---- veredicto ---- */
.bx-verdict {
  --v: var(--bx-cyan); --v-bg: rgba(53,198,230,.08);
  position: relative; margin: 1.2rem 0; padding: 1.3rem 1.4rem; border-radius: 16px;
  background: radial-gradient(600px 200px at 0% 0%, var(--v-bg), transparent 70%), linear-gradient(180deg, var(--bx-panel-2), var(--bx-panel));
  border: 1px solid var(--bx-line-2); border-left: 5px solid var(--v);
  scroll-margin-top: 80px;
}
.bx-verdict.is-ok   { --v: var(--bx-ok);   --v-bg: rgba(57,217,138,.12); }
.bx-verdict.is-warn { --v: var(--bx-amber); --v-bg: rgba(240,168,48,.13); }
.bx-verdict.is-bad  { --v: var(--bx-err);  --v-bg: rgba(255,92,92,.12); }
.bx-verdict__kicker { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; margin: 0 0 .3rem; font: 700 .72rem/1 var(--bx-mono); letter-spacing: .16em; text-transform: uppercase; color: var(--bx-muted); }
.bx-verdict__ex { font-family: var(--bx-font); letter-spacing: .04em; text-transform: none; font-weight: 600; font-size: .75rem; color: var(--bx-amber-2); background: rgba(240,168,48,.12); border: 1px solid rgba(240,168,48,.4); border-radius: 999px; padding: .2rem .55rem; }
.bx-verdict__ex[hidden] { display: none; }
.bx-verdict__title { margin: 0 0 .25rem; font-size: clamp(1.7rem, 4vw, 2.4rem); font-weight: 800; color: var(--v); letter-spacing: -.01em; }
.bx-verdict__line { margin: 0; font-size: 1.05rem; color: #cfd8e2; max-width: 75ch; }
.bx-verdict__nums { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; margin-top: 1.1rem; }
.bx-verdict--plain .bx-verdict__nums { margin-top: 0; }
.bx-verdict__n { padding: .85rem 1rem; border-radius: 12px; background: rgba(7,11,16,.55); border: 1px solid var(--bx-line); }
.bx-verdict__n b { display: block; font-size: clamp(1.4rem, 3vw, 1.9rem); font-weight: 800; line-height: 1.1; color: var(--bx-text); font-variant-numeric: tabular-nums; }
.bx-verdict__n b i { font-style: normal; font-size: .55em; font-weight: 600; color: var(--bx-muted); }
.bx-verdict__n small { display: block; margin-top: .25rem; color: var(--bx-muted); font-size: .82rem; }
.bx-verdict__neut { margin: .9rem 0 0; padding: .55rem .8rem; border-radius: 10px; background: rgba(240,168,48,.1); border: 1px solid rgba(240,168,48,.35); color: var(--bx-amber-2); font-weight: 600; }
.bx-verdict__neut[hidden] { display: none; }
.bx-verdict__src { margin: .8rem 0 0; font-size: .82rem; color: var(--bx-muted); }
@media (max-width: 640px) {
  .bx-verdict { padding: 1.05rem 1rem; }
  .bx-verdict__nums { grid-template-columns: 1fr; gap: .5rem; }
  .bx-verdict__n { display: flex; align-items: baseline; justify-content: space-between; gap: .8rem; padding: .65rem .85rem; }
  .bx-verdict__n small { margin: 0; text-align: right; }
}

/* ---- básico: inputs más cómodos ---- */
html.mode-basic .bx-res__input input { width: 7ch; }
html.mode-basic .bx-site { padding: 1rem 1.1rem; }

/* ---- hub v2 ---- */
.bx-hero2 {
  position: relative; isolation: isolate; overflow: hidden;
  width: 100vw; margin-left: calc(50% - 50vw); margin-top: -1.75rem;
  min-height: clamp(480px, 72vh, 680px); display: flex; align-items: center;
}
.bx-hero2__media { position: absolute; inset: 0; z-index: -1; background: #05070a url("/tools/media/hero-poster.jpg?v=20261008") 38% 50%/cover no-repeat; }
.bx-hero2__video { width: 100%; height: 100%; object-fit: cover; object-position: 38% 50%; display: block; }
@media (min-width: 861px) { .bx-hero2__video, .bx-hero2__media { transform: scaleX(-1); } .bx-hero2__shade { transform: scaleX(-1); } }
.bx-hero2__shade {
  position: absolute; inset: 0;
  background:
    linear-gradient(90deg, rgba(5,7,10,.94) 0%, rgba(5,7,10,.7) 42%, rgba(5,7,10,.15) 75%, rgba(5,7,10,.35) 100%),
    linear-gradient(180deg, rgba(5,7,10,.2) 0%, transparent 30%, transparent 60%, var(--bx-bg) 100%);
}
.bx-hero2__inner { width: min(1100px, 100% - 2rem); margin: 0 auto; padding: 3.5rem 0 6rem; }
.bx-hero2__kicker {
  display: inline-flex; align-items: center; gap: .55rem; margin: 0 0 1.1rem;
  font: 600 .74rem/1 var(--bx-mono); letter-spacing: .16em; text-transform: uppercase; color: var(--bx-cyan-2);
  padding: .5rem .75rem; border: 1px solid rgba(53,198,230,.35); border-radius: 999px; background: rgba(7,11,16,.55);
}
.bx-hero2__dot { width: 7px; height: 7px; border-radius: 50%; background: var(--bx-amber); box-shadow: 0 0 10px var(--bx-amber); animation: bx-blink 2.4s ease-in-out infinite; }
.bx-hero2__title { margin: 0 0 1rem; max-width: 15ch; font-size: clamp(2.3rem, 5.6vw, 4.2rem); font-weight: 800; line-height: 1.02; letter-spacing: -.02em; text-shadow: 0 4px 30px rgba(0,0,0,.6); }
.bx-hero2__title em { font-style: normal; display: block; background: linear-gradient(90deg, var(--bx-amber-2), var(--bx-amber) 60%, #ff9a3d); -webkit-background-clip: text; background-clip: text; color: transparent; }
.bx-hero2__tag { max-width: 50ch; margin: 0 0 1.6rem; font-size: clamp(1.02rem, 1.8vw, 1.2rem); color: #cdd6e0; }
.bx-hero2__cta { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem; }
.bx-hero2__cta .btn-eve--ghost { background: rgba(7,11,16,.55); backdrop-filter: blur(6px); }
.bx-hero2__hi { display: inline-flex; align-items: center; gap: .55rem; padding: .35rem .9rem .35rem .35rem; border-radius: 999px; background: rgba(7,11,16,.6); border: 1px solid var(--bx-line-2); }
.bx-hero2__hi img { border-radius: 50%; border: 1px solid var(--bx-amber); }
.bx-hero2__fine { margin: 1rem 0 0; font-size: .85rem; color: var(--bx-muted); }

.bx-hub { position: relative; z-index: 2; margin-top: -4rem; }
.bx-hub__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.bx-tile {
  --t: var(--bx-amber);
  position: relative; display: flex; flex-direction: column; gap: .35rem; min-height: 210px;
  padding: 1.3rem 1.25rem 1.1rem; border-radius: 16px; text-decoration: none; color: var(--bx-text);
  background: linear-gradient(180deg, rgba(22,32,45,.94), rgba(14,20,29,.96)); backdrop-filter: blur(8px);
  border: 1px solid var(--bx-line-2); box-shadow: 0 18px 40px rgba(0,0,0,.35);
  transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.bx-tile::before { content: ""; position: absolute; left: 1.25rem; right: 1.25rem; top: -1px; height: 2px; border-radius: 2px; background: var(--t); opacity: .9; }
.bx-tile:hover { transform: translateY(-4px); border-color: var(--t); color: var(--bx-text); box-shadow: 0 22px 50px rgba(0,0,0,.45), 0 0 0 1px var(--t) inset; }
.bx-tile--cyan { --t: var(--bx-cyan); }
.bx-tile--ok   { --t: var(--bx-ok); }
.bx-tile--eve  { --t: #c9a3ff; }
.bx-tile__icon { display: grid; place-items: center; width: 2.6rem; height: 2.6rem; border-radius: 12px; font-size: 1.35rem; background: rgba(255,255,255,.05); border: 1px solid var(--bx-line-2); margin-bottom: .35rem; }
.bx-tile h3 { margin: 0; font-size: 1.15rem; }
.bx-tile p { margin: 0; color: var(--bx-muted); font-size: .95rem; }
.bx-tile .bx-tile__more { font-size: .84rem; color: #7f8da0; }
.bx-tile__go { margin-top: auto; padding-top: .6rem; font-weight: 700; font-size: .9rem; color: var(--t); }
.bx-tile.is-done .bx-tile__go { color: var(--bx-ok); }

.bx-how { margin: 3rem 0 0; }
.bx-how__list { list-style: none; margin: .8rem 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.bx-how__list li { display: flex; gap: .8rem; padding: 1rem 1.1rem; border-radius: 14px; background: var(--bx-panel); border: 1px solid var(--bx-line); }
.bx-how__list span { font: 700 1.05rem/1 var(--bx-mono); color: var(--bx-amber-2); padding-top: .15rem; }
.bx-how__list h3 { font-size: 1rem; margin: 0 0 .25rem; }
.bx-how__list p { margin: 0; color: var(--bx-muted); font-size: .9rem; }

.bx-community {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2rem;
  margin: 3rem 0 0; padding: 1.4rem 1.5rem; border-radius: 16px;
  background: radial-gradient(500px 160px at 100% 0%, rgba(240,168,48,.1), transparent 70%), var(--bx-panel);
  border: 1px solid var(--bx-line);
}
.bx-community h2 { margin: 0 0 .2rem; font-size: 1.15rem; }
.bx-community p { margin: 0; }
.bx-community__links { display: flex; flex-wrap: wrap; gap: .6rem; }
.bx-community .btn { padding: 9px 16px; font-size: .92rem; }
.bx-btn-line { background: rgba(7,11,16,.55) !important; border-color: var(--bx-amber) !important; color: var(--bx-amber-2) !important; }
.bx-btn-line:hover { background: rgba(240,168,48,.12) !important; }

@media (max-width: 980px) { .bx-hub__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 860px) {
  .bx-hero2__shade { background: linear-gradient(180deg, rgba(5,7,10,.4) 0%, rgba(5,7,10,.65) 45%, rgba(5,7,10,.9) 80%, var(--bx-bg) 100%); }
  .bx-how__list { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .bx-hero2 { min-height: 0; }
  .bx-hero2__inner { padding: 2.4rem 0 4.5rem; }
  .bx-hero2__kicker { font-size: .64rem; letter-spacing: .1em; }
  .bx-hero2__cta .btn-eve { flex: 1 1 100%; justify-content: center; }
  .bx-hub { margin-top: -2.5rem; }
  .bx-hub__grid { grid-template-columns: 1fr; gap: .7rem; }
  .bx-tile { min-height: 0; display: grid; grid-template-columns: auto 1fr; column-gap: .9rem; row-gap: .15rem; padding: 1rem; }
  .bx-tile__icon { grid-row: 1 / 4; margin: 0; }
  .bx-tile__go { padding-top: .3rem; }
}

/* entradas (solo CSS) */
.bx-in { opacity: 0; animation: bx-rise .7s cubic-bezier(.2,.7,.2,1) var(--d, 0s) forwards; }
@keyframes bx-rise { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes bx-blink { 50% { opacity: .35; } }
@media (prefers-reduced-motion: reduce) {
  .bx-hero2__video { display: none; }
  .bx-in, .bx-hero2__dot, .bx-mode-toast { animation: none !important; opacity: 1; }
}
@media (max-width: 640px) {
  .bx-wave__head { flex-direction: column; align-items: flex-start; gap: .4rem; }
  .bx-wave__stats { gap: .3rem .8rem; }
  .site-header { padding: .55rem 1rem; }
  .site-header nav { gap: .9rem; }
}
.bx-verdict__n b { white-space: nowrap; }
.bx-verdict__copy { margin: 0; font-size: 1.1rem; color: #e1e8ef; max-width: 75ch; }
.bx-verdict__n b i.basic-only { font-size: .5em; color: var(--bx-muted); }
.bx-verdict__ex { white-space: normal; }

/* ---- hub: 5 tiles (Fiteos y skill plans, 2026-10-09) ---- */
.bx-tile--fits { --t: #8fb4ff; }
@media (min-width: 981px) { .bx-hub__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .85rem; } .bx-hub__grid .bx-tile { padding: 1.2rem 1.05rem 1rem; } }

/* academia (hub de 6 tiles: 3 columnas en escritorio) */
.bx-tile--acad { --t: #ffd166; }
