/* BRASA 0.1 · R34 · KIT aplicado a las pantallas del juego (parche 21; candidato ?visualR34=1).
   Las piezas son las de css/kit-r34.css (hoja: kit-r34.html). Aquí sólo se dice QUÉ elemento del juego es cada pieza; no hay reglas ni datos.
   Orden pedido (CONTINUAR_AQUI §4quater): Misiones → Tablón → Regalos → Ajustes → Lonja → Taller → Atalaya → ficha de héroe → Invocar → Héroes → Desafíos → barra superior y navegación. */
.visual-r34 { --k-bi-btn: 8 12 11 12 fill / 16px 24px 22px 24px / 0 stretch; --k-bi-tira: 4 fill / 8px / 0 stretch; --k-bi-casilla: 5 fill / 10px / 0 stretch; --k-bi-riel: 4 6 4 6 fill / 8px 12px / 0 stretch; --k-bi-capsula: 4 6 6 6 fill / 8px 12px 12px 12px / 0 stretch; --k-bi-pestana: 5 7 9 7 fill / 10px 14px 18px 14px / 0 stretch; }

/* ================= comunes a toda ficha y diálogo ================= */
.visual-r34 :is(#sheet, #modal, .ed-panel, #drawer) { font-family: var(--k-fuente); }
.visual-r34 :is(#sheet, #modal, .ed-panel, #drawer) :is(b, strong, h2, h3, h4, p, small, span, em, i, label, button, input, textarea, select, output, li, td, th, summary, a, div) { font-family: var(--k-fuente); letter-spacing: 0; }
.visual-r34 :is(#sheet, #modal, .ed-panel) :is(b, strong, h2, h3, h4, button, label, th) { font-weight: 400; }
.visual-r34 #sheet { background: var(--k-fibra) 0 0 / 64px 64px, var(--k-papel); }
.visual-r34 #sheet .sheetbody { background: none; gap: 6px; padding-top: 12px; }

/* ---- cabecera: tablón + placa con el título; cerrar = disco; volver = banderín abajo a la izquierda ---- */
.visual-r34 .sheethead { position: relative; box-sizing: border-box; display: flex; align-items: center; justify-content: center; gap: 8px; height: calc(56px + env(safe-area-inset-top, 0px)); min-height: 56px; padding: env(safe-area-inset-top, 0px) 8px 8px; border: 0; background: var(--k-tablon) 0 100% / 64px 56px repeat-x, #7a4a22; box-shadow: none; z-index: 3; }
.visual-r34 .sheethead > b { position: relative; box-sizing: border-box; flex: 0 1 auto; min-width: 150px; max-width: calc(100% - 104px); min-height: 44px; margin: 6px auto 0; padding: 9px 40px 13px; border: 0 solid transparent; border-image: var(--k-placa) 9 24 9 24 fill / 18px 48px 18px 48px / 0 stretch; --k-c: #1c0f06; color: #ffe9b8; font: 400 16px/1.1 var(--k-fuente); letter-spacing: .04em; text-transform: uppercase; text-align: center; text-shadow: var(--k-contorno-fino); white-space: nowrap; overflow: visible; text-overflow: clip; }
.visual-r34 .sheethead > b::before { content: ''; position: absolute; left: 50%; top: -14px; width: 26px; height: 26px; margin-left: -13px; background: var(--k-emblema) center / 26px 26px no-repeat; }
.visual-r34 .sheethead .back { position: absolute; right: 6px; top: calc(4px + env(safe-area-inset-top, 0px)); width: 44px; height: 48px; padding: 0; border: 0; border-radius: 0; background: var(--k-g-cerrar) 10px 9px / 24px 24px no-repeat, var(--k-redondo-madera) 0 0 / 44px 48px no-repeat; box-shadow: none; color: transparent; font-size: 0; text-shadow: none; }
.visual-r34 .sheethead .back:active { background-position: 10px 11px, 0 2px; }
.visual-r34 .sheethead #j01Help, .visual-r34 .sheethead .back.ayuda { right: auto; left: 6px; background-image: var(--k-g-ayuda), var(--k-redondo-madera); }
.visual-r34 #sheet #sheetBack { position: fixed; z-index: 6; left: max(0px, calc(50% - 320px)); right: auto; top: auto; bottom: calc(14px + env(safe-area-inset-bottom, 0px)); width: 60px; height: 44px; background: var(--k-g-volver) 12px 6px / 24px 24px no-repeat, var(--k-banderin) 0 0 / 60px 44px no-repeat; }
.visual-r34 #sheet #sheetBack:active { background-position: 10px 8px, 0 2px; }
.visual-r34 #sheet:has(#sheetBack[style*="visible"]) .sheetbody { padding-bottom: calc(66px + env(safe-area-inset-bottom, 0px)); }
@media (max-width: 419px) { .visual-r34 .sheethead > b { font-size: 14px; letter-spacing: .02em; padding-inline: 36px; max-width: calc(100% - 100px); } }
@media (max-width: 359px) { .visual-r34 .sheethead > b { font-size: 13px; letter-spacing: 0; padding-inline: 30px; min-width: 0; } }

/* ---- botones: lingote con bisel (ámbar ir · turquesa cobrar/confirmar · madera secundario · piedra apagado) ---- */
.visual-r34 :is(#sheet, #modal, .ed-panel, #drawer) :is(.primary, .secondary, .am-accion, .am-lote, .ed-boton, .mini:not(.info), [data-quest-claim]:not(.vq-cofre)) { position: relative; box-sizing: border-box; min-width: 76px; min-height: 48px; padding: 0 24px 6px; border: 0 solid transparent; border-image: var(--k-btn-ambar) var(--k-bi-btn); border-radius: 0; background: none; box-shadow: none; --k-c: #5a3208; color: var(--k-crema); font: 400 18px/1.05 var(--k-fuente); letter-spacing: .02em; text-shadow: var(--k-contorno); filter: none; opacity: 1; transform: none; -webkit-tap-highlight-color: transparent; }
.visual-r34 :is(#sheet, #modal, .ed-panel, #drawer) :is(.primary, .secondary, .am-accion, .am-lote, .ed-boton, .mini:not(.info), [data-quest-claim]:not(.vq-cofre))::before,
.visual-r34 :is(#sheet, #modal, .ed-panel, #drawer) :is(.primary, .secondary, .am-accion, .am-lote, .ed-boton, .mini:not(.info), [data-quest-claim]:not(.vq-cofre))::after { content: ''; position: absolute; top: calc(50% - 8px); width: 10px; height: 10px; margin: 0; border: 0; background: var(--k-remache) center / 10px 10px no-repeat; transform: none; pointer-events: none; }
.visual-r34 :is(#sheet, #modal, .ed-panel, #drawer) :is(.primary, .secondary, .am-accion, .am-lote, .ed-boton, .mini:not(.info), [data-quest-claim]:not(.vq-cofre))::before { left: 8px; }
.visual-r34 :is(#sheet, #modal, .ed-panel, #drawer) :is(.primary, .secondary, .am-accion, .am-lote, .ed-boton, .mini:not(.info), [data-quest-claim]:not(.vq-cofre))::after { right: 8px; left: auto; bottom: auto; }
.visual-r34 :is(#sheet, #modal, .ed-panel, #drawer) :is(.primary, .secondary, .am-accion, .am-lote, .ed-boton, .mini:not(.info), [data-quest-claim]:not(.vq-cofre)):active:not(:disabled) { border-image-source: var(--k-btn-ambar-pulsado); padding-top: 4px; padding-bottom: 2px; transform: none; box-shadow: none; }
.visual-r34 :is(#sheet, #modal, .ed-panel, #drawer) :is(.primary, .secondary, .am-accion, .am-lote, .ed-boton, .mini, [data-quest-claim]) small { font-size: 13px; opacity: 1; color: inherit; text-shadow: var(--k-contorno-fino); margin: 0; }
/* turquesa: cobrar, recoger, canjear, aportar, aceptar */
.visual-r34 :is(#sheet, #modal, .ed-panel) :is(.am-accion:not(.vq-ir), .ed-boton.primary, [data-quest-claim]:not(.vq-cofre), .am-lote.ok, .k-turquesa) { border-image-source: var(--k-btn-turquesa); --k-c: #0c3532; }
.visual-r34 :is(#sheet, #modal, .ed-panel) :is(.am-accion:not(.vq-ir), .ed-boton.primary, [data-quest-claim]:not(.vq-cofre), .am-lote.ok, .k-turquesa):active:not(:disabled) { border-image-source: var(--k-btn-turquesa-pulsado); }
/* madera: secundarios */
.visual-r34 :is(#sheet, #modal, .ed-panel, #drawer) :is(.secondary, .am-lote:not(.ok), .mini:not(.info):not(.primary), .k-madera) { border-image-source: var(--k-btn-madera); --k-c: #24130a; color: #ffe9b8; }
.visual-r34 :is(#sheet, #modal, .ed-panel, #drawer) :is(.secondary, .am-lote:not(.ok), .mini:not(.info):not(.primary), .k-madera):active:not(:disabled) { border-image-source: var(--k-btn-madera-pulsado); }
.visual-r34 :is(#sheet, #modal, .ed-panel, #drawer) .mini:not(.info) { min-height: 44px; min-width: 60px; padding-inline: 20px; font-size: 15px; text-shadow: var(--k-contorno-fino); }
.visual-r34 :is(#sheet, #modal, .ed-panel, #drawer) .mini:not(.info)::before, .visual-r34 :is(#sheet, #modal, .ed-panel, #drawer) .mini:not(.info)::after { display: none; }
/* brasa: lo que borra */
.visual-r34 :is(#sheet, #modal) :is(.danger, .k-brasa, #resetSave, #hardReset) { border-image-source: var(--k-btn-brasa); --k-c: #4a1608; color: var(--k-crema); }
/* piedra: apagado o ya hecho */
.visual-r34 :is(#sheet, #modal, .ed-panel, #drawer) :is(.primary, .secondary, .am-accion, .am-lote, .ed-boton, .mini:not(.info), [data-quest-claim]:not(.vq-cofre)):is(:disabled, .hecho) { border-image-source: var(--k-btn-piedra); --k-c: #4a453c; color: #e6dfcf; opacity: 1; filter: none; box-shadow: none; }
.visual-r34 :is(#sheet, #modal, .ed-panel) .wide { width: 100%; }
.visual-r34 :is(#sheet, #modal, .ed-panel) .actions { gap: 10px; }

/* ---- botones redondos de ayuda ---- */
.visual-r34 :is(#sheet, #modal, .ed-panel) :is(.am-ayuda, .qmark, .mini.info, .ed-cerrar) { flex: none; width: 44px; height: 48px; min-width: 0; min-height: 0; padding: 0; border: 0; border-radius: 0; background: var(--k-g-ayuda) 10px 9px / 24px 24px no-repeat, var(--k-redondo-madera) 0 0 / 44px 48px no-repeat; box-shadow: none; color: transparent; font-size: 0; text-shadow: none; }
.visual-r34 .ed-panel .ed-cerrar { background-image: var(--k-g-cerrar), var(--k-redondo-madera); }
.visual-r34 :is(#sheet, #modal, .ed-panel) :is(.am-ayuda, .qmark, .mini.info, .ed-cerrar):active { background-position: 10px 11px, 0 2px; }

/* ---- tiras: una superficie, el contenido apoyado encima ---- */
.visual-r34 #sheet :is(.panel, .item, .quest, .job, .objective, .am-fila, .codeitem, .rewcard, .journal-head, .toggle, .ed-lista li),
.visual-r34 #modal :is(.panel, .item, .rewcard, .am-fila), .visual-r34 .ed-ficha .am-fila { box-sizing: border-box; border: 0 solid transparent; border-image: var(--k-tira-normal) var(--k-bi-tira); border-radius: 0; background: none; box-shadow: none; --k-c: #3b2412; color: var(--k-crema); }
.visual-r34 #sheet :is(.panel, .item, .quest, .job, .objective, .am-fila, .codeitem, .journal-head) :is(.panel, .item, .quest, .objective, .journal-head, .am-fila) { border-image: none; }
.visual-r34 #sheet :is(.am-fila, .quest, .item):is(.ready, .lista) { border-image-source: var(--k-tira-lista); }
.visual-r34 #sheet :is(.vq-fila, .vr-fila, .am-fila, .quest):is(.claimed, .locked, .cerrada) { border-image-source: var(--k-tira-hundida); filter: none; }
.visual-r34 #sheet :is(.vq-fila, .vr-fila, .am-fila, .quest):is(.claimed, .locked, .cerrada) > * { opacity: .58; }
.visual-r34 #sheet .am-fila { min-height: 68px; padding: 8px 10px 10px; gap: 10px; }
.visual-r34 :is(#sheet, .ed-panel) :is(.am-nombre b, .vq-dato b, .am-fila h3, .panel h3, h3.h3, .item b, .toggle b, .panel > b, .panel label) { font: 400 16px/1.15 var(--k-fuente); color: var(--k-crema); text-shadow: var(--k-contorno-fino); text-transform: none; letter-spacing: .01em; }
.visual-r34 #sheet :is(.panel, .item, .quest, .job, .objective, .am-fila, .toggle, .journal-head) :is(small, p, .note, em.when) { font: 400 14px/1.15 var(--k-fuente); color: #5a3616; text-shadow: none; }
.visual-r34 #sheet .empty, .visual-r34 :is(#sheet, .ed-panel) .am-vacio { border: 0; background: none; font: 400 16px/1.2 var(--k-fuente); color: var(--k-tinta2); text-shadow: none; }
.visual-r34 :is(#sheet, .ed-panel) :is(.am-contador, .vr-titulo) { margin: 2px 0; font: 400 15px/1.1 var(--k-fuente); color: var(--k-tinta); text-shadow: none; }
.visual-r34 :is(#sheet, .ed-panel) .am-contador b { color: var(--k-verde); text-shadow: none; }
.visual-r34 #sheet .am-estado, .visual-r34 .ed-panel :is(.am-estado, .ed-estado) { font: 400 14px/1.15 var(--k-fuente); color: #8a3a14; text-shadow: none; }

/* ---- casillas de premio: una por recurso, cantidad abajo a la derecha ---- */
.visual-r34 :is(#sheet, #modal, .ed-panel) .vq-premio { flex: none; display: flex; flex-wrap: nowrap; align-items: center; gap: 4px; width: auto; min-width: 0; min-height: 0; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
.visual-r34 :is(#sheet, #modal, .ed-panel) :is(.vq-premio > .cst, .vq-premio:not(:has(.cst)), .item .icon, .bdico) { position: relative; box-sizing: border-box; flex: none; display: grid; place-items: center; width: 52px; height: 52px; padding: 0; border: 0 solid transparent; border-image: var(--k-casilla-azul) var(--k-bi-casilla); border-radius: 0; background: none; box-shadow: none; }
.visual-r34 :is(#sheet, #modal, .ed-panel) .vq-premio > .cst:not(:only-child) { width: 44px; height: 44px; }
.visual-r34 :is(#sheet, #modal, .ed-panel) .vq-premio > .cst:is(.m-gold, .m-coin) { border-image-source: var(--k-casilla-oro); }
.visual-r34 :is(#sheet, #modal, .ed-panel) .vq-premio > .cst:is(.m-tickets, .m-drillTome, .cst-h, .m-amistad) { border-image-source: var(--k-casilla-morado); }
.visual-r34 :is(#sheet, #modal, .ed-panel) .vq-premio > .cst:is(.m-mossIron, .m-amberResin, .m-custodianAsh, .m-supplies, .m-uniShards, .m-emberSpark) { border-image-source: var(--k-casilla-verde); }
.visual-r34 :is(#sheet, #modal, .ed-panel) .vq-premio > .cst > :is(.ico, svg, img, canvas, .portrait, .frame), .visual-r34 :is(#sheet, #modal, .ed-panel) .vq-premio:not(:has(.cst)) > .ico { width: 30px; height: 30px; margin: 0 0 4px; }
.visual-r34 :is(#sheet, #modal, .ed-panel) .vq-premio > .cst:not(:only-child) > :is(.ico, svg, img, canvas) { width: 24px; height: 24px; }
.visual-r34 :is(#sheet, #modal, .ed-panel) .vq-premio > .cst > b { position: absolute; right: 2px; bottom: 0; --k-c: #10131c; font: 400 14px/1 var(--k-fuente); color: var(--k-crema); text-shadow: var(--k-contorno-fino); }
.visual-r34 :is(#sheet, #modal, .ed-panel) .vq-premio > .cst:not(:only-child) > b { font-size: 12px; }
.visual-r34 #sheet .am-avatar { border: 0 solid transparent; border-image: var(--k-casilla-verde) var(--k-bi-casilla); border-radius: 0; background: none; box-shadow: none; width: 48px; height: 48px; }
.visual-r34 :is(#sheet, .ed-panel) .cst b { font-family: var(--k-fuente); }

/* ---- barras ---- */
.visual-r34 :is(#sheet, #modal, .ed-panel) :is(.hbar, .ed-barra, .vi-barra) { position: relative; box-sizing: border-box; height: 18px; border: 0 solid transparent; border-image: var(--k-riel) var(--k-bi-riel); border-radius: 0; background: none; overflow: visible; }
.visual-r34 :is(#sheet, #modal, .ed-panel) :is(.hbar, .ed-barra, .vi-barra) > i { position: absolute; left: 4px; top: 4px; bottom: 4px; inset-inline-end: auto; max-width: calc(100% - 8px); height: auto; border-radius: 0; background: var(--k-relleno-ambar) 0 0 / 100% 100% no-repeat; }
.visual-r34 :is(#sheet, #modal, .ed-panel) .hbar.ready > i { background-image: var(--k-relleno-turquesa); }
.visual-r34 :is(#sheet, #modal, .ed-panel) :is(.hbar, .ed-barra, .vi-barra) > em { position: absolute; inset: -2px 0 0; display: grid; place-items: center; --k-c: #2a1608; font: 400 13px/1 var(--k-fuente); font-style: normal; color: var(--k-crema); text-shadow: var(--k-contorno-fino); }

/* ---- pestañas colgantes al pie ---- */
.visual-r34 :is(#sheet, .ed-panel) .am-pestanas { position: sticky; bottom: 0; z-index: 4; display: flex; align-items: flex-start; justify-content: center; gap: 6px; margin: auto -10px calc(-16px - env(safe-area-inset-bottom, 0px)); padding: 0 8px calc(16px + env(safe-area-inset-bottom, 0px)); background: linear-gradient(#3a2412, #3a2412) 0 0 / 100% 4px no-repeat, linear-gradient(#0000, #0000); border: 0; }
.visual-r34 :is(#sheet, .ed-panel) .am-pestanas::before { content: ''; position: absolute; z-index: -1; left: 0; right: 0; top: 0; bottom: 0; background: #3a2412; box-shadow: inset 0 4px 0 #1c0f06, inset 0 6px 0 #5a3616; }
.visual-r34 :is(#sheet, .ed-panel) .am-pestanas button { position: relative; box-sizing: border-box; flex: 1 1 auto; max-width: 150px; min-width: 64px; min-height: 44px; margin: 0; padding: 4px 10px 12px; border: 0 solid transparent; border-image: var(--k-pestana-apagada) var(--k-bi-pestana); border-radius: 0; background: none; box-shadow: none; --k-c: #1c0f06; color: #e9cf9a; font: 400 15px/1.05 var(--k-fuente); text-shadow: var(--k-contorno-fino); }
.visual-r34 :is(#sheet, .ed-panel) .am-pestanas button::after { content: ''; position: absolute; left: 50%; bottom: -10px; top: auto; width: 32px; height: 18px; margin-left: -16px; border: 0; background: var(--k-pico-apagada) center / 32px 18px no-repeat; transform: none; pointer-events: none; }
.visual-r34 :is(#sheet, .ed-panel) .am-pestanas button:is(.active, [aria-pressed="true"], [aria-selected="true"]) { min-height: 52px; padding-top: 6px; border-image-source: var(--k-pestana-activa); --k-c: #5a2208; color: var(--k-crema); background: none; }
.visual-r34 :is(#sheet, .ed-panel) .am-pestanas button:is(.active, [aria-pressed="true"], [aria-selected="true"])::after { background-image: var(--k-pico-activa); }
.visual-r34 #sheet:has(#sheetBack[style*="visible"]) .am-pestanas { justify-content: flex-end; padding-left: 68px; }
@media (max-height: 520px) { .visual-r34 :is(#sheet, .ed-panel) .am-pestanas { position: static; margin-bottom: 0; } }
/* selectores cortos (segmentos y filtros): placas de madera; la elegida, brasa */
.visual-r34 #sheet .seg { border: 0; border-radius: 0; padding: 0; gap: 6px; background: none; overflow: visible; flex-wrap: wrap; }
.visual-r34 #sheet :is(.seg button, .chip) { box-sizing: border-box; min-height: 44px; padding: 0 14px 6px; border: 0 solid transparent; border-image: var(--k-btn-madera) var(--k-bi-btn); border-radius: 0; background: none; box-shadow: none; --k-c: #24130a; color: #e9cf9a; font: 400 15px/1 var(--k-fuente); text-shadow: var(--k-contorno-fino); }
.visual-r34 #sheet :is(.seg button, .chip).active { border-image-source: var(--k-btn-brasa); --k-c: #4a1608; color: var(--k-crema); box-shadow: none; }

/* ---- campos ---- */
.visual-r34 #sheet :is(input[type=text], input:not([type]), textarea, .am-buscar input) { box-sizing: border-box; min-height: 44px; padding: 6px 12px; border: 0 solid transparent; border-image: var(--k-campo) 4 fill / 8px / 0 stretch; border-radius: 0; background: none; font: 400 16px/1 var(--k-fuente); color: var(--k-crema); }
.visual-r34 #sheet input::placeholder { color: #e0c79a; opacity: 1; }
.visual-r34 #sheet input[type=range] { -webkit-appearance: none; appearance: none; height: 44px; margin: 0; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
.visual-r34 #sheet input[type=range]::-webkit-slider-runnable-track { height: 18px; border: 0 solid transparent; border-image: var(--k-riel) var(--k-bi-riel); background: none; }
.visual-r34 #sheet input[type=range]::-moz-range-track { height: 18px; border: 0 solid transparent; border-image: var(--k-riel) var(--k-bi-riel); background: none; }
.visual-r34 #sheet input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; width: 22px; height: 28px; margin-top: -6px; border: 0; border-radius: 0; background: var(--k-pulgar) center / 22px 28px no-repeat; box-shadow: none; }
.visual-r34 #sheet input[type=range]::-moz-range-thumb { width: 22px; height: 28px; border: 0; border-radius: 0; background: var(--k-pulgar) center / 22px 28px no-repeat; }
.visual-r34 #sheet output { font: 400 15px/1 var(--k-fuente); color: var(--k-tinta); text-shadow: none; }
.visual-r34 #sheet .am-lupa { flex: none; width: 44px; height: 48px; padding: 0; border: 0; border-radius: 0; background: var(--k-g-visto) 10px 9px / 24px 24px no-repeat, var(--k-redondo-turquesa) 0 0 / 44px 48px no-repeat; box-shadow: none; }
.visual-r34 #sheet .am-lupa > * { display: none; }
.visual-r34 #sheet .am-lupa.busca { background-image: var(--k-g-lupa), var(--k-redondo-madera); }

/* ---- diálogo: pliego de pergamino con cantoneras ---- */
.visual-r34 #modal { box-sizing: border-box; padding: 20px 20px 28px; border: 0 solid transparent; border-image: var(--k-pliego) 11 11 13 11 fill / 22px 22px 26px 22px / 0 stretch; border-radius: 0; background: none; box-shadow: none; color: var(--k-tinta); overflow: visible; }
.visual-r34 #modal::backdrop { background: #0d0703b8; }
.visual-r34 #modal #modalBody { max-height: min(70dvh, 620px); overflow-y: auto; }
.visual-r34 #modal .eyebrow { display: none; }
.visual-r34 #modal h2 { margin: 0 0 8px; font: 400 18px/1.1 var(--k-fuente); letter-spacing: .04em; text-transform: uppercase; text-align: center; color: #a3481c; }
.visual-r34 #modal h2:empty { display: none; }
.visual-r34 #modal :is(p, li, td, small, .note) { font: 400 15px/1.2 var(--k-fuente); color: var(--k-tinta); }
.visual-r34 #modal :is(b, strong, th, h3) { color: var(--k-tinta); }
.visual-r34 #modal .modalbuttons { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; padding-top: 12px; }
.visual-r34 #modal #modalExtra { display: contents; }

/* ---- «sale el personaje a explicar» (REF-35): medio cuerpo por fuera del marco, pantalla atenuada, sin panel ---- */
.visual-r34 #modal:has(.k-habla) { padding: 0; border-image: none; background: none; max-width: min(94vw, 440px); width: min(94vw, 440px); }
.visual-r34 #modal:has(.k-habla) #modalBody { max-height: none; overflow: visible; }
.visual-r34 #modal:has(.k-habla) .modalbuttons { padding-top: 10px; }
.visual-r34 #modal .k-habla { width: 100%; }
.visual-r34 #modal .k-globo > b { display: block; margin: 0 0 6px; font: 400 16px/1.1 var(--k-fuente); letter-spacing: .06em; text-transform: uppercase; color: #a3481c; }
.visual-r34 #modal .k-globo p { margin: 0 0 8px; font: 400 16px/1.15 var(--k-fuente); color: var(--k-tinta); text-align: left; }
.visual-r34 #modal .k-globo p.note { font-size: 14px; color: var(--k-tinta2); }
@media (max-height: 560px) { .visual-r34 #modal .k-personaje { width: 120px; margin-bottom: -34px; } }

/* ================= 1 · MISIONES (REF-17/23/24) ================= */
.visual-r34 #sheet .vq-cab { min-height: 48px; justify-content: center; position: relative; }
.visual-r34 #sheet .vq-cab .am-ayuda { position: absolute; right: 0; top: 0; margin: 0; }
.visual-r34 #sheet .am-cab .vq-reloj { display: inline-flex; align-items: center; gap: 6px; padding: 4px 14px 6px; border: 0 solid transparent; border-image: var(--k-capsula) var(--k-bi-capsula); font: 400 14px/1 var(--k-fuente); color: #f3e6c6; text-shadow: none; }
.visual-r34 #sheet .vq-pista { position: relative; box-sizing: border-box; display: flex; align-items: flex-start; gap: 0; min-height: 88px; padding: 10px 10px 8px; border: 0 solid transparent; border-image: var(--k-tira-hundida) var(--k-bi-tira); border-radius: 0; background: none; box-shadow: none; }
.visual-r34 #sheet .vq-n { position: relative; z-index: 2; flex: none; display: grid; place-items: center; width: 40px; min-width: 40px; height: 44px; margin-top: 2px; padding-bottom: 6px; box-sizing: border-box; background: var(--k-escudo) center / 36px 40px no-repeat; --k-c: #101c30; font: 400 13px/1 var(--k-fuente); color: var(--k-crema); text-shadow: var(--k-contorno-fino); }
.visual-r34 #sheet .vq-riel { position: relative; flex: 1; align-self: flex-start; height: 18px; margin: 16px -10px 0 -8px; border: 0 solid transparent; border-image: var(--k-riel) var(--k-bi-riel); border-radius: 0; background: none; }
.visual-r34 #sheet .vq-riel > span { position: absolute; left: 4px; top: 4px; bottom: 4px; right: auto; max-width: calc(100% - 8px); border-radius: 0; background: var(--k-relleno-ambar) 0 0 / 100% 100% no-repeat; }
.visual-r34 #sheet .vq-riel > i { top: 50%; width: 18px; height: 18px; border: 0; border-radius: 0; background: var(--k-rombo-off) center / 18px 18px no-repeat; transform: translate(-50%, -50%); }
.visual-r34 #sheet .vq-riel > i.on { background-image: var(--k-rombo-on); border: 0; }
.visual-r34 #sheet :is(.vq-cofre, .vq-cofre:disabled, .vq-cofre.ready) { position: relative; z-index: 2; flex: none; display: grid; justify-items: center; gap: 2px; min-width: 64px; min-height: 0; padding: 0; border: 0; border-image: none; border-radius: 0; background: none; box-shadow: none; filter: none; opacity: 1; }
.visual-r34 #sheet .vq-cofre-ico { width: 44px; height: 40px; background: var(--k-cofre-cerrado) center / 44px 40px no-repeat; color: transparent; font-size: 0; }
.visual-r34 #sheet .vq-cofre-ico > * { display: none; }
.visual-r34 #sheet .vq-cofre.ready .vq-cofre-ico { background-image: var(--k-cofre-listo); animation: k-bote 1.1s steps(2, jump-none) infinite; }
.visual-r34 #sheet .vq-cofre.claimed .vq-cofre-ico { background-image: var(--k-cofre-abierto); filter: saturate(.55); }
.visual-r34 #sheet .vq-cofre small { display: flex; gap: 6px; padding: 2px 8px 5px; border: 0 solid transparent; border-image: var(--k-capsula) var(--k-bi-capsula); font-size: 12px; color: #f3e6c6; text-shadow: none; }
.visual-r34 #sheet .vq-cofre small .cst b { color: #f3e6c6; text-shadow: none; font-size: 12px; }
.visual-r34 #sheet .vq-cofre small .cst .ico { width: 14px; height: 14px; }
@media (prefers-reduced-motion: reduce) { .visual-r34 #sheet .vq-cofre.ready .vq-cofre-ico { animation: none; } }
.visual-r34 #sheet .vq-fila.quest { display: flex; padding: 8px 10px 10px; }
.visual-r34 #sheet .vq-dato { gap: 4px; }
.visual-r34 #sheet .vq-fila .am-accion { min-width: 76px; }
.visual-r34 #sheet .vq-hecho { width: 76px; min-height: 44px; background: var(--k-marca) center / 39px 33px no-repeat; color: transparent; font-size: 0; }
.visual-r34 #sheet .vq-hecho[aria-hidden="true"] { background: none; }
.visual-r34 #sheet .vq-lista { gap: 6px; }

/* ================= 3 · REGALOS ================= */
.visual-r34 #sheet .vr-fila h3 { margin: 0; }
.visual-r34 #sheet .vr-fila .am-accion { min-width: 84px; max-width: none; white-space: nowrap; }
.visual-r34 #sheet .vr-panel .am-cab { min-height: 48px; }
.visual-r34 #sheet .codeform { display: flex; gap: 8px; align-items: center; }
.visual-r34 #sheet .vr-fila .am-nombre b { font-size: 16px; }
@media (max-width: 359px) { .visual-r34 #sheet .am-fila { gap: 6px; padding-inline: 8px; } .visual-r34 #sheet .vq-premio > .cst:only-child, .visual-r34 #sheet .vq-premio:not(:has(.cst)) { width: 44px; height: 44px; } .visual-r34 #sheet .vq-premio > .cst:not(:only-child) { width: 38px; height: 38px; } .visual-r34 #sheet :is(.am-accion, .vq-ir) { min-width: 68px; padding-inline: 18px; font-size: 16px; } .visual-r34 #sheet :is(.am-accion, .vq-ir)::before, .visual-r34 #sheet :is(.am-accion, .vq-ir)::after { display: none; } .visual-r34 #sheet :is(.am-nombre b, .vq-dato b, .am-fila h3) { font-size: 14px; } }

/* ---- restos de la piel del parche 20 que siguen haciendo falta (la piel se retiró: la sustituye el kit) ---- */
.visual-r34 #sheet .am-panel, .visual-r34 #modal .am-panel { border: 0; border-radius: 0; background: none; box-shadow: none; padding: 0; min-height: 0; max-width: 560px; width: 100%; }
.visual-r34 #sheet :is(.journal-scene, [data-sheet-place]) { background: none; }
.visual-r34 #sheet .sheetbody > * { flex-shrink: 0; }
.visual-r34 #sheet :is(.jobs, .quests, .list, .codes) { background: none; border: 0; box-shadow: none; padding: 0; }
.visual-r34 #sheet .am-panel { display: flex; flex-direction: column; gap: 6px; flex: 1; }
.visual-r34 #sheet .journal-scene { display: flex; flex-direction: column; gap: 6px; flex: 1; min-height: 100%; }
.visual-r34 #sheet .am-cuerpo { gap: 6px; }

/* ================= Diario: el objetivo es una tira; «Crónicas» comparte fila con el reloj ================= */
.visual-r34 #sheet .journal-head.vd-cabeza { display: grid; gap: 6px; padding: 0; border: 0; border-image: none; background: none; box-shadow: none; }
.visual-r34 #sheet .journal-head.vd-cabeza:empty { display: none; }
.visual-r34 #sheet .vd-objetivo { display: flex; align-items: center; margin: 0; border-image: var(--k-tira-lista) var(--k-bi-tira); }
.visual-r34 #sheet .vd-objetivo .vq-premio { border-image-source: var(--k-casilla-oro); }
.visual-r34 #sheet .vq-cab { display: flex; align-items: center; justify-content: space-between; gap: 6px; min-height: 48px; }
.visual-r34 #sheet .vq-cab .am-ayuda { position: static; margin: 0; }
.visual-r34 #sheet .vq-cab > .secondary { min-width: 0; min-height: 44px; padding-inline: 20px; font-size: 15px; text-shadow: var(--k-contorno-fino); }
.visual-r34 #sheet .vq-cab > .secondary::before, .visual-r34 #sheet .vq-cab > .secondary::after { display: none; }
.visual-r34 #sheet .vq-cab .vq-reloj .ico { width: 16px; height: 16px; }

/* ================= 2 · TABLÓN (REF-26…30) ================= */
.visual-r34 #sheet .vt-fila { min-height: 72px; }
.visual-r34 #sheet .vt-fila .vq-dato small { font: 400 14px/1.1 var(--k-fuente); color: #5a3616; }
.visual-r34 #sheet .vt-fila :is(.vt-enviar, .am-accion) { min-width: 84px; }
.visual-r34 #sheet .vt-quien { flex: none; display: flex; gap: 2px; }
.visual-r34 #sheet .vt-quien > * { width: 34px; height: 34px; border: 0; background: none; box-shadow: none; image-rendering: pixelated; }
.visual-r34 #sheet .vt-lote { padding: 6px 0; }
.visual-r34 #sheet .vt-despacho { display: flex; flex-direction: column; gap: 14px; flex: 1; padding-top: 14px; }
.visual-r34 #sheet .vt-pliego { margin-inline: 4px; }
.visual-r34 #sheet .vt-pliego .vt-texto { font: 400 15px/1.15 var(--k-fuente); color: var(--k-tinta); text-align: center; }
.visual-r34 #sheet .vt-pliego .vt-premio { margin: 10px 0 8px; }
.visual-r34 #sheet .vt-pliego .vt-premio .vq-premio > .cst { width: 60px; height: 60px; }
.visual-r34 #sheet .vt-pliego .vt-premio .vq-premio > .cst > :is(.ico, svg) { width: 36px; height: 36px; }
.visual-r34 #sheet .vt-pliego .vt-premio .vq-premio > .cst > b { font-size: 15px; right: 4px; bottom: 2px; }
.visual-r34 #sheet .vt-dur { display: flex; justify-content: center; }
.visual-r34 #sheet .vt-dur button { min-width: 64px; }
.visual-r34 #sheet .crew-slots { align-items: flex-start; gap: 10px; }
.visual-r34 #sheet .vt-puesto { display: grid; justify-items: center; gap: 4px; width: 84px; }
.visual-r34 #sheet .vt-puesto.activo > :is(.k-heroe, .k-hueco) { outline: 4px solid #fff6dc; outline-offset: 0; }
.visual-r34 #sheet .vt-puesto .k-requisito { display: block; min-height: 2.2em; font: 400 13px/1.05 var(--k-fuente); text-align: center; color: var(--k-tinta2); }
.visual-r34 #sheet .vt-puesto .k-requisito.cumple { color: var(--k-verde); }
.visual-r34 #sheet .vt-puesto .k-requisito.cumple::after { display: none; }
.visual-r34 #sheet .vt-estado { min-height: 1.2em; margin: 2px 0 6px; font: 400 14px/1.1 var(--k-fuente); color: #8a3a14; text-align: center; }
.visual-r34 #sheet .vt-acciones { margin-top: 2px; }
.visual-r34 #sheet .vt-reserva { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; padding: 12px 6px; border: 0 solid transparent; border-image: var(--k-tira-hundida) var(--k-bi-tira); }
.visual-r34 #sheet .k-heroe { width: 60px; height: 60px; padding: 0; cursor: pointer; }
.visual-r34 #sheet .k-heroe > :is(img, canvas, svg, .portrait) { width: 44px; height: 44px; margin-top: 6px; border: 0; border-radius: 0; background: none; box-shadow: none; image-rendering: pixelated; }
.visual-r34 #sheet .k-heroe > em { font-size: 12px; }
.visual-r34 #sheet .k-heroe[aria-disabled="true"] { cursor: default; }

/* retoques tras mirar las capturas (Tablón y Ajustes) */
.visual-r34 #sheet .job::before { display: none; }
.visual-r34 #sheet .vq-premio > .cst:first-child:nth-last-child(n+3), .visual-r34 #sheet .vq-premio > .cst:first-child:nth-last-child(n+3) ~ .cst { width: 38px; height: 38px; }
.visual-r34 #sheet .vq-premio > .cst:first-child:nth-last-child(n+3) > :is(.ico, svg, img), .visual-r34 #sheet .vq-premio > .cst:first-child:nth-last-child(n+3) ~ .cst > :is(.ico, svg, img) { width: 20px; height: 20px; }
.visual-r34 #sheet .vt-pliego .vq-premio > .cst:nth-child(n) { width: 60px; height: 60px; }
.visual-r34 #sheet .vt-pliego .vq-premio > .cst:nth-child(n) > :is(.ico, svg, img) { width: 34px; height: 34px; }
.visual-r34 #sheet .crew-slots :is(.k-heroe, .k-hueco) { flex: none; width: 60px; height: 60px; padding: 0; border: 0 solid transparent; border-image: var(--k-casilla-morado) var(--k-bi-casilla); border-radius: 0; background: none; overflow: visible; }
.visual-r34 #sheet .crew-slots .k-heroe.oro { border-image-source: var(--k-casilla-oro); }
.visual-r34 #sheet .crew-slots .k-hueco { border-image: var(--k-hueco) var(--k-bi-casilla); }
.visual-r34 #sheet .k-heroe :is(.portrait, canvas, img, svg) { background: none; }
.visual-r34 #sheet :is(.primary, .secondary, .am-accion, .am-lote) { white-space: normal; overflow: visible; text-overflow: clip; }
.visual-r34 #sheet .actions button { min-width: 0; padding-inline: 18px; font-size: 16px; }
.visual-r34 #sheet .actions button::before, .visual-r34 #sheet .actions button::after { display: none; }
.visual-r34 #sheet > .sheetbody > .note, .visual-r34 #sheet .sheetbody > p.note { color: var(--k-tinta2); font: 400 14px/1.2 var(--k-fuente); text-shadow: none; }

/* ================= 4 · AJUSTES ================= */
.visual-r34 #sheet .vol { display: flex; align-items: center; gap: 10px; min-height: 52px; }
.visual-r34 #sheet .vol label { flex: none; min-width: 72px; }
.visual-r34 #sheet .vol input[type=range] { flex: 1; min-width: 80px; }
.visual-r34 #sheet .vol output { flex: none; min-width: 52px; text-align: right; }
.visual-r34 #sheet .toggle { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 52px; padding: 0; border-image: none; }
.visual-r34 #sheet .toggle > span { font: 400 16px/1.15 var(--k-fuente); color: var(--k-crema); text-shadow: var(--k-contorno-fino); }
.visual-r34 #sheet .toggle > button[aria-pressed] { position: relative; isolation: isolate; flex: none; display: inline-flex; align-items: center; justify-content: flex-end; width: 88px; min-width: 88px; height: 44px; min-height: 44px; padding: 0 14px 2px 34px; border: 0; border-image: none; background: none; --k-c: #2a1608; font: 400 16px/1 var(--k-fuente); color: #e9cf9a; text-shadow: var(--k-contorno-fino); }
.visual-r34 #sheet .toggle > button[aria-pressed]::before { content: ''; display: block; position: absolute; z-index: -1; left: 0; right: 0; top: 9px; width: auto; height: 26px; border: 0 solid transparent; border-image: var(--k-riel) var(--k-bi-riel); background: none; }
.visual-r34 #sheet .toggle > button[aria-pressed]::after { content: ''; display: block; position: absolute; left: 8px; right: auto; top: 11px; width: 22px; height: 22px; background: var(--k-rombo-off) center / 22px 22px no-repeat; }
.visual-r34 #sheet .toggle > button[aria-pressed="true"] { justify-content: flex-start; padding: 0 34px 2px 14px; color: var(--k-crema); }
.visual-r34 #sheet .toggle > button[aria-pressed="true"]::after { left: auto; right: 8px; background-image: var(--k-rombo-on); }
.visual-r34 #sheet #nubePanel h3 { display: flex; align-items: center; justify-content: space-between; margin: 0; }
.visual-r34 #sheet #nubePanel p { margin: 2px 0 6px; }
.visual-r34 #sheet #nubePanel p b { font-size: 14px; color: var(--k-tinta); text-shadow: none; }

/* ================= 5 · LONJA ================= */
.visual-r34 #sheet.market-place .sheetbody { padding: 12px 10px calc(16px + env(safe-area-inset-bottom, 0px)); }
.visual-r34 #sheet .market-scene { background: none; }
.visual-r34 #sheet .vl-panel .chips { display: flex; flex-wrap: wrap; gap: 4px 6px; padding: 0; }
.visual-r34 #sheet .vl-panel .chip { min-height: 44px; padding: 0 12px 6px; font-size: 14px; }
.visual-r34 #sheet .vl-pieza { border-image-source: var(--k-casilla-oro); }
.visual-r34 #sheet .vl-pieza :is(.itemicon, img, svg, canvas) { width: 34px; height: 34px; margin: 0; border: 0; background: none; box-shadow: none; image-rendering: pixelated; }
.visual-r34 #sheet .vl-fila .vq-dato small { font: 400 14px/1.1 var(--k-fuente); color: #5a3616; }
.visual-r34 #sheet .vl-fila .vq-dato small.vl-mejora { color: var(--k-verde); }
.visual-r34 #sheet .vl-fila button { min-width: 96px; white-space: nowrap; }
.visual-r34 #sheet .vl-fila button .ico { width: 18px; height: 18px; vertical-align: -3px; }
.visual-r34 #sheet .vl-oro .ico { width: 16px; height: 16px; }
.visual-r34 #sheet .comercio-entrada:empty { display: none; }

/* ================= 6 · TALLER: la escena arriba; lo demás, apoyado en el pergamino ================= */
.visual-r34 #sheet .ws-page { background: none; padding: 10px; display: grid; gap: 8px; --service-art: none; }
.visual-r34 #sheet .wsbar { min-height: 48px; }
.visual-r34 #sheet .ws-layout :is(.wsinfo, .ws-controls) { background: none; border-radius: 0; padding: 0; }
.visual-r34 #sheet .ws-layout .wsinfo { padding: 10px 12px 12px; border: 0 solid transparent; border-image: var(--k-tira-normal) var(--k-bi-tira); display: grid; gap: 4px; }
/* el fondo de la escena lo pone style.css (las url() de --fb se resuelven desde allí): aquí sólo se enmarca */
.visual-r34 #sheet .ws-layout .ws-stage { border: 0 solid transparent; border-image: var(--k-hueco) 5 / 10px / 0 stretch; }
.visual-r34 #sheet .wsrow { display: flex; flex-wrap: wrap; gap: 6px; }
.visual-r34 #sheet .ws-page .wsrec { box-sizing: border-box; min-height: 48px; min-width: 56px; padding: 2px 12px 8px; border: 0 solid transparent; border-image: var(--k-btn-madera) var(--k-bi-btn); border-radius: 0; background: none; box-shadow: none; --k-c: #24130a; color: #e9cf9a; font: 400 15px/1 var(--k-fuente); text-shadow: var(--k-contorno-fino); opacity: 1; }
.visual-r34 #sheet .ws-page .wsrec.sel { border-image-source: var(--k-btn-brasa); --k-c: #4a1608; color: var(--k-crema); }
.visual-r34 #sheet .ws-page .wsrec.locked { border-image-source: var(--k-btn-piedra); --k-c: #4a453c; color: #e6dfcf; }
.visual-r34 #sheet .ws-page .wsrec small { font: 400 12px/1 var(--k-fuente); color: inherit; }
.visual-r34 #sheet .ws-page .wsrec :is(.itemicon, img, svg) { width: 24px; height: 24px; border: 0; background: none; }
.visual-r34 #sheet .wsinfo > b { font: 400 18px/1.1 var(--k-fuente); color: var(--k-crema); text-shadow: var(--k-contorno-fino); }
.visual-r34 #sheet .wsinfo :is(small, .st, .who) { font: 400 14px/1.15 var(--k-fuente); color: #5a3616; text-shadow: none; }
.visual-r34 #sheet .wsmats { display: flex; flex-wrap: wrap; gap: 8px 14px; padding: 4px 0; }
.visual-r34 #sheet .wsmats :is(b, span, small) { color: var(--k-tinta); text-shadow: none; }
.visual-r34 #sheet .wsacts { display: flex; flex-wrap: wrap; gap: 8px; }
.visual-r34 #sheet .wsacts .primary { flex: 1; min-height: 60px; display: grid; justify-items: center; align-content: center; gap: 2px; }
.visual-r34 #sheet .ws-armors { padding: 4px 10px 8px; border: 0 solid transparent; border-image: var(--k-tira-hundida) var(--k-bi-tira); border-radius: 0; background: none; }
.visual-r34 #sheet .ws-armors summary { font: 400 16px/1 var(--k-fuente); color: var(--k-crema); text-shadow: var(--k-contorno-fino); --k-c: #3b2412; }
.visual-r34 #sheet .ws-users .frame { border: 0 solid transparent; border-image: var(--k-casilla-morado) var(--k-bi-casilla); border-radius: 0; background: none; box-shadow: none; width: 40px; height: 40px; }
.visual-r34 #sheet .ws-users .frame.r-epic { border-image-source: var(--k-casilla-oro); }
.visual-r34 #sheet .bcell { border: 0 solid transparent; border-image: var(--k-casilla-azul) var(--k-bi-casilla); border-radius: 0; background: none; box-shadow: none; }
.visual-r34 #sheet .bcell:is(.q2, .q3) { border-image-source: var(--k-casilla-morado); } .visual-r34 #sheet .bcell:is(.q4, .q5) { border-image-source: var(--k-casilla-oro); }

/* ================= 7 · ATALAYA (ficha de edificio colectivo) ================= */
.visual-r34 .ed-panel { box-sizing: border-box; padding: 0 0 8px; border: 0 solid transparent; border-image: var(--k-pliego) 11 11 13 11 fill / 22px 22px 26px 22px / 0 stretch; border-radius: 0; background: none; box-shadow: none; color: var(--k-tinta); overflow: visible; }
.visual-r34 .ed-cab { position: relative; margin: 10px 12px 0; padding: 4px 56px 10px 12px; border: 0 solid transparent; border-image: var(--k-btn-madera) var(--k-bi-btn); background: none; min-height: 48px; box-sizing: border-box; }
.visual-r34 .ed-cab h3 { font: 400 17px/1.1 var(--k-fuente); letter-spacing: .02em; --k-c: #24130a; color: #ffe9b8; text-shadow: var(--k-contorno-fino); }
.visual-r34 .ed-cab :is(small, span) { font-family: var(--k-fuente); color: #f3e6c6; }
.visual-r34 .ed-panel .ed-cerrar { position: absolute; right: -14px; top: -14px; }
.visual-r34 .ed-ficha { padding-inline: 16px; }
.visual-r34 .ed-ficha :is(.ed-efecto span, .ed-nota, .am-contador, .ed-estado, .am-vacio, .ed-bolsa, .ed-bolsa b, .ed-efecto b) { font-family: var(--k-fuente); color: var(--k-tinta); text-shadow: none; }
.visual-r34 .ed-efecto :is(em, i), .visual-r34 .ed-bolsa .am-cupo b { color: var(--k-verde); }
.visual-r34 .ed-panel .ed-paso, .visual-r34 .ed-panel :is(.ed-menos, .ed-mas) { flex: none; width: 44px; height: 48px; padding: 0; border: 0; border-radius: 0; background: var(--k-g-mas) 10px 9px / 24px 24px no-repeat, var(--k-redondo-madera) 0 0 / 44px 48px no-repeat; color: transparent; font-size: 0; box-shadow: none; }
.visual-r34 .ed-panel :is(.ed-menos, [data-ed-menos]) { background-image: var(--k-g-menos), var(--k-redondo-madera); }
.visual-r34 .ed-panel .am-pestanas { margin: 8px 0 -22px; padding: 0 8px; background: none; position: relative; }
.visual-r34 .ed-panel .am-pestanas::before { display: none; }

/* ================= barra superior y navegación ================= */
.visual-r34 body, body.visual-r34, .visual-r34 { background-color: #140d07; }
.visual-r34 .app { background: #2b1d11; font-family: var(--k-fuente); }
.visual-r34 .app :is(b, strong, h2, h3, h4, p, small, span, em, label, button, output, li, summary) { font-family: var(--k-fuente); letter-spacing: 0; }
.visual-r34 .hud { height: calc(52px + env(safe-area-inset-top, 0px)); gap: 6px; padding: env(safe-area-inset-top, 0px) 8px 6px; border: 0; background: var(--k-tablon) 0 100% / 64px 56px repeat-x, #7a4a22; box-shadow: none; position: relative; z-index: 2; }
.visual-r34 .hud .res { box-sizing: border-box; gap: 5px; min-height: 30px; padding: 2px 14px 6px 8px; border: 0 solid transparent; border-image: var(--k-capsula) var(--k-bi-capsula); border-radius: 0; background: none; box-shadow: none; font: 400 14px/1 var(--k-fuente); }
.visual-r34 .hud .res i { width: 20px; height: 20px; padding: 0; border: 0; border-radius: 0; background: none; }
.visual-r34 .hud .res b { color: var(--k-crema); font-weight: 400; }
.visual-r34 .hud .brand { display: none; }
.visual-r34 .hudbtn { width: 44px; height: 48px; margin-top: 2px; border: 0; border-radius: 0; background: var(--k-redondo-madera) 0 0 / 44px 48px no-repeat; box-shadow: none; color: var(--k-crema); }
.visual-r34 .hudbtn .ico { width: 22px; height: 22px; margin-top: -4px; }
.visual-r34 .hudbtn:active { background-position: 0 2px; }
.visual-r34 .hudbtn > i { top: 0; right: -2px; width: 18px; height: 18px; border-radius: 0; background: var(--k-aviso) center / 18px 18px no-repeat; box-shadow: none; }
.visual-r34 .nav { position: relative; z-index: 2; gap: 2px; padding-top: 6px; border: 0; background: linear-gradient(#1c0f06, #1c0f06) 0 0 / 100% 2px no-repeat, linear-gradient(#b07a44, #b07a44) 0 2px / 100% 2px no-repeat, var(--k-tablon) 0 4px / 64px 56px repeat-x, #5a3416; box-shadow: none; }
.visual-r34 .navbtn { gap: 0; margin: 0 0 4px; border-radius: 0; color: #e9cf9a; font: 400 12px/1 var(--k-fuente); --k-c: #1c0f06; text-shadow: var(--k-contorno-fino); }
.visual-r34 .navbtn > i { width: 32px; height: 32px; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; opacity: .8; }
.visual-r34 .navbtn.active { border: 0 solid transparent; border-image: var(--k-btn-brasa) var(--k-bi-btn); color: var(--k-crema); --k-c: #4a1608; padding-bottom: 6px; }
.visual-r34 .navbtn.active > i { opacity: 1; border: 0; background: none; box-shadow: none; }
.visual-r34 .navbtn > small { top: 0; right: 12%; min-width: 18px; height: 18px; border: 2px solid #4a0f08; border-radius: 0; background: #d9402c; font: 400 12px/1 var(--k-fuente); color: var(--k-crema); text-shadow: none; box-sizing: border-box; }

/* ================= pantallas principales: mismos botones, placas y casillas que en las fichas ================= */
.visual-r34 .view :is(.primary, .secondary) { position: relative; box-sizing: border-box; border: 0 solid transparent; border-image: var(--k-btn-ambar) var(--k-bi-btn); border-radius: 0; background: none; box-shadow: none; --k-c: #5a3208; color: var(--k-crema); font-weight: 400; text-shadow: var(--k-contorno-fino); filter: none; opacity: 1; }
.visual-r34 .view :is(.primary, .secondary):active:not(:disabled) { border-image-source: var(--k-btn-ambar-pulsado); transform: none; box-shadow: none; }
.visual-r34 .view .secondary { border-image-source: var(--k-btn-madera); --k-c: #24130a; color: #ffe9b8; }
.visual-r34 .view .secondary:active:not(:disabled) { border-image-source: var(--k-btn-madera-pulsado); }
.visual-r34 .view :is(.primary, .secondary):disabled { border-image-source: var(--k-btn-piedra); --k-c: #4a453c; color: #e6dfcf; }
.visual-r34 .view :is(.primary, .secondary) small { color: inherit; opacity: 1; }
.visual-r34 .view :is(.seg, .chips) { border: 0; border-radius: 0; background: none; overflow: visible; gap: 6px; }
.visual-r34 .view .seg { display: inline-flex; flex-wrap: wrap; }
.visual-r34 .view :is(.seg button, .chip, .mini:not(.info)) { box-sizing: border-box; min-height: 44px; padding: 0 14px 6px; border: 0 solid transparent; border-image: var(--k-btn-madera) var(--k-bi-btn); border-radius: 0; background: none; box-shadow: none; --k-c: #24130a; color: #e9cf9a; font: 400 14px/1 var(--k-fuente); text-shadow: var(--k-contorno-fino); }
.visual-r34 .view :is(.seg button, .chip).active { border-image-source: var(--k-btn-brasa); --k-c: #4a1608; color: var(--k-crema); box-shadow: none; }
.visual-r34 .view :is(.mini.info, .qmark) { flex: none; width: 44px; min-width: 44px; height: 48px; min-height: 48px; padding: 0; border: 0; border-radius: 0; background: var(--k-g-ayuda) 10px 9px / 24px 24px no-repeat, var(--k-redondo-madera) 0 0 / 44px 48px no-repeat; box-shadow: none; color: transparent; font-size: 0; }
.visual-r34 .view .bar h2, .visual-r34 .view :is(h3.h3, .panel h3) { font: 400 16px/1.1 var(--k-fuente); letter-spacing: .04em; color: #ffe9b8; --k-c: #1c0f06; text-shadow: var(--k-contorno-fino); }
.visual-r34 .view .tag, .visual-r34 .view .chaltag { border: 0 solid transparent; border-image: var(--k-capsula) var(--k-bi-capsula); border-radius: 0; background: none; padding: 3px 12px 6px; font: 400 13px/1 var(--k-fuente); color: #f3e6c6; box-shadow: none; }
.visual-r34 .view .chaltag.hot { color: #ffe08a; }
.visual-r34 .view .panel { border: 0 solid transparent; border-image: var(--k-tira-normal) var(--k-bi-tira); border-radius: 0; background: none; box-shadow: none; --k-c: #3b2412; }
.visual-r34 .view .panel p, .visual-r34 .view .panel .lead { color: #5a3616; font: 400 14px/1.15 var(--k-fuente); }
.visual-r34 .view .panel.place { background: none; }
/* Invocar */
.visual-r34 .view .vi-barra { position: relative; box-sizing: border-box; height: 18px; border: 0 solid transparent; border-image: var(--k-riel) var(--k-bi-riel); border-radius: 0; background: none; overflow: visible; }
.visual-r34 .view .vi-barra > i { position: absolute; left: 4px; top: 4px; bottom: 4px; right: auto; max-width: calc(100% - 8px); background: var(--k-relleno-ambar) 0 0 / 100% 100% no-repeat; }
.visual-r34 .view .vi-barra > em { inset: -2px 0 0; font: 400 13px/1 var(--k-fuente); --k-c: #2a1608; text-shadow: var(--k-contorno-fino); }
.visual-r34 .view .vi-arte.artbox { border: 0 solid transparent; border-image: var(--k-hueco) 5 / 10px / 0 stretch; border-radius: 0; box-shadow: none; }
.visual-r34 .view .vi-arte h2 { font: 400 22px/1.1 var(--k-fuente); letter-spacing: .03em; --k-c: #1c0f06; color: #ffe9b8; text-shadow: var(--k-contorno); }
.visual-r34 .view .vi-tiradas button { min-height: 60px; padding: 2px 22px 8px; font: 400 20px/1 var(--k-fuente); text-shadow: var(--k-contorno); }
.visual-r34 .view .vi-tiradas button small { font-size: 14px; text-shadow: var(--k-contorno-fino); }
.visual-r34 .view .vi-tiradas #summon1 { border-image-source: var(--k-btn-ambar); --k-c: #5a3208; color: var(--k-crema); }
.visual-r34 .view .vi-tiradas #summon10 { border-image-source: var(--k-btn-turquesa); --k-c: #0c3532; }
.visual-r34 .view .vi-tiradas button:disabled { border-image-source: var(--k-btn-piedra) !important; filter: none; }
.visual-r34 .view .am-modos { align-items: flex-start; gap: 6px; padding: 0 8px 14px; background: #3a2412; box-shadow: inset 0 4px 0 #1c0f06, inset 0 6px 0 #5a3616; }
.visual-r34 .view .am-modos button { position: relative; box-sizing: border-box; flex: 1 1 0; max-width: 168px; min-height: 48px; padding: 4px 10px 12px; display: flex; flex-direction: row; align-items: center; justify-content: center; gap: 6px; border: 0 solid transparent; border-image: var(--k-pestana-apagada) var(--k-bi-pestana); border-radius: 0; background: none; box-shadow: none; --k-c: #1c0f06; color: #e9cf9a; font: 400 15px/1 var(--k-fuente); text-shadow: var(--k-contorno-fino); }
.visual-r34 .view .am-modos button::after { content: ''; position: absolute; left: 50%; bottom: -10px; width: 32px; height: 18px; margin-left: -16px; background: var(--k-pico-apagada) center / 32px 18px no-repeat; }
.visual-r34 .view .am-modos button.active { min-height: 56px; border-image-source: var(--k-pestana-activa); --k-c: #5a2208; color: var(--k-crema); background: none; box-shadow: none; }
.visual-r34 .view .am-modos button.active::after { background-image: var(--k-pico-activa); }
/* Héroes */
.visual-r34 .view .hcard { border: 0 solid transparent; border-image: var(--k-tira-normal) var(--k-bi-tira); border-radius: 0; background: none; box-shadow: none; }
.visual-r34 .view .hcard.locked { border-image-source: var(--k-tira-hundida); }
.visual-r34 .view .hcard b { font-family: var(--k-fuente); font-weight: 400; color: var(--k-crema); --k-c: #3b2412; text-shadow: var(--k-contorno-fino); }
.visual-r34 .view .hcard small, .visual-r34 .view .hcard .collection-level { color: #5a3616; }
.visual-r34 .view .hbar { position: relative; box-sizing: border-box; height: 18px; border: 0 solid transparent; border-image: var(--k-riel) var(--k-bi-riel); border-radius: 0; background: none; overflow: visible; }
.visual-r34 .view .hbar > i { position: absolute; left: 4px; top: 4px; bottom: 4px; right: auto; height: auto; max-width: calc(100% - 8px); border-radius: 0; background: var(--k-relleno-ambar) 0 0 / 100% 100% no-repeat; }
.visual-r34 .view .hbar > em { position: absolute; inset: -2px 0 0; display: grid; place-items: center; font: 400 12px/1 var(--k-fuente); font-style: normal; --k-c: #2a1608; color: var(--k-crema); text-shadow: var(--k-contorno-fino); }
.visual-r34 .view .fm-bench-card { border: 0 solid transparent; border-image: var(--k-tira-normal) var(--k-bi-tira); border-radius: 0; background: none; box-shadow: none; }
.visual-r34 .view .fm-bench-card small { color: #5a3616; }
.visual-r34 .view .fm-map { border: 0 solid transparent; border-image: var(--k-hueco) 5 / 10px / 0 stretch; border-radius: 0; }
.visual-r34 .view #fmCombatir { min-height: 52px; font: 400 20px/1 var(--k-fuente); text-shadow: var(--k-contorno); border-image-source: var(--k-btn-turquesa); --k-c: #0c3532; }
/* Desafíos */
.visual-r34 .view .chalcard { border: 0 solid transparent; border-image: var(--k-hueco) 5 / 10px / 0 stretch; border-radius: 0; box-shadow: none; overflow: hidden; }
.visual-r34 .view .chalname b { font: 400 17px/1 var(--k-fuente); --k-c: #1c0f06; color: #ffe9b8; text-shadow: var(--k-contorno-fino); }
.visual-r34 .view .hub-caption > span:last-child { font: 400 14px/1.1 var(--k-fuente); color: #f3e6c6; }
.visual-r34 .view #eventPanel .ptitle h3 { color: var(--k-crema); --k-c: #3b2412; }
/* Campamento y Aventura: los controles sobre la escena son placas de madera */
.visual-r34 .view .objective { border: 0 solid transparent; border-image: var(--k-tira-lista) var(--k-bi-tira); border-radius: 0; background: none; box-shadow: none; }
.visual-r34 .view .objective b { font-weight: 400; color: var(--k-crema); --k-c: #3b2412; text-shadow: var(--k-contorno-fino); }
.visual-r34 .view .objective small { color: #5a3616; }
.visual-r34 .view :is(.stagebtn, .mapbtn, #pause, #speed, .fmbtn, .chest, .camp-tools button) { border: 0 solid transparent; border-image: var(--k-btn-madera) var(--k-bi-btn); border-radius: 0; background: none; box-shadow: none; --k-c: #24130a; color: #ffe9b8; text-shadow: var(--k-contorno-fino); }
.visual-r34 .view :is(.stagebtn, .mapbtn, #pause, #speed, .fmbtn, .chest) :is(b, span, small, i) { color: inherit; }
.visual-r34 .view .chest.full { border-image-source: var(--k-btn-ambar); --k-c: #5a3208; color: var(--k-crema); }
.visual-r34 .view .chest .box { border: 0; background: none; box-shadow: none; }
.visual-r34 .view .power, .visual-r34 .view .status { border: 0 solid transparent; border-image: var(--k-capsula) var(--k-bi-capsula); border-radius: 0; background: none; box-shadow: none; color: #f3e6c6; }
.visual-r34 .view .advhead h2 { font: 400 16px/1.1 var(--k-fuente); letter-spacing: .04em; --k-c: #1c0f06; color: #ffe9b8; text-shadow: var(--k-contorno-fino); }
.visual-r34 .view .punit .frame, .visual-r34 .view .frame { border-radius: 0; }

/* ---- segunda vuelta tras mirar las capturas ---- */
.visual-r34 #sheet .vl-lista.shelf { display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; margin: 0; padding: 0; border: 0; border-radius: 0; background: none; }
.visual-r34 #sheet .vl-fila { display: flex; }
.visual-r34 #sheet .comercio-entrada { margin: 6px 0; }
.visual-r34 #sheet .comercio-entrada :is(p, small, .note) { font: 400 14px/1.15 var(--k-fuente); color: var(--k-tinta2); text-shadow: none; }
.visual-r34 .view .chip, .visual-r34 .view .seg button { min-height: 44px; padding: 0 10px 6px; font-size: 13px; }
.visual-r34 .view .chips { display: flex; flex-wrap: wrap; gap: 4px; }
.visual-r34 .view #eventPanel :is(p, .lead) { color: #5a3616; }
/* ================= 8 · FICHA DE HÉROE: la escena enmarcada; datos, pestañas y subida apoyados en el pergamino ================= */
.visual-r34 #sheet .hero-stage { border: 0 solid transparent; border-image: var(--k-hueco) 5 / 10px / 0 stretch; border-radius: 0; box-shadow: none; }
.visual-r34 #sheet .b1-cartela b { font: 400 20px/1 var(--k-fuente); letter-spacing: .03em; --k-c: #1c0f06; color: #ffe9b8; text-shadow: var(--k-contorno); }
.visual-r34 #sheet .b1-cartela :is(small, span) { font-family: var(--k-fuente); color: #f3e6c6; text-shadow: none; }
.visual-r34 #sheet .b1-flecha { width: 44px; height: 48px; padding: 0; border: 0; border-radius: 0; background: var(--k-g-volver) 10px 9px / 24px 24px no-repeat, var(--k-redondo-madera) 0 0 / 44px 48px no-repeat; box-shadow: none; color: transparent; font-size: 0; }
.visual-r34 #sheet .b1-flecha-der { transform: scaleX(-1); }
.visual-r34 #sheet .b1-orbita { border: 0; border-radius: 0; background: var(--k-redondo-madera) center / 100% 100% no-repeat; box-shadow: none; color: var(--k-crema); }
.visual-r34 #sheet .b1-orbita small { font-family: var(--k-fuente); color: #ffe9b8; }
.visual-r34 #sheet .hero-profile-meta, .visual-r34 #sheet .b1-fila { border: 0 solid transparent; border-image: var(--k-tira-hundida) var(--k-bi-tira); border-radius: 0; background: none; box-shadow: none; padding: 6px 10px 8px; }
.visual-r34 #sheet :is(.hero-profile-meta, .b1-fila) :is(span, b, small, div) { font-family: var(--k-fuente); color: var(--k-tinta); text-shadow: none; }
.visual-r34 #sheet .hero-profile-meta .tag { border: 0; background: none; padding: 0; color: var(--k-tinta2); }
.visual-r34 #sheet .hero-profile-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; width: 100%; }
.visual-r34 #sheet .hero-profile-tabs button { min-width: 0; padding: 0 4px 6px; font-size: 13px; white-space: nowrap; overflow: hidden; }
.visual-r34 #sheet .b1-niveles :is(.b1-resumen b, .b1-coste b) { font: 400 16px/1.1 var(--k-fuente); color: var(--k-crema); text-shadow: var(--k-contorno-fino); }
.visual-r34 #sheet .b1-niveles .delta { color: #5a3616; }
.visual-r34 #sheet .b1-acciones label { color: var(--k-crema); text-shadow: var(--k-contorno-fino); font-size: 15px; }
.visual-r34 #sheet .b1-acciones input { width: 64px; min-height: 44px; box-sizing: border-box; padding: 4px 8px; border: 0 solid transparent; border-image: var(--k-campo) 4 fill / 8px / 0 stretch; border-radius: 0; background: none; font: 400 16px/1 var(--k-fuente); color: var(--k-crema); text-align: center; }
.visual-r34 #sheet #upgradeBtn { border-image-source: var(--k-btn-turquesa); --k-c: #0c3532; }
.visual-r34 #sheet #upgradeBtn:disabled { border-image-source: var(--k-btn-piedra); --k-c: #4a453c; }
.visual-r34 #sheet details.spec { padding: 4px 10px 8px; border: 0 solid transparent; border-image: var(--k-tira-hundida) var(--k-bi-tira); border-radius: 0; background: none; }
.visual-r34 #sheet details.spec > summary, .visual-r34 #sheet details > summary { min-height: 44px; align-content: center; font: 400 15px/1.1 var(--k-fuente); color: var(--k-tinta); text-shadow: none; }
.visual-r34 #sheet details.spec :is(p, dt, dd, li, small) { font: 400 14px/1.2 var(--k-fuente); color: var(--k-tinta); text-shadow: none; }
.visual-r34 #sheet .gslot { border: 0 solid transparent; border-image: var(--k-hueco) var(--k-bi-casilla); border-radius: 0; background: none; box-shadow: none; }
.visual-r34 #sheet .gslot :is(b, em) { font-family: var(--k-fuente); color: #f3e6c6; text-shadow: none; }

.visual-r34 #sheet .vl-fila > button { flex: none; width: auto; margin: 0; }
.visual-r34 #sheet .vl-fila > .vq-dato { flex: 1; min-width: 0; }
.visual-r34 #sheet .vt-pliego .vq-premio > .cst.cst { width: 52px; height: 52px; }
.visual-r34 #sheet .vt-pliego .vq-premio > .cst.cst > :is(.ico, svg, img) { width: 30px; height: 30px; }
.visual-r34 #sheet .vt-pliego .vq-premio > .cst.cst > b { font-size: 14px; right: 2px; bottom: 0; }
/* Tablón en móvil: el título arriba y los premios debajo, la acción a la derecha (REF-18) */
@media (max-width: 479px) {
  .visual-r34 #sheet .vt-fila { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "dato accion" "premio accion"; align-items: center; gap: 6px 10px; }
  .visual-r34 #sheet .vt-fila > .vq-dato { grid-area: dato; }
  .visual-r34 #sheet .vt-fila > .vq-premio { grid-area: premio; }
  .visual-r34 #sheet .vt-fila > :is(button, .vt-quien) { grid-area: accion; }
  .visual-r34 #sheet .vt-fila .vq-premio > .cst.cst { width: 40px; height: 40px; }
  .visual-r34 #sheet .vt-fila .vq-premio > .cst.cst > :is(.ico, svg, img) { width: 22px; height: 22px; }
}
/* escritorio: una columna centrada, como en móvil (nada de rejillas de tarjetas) */
.visual-r34 #sheet .vt-lista.jobs, .visual-r34 #sheet .vq-lista { display: grid; grid-template-columns: minmax(0, 1fr); }
.visual-r34 #sheet .journal-scene > * { box-sizing: border-box; width: 100%; max-width: 560px; margin-inline: auto; }
/* ---- que nada se pise: la lista se desplaza en su propio hueco, por encima de las pestañas (nunca por debajo de ellas) ---- */
@media (min-height: 521px) {
  .visual-r34 #sheet .sheetbody:has(.vq-panel > .am-pestanas) { overflow: hidden; padding-bottom: 0; }
  .visual-r34 #sheet .sheetbody:has(.vq-panel > .am-pestanas) > .journal-scene { flex: 1 1 0; min-height: 0; }
  .visual-r34 #sheet .sheetbody:has(.vq-panel > .am-pestanas) .vq-panel { flex: 1 1 0; min-height: 0; }
  .visual-r34 #sheet .sheetbody > .vq-panel { flex: 1 1 0; min-height: 0; }
  .visual-r34 #sheet .vq-panel > .vq-lista { flex: 1 1 0; min-height: 0; overflow-y: auto; align-content: start; padding-bottom: 6px; -webkit-overflow-scrolling: touch; }
  .visual-r34 #sheet .vq-panel > .am-pestanas { position: relative; bottom: auto; flex: none; margin: 0 -10px; padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px)); }
}
/* navegación en pantallas estrechas: cinco destinos caben siempre */
.visual-r34 .navbtn { min-width: 0; overflow: visible; }
.visual-r34 .navbtn > span { max-width: 100%; overflow: hidden; text-overflow: clip; white-space: nowrap; }
@media (max-width: 359px) { .visual-r34 .nav { gap: 0; padding-inline: 2px; } .visual-r34 .navbtn { font-size: 10.5px; } .visual-r34 .navbtn.active { border-image-width: 16px 14px 22px 14px; } }
/* con alto definido, las filas automáticas de una rejilla se quedan en su mínimo: aquí cada fila mide lo que mide su contenido */
.visual-r34 #sheet .vq-panel > .vq-lista { grid-auto-rows: max-content; }
.visual-r34 .ed-panel button.ed-cerrar.ed-cerrar { background-image: var(--k-g-cerrar), var(--k-redondo-madera); right: -10px; top: -16px; z-index: 3; }

/* ================= AGENDA (diaria · bienvenida · calendario): sin caja oscura, mismas piezas ================= */
.visual-r34 #sheet .or-panel { border: 0; border-radius: 0; background: none; box-shadow: none; padding: 0; min-height: 0; max-width: 560px; width: 100%; flex: 1; gap: 6px; }
.visual-r34 #sheet .or-cab { display: flex; align-items: center; justify-content: flex-end; gap: 6px; min-height: 48px; }
.visual-r34 #sheet .or-estado { flex: 1; margin: 0; font: 400 14px/1.15 var(--k-fuente); color: #8a3a14; }
.visual-r34 #sheet .am-ayuda.or-rec { background-image: var(--k-g-giro), var(--k-redondo-madera); }
.visual-r34 #sheet .or-casilla { border: 0 solid transparent; border-image: var(--k-tira-hundida) var(--k-bi-tira); border-radius: 0; background: none; box-shadow: none; color: var(--k-tinta); }
.visual-r34 #sheet .or-casilla.disponible { border-image-source: var(--k-tira-lista); }
.visual-r34 #sheet .or-casilla.cobrada > * { opacity: .5; }
.visual-r34 #sheet .or-casilla small { font: 400 13px/1 var(--k-fuente); color: var(--k-tinta); text-shadow: none; text-transform: none; }
.visual-r34 #sheet .or-casilla .cst { position: relative; display: grid; place-items: center; width: 48px; height: 48px; border: 0 solid transparent; border-image: var(--k-casilla-azul) var(--k-bi-casilla); }
.visual-r34 #sheet .or-casilla .cst:is(.m-gold) { border-image-source: var(--k-casilla-oro); } .visual-r34 #sheet .or-casilla .cst:is(.m-tickets, .m-drillTome) { border-image-source: var(--k-casilla-morado); }
.visual-r34 #sheet .or-casilla .cst .ico { width: 26px; height: 26px; margin-bottom: 4px; }
.visual-r34 #sheet .or-casilla .cst b { position: absolute; right: 2px; bottom: 0; --k-c: #10131c; font: 400 13px/1 var(--k-fuente); color: var(--k-crema); text-shadow: var(--k-contorno-fino); }
.visual-r34 #sheet .am-pie { display: flex; justify-content: center; gap: 10px; padding: 8px 0; }
.visual-r34 #sheet .or-hitos { padding: 34px 26px 26px 12px; border: 0 solid transparent; border-image: var(--k-tira-hundida) var(--k-bi-tira); }
.visual-r34 #sheet .or-barra { height: 18px; border: 0 solid transparent; border-image: var(--k-riel) var(--k-bi-riel); border-radius: 0; background: none; }
.visual-r34 #sheet .or-barra > i { inset: 4px auto 4px 4px; border-radius: 0; background: var(--k-relleno-ambar) 0 0 / 100% 100% no-repeat; }
.visual-r34 #sheet .or-hito { bottom: -22px; border: 0; background: none; }
.visual-r34 #sheet .or-hito::before { content: ''; display: block; width: 44px; height: 40px; background: var(--k-cofre-cerrado) center / 44px 40px no-repeat; order: -1; }
.visual-r34 #sheet .or-hito.listo::before { background-image: var(--k-cofre-listo); }
.visual-r34 #sheet .or-hito.cobrado::before { background-image: var(--k-cofre-abierto); filter: saturate(.55); }
.visual-r34 #sheet .or-hito > span { position: absolute; top: -18px; left: 50%; transform: translateX(-50%); white-space: nowrap; }
.visual-r34 #sheet .or-hito > span .cst b { color: var(--k-tinta); text-shadow: none; font-size: 13px; }
.visual-r34 #sheet .or-hito small { width: auto; height: auto; min-width: 30px; padding: 2px 4px 4px; border: 0 solid transparent; border-image: var(--k-capsula) var(--k-bi-capsula); border-radius: 0; background: none; box-shadow: none; font: 400 12px/1 var(--k-fuente); color: #f3e6c6; }
.visual-r34 #sheet .or-puntos { color: var(--k-tinta); font: 400 13px/1 var(--k-fuente); }
.visual-r34 #sheet .or-dias { gap: 2px; }
.visual-r34 #sheet .or-dias button { box-sizing: border-box; min-height: 44px; padding: 0 2px 6px; border: 0 solid transparent; border-image: var(--k-btn-madera) 8 12 11 12 fill / 16px 12px 22px 12px / 0 stretch; border-radius: 0; background: none; --k-c: #24130a; color: #e9cf9a; font: 400 13px/1 var(--k-fuente); text-shadow: var(--k-contorno-fino); }
.visual-r34 #sheet .or-dias button.active { border-image-source: var(--k-btn-brasa); --k-c: #4a1608; color: var(--k-crema); }
.visual-r34 #sheet .or-dias button.cerrado { border-image-source: var(--k-btn-piedra); }
.visual-r34 #sheet .or-mision { display: flex; align-items: center; gap: 10px; padding: 8px 10px 10px; }
.visual-r34 #sheet .or-mision > div:first-child { flex: 1; min-width: 0; display: grid; gap: 4px; }
.visual-r34 #sheet .or-mision .fx .cst b { color: var(--k-tinta); text-shadow: none; }
.visual-r34 #sheet .or-mision .am-accion.or-ir { border-image-source: var(--k-btn-ambar); --k-c: #5a3208; }
.visual-r34 #sheet .or-mision .tag { border: 0; background: none; color: var(--k-tinta2); font: 400 14px/1 var(--k-fuente); }
.visual-r34 #sheet .or-cal-dias span { font: 400 13px/1 var(--k-fuente); color: var(--k-tinta2); }
.visual-r34 #sheet .or-cal-dias span.hoy { color: #a3481c; }
.visual-r34 #sheet .or-cal-barra { border: 0 solid transparent; border-image: var(--k-tira-normal) var(--k-bi-tira); border-radius: 0; background: none; }
.visual-r34 #sheet .or-cal-barra.evento { border-image-source: var(--k-tira-lista); }
.visual-r34 #sheet .or-cal-barra.proximo { border-image-source: var(--k-tira-hundida); }
.visual-r34 #sheet .or-cal-barra b { font: 400 15px/1.1 var(--k-fuente); color: var(--k-crema); --k-c: #3b2412; text-shadow: var(--k-contorno-fino); }
.visual-r34 #sheet .or-cal-barra small { color: #5a3616; font: 400 13px/1.1 var(--k-fuente); }
.visual-r34 #sheet .am-pestanas button > i { position: absolute; top: -6px; right: -4px; width: 18px; height: 18px; border: 0; border-radius: 0; background: var(--k-aviso) center / 18px 18px no-repeat; color: transparent; font-size: 0; box-shadow: none; }
.visual-r34 #sheet .or-entrada { width: 100%; }
.visual-r34 #sheet .or-entrada em { border-radius: 0; border: 2px solid #4a0f08; background: #d9402c; font: 400 12px/18px var(--k-fuente); height: 22px; box-sizing: border-box; text-shadow: none; }
/* Amigos */
.visual-r34 #sheet .am-cab { display: flex; align-items: center; gap: 10px; min-height: 48px; }
.visual-r34 #sheet .am-cab > span, .visual-r34 #sheet .am-cupo, .visual-r34 #sheet .am-cupo b, .visual-r34 #sheet .am-cab .cst b { font: 400 15px/1 var(--k-fuente); color: var(--k-tinta); text-shadow: none; }
.visual-r34 #sheet .am-rombo span { transform: none; width: 44px; height: 48px; border: 0; background: var(--k-g-cerrar) 10px 9px / 24px 24px no-repeat, var(--k-redondo-brasa) 0 0 / 44px 48px no-repeat; color: transparent; font-size: 0; }
.visual-r34 #sheet .am-rombo.ok span, .visual-r34 #sheet .am-rombo[data-am-aceptar] span { background-image: var(--k-g-visto), var(--k-redondo-turquesa); }
.visual-r34 #sheet .am-rombo { width: 44px; height: 48px; }
.visual-r34 #sheet .am-mas { color: var(--k-tinta); }
/* invocación de amistad (vista): mismos botones y pestañas que la normal */
.visual-r34 .view .am-banner { border-radius: 0; }
.visual-r34 .view .am-tiradas button { min-height: 60px; font: 400 20px/1 var(--k-fuente); text-shadow: var(--k-contorno); }
.visual-r34 .view .am-bolsa > span { border: 0 solid transparent; border-image: var(--k-capsula) var(--k-bi-capsula); border-radius: 0; background: none; padding: 3px 14px 6px 10px; }
.visual-r34 .view .am-cabeza h2 { font: 400 20px/1.1 var(--k-fuente); --k-c: #1c0f06; color: #ffe9b8; text-shadow: var(--k-contorno); }
.visual-r34 #sheet .or-mision b { font: 400 16px/1.15 var(--k-fuente); color: var(--k-crema); --k-c: #3b2412; text-shadow: var(--k-contorno-fino); }
.visual-r34 #sheet .or-hitos { padding-top: 44px; }
.visual-r34 #sheet .or-hito > span { top: -20px; }
@media (max-width: 419px) { .visual-r34 .navbtn { font-size: 11px; } }

/* =====================================================================================================================
   SEGUNDA VUELTA DEL KIT (parche 22): lo que en el parche 21 quedó como piel o sin mirar.
   Regla: ninguna caja verde oscuro, ninguna caja dentro de otra; cada pantalla una superficie y las piezas del kit encima.
   ===================================================================================================================== */

/* ---- medallones de filtro (REF-29/30: «ALL» + clases en una sola fila bajo la formación) ---- */
.visual-r34 .hf-fila { display: flex; flex-wrap: nowrap; align-items: center; justify-content: flex-start; gap: 4px; margin: 4px 0 8px; padding: 4px 6px 6px; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; border: 0 solid transparent; border-image: var(--k-capsula) var(--k-bi-capsula); background: none; }
.visual-r34 .hf-fila::-webkit-scrollbar { display: none; }
.visual-r34 .hf-med { flex: none; width: 44px; height: 48px; min-width: 44px; padding: 0; border: 0; border-radius: 0; background: var(--k-g-todo) 10px 9px / 24px 24px no-repeat, var(--k-redondo-madera) 0 0 / 44px 48px no-repeat; box-shadow: none; font-size: 0; color: transparent; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.visual-r34 .hf-med.active { background-image: var(--k-g-todo), var(--k-redondo-brasa); }
.visual-r34 .hf-med:active { background-position: 10px 11px, 0 2px; }
.visual-r34 .hf-med[data-hf="guardian"] { background-image: var(--k-g-guardian), var(--k-redondo-madera); } .visual-r34 .hf-med[data-hf="guardian"].active { background-image: var(--k-g-guardian), var(--k-redondo-brasa); }
.visual-r34 .hf-med[data-hf="fighter"] { background-image: var(--k-g-fighter), var(--k-redondo-madera); } .visual-r34 .hf-med[data-hf="fighter"].active { background-image: var(--k-g-fighter), var(--k-redondo-brasa); }
.visual-r34 .hf-med[data-hf="assassin"] { background-image: var(--k-g-assassin), var(--k-redondo-madera); } .visual-r34 .hf-med[data-hf="assassin"].active { background-image: var(--k-g-assassin), var(--k-redondo-brasa); }
.visual-r34 .hf-med[data-hf="archer"] { background-image: var(--k-g-archer), var(--k-redondo-madera); } .visual-r34 .hf-med[data-hf="archer"].active { background-image: var(--k-g-archer), var(--k-redondo-brasa); }
.visual-r34 .hf-med[data-hf="arcanist"] { background-image: var(--k-g-arcanist), var(--k-redondo-madera); } .visual-r34 .hf-med[data-hf="arcanist"].active { background-image: var(--k-g-arcanist), var(--k-redondo-brasa); }
.visual-r34 .hf-med[data-hf="support"] { background-image: var(--k-g-support), var(--k-redondo-madera); } .visual-r34 .hf-med[data-hf="support"].active { background-image: var(--k-g-support), var(--k-redondo-brasa); }
.visual-r34 .hf-med[data-hf="raro"] { background-image: var(--k-g-raro), var(--k-redondo-madera); } .visual-r34 .hf-med[data-hf="raro"].active { background-image: var(--k-g-raro), var(--k-redondo-turquesa); }
.visual-r34 .hf-med[data-hf="epico"] { background-image: var(--k-g-epico), var(--k-redondo-madera); } .visual-r34 .hf-med[data-hf="epico"].active { background-image: var(--k-g-epico), var(--k-redondo-turquesa); }
.visual-r34 .hf-med[data-hf="estandarte"] { background-image: var(--k-g-estandarte), var(--k-redondo-madera); }
.visual-r34 .hf-sep { flex: none; width: 4px; height: 28px; margin: 0 2px 4px; background: #1c0f06; box-shadow: 2px 0 0 #7a4e25; }
.visual-r34 .view .company-roster > h3.h3 { margin: 10px 0 0; }

/* ---- CAMPAMENTO: la cabecera deja de ser una caja verde; el nombre va en placa y la cámara son tres discos sobre la escena ---- */
.visual-r34 .view .camp-screen > .bar { position: relative; z-index: 4; display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 0; margin: 0 0 -22px; padding: 0; border: 0; background: none; box-shadow: none; pointer-events: none; }
.visual-r34 .view .camp-screen > .bar > * { pointer-events: auto; }
.visual-r34 .view .camp-screen > .bar h2 { margin: 0; padding: 7px 34px 11px; border: 0 solid transparent; border-image: var(--k-placa) 9 24 9 24 fill / 18px 48px 18px 48px / 0 stretch; font: 400 15px/1.1 var(--k-fuente); letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }
.visual-r34 .view .camp-screen > .bar small { position: absolute; left: 50%; top: 100%; transform: translateX(-50%); margin-top: 2px; padding: 2px 10px 5px; border: 0 solid transparent; border-image: var(--k-capsula) var(--k-bi-capsula); font: 400 12px/1 var(--k-fuente); color: #f3e6c6; white-space: nowrap; }
.visual-r34 .view .camp-tools { inset: auto auto 76px 6px; flex-direction: column; align-items: flex-start; gap: 2px; padding: 0; background: none; }
.visual-r34 .view .camp-tools button { width: 44px; height: 48px; min-width: 44px; min-height: 48px; padding: 0; border: 0; border-image: none; background: var(--k-g-menos) 10px 9px / 24px 24px no-repeat, var(--k-redondo-madera) 0 0 / 44px 48px no-repeat; font-size: 0; color: transparent; text-shadow: none; }
.visual-r34 .view .camp-tools button[data-camp-zoom="in"] { background-image: var(--k-g-mas), var(--k-redondo-madera); }
.visual-r34 .view .camp-tools button[data-camp-zoom="reset"] { background-image: var(--k-g-giro), var(--k-redondo-madera); }
.visual-r34 .view .camp-tools button:active { background-position: 10px 11px, 0 2px; }
.visual-r34 .view .camp-tools output { display: none; }
.visual-r34 .view .camp-rts .camp-label { border: 0 solid transparent; border-image: var(--k-capsula) var(--k-bi-capsula); border-radius: 0; background: none; box-shadow: none; padding: 1px 8px 5px; font-family: var(--k-fuente); color: #f3e6c6; }

/* ---- DESAFÍOS: el título en placa, como las fichas ---- */
.visual-r34 .view :is(.chalhub, .heroes-screen) > .bar { border: 0; background: none; box-shadow: none; }
.visual-r34 .view .chalhub > .bar { justify-content: center; }
.visual-r34 .view .chalhub > .bar h2 { margin: 0; padding: 7px 34px 11px; border: 0 solid transparent; border-image: var(--k-placa) 9 24 9 24 fill / 18px 48px 18px 48px / 0 stretch; text-transform: uppercase; }

/* ---- MOCHILA: una superficie de pergamino; piezas en casillas; el detalle es una tira, no una caja ---- */
.visual-r34 .view .bag { gap: 6px; padding: 8px 8px 10px; background: var(--k-fibra) 0 0 / 64px 64px, var(--k-papel); border: 0 solid transparent; border-image: var(--k-hueco) 5 / 10px / 0 stretch; }
.visual-r34 .view .bag .bagtools { flex-direction: row; flex-wrap: nowrap; gap: 4px; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
.visual-r34 .view .bag .bagtools::-webkit-scrollbar { display: none; }
.visual-r34 .view .bag .bagtools .chips { flex: none; flex-wrap: nowrap; padding: 0; }
.visual-r34 .view .bag .bagtools .chip { flex: none; min-height: 44px; }
.visual-r34 .view .bag .bagtools .chip i:not(.ico) { color: #ffe9b8; font: 400 12px/1 var(--k-fuente); }
.visual-r34 .view .bag .bagtools .chip.sort { margin-left: 0; }
.visual-r34 .view .baggrid { grid-template-columns: repeat(auto-fill, minmax(56px, 1fr)); gap: 4px; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
.visual-r34 .view .bcell { border: 0 solid transparent; border-image: var(--k-casilla-piedra) var(--k-bi-casilla); border-radius: 0; background: none; box-shadow: none; }
.visual-r34 .view .bcell:is(.q1, .mat) { border-image-source: var(--k-casilla-verde); }
.visual-r34 .view .bcell.q2 { border-image-source: var(--k-casilla-azul); }
.visual-r34 .view .bcell:is(.q3, .shard) { border-image-source: var(--k-casilla-morado); }
.visual-r34 .view .bcell.q4 { border-image-source: var(--k-casilla-oro); }
.visual-r34 .view .bcell.sel { box-shadow: none; outline: 4px solid #fff6dc; outline-offset: -2px; }
.visual-r34 .view .bcell.eq { background: none; }
.visual-r34 .view .bcell .itemicon::after { display: none; }
.visual-r34 .view .bcell :is(.bt, .bu, .bq) { border: 0; border-radius: 0; background: none; padding: 0; --k-c: #10131c; font: 400 12px/1 var(--k-fuente); color: var(--k-crema); text-shadow: var(--k-contorno-fino); }
.visual-r34 .view .bcell .bt { left: 4px; bottom: 3px; } .visual-r34 .view .bcell .bq { right: 4px; bottom: 3px; } .visual-r34 .view .bcell .bu { right: 4px; top: 3px; color: #ffe08a; }
.visual-r34 .view .bcell .bo { right: -2px; bottom: -2px; border-radius: 0; border: 2px solid #2a1608; background: #7a4e25; }
.visual-r34 .view .bagdetail, .visual-r34 #sheet .bagdetail { border: 0 solid transparent; border-image: var(--k-tira-normal) var(--k-bi-tira); border-radius: 0; background: none; box-shadow: none; padding: 8px 10px 10px; --k-c: #3b2412; font-family: var(--k-fuente); }
.visual-r34 #sheet .bagdetail.sheet { border-image: none; padding: 0; }
.visual-r34 :is(.view, #sheet) .bagdetail :is(b, small, span, em, p, summary, button) { font-family: var(--k-fuente); font-weight: 400; }
.visual-r34 :is(.view, #sheet) .bagdetail .bdhead b { font-size: 17px; color: var(--k-crema); text-shadow: var(--k-contorno-fino); }
.visual-r34 :is(.view, #sheet) .bagdetail :is(.bdhead small, .lbl, .bstats, .bstats small, .bcmp, summary) { color: #5a3616; font-size: 14px; }
.visual-r34 :is(.view, #sheet) .bagdetail .bstats b, .visual-r34 :is(.view, #sheet) .bagdetail .bcmp b { color: var(--k-tinta); }
.visual-r34 :is(.view, #sheet) .bagdetail .bdico { flex: none; display: grid; place-items: center; width: 52px; height: 52px; border: 0 solid transparent; border-image: var(--k-casilla-azul) var(--k-bi-casilla); border-radius: 0; background: none; box-shadow: none; }
.visual-r34 :is(.view, #sheet) .bagdetail .bdico.q4 { border-image-source: var(--k-casilla-oro); } .visual-r34 :is(.view, #sheet) .bagdetail .bdico.q3 { border-image-source: var(--k-casilla-morado); } .visual-r34 :is(.view, #sheet) .bagdetail .bdico:is(.q0, .q1) { border-image-source: var(--k-casilla-verde); }
.visual-r34 :is(.view, #sheet) .bagdetail .bdico .itemicon::after { display: none; }
.visual-r34 :is(.view, #sheet) .hold { border: 0 solid transparent; border-image: var(--k-capsula) var(--k-bi-capsula); border-radius: 0; background: none; padding: 2px 10px 6px; font: 400 13px/1 var(--k-fuente); color: #f3e6c6; }
.visual-r34 :is(.view, #sheet) .axes { gap: 4px; }
.visual-r34 :is(.view, #sheet) .ax { border: 0; border-radius: 0; background: none; padding: 2px; box-shadow: 0 2px 0 #b98f55; }
.visual-r34 :is(.view, #sheet) .ax small { font: 400 11px/1 var(--k-fuente); letter-spacing: .04em; color: #7a5a34; }
.visual-r34 :is(.view, #sheet) .ax b, .visual-r34 :is(.view, #sheet) .ax.qual b, .visual-r34 :is(.view, #sheet) .ax.tech b, .visual-r34 :is(.view, #sheet) .ax.upg b { font: 400 17px/1.1 var(--k-fuente); color: var(--k-tinta); letter-spacing: 0; }
.visual-r34 :is(.view, #sheet) .ax.qual.q4 b { color: #a3481c; } .visual-r34 :is(.view, #sheet) .ax.qual.q3 b { color: #6a3aa0; } .visual-r34 :is(.view, #sheet) .ax.qual.q2 b { color: #1f6f8a; }
.visual-r34 :is(.view, #sheet) .ax em { font: 400 12px/1 var(--k-fuente); color: #7a5a34; }
.visual-r34 :is(.view, #sheet) .whob { border: 0 solid transparent; border-image: var(--k-casilla-piedra) var(--k-bi-casilla); border-radius: 0; background: none; box-shadow: none; color: var(--k-crema); }
.visual-r34 :is(.view, #sheet) .whob.has { border-image-source: var(--k-casilla-verde); } .visual-r34 :is(.view, #sheet) .whob.sel { border-image-source: var(--k-casilla-oro); box-shadow: none; }
.visual-r34 :is(.view, #sheet) .whob :is(small, .wslot, em) { font: 400 12px/1 var(--k-fuente); color: var(--k-crema); --k-c: #10131c; text-shadow: var(--k-contorno-fino); }
.visual-r34 .view .bagbulk { gap: 8px; margin-top: 2px; }
.visual-r34 .view .bag :is(.empty, .note) { color: #5a3616; font-family: var(--k-fuente); border: 0; background: none; }

/* ---- EVENTO: mismas piezas que Misiones; el cofre de la pista es el final del evento ---- */
.visual-r34 #sheet .ve-panel .ve-pista .vq-premio { display: grid; place-items: center; width: 52px; height: 52px; border: 0 solid transparent; border-image: var(--k-casilla-morado) var(--k-bi-casilla); }
.visual-r34 #sheet .ve-panel .ve-pista small { white-space: normal; }

/* ---- OBRAS: una fila por edificio (casilla con su dibujo, nombre, nivel y la flecha), no lingotes de dos líneas ---- */
.visual-r34 #sheet .refuge-picks { display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; }
.visual-r34 #sheet .refuge-picks > button { position: relative; display: flex; align-items: center; justify-content: flex-start; gap: 10px; width: 100%; min-height: 68px; padding: 8px 56px 10px 10px; border: 0 solid transparent; border-image: var(--k-tira-normal) var(--k-bi-tira); background: none; text-align: left; white-space: normal; --k-c: #3b2412; }
.visual-r34 #sheet .refuge-picks > button:active { border-image-source: var(--k-tira-hundida); }
.visual-r34 #sheet .refuge-picks > button::after { content: ''; position: absolute; right: 8px; top: 50%; width: 44px; height: 48px; margin-top: -25px; background: var(--k-g-volver) 10px 9px / 24px 24px no-repeat, var(--k-redondo-madera) 0 0 / 44px 48px no-repeat; transform: scaleX(-1); }
.visual-r34 #sheet .refuge-picks > button img { flex: none; box-sizing: border-box; width: 52px; height: 52px; padding: 4px; object-fit: contain; image-rendering: pixelated; border: 0 solid transparent; border-image: var(--k-casilla-verde) var(--k-bi-casilla); }
.visual-r34 #sheet .refuge-picks > button span { display: grid; gap: 2px; min-width: 0; }
.visual-r34 #sheet .refuge-picks > button b { font: 400 17px/1.1 var(--k-fuente); color: var(--k-crema); text-shadow: var(--k-contorno-fino); }
.visual-r34 #sheet .refuge-picks > button small { font: 400 14px/1 var(--k-fuente); color: #5a3616; text-shadow: none; }

/* ---- CASA DE EXPEDICIONES: la escena enmarcada; niveles como placas; la ficha del nivel apoyada en el pergamino ---- */
.visual-r34 #sheet .expscene { border: 0 solid transparent; border-image: var(--k-hueco) 5 / 10px / 0 stretch; border-radius: 0; box-shadow: none; }
.visual-r34 #sheet .explevel { border: 0 solid transparent; border-image: var(--k-capsula) var(--k-bi-capsula); border-radius: 0; background: none; box-shadow: none; padding: 4px 12px 8px; }
.visual-r34 #sheet .explevel b { font: 400 15px/1.1 var(--k-fuente); color: #ffe9b8; --k-c: #1c0f06; text-shadow: var(--k-contorno-fino); } .visual-r34 #sheet .explevel small { font: 400 13px/1 var(--k-fuente); color: #f3e6c6; }
.visual-r34 #sheet .explv { box-sizing: border-box; min-height: 44px; border: 0 solid transparent; border-image: var(--k-btn-madera) var(--k-bi-btn); border-radius: 0; background: none; box-shadow: none; padding: 0 12px 6px; --k-c: #24130a; color: #ffe9b8; }
.visual-r34 #sheet .explv :is(small, i) { font: 400 14px/1 var(--k-fuente); color: inherit; text-shadow: var(--k-contorno-fino); }
.visual-r34 #sheet .explv.sel { border-image-source: var(--k-btn-brasa); --k-c: #4a1608; }
.visual-r34 #sheet .explv.is-locked { border-image-source: var(--k-btn-piedra); --k-c: #4a453c; }
.visual-r34 #sheet .expcard { border: 0 solid transparent; border-image: var(--k-tira-normal) var(--k-bi-tira); border-radius: 0; background: none; box-shadow: none; padding: 8px 10px 12px; --k-c: #3b2412; }
.visual-r34 #sheet .expcard :is(b, h3, h4, .clhead b) { font: 400 17px/1.15 var(--k-fuente); color: var(--k-crema); text-shadow: var(--k-contorno-fino); }
.visual-r34 #sheet .expcard :is(small, p, li, .note, .clhead small) { font: 400 14px/1.2 var(--k-fuente); color: #5a3616; text-shadow: none; }
.visual-r34 #sheet .expcard .expcrypts li b { font-size: 14px; color: var(--k-tinta); text-shadow: none; }
.visual-r34 #sheet .expcard .reqs li.ok { color: var(--k-verde); }
.visual-r34 #sheet .expcard .mtile { border: 0; background: none; box-shadow: none; padding: 2px 6px; color: var(--k-tinta); font: 400 15px/1 var(--k-fuente); }
.visual-r34 #sheet .expcard .mtile :is(b, span, small) { color: var(--k-tinta); text-shadow: none; font-size: 15px; }
.visual-r34 #sheet .expcard .mtile.short :is(b, span) { color: var(--k-rojo); }

/* ---- INVOCAR · Detalles e Historial (#drawer): pergamino con cabecera de madera; tabla sin rejilla oscura ---- */
.visual-r34 #drawer { border: 0; border-radius: 0; background: var(--k-fibra) 0 0 / 64px 64px, var(--k-papel); color: var(--k-tinta); box-shadow: none; }
.visual-r34 #drawer .drawerhead { position: relative; display: flex; align-items: center; justify-content: center; min-height: 56px; padding: 0 56px 8px; border: 0; background: var(--k-tablon) 0 100% / 64px 56px repeat-x, #7a4a22; }
.visual-r34 #drawer .drawerhead b { padding: 9px 30px 13px; border: 0 solid transparent; border-image: var(--k-placa) 9 24 9 24 fill / 18px 48px 18px 48px / 0 stretch; font: 400 14px/1.1 var(--k-fuente); letter-spacing: .03em; text-transform: uppercase; color: #ffe9b8; --k-c: #1c0f06; text-shadow: var(--k-contorno-fino); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.visual-r34 #drawer #drawerClose { position: absolute; right: 6px; top: 4px; width: 44px; height: 48px; padding: 0; border: 0; border-radius: 0; background: var(--k-g-cerrar) 10px 9px / 24px 24px no-repeat, var(--k-redondo-madera) 0 0 / 44px 48px no-repeat; font-size: 0; color: transparent; }
.visual-r34 #drawer .drawerbody { background: none; }
.visual-r34 #drawer :is(h3, h4, summary) { font: 400 16px/1.1 var(--k-fuente); letter-spacing: .03em; color: #a3481c; text-shadow: none; }
.visual-r34 #drawer :is(p, li, td, th, small, .note, span, em) { font-family: var(--k-fuente); color: var(--k-tinta); text-shadow: none; }
.visual-r34 #drawer :is(p, li, .note) { font-size: 15px; line-height: 1.2; }
.visual-r34 #drawer table { border: 0; border-collapse: separate; border-spacing: 4px; background: none; }
.visual-r34 #drawer :is(td, th) { border: 0; background: #e3c58f; box-shadow: 0 2px 0 #b98f55; padding: 6px; }
.visual-r34 #drawer th { background: #7a4e25; color: #ffe9b8; box-shadow: 0 2px 0 #3b2412; font-weight: 400; }
.visual-r34 #drawer td b { font: 400 18px/1 var(--k-fuente); color: var(--k-tinta); }
.visual-r34 #drawer td small { font-size: 12px; color: #7a5a34; }
.visual-r34 #drawer :is(.item, .oddrow, .dhero, .logrow, li.hero, .droprow) { border: 0 solid transparent; border-image: var(--k-tira-normal) var(--k-bi-tira); border-radius: 0; background: none; box-shadow: none; --k-c: #3b2412; }
.visual-r34 #drawer :is(.item, .oddrow, .dhero, .logrow, li.hero, .droprow) b { color: var(--k-crema); text-shadow: var(--k-contorno-fino); font-weight: 400; }
.visual-r34 #drawer :is(.item, .oddrow, .dhero, .logrow, li.hero, .droprow) :is(small, span, em) { color: #5a3616; }
.visual-r34 #drawer details.spec { border: 0; background: none; }

/* ---- campos y desplegables de la Puerta y de la pantalla de acceso ---- */
.visual-r34 :is(#sheet, #modal) :is(select, input[type=password], input[type=email], input[type=search], input[type=number]) { box-sizing: border-box; min-height: 44px; padding: 6px 12px; border: 0 solid transparent; border-image: var(--k-campo) 4 fill / 8px / 0 stretch; border-radius: 0; background: none; box-shadow: none; font: 400 16px/1 var(--k-fuente); color: var(--k-crema); }
.visual-r34 #modal :is(input[type=text], input:not([type]), textarea) { box-sizing: border-box; min-height: 44px; padding: 6px 12px; border: 0 solid transparent; border-image: var(--k-campo) 4 fill / 8px / 0 stretch; border-radius: 0; background: none; box-shadow: none; font: 400 16px/1 var(--k-fuente); color: var(--k-crema); }
.visual-r34 :is(#sheet, #modal) select option { color: #2a1608; background: #ecd3a2; }
.visual-r34 #sheet .puerta-check { font: 400 15px/1 var(--k-fuente); color: var(--k-tinta); text-shadow: none; }

/* ---- HOGAR DE ALIANZA: cabecera de madera, saldo en cápsula, ficha del destino como pliego (no caja verde) ---- */
.visual-r34 dialog.hogar-juego { font-family: var(--k-fuente); }
.visual-r34 dialog.hogar-juego :is(h1, h2, h3, p, b, span, small, button, li, em) { font-family: var(--k-fuente); font-weight: 400; letter-spacing: 0; }
.visual-r34 .hogar-cabecera { position: relative; z-index: 2; align-items: center; min-height: 56px; padding: 0 8px 8px; border: 0; background: var(--k-tablon) 0 100% / 64px 56px repeat-x, #7a4a22; box-shadow: none; }
.visual-r34 .hogar-cabecera h1 { margin: 0; font: 400 18px/1.1 var(--k-fuente); letter-spacing: .03em; color: #ffe9b8; --k-c: #1c0f06; text-shadow: var(--k-contorno-fino); }
.visual-r34 .hogar-cabecera .hogar-saldo { display: inline-flex; margin: 2px 0 0; padding: 2px 10px 6px; border: 0 solid transparent; border-image: var(--k-capsula) var(--k-bi-capsula); background: none; color: #f3e6c6; }
.visual-r34 .hogar-cabecera .hogar-saldo b { font: 400 15px/1 var(--k-fuente); color: var(--k-crema); }
.visual-r34 .hogar-cab-acciones { gap: 4px; }
.visual-r34 .hogar-cab-acciones button { width: 44px; height: 48px; min-width: 44px; padding: 0; border: 0; border-radius: 0; background: var(--k-g-volver) 10px 9px / 24px 24px no-repeat, var(--k-redondo-madera) 0 0 / 44px 48px no-repeat; box-shadow: none; font-size: 0; color: transparent; }
.visual-r34 .hogar-cab-acciones button > * { display: none; }
.visual-r34 .hogar-cab-acciones button:last-child:not(:first-child) { background-image: var(--k-g-ayuda), var(--k-redondo-madera); }
.visual-r34 .hogar-cab-acciones button:active { background-position: 10px 11px, 0 2px; }
.visual-r34 .hogar-ficha { box-sizing: border-box; padding: 18px 18px 24px; border: 0 solid transparent; border-image: var(--k-pliego) 11 11 13 11 fill / 22px 22px 26px 22px / 0 stretch; border-radius: 0; background: none; box-shadow: none; color: var(--k-tinta); }
.visual-r34 .hogar-ficha > header { border: 0; background: none; padding: 0 0 6px; }
.visual-r34 .hogar-ficha > header h2 { font: 400 18px/1.1 var(--k-fuente); letter-spacing: .04em; text-transform: uppercase; color: #a3481c; text-shadow: none; }
.visual-r34 .hogar-ficha > header button { width: 44px; height: 48px; min-width: 44px; padding: 0; border: 0; border-radius: 0; background: var(--k-g-cerrar) 10px 9px / 24px 24px no-repeat, var(--k-redondo-madera) 0 0 / 44px 48px no-repeat; box-shadow: none; font-size: 0; color: transparent; }
.visual-r34 .hogar-ficha :is(.hogar-cuerpo, .hogar-cuerpo p, .hogar-cuerpo li, .hogar-cuerpo small, .hogar-cuerpo span, .hogar-desplaza) { font-size: 15px; line-height: 1.2; color: var(--k-tinta); text-shadow: none; background: none; }
.visual-r34 .hogar-ficha .hogar-cuerpo :is(b, strong) { color: var(--k-tinta); }
.visual-r34 .hogar-ficha .hogar-motivo { color: #8a3a14; }
.visual-r34 .hogar-ficha > footer { border: 0; background: none; }
.visual-r34 .hogar-ficha .hogar-pie { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.visual-r34 .hogar-ficha .hogar-pie button, .visual-r34 .hogar-ficha .hogar-cuerpo button { box-sizing: border-box; min-height: 48px; padding: 0 22px 6px; border: 0 solid transparent; border-image: var(--k-btn-madera) var(--k-bi-btn); border-radius: 0; background: none; box-shadow: none; --k-c: #24130a; color: #ffe9b8; font: 400 17px/1 var(--k-fuente); text-shadow: var(--k-contorno-fino); opacity: 1; }
.visual-r34 .hogar-ficha .hogar-pie button.hogar-primario { border-image-source: var(--k-btn-turquesa); --k-c: #0c3532; color: var(--k-crema); }
.visual-r34 .hogar-ficha .hogar-pie button:disabled { border-image-source: var(--k-btn-piedra); --k-c: #4a453c; color: #e6dfcf; }
.visual-r34 .hogar-objetivo::after, .visual-r34 .hogar-objetivo > span { font-family: var(--k-fuente); }

/* ---- MOSTRADOR: los mismos lingotes y discos; nada de rectángulos con degradado ---- */
.visual-r34 dialog.comercio-juego { font-family: var(--k-fuente); }
.visual-r34 dialog.comercio-juego :is(h1, h2, p, b, span, small, button, li, output, label) { font-family: var(--k-fuente); font-weight: 400; letter-spacing: 0; }
.visual-r34 dialog.comercio-juego .hud { align-items: center; gap: 6px; min-height: 56px; padding: 0 8px 8px; border: 0; background: var(--k-tablon) 0 100% / 64px 56px repeat-x, #7a4a22; }
.visual-r34 dialog.comercio-juego .hud .mini, .visual-r34 dialog.comercio-juego .secundarios .mini:not(.redondo), .visual-r34 dialog.comercio-juego .bandeja .mini { box-sizing: border-box; min-height: 44px; padding: 0 14px 6px; border: 0 solid transparent; border-image: var(--k-btn-madera) var(--k-bi-btn); border-radius: 0; background: none; box-shadow: none; --k-c: #24130a; color: #ffe9b8; font: 400 15px/1 var(--k-fuente); text-shadow: var(--k-contorno-fino); }
.visual-r34 dialog.comercio-juego :is(.fama, .reloj) { padding: 3px 12px 7px; border: 0 solid transparent; border-image: var(--k-capsula) var(--k-bi-capsula); border-radius: 0; background: none; box-shadow: none; color: #ffe08a; font: 400 15px/1 var(--k-fuente); }
.visual-r34 dialog.comercio-juego .reloj:empty { display: none; }
.visual-r34 dialog.comercio-juego .placa { box-sizing: border-box; min-height: 48px; padding: 2px 22px 8px; border: 0 solid transparent; border-image: var(--k-btn-madera) var(--k-bi-btn); border-radius: 0; background: none; box-shadow: none; --k-c: #24130a; color: #ffe9b8; font: 400 18px/1 var(--k-fuente); text-shadow: var(--k-contorno-fino); }
.visual-r34 dialog.comercio-juego .placa.principal { border-image-source: var(--k-btn-ambar); --k-c: #5a3208; color: var(--k-crema); }
.visual-r34 dialog.comercio-juego .acciones .placa.principal { border-image-source: var(--k-btn-turquesa); --k-c: #0c3532; min-height: 52px; font-size: 20px; text-shadow: var(--k-contorno); }
.visual-r34 dialog.comercio-juego .placa:disabled { border-image-source: var(--k-btn-piedra); --k-c: #4a453c; color: #e6dfcf; opacity: 1; }
.visual-r34 dialog.comercio-juego .placa.opcion { display: grid; gap: 2px; min-height: 60px; padding-block: 6px 12px; }
.visual-r34 dialog.comercio-juego .opcion-titulo { font: 400 19px/1 var(--k-fuente); color: inherit; text-shadow: var(--k-contorno-fino); }
.visual-r34 dialog.comercio-juego .opcion-linea { font: 400 13px/1.1 var(--k-fuente); color: inherit; text-shadow: var(--k-contorno-fino); opacity: 1; }
.visual-r34 dialog.comercio-juego .mini.redondo { width: 44px; height: 48px; min-width: 44px; padding: 0; border: 0; border-radius: 0; background: var(--k-g-ayuda) 10px 9px / 24px 24px no-repeat, var(--k-redondo-madera) 0 0 / 44px 48px no-repeat; box-shadow: none; font-size: 0; color: transparent; }
.visual-r34 dialog.comercio-juego :is(.disponibles, .respuesta, .bloqueo, .aviso) { font: 400 15px/1.2 var(--k-fuente); color: #ffe9b8; }
.visual-r34 dialog.comercio-juego .bandeja { border: 0; border-radius: 0; background: var(--k-fibra) 0 0 / 64px 64px, var(--k-papel); color: var(--k-tinta); box-shadow: none; }
.visual-r34 dialog.comercio-juego .bandeja > header { align-items: center; min-height: 56px; padding: 0 8px 8px; border: 0; background: var(--k-tablon) 0 100% / 64px 56px repeat-x, #7a4a22; }
.visual-r34 dialog.comercio-juego .bandeja h2 { font: 400 17px/1 var(--k-fuente); letter-spacing: .04em; text-transform: uppercase; color: #ffe9b8; --k-c: #1c0f06; text-shadow: var(--k-contorno-fino); }
.visual-r34 dialog.comercio-juego .bandeja :is(.nota, li, p, label, span, small) { font-size: 15px; color: var(--k-tinta); text-shadow: none; }
.visual-r34 dialog.comercio-juego .bandeja .lista li { border: 0 solid transparent; border-image: var(--k-tira-normal) var(--k-bi-tira); border-radius: 0; background: none; box-shadow: none; padding: 8px 10px 10px; }
/* retoques tras mirar las capturas de la segunda vuelta */
.visual-r34 .view .camp-screen > .bar h2, .visual-r34 .view .chalhub > .bar h2 { flex: none; overflow: visible; }
.visual-r34 .view .camp-tools button { border-image: none !important; }
.visual-r34 :is(.view, #sheet) .bcmp { border: 0; border-radius: 0; background: none; padding: 2px 0; box-shadow: 0 -2px 0 #b98f55; }
.visual-r34 :is(.view, #sheet) .bcmp :is(b, .crow b) { color: var(--k-tinta); } .visual-r34 :is(.view, #sheet) .bcmp small { color: #5a3616; font-size: 13px; }
.visual-r34 #sheet .refuge-picks > button small { color: #5a3616; opacity: 1; font-size: 15px; }
.visual-r34 #drawer :is(b, strong) { color: var(--k-tinta); font-weight: 400; }
.visual-r34 #drawer .dfacts b { color: #a3481c; }
.visual-r34 #drawer :is(.dhero, .drow, .poolrow, .dpool > *, .dlist > li, .dlist > div) { border: 0 solid transparent; border-image: var(--k-tira-normal) var(--k-bi-tira); border-radius: 0; background: none; box-shadow: none; --k-c: #3b2412; }
.visual-r34 #drawer .drow b { color: var(--k-crema); text-shadow: var(--k-contorno-fino); } .visual-r34 #drawer .drow :is(small, span) { color: #5a3616; } .visual-r34 #drawer .drow .dodds b { color: var(--k-tinta); text-shadow: none; }
.visual-r34 .view .camp-tools button { background: var(--k-g-menos) 10px 9px / 24px 24px no-repeat, var(--k-redondo-madera) 0 0 / 44px 48px no-repeat !important; }
.visual-r34 .view .camp-tools button[data-camp-zoom="in"] { background-image: var(--k-g-mas), var(--k-redondo-madera) !important; }
.visual-r34 .view .camp-tools button[data-camp-zoom="reset"] { background-image: var(--k-g-giro), var(--k-redondo-madera) !important; }

/* ---- GUÍA (tutorial con foco): habla el personaje; el bocadillo es la pieza del kit, sin tarjeta verde debajo (REF-35) ---- */
.visual-r34 .gi-tarjeta { grid-template-columns: 56px 1fr; gap: 6px 4px; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; font-family: var(--k-fuente); filter: drop-shadow(0 4px 0 #0008); }
.visual-r34 .gi-retrato { align-self: end; margin-bottom: 6px; }
.visual-r34 .gi-retrato .frame { width: 56px; height: 56px; border: 0 solid transparent; border-image: var(--k-casilla-oro) var(--k-bi-casilla); border-radius: 0; background: none; box-shadow: none; }
.visual-r34 .gi-bocadillo { padding: 12px 14px 16px; border: 0 solid transparent; border-image: var(--k-bocadillo) 7 7 9 7 fill / 14px 14px 18px 14px / 0 stretch; border-radius: 0; background: none; color: var(--k-tinta); }
.visual-r34 .gi-bocadillo::before { left: -12px; top: auto; bottom: 22px; width: 18px; height: 24px; border: 0; background: var(--k-cola) center / 24px 18px no-repeat; transform: rotate(-90deg); }
.visual-r34 .gi-bocadillo :is(p, span, b, small, li) { font-family: var(--k-fuente); font-weight: 400; color: var(--k-tinta); }
.visual-r34 .gi-nombre { font: 400 14px/1 var(--k-fuente); letter-spacing: .06em; color: #a3481c; }
.visual-r34 .gi-texto { font-size: 17px; line-height: 1.15; } .visual-r34 .gi-pista, .visual-r34 .gi-extra { font-size: 14px; line-height: 1.2; color: #5a3616; }
.visual-r34 .gi-acc { justify-content: flex-end; gap: 4px; }
.visual-r34 .gi-acc .mini, .visual-r34 .gi-chip { box-sizing: border-box; min-height: 44px; padding: 0 14px 6px; border: 0 solid transparent; border-image: var(--k-btn-madera) var(--k-bi-btn); border-radius: 0; background: none; box-shadow: none; --k-c: #24130a; color: #ffe9b8; font: 400 15px/1 var(--k-fuente); text-shadow: var(--k-contorno-fino); }
.visual-r34 .gi-acc .mini:first-child, .visual-r34 .gi-chip { border-image-source: var(--k-btn-ambar); --k-c: #5a3208; color: var(--k-crema); }

/* ---- TALLER · resultado de la forja: apoyado en la tira, sin caja oscura ---- */
.visual-r34 #sheet .wsresult { padding: 4px 0; border: 0; border-radius: 0; background: none; gap: 6px; }
.visual-r34 #sheet .wsq b { font: 400 22px/1 var(--k-fuente); color: var(--k-crema); text-shadow: var(--k-contorno); }
.visual-r34 #sheet .wsq small, .visual-r34 #sheet .wsresult :is(small, li, summary, .note) { font: 400 14px/1.2 var(--k-fuente); color: #5a3616; }
.visual-r34 #sheet .qbadge { padding: 3px 12px 7px; border: 0 solid transparent; border-image: var(--k-capsula) var(--k-bi-capsula); border-radius: 0; background: none; font: 400 14px/1 var(--k-fuente); letter-spacing: .04em; color: #f3e6c6; }
.visual-r34 #sheet .qbadge:is(.q3, .q4) { color: #ffe08a; } .visual-r34 #sheet .qbadge.q2 { color: #9fe0da; } .visual-r34 #sheet .qbadge.q1 { color: #bfe0a3; }
.visual-r34 #sheet .wsresult details, .visual-r34 #sheet .wscmp { border: 0; border-radius: 0; background: none; box-shadow: 0 -2px 0 #b98f55; padding: 4px 0 0; }
.visual-r34 #sheet .ws-result-actions { display: flex; flex-wrap: wrap; gap: 8px; }

/* ---- DIÁLOGOS DE RESULTADO (criptas, torre, bestia, laberinto, invocación): escena enmarcada, premio legible, una acción principal ---- */
.visual-r34 #modal .chalresult .resart, .visual-r34 #modal .artbox { border: 0 solid transparent; border-image: var(--k-hueco) 5 / 10px / 0 stretch; border-radius: 0; box-shadow: none; }
.visual-r34 #modal .restag { padding: 3px 12px 7px; border: 0 solid transparent; border-image: var(--k-capsula) var(--k-bi-capsula); border-radius: 0; background: none; font: 400 14px/1 var(--k-fuente); color: #bfe0a3; }
.visual-r34 #modal .restag:is(.o-defeat, .o-timeout, .o-retreat) { color: #ffb39a; }
.visual-r34 #modal .phover :is(b, .big) { font: 400 20px/1 var(--k-fuente); color: #ffe9b8; --k-c: #1c0f06; text-shadow: var(--k-contorno); opacity: 1; }
.visual-r34 #modal .phover small { font: 400 14px/1 var(--k-fuente); color: #f3e6c6; --k-c: #1c0f06; text-shadow: var(--k-contorno-fino); opacity: 1; }
.visual-r34 #modal .resgot { margin: 8px 0 2px; font: 400 17px/1.2 var(--k-fuente); color: var(--k-tinta) !important; text-align: center; }
.visual-r34 #modal .resgot b { color: #a3481c; }
.visual-r34 #modal .chalresult .note { text-align: center; color: #5a3616; }
.visual-r34 #modal:has(.chalresult) .modalbuttons { flex-direction: column; align-items: center; }
.visual-r34 #modal:has(.chalresult) .modalbuttons .primary { border-image-source: var(--k-btn-turquesa); --k-c: #0c3532; }
.visual-r34 #modal .results .result { border: 0 solid transparent; border-image: var(--k-casilla-azul) var(--k-bi-casilla); border-radius: 0; background: none; box-shadow: none; color: var(--k-crema); --k-c: #10131c; }
.visual-r34 #modal .results .result:is(.r-epic, .epic) { border-image-source: var(--k-casilla-oro); } .visual-r34 #modal .results .result.shards { border-image-source: var(--k-casilla-morado); }
.visual-r34 #modal .results .result :is(b, small, span, div) { font-family: var(--k-fuente); font-weight: 400; color: var(--k-crema); text-shadow: var(--k-contorno-fino); }
.visual-r34 #modal .results .result .kind { border: 0; background: none; color: #ffe08a; }
.visual-r34 #modal .sumline { text-align: center; }
.visual-r34 #sheet .refuge-picks > button small { color: #5a3616 !important; opacity: 1 !important; text-shadow: none !important; }
.visual-r34 #modal .dynasty-reference :is(div, li, section, article) { border: 0; border-radius: 0; background: none; box-shadow: none; }
.visual-r34 #modal .dynasty-reference > :is(div, ul) > * { padding: 6px 4px; box-shadow: 0 -2px 0 #b98f55; }
.visual-r34 .view .b1-formacion .fm-combatir { background: linear-gradient(#0000, #24130a 40%); }
.visual-r34 .view .b1-formacion details.spec { margin-bottom: 8px; }
.visual-r34 #sheet .refuge-picks > button { border-image: var(--k-tira-normal) var(--k-bi-tira) !important; }
.visual-r34 #sheet .refuge-picks > button:active { border-image-source: var(--k-tira-hundida) !important; }
.visual-r34 .view .camp-tools { flex-direction: row; inset: auto auto 68px 6px; }
.visual-r34 #modal .modalbuttons :is(.primary, .secondary) { white-space: normal; max-width: 100%; }
@media (max-width: 359px) {
  .visual-r34 #modal:has(.chalresult) .modalbuttons :is(.primary, .secondary) { font-size: 16px; padding-inline: 16px; }
  .visual-r34 .view .bag .bagtabs button, .visual-r34 #sheet .puerta-tabs button { padding-inline: 8px; font-size: 13px; white-space: nowrap; }
}
@media (min-width: 760px) { .visual-r34 #sheet .expedition-scene { display: block; max-width: 620px; margin-inline: auto; } .visual-r34 #sheet .expedition-scene > * { margin-bottom: 8px; } }

/* ---- B3 · PUEBLO (REF-01): el nivel en un escudo sobre cada edificio con nivel, y barra de progreso sobre el edificio colectivo ---- */
.visual-r34 .view .camp-rts .camp-nv { position: absolute; left: -4px; top: 6%; z-index: 2; display: grid; place-items: center; width: 28px; height: 31px; padding-bottom: 5px; box-sizing: border-box; background: var(--k-escudo) center / 28px 31px no-repeat; --k-c: #101c30; font: 400 13px/1 var(--k-fuente); color: var(--k-crema); text-shadow: var(--k-contorno-fino); pointer-events: none; }
.visual-r34 .view .camp-rts .camp-barra { position: absolute; left: 50%; top: -8px; z-index: 2; box-sizing: border-box; width: max(52px, 70%); height: 14px; transform: translateX(-50%); border: 0 solid transparent; border-image: var(--k-riel) var(--k-bi-riel); pointer-events: none; }
.visual-r34 .view .camp-rts .camp-barra > i { position: absolute; left: 4px; top: 4px; bottom: 4px; max-width: calc(100% - 8px); background: var(--k-relleno-turquesa) 0 0 / 100% 100% no-repeat; }
.visual-r34 .view .camp-rts .camp-plot[data-spot="atalaya"] .camp-hint { border: 0; background: none; font: 400 12px/1 var(--k-fuente); color: #f3e6c6; --k-c: #1c0f06; text-shadow: var(--k-contorno-fino); }
/* escudo de nivel: arriba a la derecha del edificio, para no pisar el rótulo del vecino en móviles estrechos */
.visual-r34 .view .camp-rts .camp-nv { left: auto; right: -6px; top: -8px; }
@media (max-width: 519px) { .visual-r34 .view .camp-rts .camp-nv { width: 22px; height: 25px; padding-bottom: 4px; background-size: 22px 25px; font-size: 12px; right: -8px; top: -12px; } }
/* ficha de un edificio de Obras: tira sobre el pergamino (antes, caja verde dentro de la ficha) */
.visual-r34 #sheet .blds { display: grid; gap: 6px; }
.visual-r34 #sheet .bld { border: 0 solid transparent; border-image: var(--k-tira-normal) var(--k-bi-tira); border-radius: 0; background: none; box-shadow: none; padding: 8px 10px 12px; --k-c: #3b2412; }
.visual-r34 #sheet .bld .bhead b { font: 400 18px/1.1 var(--k-fuente); color: var(--k-crema); text-shadow: var(--k-contorno-fino); }
.visual-r34 #sheet .bld .pips i { width: 14px; height: 14px; border: 0; border-radius: 0; background: var(--k-rombo-off) center / 14px 14px no-repeat; transform: none; box-shadow: none; }
.visual-r34 #sheet .bld .pips i.on { background-image: var(--k-rombo-on); }
.visual-r34 #sheet .bld .mtile { border: 0; border-radius: 0; background: none; box-shadow: none; padding: 2px 4px; }
.visual-r34 #sheet .bld .mtile :is(b, span, small) { font: 400 15px/1 var(--k-fuente); color: var(--k-tinta); text-shadow: none; }
.visual-r34 #sheet .bld .mtile.short :is(b, span) { color: var(--k-rojo); }
.visual-r34 #sheet .bld details.spec { border: 0; border-radius: 0; background: none; box-shadow: 0 -2px 0 #b98f55; padding: 6px 0 0; }
.visual-r34 #sheet .bld :is(summary, p, li, small, .note) { font: 400 14px/1.2 var(--k-fuente); color: #5a3616; text-shadow: none; }
.visual-r34 #sheet .bld .acts { display: grid; gap: 8px; }
/* botones de diálogo con rótulo largo: crecen en alto, el texto no se sale del lingote */
.visual-r34 #modal .modalbuttons :is(.primary, .secondary) { height: auto; line-height: 1.05; padding-block: 8px 14px; }
@media (max-width: 359px) { .visual-r34 .view .bag .bagtabs { display: flex; flex-wrap: nowrap; } .visual-r34 .view .bag .bagtabs button { flex: 1 1 0; min-width: 0; padding-inline: 4px; font-size: 12px; } .visual-r34 .view .bag .bagtabs button .ico { display: none; } }
@media (max-width: 519px) { .visual-r34 .view .camp-rts .camp-barra { top: 6px; width: 44px; height: 12px; } }
