@charset "UTF-8";
/* iPad Pro de 13 pulgadas en horizontal. Se carga sólo en este rango;
   la composición de escritorio de 1920 × 1080 conserva sus reglas. */
.game-shell:has(.game-main){max-width:none;width:100%;padding:16px 24px 0}
.game-shell:has(.game-main) .game-header{min-height:80px;padding:12px 20px;gap:18px}
.game-shell .game-header .team-avatar-header{width:48px;height:48px}
.game-shell .game-header .team-name{font-size:24px;gap:12px;max-width:30%}
.game-shell .game-header .timer{min-width:110px;font-size:28px}
.game-shell .game-header .timer .icon{width:26px;height:26px}
.game-header .button.compact{min-height:52px;font-size:18px;padding:10px 18px}
.stage-status>span{font-size:14px}
.step-track{gap:24px;margin-bottom:5px}
.step-dot{width:18px;height:18px}
.step-dot:not(:last-child):after{left:16px;top:6px;width:28px}
.game-score b{font-size:18px}
.game-shell .game-main{max-width:100%;width:100%;padding:0 6px;min-width:0}
.game-main>.page-heading{gap:20px;margin:16px 0 18px;flex:0 0 auto}
.game-main>.page-heading h1{font-size:44px;line-height:1.08}
.game-main>.page-heading p{font-size:22px;line-height:1.3;margin-top:7px}
.game-main>.page-heading .heading-symbol{width:64px;height:64px;flex:0 0 64px}
.game-main>.page-heading .heading-symbol .icon{width:32px;height:32px}
.game-shell .game-footer{flex:0 0 64px;min-height:64px;padding:9px 0 12px;font-size:13px}
.game-shell .footer-legal,.intro-screen .footer-legal,.welcome .footer-legal{font-size:11px}
.global-branding .brand-logo{bottom:12px;max-height:36px}
.global-branding .brand-logo-jj{left:18px;width:120px}
.global-branding .brand-logo-innovara{right:18px;width:108px}

/* Portada: el formulario crece y el encabezado conserva su jerarquía. */
body:has(.welcome) .laboratory{background-position:left center!important}
.welcome-with-avatar{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) auto auto;gap:10px;padding:18px 32px}
.welcome-with-avatar .hero-heading{margin-top:12px}
.welcome-with-avatar .hero-heading .eyebrow{font-size:16px;margin-bottom:20px;transform:none}
.welcome-with-avatar .hero-heading h1{font-size:70px;line-height:1.08}
.welcome-with-avatar .hero-heading p{font-size:24px;margin-top:14px;line-height:1.3}
.welcome-with-avatar .entry-form{grid-column:1/-1;justify-self:end;padding:18px;width:min(1040px,calc(100% - 30svh));max-width:100%;align-self:center}
.welcome-with-avatar .entry-form>label{font-size:20px;margin-bottom:10px}
.welcome-with-avatar .entry-field{margin-bottom:10px}
.welcome-with-avatar .entry-field input{font-size:22px;min-height:56px}
.welcome-with-avatar .avatar-builder{grid-template-columns:140px minmax(0,1fr);padding:14px;gap:20px;margin-bottom:10px}
.welcome-with-avatar .team-avatar-preview{width:118px;height:118px}
.welcome-with-avatar .avatar-preview small,.welcome-with-avatar .avatar-status{font-size:14px}
.welcome-with-avatar .avatar-rule{font-size:17px;line-height:1.4;margin-bottom:6px}
.welcome-with-avatar .avatar-choice-group{margin-bottom:8px}
.welcome-with-avatar .avatar-choice-group legend{font-size:16px}
.welcome-with-avatar .color-choices{grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}
.welcome-with-avatar .color-choice{min-height:60px;padding:7px 5px!important;gap:4px!important}
.welcome-with-avatar .color-sample{width:28px;height:28px}
.welcome-with-avatar .color-choice>span:last-child{font-size:13px}
.welcome-with-avatar .trait-choice{min-height:48px}
.welcome-with-avatar .trait-choice span{font-size:15px!important;line-height:1.3}
.welcome-with-avatar .avatar-actions{margin-top:6px}
.welcome-with-avatar .avatar-actions .button{min-height:44px;font-size:17px}
.welcome-with-avatar .avatar-status{font-size:13px;line-height:1.3;margin-top:5px}
.welcome-with-avatar .entry-form>.button.primary{min-height:64px;font-size:23px}
.welcome .welcome-meta{font-size:15px;margin-top:0}
.welcome .welcome-bottom{padding-top:0}

