/* ===== Wanha · consola (diseño app original) — tarjeta protagonista ===== */
:root{--v-cream:#F3F1E8;--v-paper:#FBFAF4;--v-ink:#22302A;--v-green:#1E4D3A;--v-green-2:#2E6B4F;
  --v-maroon:#9E3B2E;--v-line:#DBD7C7;--v-muted:#7C857A;}
body{background:var(--v-cream)!important}
.simtop{display:none}
.sim-shell{max-width:760px;margin:0 auto;padding:8px clamp(8px,3vw,18px) 30px;color:var(--v-ink)}
#sim{background:var(--v-paper);border-radius:16px;overflow:hidden;border:1px solid var(--v-line);
  box-shadow:0 10px 30px -18px rgba(30,50,40,.35);display:flex;flex-direction:column;min-height:88vh}

/* buttons (todos pequeños) */
.pbtn{border:1.5px solid var(--v-line);background:#fff;color:var(--v-ink);padding:9px 13px;border-radius:10px;
  cursor:pointer;font-weight:600;font-size:13px;font-family:var(--body);transition:.14s;line-height:1.15}
.pbtn:hover{border-color:var(--v-green)}
.pbtn.primary{background:var(--v-green);border-color:var(--v-green);color:#fff}
.pbtn.primary:hover{filter:brightness(1.1)}
.pbtn.wide{width:100%}.pbtn.big{padding:14px;font-size:15px;margin-top:18px}

/* ---- header ---- */
.top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-bottom:1px solid var(--v-line)}
.logo{display:flex;align-items:center;gap:8px;line-height:.95}
.logo__leaf{color:var(--v-green-2);font-size:18px}
.logo__t{font-family:var(--display);font-weight:600;color:var(--v-green);font-size:15px}
.logo__t em{font-style:italic;font-weight:600}
.logo.big{justify-content:center;margin-bottom:6px}.logo.big .logo__t{font-size:26px}
.top__r{display:flex;align-items:center;gap:8px}
.tbtn{border:1.5px solid var(--v-line);background:#fff;color:var(--v-green);text-decoration:none;
  padding:6px 11px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}
.tbtn:hover{border-color:var(--v-green)}
.tpill{background:#EAEFE9;color:var(--v-green);padding:6px 11px;border-radius:999px;font-family:var(--mono);font-size:11.5px;white-space:nowrap}

/* ---- guardian pills (mini) ---- */
.gp-row{display:flex;flex-wrap:wrap;gap:6px;padding:8px 14px;border-bottom:1px solid var(--v-line)}
.gp{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--v-line);background:#fff;color:var(--v-ink);
  padding:5px 10px;border-radius:999px;cursor:pointer;font-weight:600;font-size:11.5px}
