/* Distribución y escena: el motor trabaja en metros y píxeles CSS independientes del DPR. */
*,*::before,*::after{box-sizing:border-box}html{background:#020617;color-scheme:dark}body{margin:0;color:#cbd5e1;font-family:Inter,system-ui,sans-serif}h1,h2,h3,h4,p{margin:0}a{color:inherit;text-decoration:none}canvas{display:block}main,section,aside,div{min-width:0}
#aq-lab-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 18px 12px;border-bottom:1px solid #1e293b;background:#080e20}
.aq-eyebrow{font-size:9px;font-weight:700;letter-spacing:.16em;color:#818cf8}#aq-lab-heading h1{font-size:22px;font-weight:700;letter-spacing:-.6px;margin-top:3px}.aq-heading-note{font-size:10px;color:#64748b;white-space:nowrap}
#aq-wl-header:has(img){display:flex;align-items:center;gap:12px}#aq-wl-header img{width:42px;height:42px;object-fit:contain;border-radius:6px}#aq-wl-header strong{font-size:12px;color:#a5b4fc}
#aq-wl-footer{white-space:pre-wrap;padding:12px 18px;background:#0f172a;font-size:13px;line-height:1.6;border-bottom:1px solid #334155}#aq-wl-footer a{display:inline-block;background:#4f46e5;color:#fff;border-radius:6px;padding:7px 12px;margin-top:8px}
#aq-lab-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;align-items:start;max-width:2100px;margin:auto}
#aq-stage-column{display:flex;flex-direction:column;gap:10px;padding:12px;min-width:0}
#simulation-wrapper{height:clamp(360px,calc(100dvh - 264px),850px);min-height:0;position:relative;overflow:hidden;border-radius:12px;border:1px solid #334155;background:#172554}
#simulation-canvas{width:100%;height:100%;border-radius:11px;touch-action:pan-y}
#control-panel-container{width:auto;position:sticky;top:0;height:auto;max-height:calc(100dvh - 118px);overflow-y:auto;border-left:1px solid #1e293b;background:#0b1224}
#aq-zoom-controls button{width:31px;height:31px;border:1px solid #ffffff30;background:#0f172acc;color:#fff;border-radius:7px;font-size:18px}
.aq-scene-hint{font-size:9px;color:#64748b;text-align:center;line-height:1.5}
#aq-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:12px 18px;border-top:1px solid #1e293b;background:#080e20;color:#64748b;font-size:11px}
#aq-brand{display:flex;align-items:center;gap:12px}#aq-brand strong{font-size:16px;letter-spacing:-.5px;color:#f1f5f9}#aq-brand strong span{color:#818cf8}#aq-footer nav{display:flex;gap:14px;color:#94a3b8}#aq-footer a:hover{color:#a5b4fc}
@media(min-width:1600px){#aq-lab-layout{grid-template-columns:minmax(0,1fr) 355px}}
@media(max-width:1100px) and (min-width:900px){#aq-lab-layout{grid-template-columns:minmax(0,1fr) 305px}}
@media(max-width:899px){#aq-lab-layout{display:flex;flex-direction:column;padding:0 10px 12px}#aq-stage-column{width:100%;padding:10px 0}#simulation-wrapper{height:clamp(380px,55dvh,620px)}#control-panel-container{width:100%}#aq-lab-heading{padding:12px 14px}}
@media(max-width:540px){#aq-lab-layout{padding:0 8px 10px}#aq-stage-column{gap:7px}#simulation-wrapper{height:clamp(350px,49dvh,470px)}#aq-lab-heading{padding:10px 12px}.aq-eyebrow{font-size:7px;letter-spacing:.1em}#aq-lab-heading h1{font-size:19px}.aq-heading-note{display:none}#aq-footer{padding:12px;gap:9px}#aq-brand{gap:7px;flex-wrap:wrap}#aq-brand>span{font-size:10px}}
@media(max-height:520px) and (orientation:landscape){#simulation-wrapper{height:340px}}

#aq-lab-layout.aq-panel-hidden{grid-template-columns:minmax(0,1fr)}

/* AulaQuest · Layout compacto: HUD primero, título configurable dentro del lateral. */
#aq-stage-column{padding-top:8px;gap:7px}
#aq-lab-heading{padding:6px 2px 10px;margin-bottom:8px;background:transparent;border-bottom:1px solid #26334b;gap:6px}
#aq-lab-heading h1{font-size:17px;line-height:1.25;margin-top:3px;letter-spacing:-.3px}
.aq-eyebrow{font-size:8px;letter-spacing:.09em}
#aq-wl-header:has(img) img{width:30px;height:30px}
#aq-wl-footer{padding:9px;margin:0 0 8px;background:#10192b;border:1px solid #334155;border-radius:8px;font-size:11px}
#control-panel-container{max-height:100dvh;padding-top:10px}
#aq-footer{margin-top:14px;padding:12px 2px 4px;display:flex;align-items:center;justify-content:space-between;gap:9px;background:transparent;border-top:1px solid #334155}
#aq-brand{display:flex;flex-direction:column;align-items:flex-start;gap:1px}
#aq-brand strong{font-size:13px}#aq-brand>span{font-size:9px;line-height:1.4}
#aq-footer nav{display:flex;gap:5px;flex-shrink:0}
#aq-footer nav a{display:flex;align-items:center;justify-content:center;gap:4px;font-size:10px;padding:7px;border:1px solid #334155;border-radius:7px;background:#152036;color:#cbd5e1}
#aq-footer nav svg{width:15px;height:15px}
@media(max-width:899px){#control-panel-container{max-height:none}#aq-lab-heading{padding:6px 0 10px}#aq-footer{margin-top:12px}}
@media(max-width:540px){#aq-lab-heading h1{font-size:16px}#aq-footer nav a{font-size:10px}}

/* Fase 02: escenario prioritario en escritorio, ecuaciones fuera del alto del viewport. */
@media(min-width:900px){
 #aq-stage-column{min-height:100dvh;gap:7px}
 #simulation-wrapper{flex:0 0 auto;height:max(420px,calc(100dvh - 123px));max-height:none}
 #teacher-panel{flex-shrink:0}
 #control-panel-container{max-height:100dvh}
}
.aq-velocity-reading{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.aq-lab-footer:not(.aq-runtime-hidden){display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:9px!important;padding:20px 8px 12px!important;margin-top:14px!important;background:transparent!important;border-top:1px solid #334155!important;color:#cbd5e1!important}
.aq-lab-footer__intro{display:grid;gap:6px}.aq-lab-footer__intro strong{font-size:15px;color:#f1f5f9}.aq-lab-footer__intro p{font-size:12px;line-height:1.55;color:#93a4bd}
.aq-lab-footer__link{display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 8px;border-radius:10px;background:#1d3759;border:1px solid #3a6394;color:#e8f1ff!important;font-size:12px;font-weight:700;text-align:center}
.aq-lab-footer__customize{background:#2563eb;border-color:#3b82f6;color:white!important}
.aq-lab-footer__link:hover{filter:brightness(1.1)}
.aq-lab-footer__brand{display:flex;flex-direction:column;align-items:center;gap:5px;margin-top:9px;padding-top:15px;border-top:1px solid #334155;text-align:center}
.aq-lab-footer__brand a{display:flex;gap:9px;align-items:center;font-size:11px;font-weight:700;color:#e2e8f0}.aq-lab-footer__brand strong{font-size:13px;color:#f8fafc}.aq-lab-footer__brand strong span{color:#818cf8}.aq-lab-footer__brand small{font-size:10px;color:#7590b7}
@media(max-width:899px){#simulation-wrapper{height:clamp(380px,58dvh,680px)}}
@media(max-width:540px){#simulation-wrapper{height:clamp(370px,55dvh,560px)}.aq-lab-footer{padding:16px 8px!important}}

/* Modo Juego · cinco dianas. Sin alterar el diseño de Básico / Avanzado. */
#score-display{width:min(252px,calc(100% - 96px));text-align:left!important;border:1px solid #facc1545!important;box-shadow:0 10px 30px #02061766;background:#0b1730e8!important;padding:12px!important}
#score-counter{font-size:29px;line-height:1.1;color:#fde68a;font-weight:850}
.aq-game-mini{display:flex;flex-direction:column;gap:3px;margin-top:9px;border-top:1px solid #ffffff22;padding-top:8px;font-size:11px;color:#cbd5e1}.aq-game-mini strong{font-size:14px;color:#a5f3fc}.aq-game-mini b{color:#fff}
.aq-game-tip{font-size:10px;color:#a5b4fc;line-height:1.35;margin-top:8px}
.aq-game-results{border:1px solid #44668b;border-radius:20px;padding:0;background:#0a1730;color:#f8fafc;width:min(700px,calc(100vw - 24px));max-height:min(90dvh,850px);box-shadow:0 30px 120px #0009;overflow:auto}
.aq-game-results::backdrop{background:#020617c9;backdrop-filter:blur(7px)}
.aq-game-results__inner{padding:clamp(18px,4vw,35px)}
.aq-game-overline{color:#67e8f9;font-size:11px;letter-spacing:.18em;font-weight:800}
.aq-game-results h2{font-size:clamp(23px,4vw,34px);font-weight:850;line-height:1.18;margin:12px 0}
.aq-game-results p{color:#cbd5e1;font-size:13px;line-height:1.5}
.aq-game-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:20px 0}.aq-game-stats>div{background:#142844;border:1px solid #2b4967;border-radius:11px;padding:12px 7px}.aq-game-stats small{font-size:9px;letter-spacing:.04em;color:#94a3b8;display:block}.aq-game-stats strong{font-size:clamp(16px,2vw,24px);color:#facc15;display:block;margin-top:6px}
.aq-game-table-wrap{overflow-x:auto}.aq-game-results table{width:100%;border-collapse:collapse;text-align:left;font-variant-numeric:tabular-nums;min-width:430px}.aq-game-results th,.aq-game-results td{padding:10px 8px;border-bottom:1px solid #31435a;font-size:12px}.aq-game-results th{color:#67e8f9;font-size:10px;text-transform:uppercase}
.aq-game-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:20px}.aq-game-actions button{border:1px solid #43617d;background:#1c3553;border-radius:10px;padding:12px 9px;font-size:12px;font-weight:800;color:#fff}.aq-game-actions button:first-child{background:#2563eb;border-color:#3b82f6}.aq-game-actions button:nth-child(3){background:#15803d;border-color:#22c55e}.aq-game-actions button:hover{filter:brightness(1.15)}.aq-game-results__inner>small{font-size:10px;color:#94a3b8;display:block;margin-top:12px}
@media(max-width:500px){#score-display{padding:8px!important;width:194px}.aq-game-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.aq-game-actions{grid-template-columns:1fr}}

.aq-game-history{display:block;margin-top:6px;font-size:10px;color:#67e8f9;text-decoration:underline;text-underline-offset:3px}.aq-game-history[hidden]{display:none}

/* Modo Juego V3: marca y destinos de compartir */
.aq-game-overline{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:space-between}
.aq-game-wordmark{font-size:17px;font-weight:900;letter-spacing:-.03em;color:#fff!important;text-decoration:none;display:inline-flex;align-items:center;gap:4px}
.aq-game-wordmark span:not(.aq-game-brand-icon){color:#67e8f9}
.aq-game-brand-icon{display:inline-grid;place-items:center;width:32px;height:32px;border:3px solid #67e8f9;border-radius:50%;font-size:26px;line-height:1;color:#fff;margin-right:6px}
.aq-game-share-heading{font-size:11px;letter-spacing:.14em;font-weight:800;color:#67e8f9;margin-top:20px;margin-bottom:8px}
.aq-game-socials{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.aq-game-socials button{padding:11px 5px;border-radius:10px;color:#fff;font-size:12px;font-weight:800;border:1px solid #385e83;background:#193552}
.aq-game-socials button:first-child{background:#176c44;border-color:#25a366}
.aq-game-socials button:nth-child(2){background:#2354a1;border-color:#3677e9}
.aq-game-socials button:hover{filter:brightness(1.15)}
.aq-game-public-link{display:block;color:#93c5fd;text-decoration:none;font-size:11px;overflow-wrap:anywhere;margin-top:15px}
@media(max-width:400px){.aq-game-socials{grid-template-columns:1fr 1fr}.aq-game-overline{align-items:start}}

.aq-game-real-logo{width:32px;height:32px;object-fit:contain;margin-right:6px;border-radius:7px}

/* Juego V4 · final compacto, redes directas, sin mensajes de pop-ups. */
.aq-game-results{width:min(720px,calc(100vw - 24px));background:linear-gradient(160deg,#101e38,#08152d 80%);border:1px solid #3e5878}
.aq-game-results__inner{padding:clamp(17px,3vw,30px)}
.aq-game-results h2{font-size:clamp(23px,3.5vw,31px);margin:9px 0}
.aq-game-stats{margin:15px 0}
.aq-game-share-panel{margin-top:20px;padding:17px;border:1px solid #304a69;border-radius:16px;background:linear-gradient(135deg,#142b49 0%,#0f203c 100%);box-shadow:inset 0 1px #ffffff12}
.aq-game-share-panel__head{margin-bottom:13px}
.aq-game-share-kicker{display:block;color:#67e8f9;font-size:10px;letter-spacing:.12em;font-weight:850;margin-bottom:5px}
.aq-game-share-panel__head strong{display:block;color:#fff;font-size:18px;letter-spacing:-.025em}
.aq-game-share-panel__head p{margin:3px 0 0;color:#a9bad3;font-size:12px}
.aq-game-socials{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.aq-game-socials button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:43px;border:1px solid #476387;border-radius:10px;background:#172a42;color:#fff;font-size:12px;font-weight:800;cursor:pointer;transition:transform .16s,filter .16s,background .16s}
.aq-game-socials button.aq-social-wa{background:#116b4c;border-color:#218d68}
.aq-game-socials button.aq-social-fb{background:#2455a4;border-color:#356fcb}
.aq-game-socials button.aq-social-x{background:#111b2c;border-color:#50617a}
.aq-game-socials button:hover,.aq-game-download:hover,.aq-game-bottom-actions button:hover{transform:translateY(-1px);filter:brightness(1.12)}
.aq-game-socials button:focus-visible,.aq-game-download:focus-visible,.aq-game-bottom-actions button:focus-visible{outline:2px solid #67e8f9;outline-offset:3px}
.aq-social-icon{display:grid;place-items:center;width:21px;height:21px;border-radius:6px;background:#ffffff24;font-size:15px;font-weight:900;line-height:1}
.aq-game-download{display:flex;align-items:center;justify-content:center;gap:11px;width:100%;min-height:52px;margin-top:10px;padding:9px 12px;border:1px solid #4b82e9;background:#234d92;color:#fff;border-radius:11px;font-weight:850;font-size:12px;cursor:pointer;transition:transform .16s,filter .16s}
.aq-game-download>span:first-child{font-size:22px;line-height:1}
.aq-game-download small{display:block;font-size:10px;font-weight:500;color:#c8dcff;margin-top:2px}
.aq-game-bottom-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px}
.aq-game-bottom-actions button{min-height:43px;border:1px solid #3c5878;background:#203854;color:#fff;font-size:12px;font-weight:800;border-radius:10px;cursor:pointer;transition:transform .16s,filter .16s}
.aq-game-bottom-actions button:first-child{background:#137f53;border-color:#21a56c}
.aq-game-footer-note{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 15px;margin-top:14px}
.aq-game-footer-note a{color:#8fdaf3;text-decoration:none;font-size:11px;font-weight:700}
.aq-game-footer-note small{color:#91a5c1;font-size:10px}
@media(max-width:500px){.aq-game-socials{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.aq-game-socials button{font-size:11px;gap:4px}.aq-game-share-panel{padding:12px}.aq-game-bottom-actions{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.aq-game-socials button,.aq-game-download,.aq-game-bottom-actions button{transition:none}}

/* Laboratorio de Galileo: ampliaciones del diseño de Tiro Parabólico. */
[hidden]{display:none!important}
#control-panel-container{padding:12px;scrollbar-width:thin}
#experiment-selector{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:9px}
#experiment-selector button{border:1px solid #334155;border-radius:7px;color:#a8bad2;padding:9px 6px;font-size:11px!important;text-align:left;background:#142038;line-height:1.4}
#experiment-selector button.active{background:#344dc5;border-color:#818cf8;color:white}
#experiment-intro{font-size:11px;color:#91a6c1;line-height:1.6;margin:8px 0 12px;min-height:36px}
.aq-card{padding:12px;background:#111c31;border:1px solid #2a3a54;border-radius:10px;margin:9px 0}
.aq-card h2,.aq-card h3{font-size:12px;color:#a5c8fa;margin:0 0 10px}
.aq-field{margin:10px 0;font-size:11px;color:#c5d4e7;line-height:1.4}
.aq-field>label{display:block;margin-bottom:4px}
.aq-field select{width:100%;padding:7px;background:#0f172a;color:#e2e8f0;border:1px solid #475569;border-radius:6px}
#visual-fields{display:grid;grid-template-columns:1fr 1fr;gap:2px 5px}
#visual-fields .aq-field{margin:0}.aq-field .checkbox-label{padding-left:23px;display:flex;align-items:center}
#physical-controls .aq-number-input,#common-fields .aq-number-input{width:70px}
.aq-inline{display:flex;gap:6px;align-items:center}
.aq-inline button{flex:1;padding:10px;border:1px solid #475569;border-radius:7px;background:#1e293b;font-size:12px;color:#e2e8f0}
.aq-inline .aq-primary{background:#4f46e5;border-color:#6366f1;color:white;font-weight:700}
#viz-container>button{padding:8px 10px;border:1px solid #3b4c65;border-radius:6px;font-size:11px;background:#1d2d47;margin:5px 3px 0 0}
.aq-status-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:2px 5px;font-size:10px;color:#a5b4fc}
#status-output{color:#e2e8f0}#observer-label{margin-left:auto;color:#fcd34d}
#results-panel{margin:0}.aq-card-title{display:flex;align-items:center;gap:10px;margin-bottom:8px}.aq-card-title h2{flex:1;margin:0}
.aq-card-title button{font-size:10px;background:#1e3c55;border:1px solid #365879;border-radius:6px;padding:6px 8px;color:#c8e4fa}
.aq-results-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.aq-results-grid>div{display:flex;flex-direction:column;gap:4px;font-size:11px;line-height:1.5;padding:8px;background:#0c1527;border-radius:6px}
.aq-results-grid>div>span{color:#8196b4;font-size:10px}.aq-results-grid output{color:#dbeafe;font-variant-numeric:tabular-nums}
#data-table-container{margin:0!important}#data-table td{font-size:11px}
#teacher-panel{margin:0!important;font-size:12px;line-height:1.7}#instant-calculator{border-top:1px solid #334155;padding-top:10px;margin-top:10px}#instant-results{display:block;margin-top:8px;color:#a5d9ff}
#time-input{background:#0b1224;border:1px solid #475569;border-radius:6px;padding:8px;color:#f1f5f9;width:100%}
#aq-tooltip{position:absolute;pointer-events:none;max-width:250px;font-size:10px;line-height:1.5;background:#020617eb;border:1px solid #526888;border-radius:6px;padding:8px;color:#f1f5f9;z-index:4}
#guide-dialog{width:min(660px,calc(100vw - 24px));max-height:85dvh;overflow:auto;background:#0f172a;color:#cbd5e1;border:1px solid #475569;border-radius:12px;padding:22px;line-height:1.8;font-size:13px}#guide-dialog::backdrop{background:#020617bb}#guide-content p{margin-top:12px}#guide-dialog h2{font-size:17px}
#aq-chart-close,#guide-close{font-size:23px;min-width:32px}#aq-chart-png{padding:8px;background:#253d61;border-radius:6px}
#simulation-wrapper #aq-canvas-visibility{max-height:55%;overflow:hidden;z-index:5}#simulation-wrapper #aq-canvas-visibility span{font-size:9px}
#aq-zoom-controls{top:12px;right:12px}#user-profile-container{display:flex;gap:7px;padding:5px 0 12px}
@media(min-width:900px){#simulation-wrapper{height:max(420px,calc(100dvh - 132px))}}
@media(max-width:899px){#control-panel-container{position:static;height:auto;max-height:none}#physical-controls,#common-controls,#viz-container{width:100%}.aq-results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.aq-results-grid{grid-template-columns:1fr 1fr;gap:6px}.aq-results-grid>div{padding:7px;font-size:10px}.aq-card{padding:10px}.aq-card-title{gap:5px}#info-hud{min-height:53px}.aq-status-row{font-size:9px;gap:6px}#experiment-selector button{padding:10px 8px}#aq-tooltip{max-width:200px}}
.slider-control{align-items:center}
@media(max-width:899px){
 #aq-stage-column{display:contents}
 #info-hud{order:0;width:100%;margin-top:8px}#aq-hud-state{order:1;width:100%;margin:6px 0}
 #simulation-wrapper{order:2;width:100%}.aq-scene-hint{order:3;width:100%;margin:6px 0 10px}
 #control-panel-container{order:4}#results-panel{order:5;width:100%;margin-top:10px}#teacher-panel{order:6;width:100%;margin-top:10px!important}#data-table-container{order:7;width:100%;margin-top:10px!important}
}

/* Galileo 1.1 · jerarquía, controles por experimento y color discreto. */
:root{--aq-accent:#69b6ff;--aq-accent-rgb:105,182,255;--aq-border:#26354a;--aq-muted:#94a8c2}
:root[data-aq-experiment=mono]{--aq-accent:#e8bc72;--aq-accent-rgb:232,188,114}
:root[data-aq-experiment=beisbol]{--aq-accent:#6ed4af;--aq-accent-rgb:110,212,175}
:root[data-aq-experiment=galileo]{--aq-accent:#b8a1fa;--aq-accent-rgb:184,161,250}
html{background:#080e1a}body{color:#d3deee;letter-spacing:.005em}
#aq-lab-layout{max-width:2200px;grid-template-columns:minmax(0,1fr) clamp(338px,28vw,402px)}
#aq-stage-column{padding:12px;gap:9px}#control-panel-container{background:linear-gradient(160deg,#101a2a,#0b1322 75%);padding:16px;border-left:1px solid #27364b}
#aq-lab-heading{padding:2px 0 13px;margin-bottom:14px}#aq-lab-heading h1{font-size:19px;line-height:1.4;color:#edf3fb;letter-spacing:-.5px}.aq-eyebrow{color:var(--aq-accent);font-size:9px}
#experiment-selector{gap:7px;margin-bottom:11px}
#experiment-selector [data-experiment=libre]{--button-tone:#69b6ff;--button-rgb:105,182,255}
#experiment-selector [data-experiment=mono]{--button-tone:#e8bc72;--button-rgb:232,188,114}
#experiment-selector [data-experiment=beisbol]{--button-tone:#6ed4af;--button-rgb:110,212,175}
#experiment-selector [data-experiment=galileo]{--button-tone:#b8a1fa;--button-rgb:184,161,250}
#experiment-selector button{display:flex;align-items:center;gap:8px;min-height:55px;padding:10px!important;border-radius:11px;border:1px solid rgba(var(--button-rgb),.17);background:rgba(var(--button-rgb),.035);color:#b6c5d9;transition:background .18s,border-color .18s}
#experiment-selector button.active{background:rgba(var(--button-rgb),.14);border-color:rgba(var(--button-rgb),.62);color:#f4f7fc;box-shadow:inset 0 1px rgba(255,255,255,.035)}
.aq-experiment-number{display:grid;place-items:center;flex-shrink:0;width:24px;height:26px;border-radius:7px;background:rgba(var(--button-rgb),.1);color:var(--button-tone);font-size:10px;font-weight:750}
#experiment-selector button>span:last-child{font-size:11px;line-height:1.5;font-weight:600}
#experiment-intro{font-size:12px;line-height:1.65;color:#94a9c3;margin:9px 2px 13px;min-height:38px}
#playback-controls{position:sticky;top:-16px;z-index:8;padding:10px 0;margin:0 0 4px;background:#0e1829;gap:8px}
#playback-controls button{min-height:43px;border-radius:10px;font-size:12px;font-weight:650;background:#1a283d;border:1px solid #36465d;box-shadow:inset 0 1px #ffffff08}
#playback-controls .aq-primary{color:#0b1522;background:var(--aq-accent);border-color:var(--aq-accent);box-shadow:0 4px 14px rgba(var(--aq-accent-rgb),.12)}
.aq-card{border:1px solid #29384e;border-radius:13px;background:linear-gradient(150deg,#142035,#101a2b);padding:14px;margin:11px 0;box-shadow:inset 0 1px #ffffff03}
.aq-card h2,.aq-card h3,#control-panel-container h3{font-size:12px;color:#d6e4f6;font-weight:650;letter-spacing:.02em;line-height:1.5}
.aq-control-group h3{display:flex;align-items:center;gap:8px;margin-bottom:13px}.aq-control-group h3::before{content:'';width:5px;height:14px;border-radius:3px;background:var(--aq-accent);opacity:.75}
.aq-field{margin:13px 0 17px}.aq-field:last-child{margin-bottom:2px}.aq-field-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.aq-field-heading label{font-size:11px;line-height:1.5;color:#b9c9dd;flex:1}
#physical-controls .aq-number-input,#common-fields .aq-number-input,#aq-speed-control .aq-number-input{width:79px;flex-shrink:0;padding:6px 7px;border:1px solid #3e526a;border-radius:8px;background:#0a1423;color:var(--aq-accent);font-size:12px;font-weight:650;text-align:right;font-variant-numeric:tabular-nums;min-height:32px;box-shadow:inset 0 1px 4px #0002}
#physical-controls .aq-number-input:focus,#common-fields .aq-number-input:focus{border-color:var(--aq-accent);outline:2px solid rgba(var(--aq-accent-rgb),.2);outline-offset:1px}
.slider-control{gap:9px;align-items:center}.slider-control button{width:27px;min-width:27px;height:27px;border-radius:8px;background:#203149;color:#b9cbdf;border:1px solid #32475e;font-size:17px;box-shadow:inset 0 1px #ffffff06}.slider-control button:hover{border-color:rgba(var(--aq-accent-rgb),.6);color:var(--aq-accent)}
.slider-control input[type=range]{margin:0;height:5px;border-radius:5px;background:linear-gradient(to right,var(--aq-accent) 0%,var(--aq-accent) var(--range-fill,0%),#2b3c53 var(--range-fill,0%),#2b3c53 100%);box-shadow:inset 0 1px 1px #0002}
.slider-control input[type=range]::-webkit-slider-thumb{width:16px;height:16px;border:3px solid #112035;background:var(--aq-accent);box-shadow:0 0 0 1px rgba(var(--aq-accent-rgb),.65),0 2px 4px #0005}
.slider-control input[type=range]::-moz-range-thumb{width:12px;height:12px;border:3px solid #112035;background:var(--aq-accent);box-shadow:0 0 0 1px rgba(var(--aq-accent-rgb),.65)}
.slider-control button:disabled{opacity:.28}.aq-derived-field .slider-control{opacity:.45}.aq-field-note,.aq-geometry-note{font-size:10px;line-height:1.7;color:#93a8c3;margin:9px 2px 1px}.aq-geometry-note{border-left:2px solid rgba(var(--aq-accent-rgb),.4);padding:3px 9px;margin:8px 2px 13px}
#aim-mode-note{color:var(--aq-accent)}
.checkbox-label input:checked~.checkmark{background:var(--aq-accent);border-color:var(--aq-accent)}.checkmark:after{border-color:#101a2b}.aq-field .checkbox-label{font-size:11px!important;color:#c4d2e4;line-height:1.6}
#visual-fields{gap:5px 8px}#viz-container>button{min-height:35px;background:#1a2b42;border-radius:8px;border-color:#354b65;padding:8px 11px}
#info-hud{border-radius:13px;border-color:#2c3e54;background:linear-gradient(135deg,#111d30,#0d1626);padding:11px 8px;box-shadow:inset 0 1px #ffffff04}
#aq-hud-state{border:0;background:transparent;padding:2px 4px 5px;color:var(--aq-accent);font-size:11px;line-height:1.6}.aq-status-row>output{padding:2px 9px;background:#16253a;border-radius:6px;color:#d4e5f8}
#simulation-wrapper{border-radius:15px;border-color:#33475f;box-shadow:0 12px 35px #0002}#simulation-canvas{border-radius:14px}
#results-panel,#data-table-container,#teacher-panel{border-radius:13px}.aq-results-grid{gap:8px}.aq-results-grid>div{padding:11px;border:1px solid #1c2b41;border-radius:8px;background:#0c1626}.aq-results-grid>div>span{color:#99abc2;font-size:10px}.aq-results-grid output{font-size:11px;color:#e1ebf7}
#aq-footer{padding-top:15px!important}#aq-footer .aq-lab-footer__intro strong{font-size:13px}#aq-footer .aq-lab-footer__intro p{font-size:11px}#aq-brand strong span{color:var(--aq-accent)}
@media(min-width:900px){#simulation-wrapper{height:max(420px,calc(100dvh - 154px))}}
@media(min-width:900px) and (max-width:1150px){#aq-lab-layout{grid-template-columns:minmax(0,1fr) 330px}#control-panel-container{padding:12px}#experiment-selector button{padding:8px!important;gap:6px}#playback-controls{top:-12px}}
@media(max-width:899px){#aq-lab-layout{gap:0;padding:0 12px 14px}#control-panel-container{padding:14px;border:1px solid #2b3a50;border-radius:14px;width:100%}#aq-lab-heading{margin-bottom:12px}#playback-controls{top:0}#info-hud{margin-top:12px}#simulation-wrapper{height:clamp(350px,53dvh,600px)}#results-panel{margin-top:12px}.aq-geometry-note{grid-column:1/-1}}
@media(min-width:600px) and (max-width:899px){.aq-experiment-groups{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:start}.aq-experiment-groups>.aq-card{margin:0 0 2px}#experiment-selector{grid-template-columns:repeat(4,minmax(0,1fr))}#experiment-selector button{min-height:61px}#common-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}#visual-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:599px){#aq-lab-layout{padding:0 9px 12px}#control-panel-container{padding:12px}#aq-lab-heading h1{font-size:18px}#experiment-selector button{min-height:54px;padding:9px!important}.aq-card{padding:13px}.aq-field{margin:13px 0 17px}.aq-field-heading label{font-size:12px}.aq-field .checkbox-label{font-size:12px!important}.slider-control button{width:30px;min-width:30px;height:30px}.slider-control input[type=range]::-webkit-slider-thumb{width:19px;height:19px}#info-hud{padding:9px 5px}#aq-hud-state{font-size:10px}#observer-label{margin-left:0}#simulation-wrapper{height:clamp(340px,50dvh,470px)}.aq-status-row{gap:5px 9px}.aq-results-grid{grid-template-columns:1fr 1fr}.aq-results-grid>div{padding:9px}#playback-controls button{min-height:45px}.aq-card-title h2{font-size:11px}#visual-fields{gap:5px 10px}}
@media(max-width:359px){#experiment-selector button>span:last-child{font-size:10px}.aq-experiment-number{width:20px}.aq-field-heading{gap:6px}#physical-controls .aq-number-input{width:70px}}
@media(min-width:600px) and (max-width:899px){#params-mono>.aq-control-group:first-child{grid-row:span 2}}

/* ================================================================
 AulaQuest Mobile Lab · Fase 1: stage always visible + isolated scroll.
 These overrides are deliberately appended after the legacy breakpoints.
 ================================================================= */
#aq-panel-scroll{min-width:0}
@media (max-width:899px){
 html,body{height:100%;height:100dvh;overflow:hidden}
 body{overscroll-behavior:none}
 #aq-lab-layout,#aq-lab-layout.aq-panel-hidden{
  display:flex;flex-direction:column;align-items:stretch;
  height:100dvh;max-height:100dvh;min-height:0;overflow:hidden;
  padding:5px 8px 7px;gap:5px;
 }
 #aq-stage-column{display:flex;flex-direction:column;flex:0 0 auto;
  width:100%;padding:0;gap:3px;min-height:0;order:0}
 #info-hud{order:0;margin:0;padding:5px 6px;min-height:0;gap:3px}
 #aq-hud-state{order:1;margin:0;padding:2px 4px;font-size:10px}
 #simulation-wrapper{order:2;flex:0 0 auto;width:100%;
  height:clamp(170px,36dvh,380px);min-height:0;max-height:44dvh;
  margin:0;border-radius:11px}
 .aq-scene-hint{display:none}
 #control-panel-container{
  order:1;display:flex;flex-direction:column;flex:1 1 auto;min-height:0;
  position:relative;top:auto;max-height:none;height:auto;
  overflow:hidden;width:100%;padding:8px 10px 0;
  margin:0;border:1px solid #2b3a50;border-radius:12px;
  background:#0b1527;
 }
 #aq-lab-heading{display:none}
 #aq-wl-footer:empty,#user-profile-container:empty{display:none!important}
 #experiment-selector{
  flex:0 0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:5px;margin:0 0 6px;padding:0;
 }
 #experiment-selector button{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:5px 1px!important;gap:1px;min-width:0;min-height:55px;
  border-radius:10px;line-height:1.15;text-align:center;
 }
 #experiment-selector .aq-experiment-number{display:none}
 #experiment-selector button::before{display:block;line-height:1;font-size:23px;filter:saturate(.86)}
 #experiment-selector [data-experiment=libre]::before{content:'🚀'}
 #experiment-selector [data-experiment=mono]::before{content:'🐒'}
 #experiment-selector [data-experiment=beisbol]::before{content:'⚾'}
 #experiment-selector [data-experiment=galileo]::before{content:'🚐'}
 #experiment-selector button>span:last-child{
  display:block;font-size:clamp(8px,2.4vw,10px);line-height:1.18;
  font-weight:650;text-align:center;letter-spacing:-.015em;
 }
 #experiment-intro{display:none}
 #playback-controls{position:relative;top:auto;flex:0 0 auto;z-index:1;
  display:flex;gap:8px;margin:0 0 6px;padding:0;background:transparent}
 #playback-controls button{flex:1 1 0;min-width:0;min-height:43px;padding:6px 9px}
 #aq-panel-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;
  overscroll-behavior:contain;touch-action:pan-y;
  scrollbar-width:thin;scrollbar-color:#385876 transparent;
  padding:2px 2px 14px}
 #aq-panel-scroll #physical-controls,#aq-panel-scroll #common-controls,
 #aq-panel-scroll #viz-container{width:100%}
 #aq-panel-scroll #results-panel,#aq-panel-scroll #teacher-panel,
 #aq-panel-scroll #data-table-container{width:100%;margin:10px 0!important}
 #aq-footer{margin-top:12px!important}
}
@media(max-width:540px){
 #aq-lab-layout{padding:4px 5px 5px;gap:4px}
 #simulation-wrapper{height:clamp(165px,34dvh,300px);max-height:41dvh}
 #control-panel-container{padding:7px 7px 0}
 #experiment-selector{gap:4px}
 #experiment-selector button{min-height:53px;padding:4px 1px!important}
 #experiment-selector button::before{font-size:21px}
 #info-hud{padding:5px 3px}
 #playback-controls button{min-height:40px}
}
@media(max-width:899px) and (max-height:560px){
 #simulation-wrapper{height:clamp(135px,28dvh,210px);max-height:33dvh}
 #experiment-selector button{min-height:43px;flex-direction:row;gap:3px}
 #experiment-selector button::before{font-size:17px}
 #playback-controls button{min-height:36px}
}


/* AulaQuest v8 — Móvil: escenario arriba y TODO el panel con scroll independiente.
   Selector, acciones y sliders comparten el mismo contenedor desplazable;
   ninguno permanece sticky. El desplazamiento de página se evita solo dentro del iframe. */
@media(max-width:899px){
 html,body{height:100%!important;height:100dvh!important;overflow:hidden!important;overscroll-behavior:none!important}
 #aq-lab-layout,#aq-lab-layout.aq-panel-hidden{
  display:flex!important;flex-direction:column!important;align-items:stretch!important;
  height:100dvh!important;max-height:100dvh!important;min-height:0!important;
  overflow:hidden!important;gap:5px!important;padding:5px 8px 7px!important
 }
 #aq-stage-column{display:flex!important;position:relative!important;top:auto!important;order:0!important;
  flex:0 0 auto!important;min-height:0!important;width:100%!important;
  box-shadow:none!important;background:transparent!important;padding:0!important;gap:3px!important
 }
 #info-hud{flex:0 0 auto!important;min-height:0!important;margin:0!important}
 #aq-hud-state{flex:0 0 auto!important;margin:0!important}
 #simulation-wrapper{flex:0 0 auto!important;height:clamp(170px,36dvh,355px)!important;
  max-height:44dvh!important;min-height:0!important;margin:0!important
 }
 #control-panel-container{order:1!important;display:block!important;position:relative!important;top:auto!important;
  flex:1 1 auto!important;height:auto!important;max-height:none!important;min-height:0!important;
  width:100%!important;overflow-x:hidden!important;overflow-y:auto!important;
  overscroll-behavior-y:contain!important;touch-action:pan-y!important;
  -webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#486684 transparent;
  padding:8px 10px 14px!important
 }
 #experiment-selector,#playback-controls{position:static!important;top:auto!important;z-index:auto!important}
 #aq-panel-scroll{height:auto!important;max-height:none!important;min-height:0!important;
  overflow:visible!important;touch-action:auto!important;flex:none!important;padding-bottom:12px!important}
}
@media(max-width:540px){
 #aq-lab-layout{padding:4px 5px 5px!important;gap:4px!important}
 #simulation-wrapper{height:clamp(155px,32dvh,275px)!important;max-height:39dvh!important}
 #control-panel-container{padding:7px 8px 12px!important}
}
@media(max-width:899px) and (max-height:560px){
 #simulation-wrapper{height:clamp(115px,25dvh,195px)!important;max-height:30dvh!important}
}

/* V9 · Galileo: bloques de referencia compactos sin perder lecturas científicas. */
.aq-results-grid > .aq-result-section{grid-column:1/-1;display:block;border:0;background:transparent;color:#b7d8ef;font-size:11px;font-weight:750;letter-spacing:.045em;text-transform:uppercase;padding:10px 2px 3px;margin-top:4px}
.aq-results-grid > .aq-result-section:first-child{margin-top:0}

/* V10 · Five experiments in one scrollable row; preserve the mobile panel scroll. */
#experiment-selector{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:6px;scrollbar-width:thin;scrollbar-color:#486684 transparent;max-width:100%;padding-bottom:5px;scroll-snap-type:x proximity}
#experiment-selector button{flex:0 0 116px;min-width:0;scroll-snap-align:start;white-space:normal}
#experiment-selector [data-experiment=rio]{--button-tone:#78d9cf;--button-rgb:120,217,207}
html[data-aq-experiment=rio] #fire-btn{background:#236c72;border-color:#7acfc7}
@media(max-width:899px){
 #experiment-selector button{flex-basis:94px;min-height:56px}
 #experiment-selector [data-experiment=rio]::before{content:'🛶'}
 #experiment-selector button>span:last-child{font-size:10px}
}


/* AulaQuest · Selector de los cinco experimentos en escritorio (v11).
   En pantallas <=899px se conserva el carrusel horizontal existente. */
@media (min-width:900px){
 #experiment-selector{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  width:100%;
  max-width:100%;
  overflow:visible;
  padding:2px 1px 4px;
  margin:0 0 8px;
  scrollbar-width:auto;
  scroll-snap-type:none;
 }
 #experiment-selector button{
  position:relative;
  display:flex;
  flex-direction:row;
  justify-content:flex-start;
  align-items:center;
  flex:auto;
  width:100%;
  min-width:0;
  min-height:56px;
  padding:9px 10px!important;
  gap:9px;
  border-radius:12px;
  border:1px solid rgba(var(--button-rgb),.27);
  background:linear-gradient(135deg,rgba(var(--button-rgb),.10),rgba(var(--button-rgb),.025) 80%);
  box-shadow:0 1px 0 rgba(255,255,255,.035) inset;
  color:#cbd8e9;
  cursor:pointer;
  white-space:normal;
  text-align:left;
  scroll-snap-align:none;
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease;
 }
 #experiment-selector button:last-child{grid-column:1/-1;min-height:48px}
 #experiment-selector .aq-experiment-number{
  display:grid;
  flex:0 0 30px;
  width:30px;
  height:30px;
  place-items:center;
  border-radius:9px;
  background:rgba(var(--button-rgb),.13);
  border:1px solid rgba(var(--button-rgb),.10);
  color:var(--button-tone);
  font-size:12px;
  font-weight:800;
 }
 #experiment-selector button>span:last-child{
  display:block;
  min-width:0;
  font-size:12px;
  line-height:1.3;
  font-weight:650;
  letter-spacing:-.015em;
 }
 #experiment-selector button:hover{
  border-color:rgba(var(--button-rgb),.65);
  background:linear-gradient(135deg,rgba(var(--button-rgb),.17),rgba(var(--button-rgb),.045));
 }
 #experiment-selector button:focus-visible{outline:2px solid var(--button-tone);outline-offset:2px}
 #experiment-selector button.active{
  border-color:rgba(var(--button-rgb),.9);
  background:linear-gradient(130deg,rgba(var(--button-rgb),.23),rgba(var(--button-rgb),.065));
  box-shadow:0 0 0 1px rgba(var(--button-rgb),.12) inset,0 0 18px rgba(var(--button-rgb),.07);
  color:#f8fbff;
 }
 #experiment-selector button.active .aq-experiment-number{
  color:#061526;
  background:var(--button-tone);
  border-color:transparent;
 }
 #experiment-selector button.active::after{
  content:'';
  position:absolute;
  right:10px;
  top:10px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--button-tone);
  box-shadow:0 0 0 3px rgba(var(--button-rgb),.15);
 }
 #experiment-intro{margin:8px 1px 12px;min-height:0;font-size:12px;line-height:1.5}
}
@media(min-width:900px) and (max-width:1100px){
 #experiment-selector{gap:6px}
 #experiment-selector button{padding:8px!important;gap:6px;min-height:53px}
 #experiment-selector .aq-experiment-number{flex-basis:27px;width:27px;height:28px}
 #experiment-selector button>span:last-child{font-size:11px}
}

/* Guías de experimentos: texto, ecuaciones y retos sin dependencias externas. */
#guide-content .aq-guide-title{font-size:18px;margin:4px 0 8px;color:#f4f9ff}
#guide-content .aq-guide-intro{font-size:13px;line-height:1.7;color:#c5d8ef}
#guide-content .aq-guide-heading{font-size:13px;font-weight:750;color:#93ddfa;margin:22px 0 9px}
#guide-content .aq-guide-formulas{display:grid;gap:8px}
#guide-content .aq-guide-formula{padding:10px 12px;background:#142239;border:1px solid #30475e;border-radius:9px}
#guide-content .aq-guide-formula strong{display:block;color:#e7f0ff;font-size:11px;margin-bottom:5px}
#guide-content .aq-guide-math{font:600 12px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace;color:#c5fbef;white-space:normal;overflow-wrap:anywhere}
#guide-content .aq-guide-tasks{padding-left:23px;margin:5px 0 14px}#guide-content .aq-guide-tasks li{margin:7px 0;padding-left:3px;line-height:1.55}
#guide-content .aq-guide-note{padding:12px;border-left:3px solid #f6cb75;background:#19283a;color:#e3eaf4;border-radius:0 7px 7px 0}
#guide-content .aq-guide-units{font-size:11px;color:#98afc5}
@media(max-width:550px){#guide-dialog{padding:15px}#guide-content .aq-guide-math{font-size:11px}#guide-content .aq-guide-formula{padding:9px}}