/* El expediente reserva una fila para las marcas en lugar de superponerlas. */
.intro-screen{max-width:none;padding:14px 26px 62px}
.intro-screen .team-only-top{margin-bottom:12px}
.intro-screen .intro-grid{max-width:100%}
.intro-screen .clinical-history-card{width:100%;padding:9px}
.intro-screen .intro-wait-message{font-size:16px;min-height:38px;margin-top:8px}
.history-modal{width:calc(100vw - 28px);max-height:calc(100svh - 24px);padding:12px}
.history-modal-figure{height:auto}
.history-modal-figure img{max-height:calc(100svh - 110px)}
.history-modal .modal-branding{position:relative;inset:auto;display:flex;justify-content:space-between;align-items:center;height:54px;padding:10px 14px 0}
.history-modal .modal-branding .brand-logo{position:static;max-height:32px}
.history-modal .modal-branding .brand-logo-jj{width:122px}
.history-modal .modal-branding .brand-logo-innovara{width:108px}
.history-modal .modal-close{width:50px;height:50px;right:20px;top:20px}
.history-modal[open]:has(.clinical-record){padding:20px;width:calc(100vw - 28px);height:calc(100svh - 24px);max-height:calc(100svh - 24px)}
.clinical-record-tabs button{font-size:18px;padding:10px 16px}
.stage-chest .chest-clue .chest-reference{font-size:17px;line-height:1.4}

/* Prueba 1: las tarjetas ocupan la altura disponible y admiten el arrastre táctil. */
.stage-ordering .selection-panel,.stage-ordering>.bottom-actions{max-width:100%}
.stage-ordering .selection-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto minmax(0,1fr);padding:18px 22px}
.stage-ordering .ordering-brief{grid-column:1/-1;margin:0 0 8px;padding:10px 18px}
.stage-ordering .ordering-brief p{font-size:19px;line-height:1.4}
.stage-ordering .section-label{align-items:center;margin-bottom:10px;padding-right:18px}
.stage-ordering .section-label strong{font-size:15px}
.stage-ordering .selection-panel .section-label>span{font-size:15px}
.stage-ordering .selection-counter{padding:8px 14px;margin:0 0 10px;font-size:16px}
.stage-ordering .selection-counter strong{font-size:20px}
.stage-ordering .selection-drag-layout{grid-column:1/-1;grid-template-columns:minmax(0,1.4fr) minmax(400px,1fr);gap:18px;margin-bottom:12px}
.stage-ordering .selection-bank,.stage-ordering .selection-targets{padding:12px;display:flex;flex-direction:column}
.stage-ordering .selection-zone-title strong{font-size:20px}
.stage-ordering .selection-zone-title small{font-size:14px}
.stage-ordering .selection-grid{flex:1;min-height:0;grid-template-rows:repeat(4,minmax(0,1fr));gap:8px}
.stage-ordering .selection-card{min-height:76px;padding:7px;gap:9px}
.stage-ordering .selection-card strong{font-size:18px;line-height:1.2}
body:has(.stage-ordering) .selection-card.selection-drag-ghost strong{font-size:18px;line-height:1.25}
.stage-ordering .selection-slots{flex:1;min-height:0;display:grid;grid-template-rows:repeat(3,minmax(90px,1fr));gap:12px}
.stage-ordering .selection-slot{min-height:90px}
.stage-ordering .selection-slot .selection-card{min-height:84px}
.stage-ordering .selection-placeholder{font-size:18px}
.stage-ordering>.bottom-actions{margin-top:12px}
.stage-ordering>.bottom-actions .button{min-height:54px;font-size:20px}