.gp .dot{width:8px;height:8px;border-radius:50%;background:var(--c)}
.gp.on{background:var(--c);border-color:var(--c);color:#fff}.gp.on .dot{background:#fff}
.gp.next{margin-left:auto;background:var(--v-green);color:#fff;border-color:var(--v-green)}

/* ---- STAGE (protagonista) ---- */
.stage{flex:1;display:flex;padding:16px clamp(12px,3vw,22px);min-height:clamp(300px,48vh,560px)}
.stage--hero{align-items:center;justify-content:center;text-align:center;
  background:radial-gradient(120% 90% at 50% 0,#EEF3EC,#FBFAF4 70%)}
.shero__star{color:#C9A227;font-size:26px}
.shero__t{font-family:var(--display);font-weight:600;color:var(--v-green);font-size:clamp(26px,6vw,40px);margin:6px 0 6px}
.shero__s{color:var(--v-muted);font-size:clamp(14px,3.2vw,17px);max-width:34ch;margin:0 auto}

/* drawn card — grande */
.dcard{width:100%;border:1px solid var(--v-line);border-left:8px solid var(--c);border-radius:14px;
  padding:18px clamp(16px,3vw,26px);background:#fff;box-shadow:0 6px 18px -12px rgba(30,50,40,.3)}
.dcard__eb{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--c);font-weight:700;
  display:flex;align-items:center;justify-content:space-between}
.xbtn{border:none;background:#EFECDF;width:26px;height:26px;border-radius:50%;cursor:pointer;font-size:16px;color:var(--v-ink);line-height:1}
.dcard__t{font-family:var(--display);font-weight:600;font-size:clamp(24px,5vw,34px);line-height:1.05;margin:6px 0 10px}
.dcard p{font-size:clamp(15px,3.2vw,18px);margin:0 0 10px;color:#2b3a33;line-height:1.5}
.dcard .mono{font-family:var(--mono);font-size:12px;color:var(--v-muted)}
.dcard .q{border-left:3px solid var(--c);padding-left:14px;color:#2b3a33}
.dcard .eco{font-style:italic;color:#586b5f}
.tono{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:3px 9px;border-radius:5px;font-weight:700;display:inline-block;margin-bottom:10px}
.tono--neg{background:color-mix(in srgb,var(--v-maroon) 15%,transparent);color:#8f3417}
.tono--pos{background:color-mix(in srgb,var(--v-green) 16%,transparent);color:#1e5a3a}
.fxline{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--v-line)}
.fxk{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--v-muted)}
.chip{display:inline-block;padding:4px 12px;border-radius:8px;font-size:13.5px;font-weight:700;border:1.5px solid var(--tc,var(--v-muted));color:var(--tc);background:color-mix(in srgb,var(--tc,#000) 8%,#fff)}
.chip.dana{--tc:var(--v-maroon)}.chip.restaura{--tc:#2E7D52}.chip.reserva{--tc:#C08A2C}.chip.movim{--tc:#3F7C8C}.chip.refugio{--tc:var(--v-green)}.chip.nulo{--tc:var(--v-muted)}
.seqw{font-family:var(--mono);font-size:11px;color:var(--v-muted)}.opt2{font-size:14px;margin:5px 0}
.ladder{margin-top:12px;display:flex;flex-direction:column;gap:8px}
.rung{display:flex;align-items:center;gap:10px;padding:11px 15px;border:1.5px solid var(--v-line);border-radius:11px;background:#fff}
.rung b{font-size:14px;min-width:100px}.rung .mono{flex:1;font-style:italic;color:var(--v-muted);font-size:12.5px}
.rung.ya{border-color:#2E7D52;background:color-mix(in srgb,#2E7D52 8%,#fff)}.rung .chip{margin-left:auto}
.trivask{border:1.5px solid var(--v-line);border-radius:12px;padding:18px;text-align:center;background:#F7F5EC}
.trivask__q{font-weight:600;margin:0 0 14px;font-size:16px}
.trivask__opts{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.pbtn.lvl{font-weight:700}
.trivtabs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.ttab{border:1.5px solid var(--v-line);background:#fff;color:var(--v-muted);padding:5px 12px;border-radius:8px;cursor:pointer;font-size:12px;font-weight:700}
.ttab.on{background:var(--v-green);color:#fff;border-color:var(--v-green)}
.tl__q{font-weight:600;margin:0 0 10px;font-size:clamp(16px,3.4vw,19px)}
.tlo{display:flex;gap:9px;padding:9px 13px;border:1.5px solid var(--v-line);border-radius:9px;margin:5px 0;font-size:15px;background:#fff}
.tlo b{color:var(--v-muted);font-family:var(--mono)}.tlo.ok{border-color:#2E7D52;background:color-mix(in srgb,#2E7D52 12%,#fff)}.tlo.ok b{color:#2E7D52}
.tl__exp{font-size:13.5px;color:#4a5951;margin-top:8px}
.dato{margin-top:14px;padding:14px 16px;border-radius:12px;background:#F0EEE2;color:var(--v-green);font-family:var(--display);font-size:clamp(16px,3.4vw,19px);font-style:italic}
.dato::before{content:"★  ";color:#C08A2C;font-style:normal}
.winbig{margin:auto;text-align:center}.winbig__t{font-family:var(--display);font-size:clamp(26px,6vw,38px);margin-bottom:16px}
.winbig.g{color:var(--v-green)}.winbig.v{color:var(--v-maroon)}

/* ---- TRAY (dados + tipos, compacto) ---- */
.tray{padding:10px 14px;border-top:1px solid var(--v-line);background:#F7F5EC}
.tray__dice{display:flex;align-items:center;justify-content:center;gap:clamp(12px,4vw,26px)}
.pbtn.roll{background:var(--v-green);border-color:var(--v-green);color:#fff;font-weight:700;padding:9px 14px;font-size:13px;white-space:nowrap}
.die{display:flex;flex-direction:column;align-items:center;gap:3px}
.die__face{width:clamp(46px,12vw,58px);height:clamp(46px,12vw,58px);display:flex;align-items:center;justify-content:center;
  background:#fff;border-radius:14px;box-shadow:0 2px 6px -3px rgba(30,50,40,.28);padding:6px}
.die__img{width:100%;height:100%;object-fit:contain}
.die__q{font-family:var(--display);font-size:24px;color:var(--v-muted);opacity:.45}
.die__n{font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--v-muted)}
.die.spin .die__face{animation:diejig .28s infinite}
@keyframes diejig{0%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}100%{transform:rotate(-6deg)}}
.tray__res{text-align:center;margin-top:8px;font-family:var(--mono);font-size:12px;color:var(--v-green);font-weight:700}
.tray__types{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px}
.tybtn{border:1.5px solid var(--v-line);background:#fff;color:var(--v-ink);padding:8px 6px;border-radius:9px;cursor:pointer;font-weight:700;font-size:12.5px}
.tybtn:hover{border-color:var(--v-green)}
.tray__types.wild .tybtn{border-color:var(--v-green);box-shadow:0 0 0 3px color-mix(in srgb,var(--v-green) 15%,transparent)}
.wildhint{text-align:center;margin-top:8px;font-family:var(--mono);font-size:11.5px;color:var(--v-green);font-weight:700}
@media (prefers-reduced-motion:reduce){.die.spin .die__face{animation:none}}

/* ---- SCORE (discreto + narrador) ---- */
.score{padding:9px 14px 12px;border-top:1px solid var(--v-line)}
.score__narr{font-family:var(--display);font-style:italic;font-size:13.5px;color:var(--v-green-2);text-align:center;margin-bottom:8px}
.score__bars{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:center}
.mini{display:flex;align-items:center;gap:7px;font-size:11.5px}
.mini__n{font-weight:700;color:var(--v-ink);white-space:nowrap}
.mini__track{width:clamp(70px,18vw,120px);height:8px;background:#E7E3D4;border-radius:6px;overflow:hidden}
.mini__fill{height:100%;border-radius:6px;transition:width .2s}
.mini__v{font-family:var(--mono);font-weight:700;min-width:14px;text-align:center}
.mini.res b{font-family:var(--body);font-size:15px;color:var(--v-green);min-width:16px;text-align:center}
.stp{width:26px;height:26px;border-radius:7px;border:1.5px solid var(--v-line);background:#fff;color:var(--v-green);font-size:16px;line-height:1;cursor:pointer}
.stp:hover{border-color:var(--v-green);background:#F0F5F1}

/* setup */
.setup{padding:clamp(20px,5vw,34px)}
.setup h4{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--v-muted);margin:20px 0 10px}
.setup h4 small{text-transform:none;letter-spacing:0}
.hint{font-size:13.5px;color:var(--v-muted);margin:8px 0 0;text-align:center}
.setg{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.gpick{display:inline-flex;align-items:center;gap:9px;border:1.5px solid var(--v-line);background:#fff;padding:10px 15px;border-radius:999px;cursor:pointer;font-weight:600;font-size:14px;color:var(--v-ink)}
.gpick .dot{width:12px;height:12px;border-radius:50%;background:var(--c)}
.gpick.on{background:var(--c);border-color:var(--c);color:#fff}.gpick.on .dot{background:#fff}
.scope{font-family:var(--mono);font-size:11px;color:var(--v-muted);margin-top:16px;border-top:1px solid var(--v-line);padding-top:12px;line-height:1.5;text-align:center}

.shero{max-width:36ch;margin:auto}
.tbtn,.tpill{text-transform:none}
.logo__leaf{flex:none}
/* trivia options as tappable buttons (reveal on tap) */
.tlo{width:100%;text-align:left;cursor:pointer;font-family:var(--body);transition:.14s}
.tlo:hover:not([disabled]){border-color:var(--v-green)}
.tlo[disabled]{cursor:default}
.tl__hint{font-family:var(--mono);font-size:11.5px;color:var(--v-muted);margin:8px 0 0;text-align:center}
/* consecuencia ultra-compacta (siempre presente) */
.fxline{margin-top:10px;padding-top:9px;border-top:1px solid var(--v-line);display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.fxa{font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--v-muted)}
.chip{padding:2px 9px;font-size:12.5px}
/* resultado explícito de Trivia */
.trivres{margin:10px 0 4px;padding:9px 13px;border-radius:9px;font-weight:700;font-size:14px}
.trivres.ok{background:color-mix(in srgb,#2E7D52 14%,#fff);color:#1e5a3a;border:1.5px solid #2E7D52}
.trivres.bad{background:color-mix(in srgb,var(--v-maroon) 12%,#fff);color:#8f3417;border:1.5px solid var(--v-maroon)}


/* ===== Tokens de tipografía (heredados de la edición Wanha') ===== */
:root{
  --display:"Fraunces",Georgia,serif;
  --body:"Public Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:"Space Mono","SFMono-Regular",ui-monospace,monospace;
}
*{box-sizing:border-box}
body{margin:0;font-family:var(--body);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
button{font-family:inherit}

/* Marca superior (título de imagen, discreto) */
.brandimg{height:26px;width:auto;max-width:min(52vw,220px);object-fit:contain;object-position:left center;display:block}
.top .logo{gap:10px}

/* ===== Barra de idioma — discreta, contextual ===== */
.langbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;
  padding:7px 14px;border-bottom:1px solid var(--v-line);background:#FBFAF4}
.langbar__k{font-family:var(--mono);font-size:9.5px;letter-spacing:.09em;text-transform:uppercase;
  color:var(--v-muted);margin-right:2px}
.lang{display:inline-flex;flex-direction:column;line-height:1.05;align-items:flex-start;
  border:1.5px solid var(--v-line);background:#fff;color:var(--v-ink);
  padding:4px 10px;border-radius:999px;cursor:pointer;font-weight:700;font-size:11.5px;transition:.14s}
.lang small{font-family:var(--mono);font-weight:400;font-size:8.5px;color:var(--v-muted);letter-spacing:.02em}
.lang:hover{border-color:var(--v-green)}
.lang.on{background:var(--v-green);border-color:var(--v-green);color:#fff}
.lang.on small{color:rgba(255,255,255,.82)}

/* Idiomas: orden de elección, etiquetas por bloque, nota de faltantes */
.lang__l{display:inline-flex;align-items:flex-start;gap:4px}
.lang sup,.lpick sup{font-family:var(--mono);font-size:8.5px;font-weight:400;opacity:.85;line-height:1;margin-top:-1px}
.langbar__hint{font-family:var(--mono);font-size:9.5px;color:var(--v-muted);font-style:italic;margin-left:4px}
.langnote{display:inline-block;margin-left:8px;font-family:var(--mono);font-size:9.5px;letter-spacing:.02em;font-weight:400;color:var(--v-muted);text-transform:none;vertical-align:middle}
/* etiqueta de idioma: solo aparece con dos o más idiomas en la carta */
.lng{display:inline-block;font-family:var(--mono);font-size:9.5px;font-weight:400;letter-spacing:.08em;color:var(--v-muted);margin-right:7px;vertical-align:2px;text-transform:uppercase}
.dcard__t--alt{font-size:clamp(18px,3.6vw,24px);font-weight:500;opacity:.85;margin-top:-6px}
.tlo__txt{display:flex;flex-direction:column;gap:3px;text-align:left}
.dato .blk{display:block;margin-top:6px}
.setnote{font-family:var(--mono);font-size:10.5px;color:var(--v-muted);text-align:center;margin:8px auto 0;max-width:520px}

/* Bioma bajo el nombre del guardián en la carta (discreto) */
.dcard__bioma{font-family:var(--mono);font-size:10px;letter-spacing:.04em;text-transform:none;
  color:var(--v-muted);margin:2px 0 8px;font-weight:400}

/* Selección de idiomas en el setup */
.setl{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.lpick{display:inline-flex;flex-direction:column;align-items:center;line-height:1.1;
  border:1.5px solid var(--v-line);background:#fff;padding:8px 13px;border-radius:12px;cursor:pointer;
  font-weight:700;font-size:13px;color:var(--v-ink)}
.lpick small{font-family:var(--mono);font-weight:400;font-size:9px;color:var(--v-muted);margin-top:2px}
.lpick.on{background:var(--v-green);border-color:var(--v-green);color:#fff}
.lpick.on small{color:rgba(255,255,255,.8)}


/* En el setup, la grilla de guardianes admite 9 con scroll cómodo */
.setg{max-width:640px;margin:0 auto}
.gpick{font-size:13px;padding:9px 13px}
.gpick .sub{font-family:var(--mono);font-weight:400;font-size:9.5px;color:var(--v-muted);margin-left:4px}
.gpick.on .sub{color:rgba(255,255,255,.75)}

/* Para debatir (Encuentro) */
.sheet .debate{font-style:italic;background:rgba(31,107,79,.06);border-left:3px solid var(--c,#1F6B4F);padding:.55rem .7rem;border-radius:.35rem;margin:.35rem 0 .2rem;}

/* Reto: acción + 3 círculos de compromiso (consola) */
.reto-accion{font-weight:600;font-size:1.02rem;margin:.2rem 0 .4rem}
.circles{display:flex;flex-direction:column;gap:9px;margin:8px 0}
.circ-row{display:flex;align-items:center;gap:11px}
.circ{width:20px;height:20px;border-radius:50%;flex:none;box-sizing:border-box}
.circ--full{background:#2e7d32;border:2px solid #2e7d32}
.circ--half{border:2px solid #d9a400;background:linear-gradient(90deg,#f4c430 0 50%,#fff 50% 100%)}
.circ--empty{border:2px solid #c0392b;background:#fff}
/* Encuentro: Para debatir (consola) */
.debate-h{margin:.6rem 0 .2rem;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;color:#1F6B4F}
.debate{font-style:italic;background:rgba(31,107,79,.06);border-left:3px solid #1F6B4F;padding:.55rem .7rem;border-radius:.35rem;margin:.2rem 0}