/* Prueba 2: letras amplias y listado que se puede leer a la misma distancia. */
.stage-words .word-brief{max-width:100%;width:100%;padding:14px 20px;margin-bottom:14px}
.stage-words .word-brief p{font-size:20px;line-height:1.45}
.stage-words .words-layout{max-width:100%;width:100%;grid-template-columns:minmax(0,1fr) 350px;gap:18px}
.stage-words .word-board{padding:20px}
.stage-words .word-grid{width:min(calc(100cqw - 16px),calc(100cqh - 16px));gap:3px}
.stage-words .letter{font-size:24px}
.stage-words .word-sidebar{padding:24px}
.stage-words .word-progress strong{font-size:22px}
.stage-words .word-list{gap:10px;margin:18px 0}
.stage-words .word-item{min-height:70px;padding:8px;gap:12px}
.stage-words .word-item strong{font-size:18px;line-height:1.35}
.stage-words .word-item small{font-size:13px}
.stage-words .word-check{width:36px;height:36px;flex:0 0 36px}
.stage-words .word-sidebar .help-copy,.stage-words .word-sidebar .inline-message{font-size:16px}
.stage-words .word-validation-panel{width:100%;max-width:1150px;padding:40px}
.stage-words .word-validation-summary h2{font-size:36px}
.stage-words .word-validation-summary>.icon{width:72px;height:72px;flex:0 0 72px}
.stage-words .word-found-tags{margin:24px 0;gap:12px}
.stage-words .word-found-tags span{font-size:15px;padding:10px 14px}
.stage-words .word-validation-instruction{font-size:21px;padding:18px 22px;line-height:1.5}
.stage-words .word-validation .answer-form{width:min(780px,100%)}
.stage-words .word-validation .answer-form>label{font-size:24px}
.stage-words .word-validation .answer-form input{font-size:23px;min-height:62px}
.stage-words .word-validation .answer-actions .button.primary{min-height:60px;font-size:24px}

/* Prueba 3: el visor conserva el mayor espacio, con controles fáciles de tocar. */
.stage-radiograph .radiograph-brief{width:100%;padding:14px 20px;margin-bottom:12px}
.stage-radiograph .radiograph-brief p{font-size:20px;line-height:1.45}
.stage-radiograph .radio-game{width:100%;padding:18px 20px 14px}
.stage-radiograph .radio-toolbar{margin:10px 20px 12px;gap:12px}
.stage-radiograph .radio-toolbar .button{min-height:48px;font-size:17px;padding:9px 16px}
.stage-radiograph .radio-toolbar span{font-size:15px}
.stage-radiograph .radio-viewport{min-height:300px;margin-inline:20px}
.stage-radiograph .radio-game>.radio-caption{font-size:15px;margin:10px 20px 0}
.stage-radiograph .radio-game>.bottom-actions .button{min-height:52px;font-size:20px}

/* Pruebas 4 y 5: dos columnas equilibradas, sin estrechar los párrafos. */
.stage-filter .filter-task-layout{grid-template-columns:minmax(0,1.45fr) minmax(420px,1fr);gap:22px;max-width:100%;padding-bottom:0}
.stage-filter .physical-brief{padding:26px;gap:20px;min-height:0}
.stage-filter .filter-brief-copy{gap:24px}
.stage-filter .filter-brief-copy span{font-size:20px;line-height:1.5}
.stage-filter .filter-answer{padding:28px;min-height:0}
.stage-filter .filter-answer .answer-form>label{font-size:22px}
.stage-filter .filter-answer .input-shell input{font-size:22px;min-height:62px}
.stage-filter .filter-answer .answer-actions>.primary{min-height:62px;font-size:23px}
.stage-chest .chest-layout{grid-template-columns:minmax(0,1fr) minmax(560px,1fr);gap:26px}
.stage-chest .chest-object{height:min(44svh,430px)}
.stage-chest .combination{gap:16px;padding:12px 20px}
.stage-chest .digit-control{width:64px}
.stage-chest .digit-arrow{min-height:44px}
.stage-chest .digit-face{height:66px;font-size:38px}
.stage-chest .chest-panel{padding:30px}
.stage-chest .chest-panel h2{font-size:32px}
.stage-chest .chest-clue{padding:20px}
.stage-chest .chest-clue p{font-size:22px;line-height:1.5}
.stage-chest .chest-panel .help-copy{font-size:16px}
.stage-chest .chest-panel .button.primary{min-height:60px;font-size:23px}

/* Debates, informes y avisos. Los documentos se amplían sin recortar su texto. */
.discussion-screen .discussion-media{max-width:100%;padding:16px}
.discussion-screen .discussion-reference{font-size:14px;padding-top:10px}
.discussion-screen .discussion-wait-message{font-size:16px;min-height:40px}
.discussion-screen .discussion-document-toolbar{display:flex;align-items:center;gap:18px;margin:0 0 12px;flex:0 0 auto}
.discussion-screen .discussion-document-toolbar .button.outline{min-height:48px;font-size:18px;color:#fff;background:linear-gradient(120deg,#071b4d,#0a2458);border-color:#4eefff}
.discussion-screen .discussion-document-toolbar .button.outline:hover{color:#fff;background:#102c60}
.discussion-document-toolbar>span{font-size:15px;color:#dcefff}
.discussion-document-media .discussion-image-viewport{display:block;overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom}
.discussion-document-media .discussion-image-viewport img{display:block;width:100%;height:auto;object-fit:initial;pointer-events:auto}
.discussion-document-media.document-expanded .discussion-image-viewport img{width:160%;max-width:none}
.discussion-alert-card{width:min(950px,100%);min-height:540px;padding:48px 58px}
.discussion-alert-card>strong{font-size:56px}
.discussion-alert-card .eyebrow{font-size:18px}
.discussion-alert-prompt{font-size:23px;min-height:64px;width:100%}
.score-reveal-card{width:min(820px,100%);padding:54px 65px}
.score-reveal-card h1{font-size:110px}
.score-reveal-card .eyebrow{font-size:18px}
.score-reveal-total{font-size:22px;padding:22px}
.score-reveal-total strong{font-size:32px}

/* Resumen final en dos filas para conservar textos legibles. */
.final-screen>.page-heading{margin:16px 0 14px}
.final-screen>.page-heading h1{font-size:54px}
.final-screen.completed>.page-heading p{font-size:23px}
.final-screen .precision-intro{font-size:20px;margin:6px 0 12px}
.final-screen .final-insights{margin:8px 0 18px}
.final-screen .precision-profile{gap:12px;margin:0}
.final-screen .precision-profile article{min-height:88px;padding:15px 20px}
.final-screen .precision-profile h3{font-size:20px}
.final-screen .precision-profile p{font-size:16px}
.final-screen .final-journey{padding:16px}
.final-screen .final-overview{padding:0}
.final-screen .final-stage-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.final-screen .final-stage-card{grid-column:span 2;min-height:124px;padding:12px}
.final-screen .final-stage-card>header{display:contents}
.final-screen .final-stage-card>header>span{position:absolute;top:12px;left:12px}
.final-screen .final-stage-card>header>.icon{position:absolute;top:14px;right:12px;width:20px;height:20px}
.final-screen .final-stage-card:nth-child(n+4){grid-column:span 3}
.final-screen .final-stage-title{min-height:30px;padding:2px 28px 0 38px}
.final-screen .final-stage-title strong{font-size:18px}
.final-screen .final-stage-card small{font-size:14px;margin:5px 0}
.final-screen .final-stage-card p{font-size:16px;padding-top:6px}
.final-screen .final-journey .final-stats{grid-template-columns:minmax(0,1.2fr) repeat(3,minmax(0,.8fr));min-height:76px;margin-top:12px}
.final-screen .final-team{font-size:22px}
.final-screen .final-stats p{font-size:16px}
.final-screen .final-journey .final-stats b{font-size:28px}

/* Las barras de Safari reducen la altura útil, sin reducir la letra. */
@media(max-height:980px){
 .game-main>.page-heading{margin-top:10px;margin-bottom:12px}
 .stage-ordering>.bottom-actions{margin-top:8px}
 .stage-ordering>.bottom-actions .button{min-height:50px}
 .stage-words .word-sidebar{padding:20px}
 .stage-words .word-list{gap:8px;margin:14px 0}
 .stage-words .word-item{min-height:66px}
 .stage-words .word-sidebar .help-copy{margin-bottom:6px}
 .final-screen .final-insights{margin:6px 0 12px}
 .final-screen .precision-profile article{min-height:80px;padding:12px 16px}
}
