@charset "UTF-8";
/* Estado del guardado de campaña: los errores no se confunden con un guardado correcto. */
.adventure-save-status { margin: 12px 0 18px; padding: 11px 15px; border: 1px solid #356361; border-radius: 9px; background: #10272a; color: #a6e7e2; font-size: 12px; line-height: 1.7; }
.adventure-save-status[data-state="error"] { border-color: #8a5940; background: #302219; color: #ffd2a9; }
:root{color-scheme:dark;--bg:#090f1c;--panel:#111b2c;--panel-deep:#0d1626;--line:#263248;--text:#f0f2f6;--muted:#9caac0;--cyan:#a6e7e2;--orange:#ff945f;--violet:#b5a0fa;--radius:16px;font-family:Inter,"Segoe UI",Arial,sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 90% 0%,#17283d55,transparent 45%),var(--bg);color:var(--text);font-size:14px;line-height:1.5}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button{color:inherit}a{color:var(--cyan)}:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}button,input,select{touch-action:manipulation}[hidden]{display:none!important}button{border:0}h1,h2,p{margin:0}h2{font-size:18px;letter-spacing:-.5px}select{background:#172339;color:var(--text);border:1px solid var(--line);border-radius:7px;padding:7px 24px 7px 9px;cursor:pointer}input[type=checkbox]{accent-color:var(--orange);width:15px;height:15px;margin:0;flex-shrink:0}input[type=range]{width:100%;accent-color:var(--cyan);cursor:pointer;margin:8px 0 18px;height:15px}input[type=number]{background:#0d1728;border:1px solid var(--line);border-radius:5px;color:var(--text);width:64px;padding:5px}fieldset{border:0;padding:0;margin:0 0 23px;min-width:0}legend{font-size:13px;font-weight:600;margin-bottom:11px;width:100%;display:flex;align-items:center;justify-content:space-between}kbd{font:10px "Segoe UI",sans-serif;padding:3px 6px;border:1px solid currentColor;border-radius:4px;opacity:.6}.site-header{height:82px;max-width:1480px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:0 44px;border-bottom:1px solid #26324888}.brand{color:var(--text);text-decoration:none;display:flex;gap:10px;align-items:center;font-size:11px;font-weight:800;letter-spacing:2px;line-height:1.25}.brand-line{display:block;font-size:16px;letter-spacing:3.5px}.brand-star{color:var(--orange);margin-left:9px}.brand-orbit{width:40px;fill:none;stroke:var(--cyan);stroke-width:1.5}.brand-orbit circle{fill:var(--cyan)}.brand-orbit .orbital-dot{fill:var(--orange);stroke:var(--orange)}.header-center{display:flex;align-items:center;gap:10px;letter-spacing:2px;font-size:9px;color:var(--muted)}.status-dot{width:6px;height:6px;display:inline-block;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px #a6e7e244}.quiet-button{color:var(--muted);background:transparent;font-size:12px;padding:8px 4px}.quiet-button:hover,.text-button:hover{color:var(--text)}#helpButton{display:flex;align-items:center;gap:8px}#helpButton>span{display:grid;place-items:center;width:20px;height:20px;border:1px solid var(--muted);border-radius:50%;font-size:12px}.app-shell{max-width:1400px;padding:0 32px;margin:auto}.intro{min-height:152px;display:flex;gap:40px;align-items:center}.eyebrow{font-size:9px;letter-spacing:1.9px;font-weight:650;color:var(--muted);display:flex;align-items:center;gap:8px}.orange-line{width:18px;height:2px;background:var(--orange)}h1{font-size:58px;font-weight:650;letter-spacing:-3px;line-height:1.25;margin-top:4px}h1>span:first-child{color:var(--cyan)}.title-spark{color:var(--orange);font-size:42px;display:inline-block;transform:translate(12px,-8px)}.intro-copy{font-size:13px;color:var(--muted);max-width:380px;line-height:1.8}.intro-copy strong{color:#dce3ee;font-weight:500}.lab-badge{margin-left:auto;display:flex;align-items:center;gap:12px;color:var(--muted);font-size:8px;letter-spacing:1.5px}.lab-badge>span{font-size:42px;color:var(--cyan)}.lab-badge small{display:block;font-size:10px;letter-spacing:.1px;margin-top:4px;color:#6f819c}.experiment-tabs{display:grid;grid-template-columns:repeat(4,1fr);background:#101a2b;border:1px solid var(--line);border-radius:13px;overflow:hidden}.experiment-tabs button{display:flex;align-items:center;gap:12px;text-align:left;background:transparent;padding:18px 20px;color:var(--muted);border-right:1px solid var(--line);position:relative;transition:background .2s}.experiment-tabs button:last-child{border-right:0}.experiment-tabs button[aria-selected=true]{background:#1c2938;color:var(--text)}.experiment-tabs button[aria-selected=true]:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--orange)}.tab-number{font-size:10px;color:#74869f;font-family:Consolas,monospace}.experiment-tabs button[aria-selected=true] .tab-number{color:var(--orange)}.experiment-tabs button>span:nth-child(2){font-weight:600;font-size:13px}.experiment-tabs small{display:block;font-weight:400;font-size:10px;margin-top:4px;color:var(--muted)}.tab-symbol{margin-left:auto;font-size:25px;font-weight:400;color:#71849c}.experiment-tabs button[aria-selected=true] .tab-symbol{color:var(--orange)}.experiment-tabs button:hover{background:#1b293c}.experiment-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:19px 2px;font-size:12px;color:var(--muted)}.model-tag{border:1px solid var(--line);border-radius:4px;white-space:nowrap;font-size:8px;letter-spacing:1px;padding:3px 6px;color:#8093ae}.workspace{display:grid;grid-template-columns:264px minmax(0,1fr);gap:20px;align-items:start}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.configuration{padding:21px 18px}.card-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.card-heading>span:last-child{color:var(--muted)}.card-heading .eyebrow{font-size:8px}.field-note{font-size:7px;letter-spacing:.7px;color:#6f819c;font-weight:400}.vehicle-options{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.vehicle-option{border:1px solid var(--line);border-radius:9px;background:#0d1728;text-align:center;padding:10px 4px 8px;min-height:88px;transition:border-color .2s,background .2s}.vehicle-option[aria-checked=true]{border-color:var(--orange);background:#ff945f0b}.vehicle-option svg{width:37px;height:43px;display:block;margin:auto auto 7px}.vehicle-option span{font-size:10px;color:var(--muted)}.vehicle-option[aria-checked=true] span{color:var(--orange)}.control-description{font-size:10px;color:#91a3bd;line-height:1.6;margin-top:9px}.launcher-options{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.launcher-option{display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);border-radius:7px;height:39px;background:#0d1728;color:var(--muted);font-size:12px}.launcher-option i{height:14px;width:14px;display:block;border:1px solid var(--launcher-color);transform:rotate(-25deg);border-radius:3px;position:relative}.launcher-option i:after{content:"";position:absolute;left:4px;top:-5px;width:4px;height:8px;background:var(--launcher-color);border-radius:1px}.launcher-option[aria-checked=true]{border-color:var(--cyan);background:#a6e7e211;color:var(--cyan)}.segment-options{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.segment-options button{font-size:11px;min-height:34px;border-radius:6px;background:#0d1728;border:1px solid var(--line);color:var(--muted)}.segment-options button[aria-checked=true]{background:#a6e7e215;color:var(--cyan);border-color:#6caaa9}.check-row{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted);cursor:pointer;min-height:23px}.stacked-label{font-size:11px;display:flex;flex-direction:column;gap:6px;margin-bottom:13px;color:var(--muted)}.range-label{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.range-label output{color:var(--cyan);font-variant-numeric:tabular-nums}.launch-controls{border-top:1px solid var(--line);padding-top:20px}.primary-button{display:flex;justify-content:center;align-items:center;gap:9px;background:var(--orange);color:#1c1720;font-size:12px;font-weight:700;padding:13px 15px;border-radius:8px;width:100%;transition:background .2s,transform .2s;min-height:45px}.primary-button:hover{background:#ffad82;transform:translateY(-1px)}.primary-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6}.primary-button kbd{margin-left:auto;font-size:8px}.launch-controls>.check-row{justify-content:center;margin-top:12px}.control-actions{display:flex;align-items:center;justify-content:space-between;margin-top:10px;gap:8px}.secondary-button{color:var(--cyan);background:#a6e7e20a;border:1px solid #426568;border-radius:6px;padding:7px 11px;font-size:11px}.secondary-button:hover{background:#a6e7e21a}.physics-note{display:flex;align-items:center;gap:9px;color:#8296b2;font-size:9px;line-height:1.6;margin-top:20px}.physics-note>span:first-child{font-size:21px;color:var(--cyan)}.experiment-main{min-width:0}.scene-card{overflow:hidden;background:#0a1425}.scene-header{padding:18px 20px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #24314988}.scene-header .eyebrow{font-size:8px;margin-bottom:5px}.scene-header h2{font-size:16px}.scene-header h2>span{font-weight:400;color:var(--muted)}.scene-status{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--muted)}.space-stage{position:relative;width:100%;height:330px;overflow:hidden}.space-stage canvas{display:block;width:100%;height:100%}.scene-legend{position:absolute;top:13px;left:20px;right:20px;display:flex;justify-content:space-between;font-size:9px;color:#91a6c0;pointer-events:none}.scene-legend>span:first-child{display:flex;align-items:center;gap:6px}.legend-dot{width:5px;height:5px;border-radius:50%;background:var(--violet);display:inline-block}.scene-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 17px;border-top:1px solid #253146;background:#111c2d}.scene-tools{display:flex;align-items:center;gap:19px}.scene-tools label{font-size:10px}.icon-button{display:grid;place-items:center;min-width:30px;min-height:30px;padding:3px;background:#1a2940;border:1px solid #31445c;color:var(--cyan);border-radius:6px;font-size:18px}.icon-button:hover{background:#2b405b}.mission-strip{display:flex;align-items:center;gap:13px;padding:16px 17px;margin:13px 0;background:#151e2d;border:1px solid #2d3545;border-radius:11px}.mission-icon{font-size:25px;line-height:1;color:var(--orange)}.mission-strip p{font-size:11px;font-weight:600}.mission-strip div>span{font-size:10px;color:var(--muted)}.mission-progress{display:flex;gap:4px;margin-left:auto}.mission-progress>span{width:17px;height:5px;border-radius:2px;background:#354054}.mission-progress>span.complete{background:var(--orange)}#missionCount{color:var(--orange);font-size:11px;white-space:nowrap}.mission-strip.achieved{border-color:#527770;background:#142a2b}.data-card{padding:20px 20px 0}.data-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.data-header .eyebrow{font-size:8px;margin-bottom:5px}.data-header h2{font-size:17px}.chart-controls{display:flex;align-items:center;gap:9px}.chart-controls label{color:var(--muted);font-size:9px;display:flex;align-items:center;gap:6px}.chart-controls select{font-size:10px;min-height:32px}.chart-switch{display:flex;border:1px solid var(--line);border-radius:6px;overflow:hidden}.chart-switch button{background:transparent;color:var(--muted);min-height:30px;min-width:30px;font-size:17px}.chart-switch button[aria-pressed=true]{background:#29384c;color:var(--cyan)}.chart-and-stats{display:grid;grid-template-columns:minmax(0,1fr) 151px;gap:20px;margin-top:14px}.chart-wrap{min-width:0;height:220px}.chart-wrap canvas{width:100%;height:100%;display:block}.statistics{border-left:1px solid var(--line);padding:8px 0 8px 20px;display:flex;flex-direction:column;justify-content:center;gap:21px}.stat>span{font-size:10px;color:var(--muted);display:block}.stat strong{font-size:29px;letter-spacing:-1px;line-height:1.4;font-weight:550;display:block;font-variant-numeric:tabular-nums}.stat strong em{font-size:12px;font-style:normal;color:var(--muted);padding-left:5px;font-weight:400}.stat:first-child strong{color:var(--cyan)}.stat small{font-size:8px;color:#8294ae;display:block}.advanced-stat{display:none}.show-measures .statistics{gap:10px}.show-measures .advanced-stat{display:block}.show-measures .stat strong{font-size:22px}.chart-footer{border-top:1px solid var(--line);padding:13px 0;display:flex;gap:12px;align-items:center;justify-content:space-between}.chart-footer p{font-size:9px;color:var(--muted);display:flex;align-items:center;gap:7px}.small-dot{width:5px;height:5px;border-radius:50%;background:var(--orange);display:inline-block;flex-shrink:0}.text-button{padding:3px 0;color:var(--muted);font-size:10px;background:transparent;white-space:nowrap}.text-button span{margin-left:8px}.measurement-tools{border-top:1px solid var(--line);padding:12px 0;display:flex;align-items:center;flex-wrap:wrap;gap:10px 15px;font-size:10px;color:var(--muted)}.measurement-tools label:not(.check-row){display:flex;align-items:center;gap:5px}.measurement-tools input[type=number]{font-size:11px}.measurement-tools>span{color:var(--cyan)}.sample-tools{padding:13px 0;border-top:1px solid var(--line);font-size:10px}.sample-tools>label{display:flex;align-items:center;gap:10px;color:var(--muted)}.sample-tools select{font-size:10px;max-width:220px}.sample-tools p{margin:8px 0;color:var(--cyan)}.sample-comparison{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.sample-comparison>div{padding:8px;background:#0c1727;border:1px solid var(--line);border-radius:6px;font-size:9px;color:var(--muted)}.sample-comparison strong{color:var(--text);display:block;font-size:12px;margin:3px 0}.learning-note{display:flex;align-items:center;gap:11px;padding:18px 2px;color:var(--muted)}.learning-icon{font-size:26px;color:var(--cyan)}.learning-note p{font-size:11px;line-height:1.7;max-width:650px}.learning-label{margin-left:auto;white-space:nowrap;font-size:7px;letter-spacing:1px;color:#647895;line-height:1.8}.site-footer{margin-top:26px;border-top:1px solid var(--line);padding:23px 0 27px;display:flex;align-items:center;justify-content:space-between;color:#788ba6;font-size:10px;gap:12px}.site-footer strong{color:#a1b1c7;font-weight:500}.site-footer>div{display:flex;align-items:center;gap:24px}.site-footer>div>span{font-size:8px;letter-spacing:1.4px}.modal{color:var(--text);background:var(--panel);border:1px solid #42546b;border-radius:18px;max-width:660px;width:calc(100% - 32px);max-height:88vh;padding:26px;box-shadow:0 20px 120px #0009}.modal::backdrop{background:#02070ddd;backdrop-filter:blur(6px)}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.modal h2{font-size:27px;margin-bottom:17px}.modal p,.modal li{font-size:13px;line-height:1.8;color:var(--muted)}.modal ol{padding-left:21px}.modal li{padding-left:4px;margin:8px 0}.modal strong{color:var(--text);font-weight:600}.modal .help-callout{padding:16px;border:1px solid var(--line);border-radius:10px;margin:16px 0}.modal .help-callout p{font-size:11px;margin:7px 0 0}.modal .formula{font:12px Consolas,monospace;color:var(--cyan);margin:15px 0}.modal .small{font-size:10px;margin:14px 0}.modal .primary-button{margin-top:20px;width:auto}.data-modal{max-width:850px}.data-modal .secondary-button{margin:14px 0}.table-scroll{max-height:48vh;overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px;font-variant-numeric:tabular-nums}caption{text-align:left;color:var(--muted);padding:8px 0;font-size:11px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:9px 12px;white-space:nowrap}th{background:#1c2940;position:sticky;top:0;font-weight:500;color:var(--cyan)}td{color:var(--muted)}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#22364a;color:var(--text);border:1px solid #486b7d;border-radius:9px;padding:12px 20px;box-shadow:0 12px 40px #0005;z-index:20;max-width:90vw;font-size:12px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:20px;padding:10px;background:var(--orange);color:#111;z-index:100}.skip-link:focus{top:10px}.noscript{padding:20px;background:#432b26;text-align:center}.workspace:fullscreen{padding:20px;background:var(--bg);overflow:auto}.show-sampling .orientationGroup{display:none}button:hover:not(:disabled){filter:brightness(1.06)}
@media(min-width:1500px){.space-stage{height:390px}.chart-wrap{height:240px}.configuration{padding:24px}.workspace{grid-template-columns:280px minmax(0,1fr);gap:24px}}
@media(max-width:1100px){.header-center,.lab-badge{display:none}.intro{gap:45px;min-height:135px}.workspace{grid-template-columns:235px minmax(0,1fr);gap:14px}.configuration{padding:18px 14px}.tab-symbol{display:none}.experiment-tabs button{padding:16px 13px;gap:9px}.experiment-tabs small{font-size:9px}.space-stage{height:300px}.scene-status{font-size:9px}.chart-and-stats{grid-template-columns:minmax(0,1fr) 120px;gap:12px}.statistics{padding-left:14px}.data-card{padding:16px 14px 0}.data-header h2{font-size:15px}.chart-controls label{font-size:0}.chart-controls select{font-size:10px}.learning-label{display:none}.site-header{padding:0 32px}.app-shell{padding:0 24px}.mission-strip{padding:13px}.mission-progress>span{width:12px}}
@media(max-width:760px){.site-header{height:68px;padding:0 20px}.brand{font-size:9px}.brand-line{font-size:13px}.brand-orbit{width:33px}.app-shell{padding:0 14px}.intro{min-height:125px;gap:15px;justify-content:space-between}h1{font-size:44px}.title-spark{font-size:30px}.intro .eyebrow{font-size:7px;letter-spacing:1px}.intro-copy{font-size:10px;max-width:235px}.intro-copy br{display:none}.experiment-tabs{border-radius:10px}.experiment-tabs button{padding:12px 8px;gap:6px;justify-content:center}.experiment-tabs button>span:nth-child(2){font-size:10px}.experiment-tabs small{display:none}.tab-number{font-size:8px}.experiment-heading{padding:14px 0;font-size:10px;align-items:start}.model-tag{font-size:6px;margin-top:2px}.workspace{grid-template-columns:1fr;gap:14px}.configuration{padding:15px;display:grid;grid-template-columns:1fr 1fr;gap:15px}.card-heading,.physics-note{display:none}.configuration fieldset{margin-bottom:0}.configuration .launch-controls{grid-column:1/-1;padding-top:13px;display:grid;grid-template-columns:1fr 1fr;gap:4px 14px;align-items:center}.launch-controls .primary-button{grid-row:1/3;min-height:50px}.launch-controls>.check-row{margin-top:0;font-size:10px;justify-content:start}.control-actions{margin-top:0}.primary-button kbd{display:none}.vehicle-option{min-height:68px;padding:6px 3px}.vehicle-option svg{width:26px;height:31px;margin-bottom:4px}.vehicle-option span{font-size:9px}.launcher-option{height:29px;font-size:10px}.launcher-option i{height:11px;width:11px}.launcher-option i:after{left:3px;width:3px;height:6px;top:-4px}.control-description{font-size:9px;margin-top:6px}.field-note{display:none}legend{font-size:11px;margin-bottom:8px}.configuration #orientationGroup,.configuration #sampleGroup{grid-column:1/-1}.configuration #orientationGroup .control-description{display:none}.configuration #customControls{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 14px}#customControls legend{grid-column:1/-1}#customControls .stacked-label{grid-column:1/-1}#customControls .range-label,#customControls input[type=range]{grid-column:1/-1}#customModeRow{grid-column:1/-1}.range-label{font-size:10px}.configuration input[type=range]{margin-bottom:9px}.scene-header{padding:14px}.scene-header h2{font-size:14px}.scene-header .eyebrow{font-size:7px}.space-stage{height:290px}.scene-tools{gap:12px}.scene-toolbar{padding:8px 12px}.scene-tools label{font-size:9px}.data-card{padding:16px 12px 0}.data-header h2{font-size:15px}.chart-and-stats{grid-template-columns:minmax(0,1fr) 100px;gap:9px}.statistics{padding-left:12px;gap:18px}.stat strong{font-size:24px}.stat>span{font-size:9px}.stat small{font-size:7px}.chart-wrap{height:200px}.chart-footer{align-items:start}.chart-footer p{font-size:8px;max-width:75%;line-height:1.6}.text-button{font-size:9px}.mission-strip{gap:9px}.mission-strip p{font-size:10px}.mission-strip div>span{font-size:9px}.mission-progress>span{width:10px}.mission-icon{font-size:22px}.learning-note{padding:14px 0}.learning-note p{font-size:10px}.site-footer{margin-top:15px;padding:18px 0;align-items:start;font-size:9px}.site-footer>p{max-width:180px}.site-footer>div{gap:9px;flex-direction:column;align-items:end}.sample-comparison{grid-template-columns:repeat(2,1fr)}.measurement-tools{font-size:9px}.modal{padding:20px}.modal h2{font-size:23px}.modal p,.modal li{font-size:12px}.scene-status{font-size:8px}.scene-legend{font-size:8px;left:14px;right:14px}}
@media(max-width:390px){.intro-copy{max-width:150px;font-size:9px}.intro{gap:9px}h1{font-size:39px}.title-spark{display:none}.configuration{gap:12px;padding:12px}.vehicle-options{gap:4px}.scene-status{max-width:93px}.space-stage{height:260px}.chart-controls{gap:4px}.chart-controls select{max-width:60px}.chart-switch button{min-width:25px}.mission-progress{display:none}.mission-strip>strong{margin-left:auto}.scene-tools{gap:8px}.scene-tools label{font-size:8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}.primary-button:hover{transform:none}}
.gravity-label{font-size:9px;color:#91a6c0;font-family:Consolas,monospace;margin-left:auto;margin-right:15px}@media(max-width:760px){.gravity-label{font-size:7px;margin-right:8px}}@media(max-width:390px){.gravity-label{display:none}}
/* Compartir el enlace público sin cargar SDK externos. */
.header-actions{display:flex;align-items:center;gap:22px}
.share-button{display:flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid #426568;border-radius:7px;background:#a6e7e20b;color:var(--cyan);font-size:11px;font-weight:600}
.share-button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5}
.share-button:hover{background:#a6e7e21a}
.share-modal{max-width:530px}
.social-options{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:22px 0 16px}
.social-options a{display:flex;align-items:center;gap:10px;min-height:50px;padding:10px 13px;color:var(--text);background:#0c1728;border:1px solid var(--line);border-radius:9px;text-decoration:none;font-size:12px}
.social-options a:hover{border-color:var(--cyan);background:#1a2c3d}
.social-options a>span:last-child{margin-left:auto;color:var(--muted)}
.network-mark{display:grid;place-items:center;border-radius:50%;background:#25344a;color:#f0f2f6;height:26px;width:26px;font-size:17px;font-weight:700}
.whatsapp-mark{color:#84e4ac;background:#163c30}
.facebook-mark{color:#a3caff;background:#1b3356}
.telegram-mark{color:#8adcf6;background:#153b4e;font-size:15px}
.share-url-label{display:block;font-size:11px;color:var(--muted);margin:20px 0 7px}
.share-copy-row{display:flex;gap:8px}
.share-copy-row input{font-size:11px;min-width:0;flex:1;border:1px solid var(--line);border-radius:6px;background:#0c1728;padding:11px;color:var(--text)}
.share-copy-row button{white-space:nowrap}
.modal .share-status{min-height:22px;color:var(--cyan);font-size:11px;margin-top:8px}
.modal .share-preview-note{font-size:10px;line-height:1.6;color:var(--muted);padding:10px;border:1px solid var(--line);border-radius:6px}
.native-share{width:100%;padding:10px}
.header-center{flex-shrink:0}
@media(max-width:760px){.header-actions{gap:13px}.share-button{font-size:10px;padding:7px 9px;gap:6px}.share-button svg{width:13px;height:13px}#helpButton{font-size:0;gap:0}#helpButton>span{font-size:12px}.social-options{gap:8px}.social-options a{font-size:11px;padding:9px}.share-copy-row{flex-wrap:wrap}.share-copy-row input{flex-basis:100%}.share-copy-row button{width:100%}}

/* La última sección de la página conecta el experimento con el libro de astronomía. */
.book-discovery{display:grid;grid-template-columns:160px minmax(0,1fr);gap:34px;align-items:center;margin:6px 0 34px;padding:28px 32px;border:1px solid var(--line);border-radius:var(--radius);background:radial-gradient(ellipse at 5% 0%,#28435244,transparent 68%),var(--panel-deep)}
.book-discovery-cover{display:block;line-height:0;border-radius:6px;box-shadow:0 12px 32px #0006;overflow:hidden}
.book-discovery-cover img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:contain}
.book-discovery-copy{max-width:750px}
.book-discovery h2{font-size:clamp(22px,2.4vw,32px);line-height:1.25;letter-spacing:-.7px;margin:12px 0;color:var(--text)}
.book-discovery-description{max-width:680px;font-size:13px;line-height:1.85;color:var(--muted)}
.book-discovery-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:22px}
.book-discovery-primary{display:inline-flex;justify-content:center;align-items:center;gap:12px;min-height:44px;padding:11px 17px;border-radius:8px;background:var(--orange);color:#1c1720;font-size:12px;font-weight:700;text-decoration:none;transition:background .2s}
.book-discovery-primary:hover{background:#ffad82}
.book-discovery-secondary{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:12px;text-underline-offset:4px}
.book-discovery-secondary:hover{color:var(--text)}
@media(max-width:760px){.book-discovery{gap:24px;padding:24px;grid-template-columns:136px minmax(0,1fr)}.book-discovery h2{font-size:24px}.book-discovery-description{font-size:12px}.book-discovery-actions{gap:12px 20px;margin-top:17px}}
@media(max-width:560px){.book-discovery{grid-template-columns:1fr;gap:22px;padding:24px 20px;margin-bottom:24px}.book-discovery-cover{width:160px;justify-self:center}.book-discovery h2{font-size:25px}.book-discovery-actions{align-items:stretch;flex-direction:column;gap:10px}.book-discovery-secondary{justify-content:center}.book-discovery .eyebrow{font-size:9px}}

/* Edición exploradores: controles físicos, cuaderno y comparaciones. */
.experiment-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  margin-bottom: 18px;
  padding: 15px 18px;
}
.experiment-bar label { font-size: 12px; font-weight: 600; }
.experiment-bar p { margin-top: 4px; font-size: 10px; color: var(--muted); }
.experiment-bar-actions { display: flex; align-items: center; gap: 9px; min-width: 0; }
#experimentSelect { width: 285px; max-width: 32vw; font-size: 11px; }
.planet-options { grid-template-columns: repeat(3, 1fr); }
.numeric-control { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 11px; color: var(--muted); }
.numeric-control > div { display: flex; align-items: center; gap: 5px; color: var(--cyan); }
.numeric-control input { width: 66px; min-height: 38px; color: var(--cyan); font-variant-numeric: tabular-nums; }
.nominal-speed { font-size: 12px; color: var(--cyan); font-variant-numeric: tabular-nums; }
.configuration input[type=range] { min-height: 36px; margin: 4px 0 10px; }
.launcher-option, .segment-options button { min-height: 44px; }
.scene-toolbar { flex-wrap: wrap; gap: 8px; }
.scene-tools { flex-wrap: wrap; gap: 8px 14px; }
.scene-tools .check-row { min-height: 40px; }
.gravity-label { font-size: 10px; margin: 0 4px 0 auto; }
.prediction-note { padding: 10px 18px 13px; font-size: 11px; line-height: 1.7; color: var(--cyan); border-top: 1px solid var(--line); }
.mission-panel { margin: 14px 0; padding: 16px 18px; }
.mission-panel .mission-strip { padding: 0; margin: 0; border: 0; background: none; }
.mission-strip h2 { font-size: 15px; }
.mission-strip p { font-size: 11px; font-weight: 400; margin-top: 4px; color: var(--muted); line-height: 1.7; }
#missionCount { margin-left: auto; text-align: right; white-space: normal; min-width: 92px; }
.mission-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 14px; }
.mission-actions label { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 11px; }
.mission-actions select { font-size: 11px; }
#missionScore { margin-left: auto; color: var(--orange); font-size: 12px; font-variant-numeric: tabular-nums; }
.mission-hint { margin-top: 12px; font-size: 10px; color: var(--muted); line-height: 1.7; }
.mission-panel.achieved { border-color: #527770; background: #142a2b; }
.comparison-panel { padding: 20px; margin-top: 16px; }
.comparison-header { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.comparison-header .eyebrow { font-size: 8px; margin-bottom: 5px; }
.comparison-actions { display: flex; gap: 8px; }
.comparison-explanation { margin: 12px 0; font-size: 11px; color: var(--muted); line-height: 1.7; }
.comparison-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.comparison-cards article { padding: 13px; border: 1px solid #6b493b; border-radius: 9px; background: #0c1727; min-width: 0; }
.comparison-cards article:last-child { border-color: #356361; }
.comparison-cards h3 { font-size: 12px; margin: 0 0 7px; color: var(--orange); }
.comparison-cards article:last-child h3 { color: var(--cyan); }
.comparison-cards p { color: var(--muted); font-size: 10px; line-height: 1.7; }
.comparison-cards dl { display: flex; flex-wrap: wrap; gap: 10px 18px; margin: 12px 0 0; }
.comparison-cards dt { font-size: 9px; color: var(--muted); }
.comparison-cards dd { margin: 3px 0 0; font-size: 15px; font-variant-numeric: tabular-nums; }
.comparison-result { margin-top: 12px; font-size: 11px; color: var(--cyan); line-height: 1.7; }
.comparison-chart { height: 245px; margin-top: 10px; }
.comparison-chart canvas { display: block; width: 100%; height: 100%; }
.icon-button, .chart-switch button { min-height: 44px; min-width: 44px; }
.secondary-button, .quiet-button, .text-button, .share-button { min-height: 44px; }
select { min-height: 44px; }

@media (max-width: 1100px) {
  .experiment-bar { align-items: flex-start; flex-direction: column; gap: 10px; }
  .experiment-bar-actions { width: 100%; }
  #experimentSelect { width: auto; flex: 1; max-width: none; min-width: 0; }
  .comparison-header { align-items: flex-start; flex-wrap: wrap; }
}
@media (max-width: 760px) {
  .configuration #planetGroup, .configuration #powerGroup { grid-column: 1 / -1; }
  .configuration #orientationGroup .control-description { display: block; }
  .configuration legend { font-size: 13px; }
  .control-description, .configuration .range-label { font-size: 11px; }
  .configuration .check-row { min-height: 44px; font-size: 11px; }
  .launcher-option { height: 44px; font-size: 12px; }
  .segment-options button { font-size: 12px; }
  .scene-tools { gap: 4px 11px; }
  .scene-tools label { font-size: 11px; }
  .gravity-label { display: block; font-size: 10px; }
  .scene-status { font-size: 10px; }
  .mission-panel { padding: 16px 14px; }
  .mission-strip p { font-size: 11px; }
  .mission-strip h2 { font-size: 14px; }
  .mission-actions label { font-size: 11px; flex: 1; }
  .mission-actions select { flex: 1; }
  .comparison-panel { padding: 17px 14px; }
  .comparison-cards { gap: 8px; }
  .comparison-cards article { padding: 11px; }
  .comparison-cards dl { gap: 8px; }
  .chart-switch button { min-width: 44px; }
  .secondary-button, .quiet-button, .text-button { font-size: 11px; }
  .experiment-bar p { font-size: 11px; }
  .experiment-tabs button { min-height: 48px; }
}
@media (max-width: 420px) {
  .comparison-cards { grid-template-columns: 1fr; }
  .mission-strip { align-items: flex-start; }
  #missionCount { min-width: 65px; max-width: 85px; }
  .experiment-bar { padding: 14px 12px; }
  .experiment-bar-actions { flex-wrap: wrap; }
  #experimentSelect { flex-basis: 100%; }
  .comparison-actions { width: 100%; }
  .comparison-actions button { flex: 1; }
  .model-tag { display: none; }
}

/* La aventura tiene su propio panel y no altera los controles del laboratorio. */
.play-mode-selector {
  display: flex;
  gap: 8px;
  width: fit-content;
  max-width: 100%;
  margin: 0 0 18px;
  padding: 5px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--panel-deep);
}
.play-mode-selector button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 46px;
  padding: 11px 20px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: var(--muted);
  font-size: 13px;
  font-weight: 600;
}
.play-mode-selector button > span { color: var(--orange); font-size: 20px; }
.play-mode-selector button[aria-pressed="true"] { background: #253b43; border-color: #527770; color: var(--cyan); }
.adventure-panel { margin-top: 8px; }
.adventure-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 22px 0; }
.adventure-heading h2 { margin: 8px 0; font-size: clamp(25px, 3vw, 35px); line-height: 1.25; letter-spacing: -.8px; }
.adventure-heading > div > p:last-child { max-width: 740px; font-size: 13px; line-height: 1.8; color: var(--muted); }
.adventure-badge { flex-shrink: 0; padding: 10px 12px; border: 1px solid #6f4c3a; border-radius: 8px; background: #ff945f0a; color: var(--orange); font-size: 10px; letter-spacing: 1px; }
.adventure-levels { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 8px; list-style: none; padding: 0; margin: 0 0 16px; }
.adventure-levels li { display: grid; place-items: center; min-width: 0; min-height: 44px; padding: 6px 2px; border: 1px solid var(--line); border-radius: 8px; background: #0c1627; color: #8093ae; font-size: 12px; font-variant-numeric: tabular-nums; text-align: center; }
.adventure-levels li[aria-current="step"], .adventure-levels li.current, .adventure-levels li.active { color: var(--orange); border-color: var(--orange); background: #392a2b; box-shadow: inset 0 -2px var(--orange); font-weight: 700; }
.adventure-levels li.complete, .adventure-levels li.completed, .adventure-levels li[data-state="complete"] { color: var(--cyan); border-color: #416861; background: #173232; }
.adventure-overview { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(180px, 1.5fr); gap: 14px; align-items: center; padding: 18px 20px; margin-bottom: 18px; }
.adventure-stat { min-width: 0; border-right: 1px solid var(--line); padding-right: 12px; }
.adventure-stat > span { display: block; color: var(--muted); font-size: 10px; }
.adventure-stat > strong { display: block; margin-top: 4px; font-size: 24px; font-weight: 600; line-height: 1.3; color: var(--text); font-variant-numeric: tabular-nums; }
.adventure-stat:first-child > strong { color: var(--orange); }
.adventure-wind { display: flex; align-items: center; gap: 12px; min-width: 0; }
#adventureWindArrow { display: inline-block; flex-shrink: 0; width: 36px; color: var(--cyan); font-size: 32px; line-height: 1; text-align: center; }
#adventureWind { font-size: 11px; line-height: 1.7; color: var(--cyan); overflow-wrap: anywhere; }
.adventure-workspace { display: grid; grid-template-columns: 280px minmax(0, 1fr); align-items: start; gap: 20px; }
.adventure-controls { min-width: 0; padding: 22px; }
.adventure-controls-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 22px; }
.adventure-controls-heading > span:last-child { color: var(--orange); font-size: 22px; }
.adventure-select-field { display: grid; gap: 7px; margin-bottom: 18px; min-width: 0; }
.adventure-select-field > label { color: var(--muted); font-size: 12px; }
.adventure-select-field select { width: 100%; min-width: 0; min-height: 44px; font-size: 13px; }
.adventure-controls fieldset { margin: 22px 0 0; }
.adventure-controls legend { font-size: 13px; }
.adventure-controls .numeric-control { font-size: 12px; }
.adventure-controls .numeric-control input { min-height: 44px; }
.adventure-controls input[type="range"] { min-height: 40px; margin: 4px 0 0; }
.adventure-controls .nominal-speed { margin-top: 5px; font-size: 11px; }
.adventure-launch-actions { display: grid; gap: 10px; margin-top: 24px; }
.adventure-launch-actions button { width: 100%; min-height: 48px; justify-content: center; font-size: 13px; }
.adventure-launch-actions .primary-button { margin-top: 0; }
.adventure-context-note { margin-top: 16px; font-size: 10px; line-height: 1.8; color: var(--muted); }
.adventure-main { min-width: 0; }
.adventure-scene-header { gap: 14px; }
.adventure-scene-header h3 { margin: 4px 0 0; color: var(--text); font-size: 18px; font-weight: 600; letter-spacing: -.4px; }
.adventure-flight-status { max-width: 230px; color: var(--cyan); font-size: 11px; line-height: 1.6; text-align: right; }
.adventure-stage { position: relative; height: 400px; overflow: hidden; background: var(--panel-deep); }
.adventure-stage canvas { display: block; width: 100%; height: 100%; }
.adventure-toolbar { align-items: center; }
.adventure-toolbar .check-row { min-height: 44px; font-size: 12px; }
.adventure-arcade-label { margin-left: auto; color: #8497b1; font-size: 8px; letter-spacing: 1.4px; }
.adventure-result { padding: 20px 22px; margin-top: 16px; border-color: #3c5e5c; background: #13262d; }
.adventure-result h3 { font-size: 19px; line-height: 1.4; margin: 10px 0; letter-spacing: -.3px; }
.adventure-result > p { color: #becbd8; font-size: 13px; line-height: 1.8; }
.adventure-result .adventure-target { color: var(--cyan); font-variant-numeric: tabular-nums; font-size: 12px; margin-top: 12px; }
.adventure-rules { padding: 20px 24px; margin-top: 20px; }
.adventure-rules h3 { font-size: 15px; margin: 0 0 10px; }
.adventure-rules p { color: var(--muted); font-size: 12px; line-height: 1.9; max-width: 1100px; }
.adventure-rules p + p { margin-top: 10px; }
.adventure-rules strong { color: var(--text); font-weight: 600; }
@media (max-width: 1100px) {
  .adventure-workspace { grid-template-columns: 250px minmax(0, 1fr); gap: 14px; }
  .adventure-controls { padding: 18px; }
  .adventure-overview { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
  .adventure-stat:nth-child(4) { border-right: 0; }
  .adventure-wind { grid-column: 1 / -1; border-top: 1px solid var(--line); padding-top: 12px; }
  .adventure-badge { font-size: 8px; }
}
@media (max-width: 760px) {
  .play-mode-selector { width: 100%; gap: 4px; margin-bottom: 15px; }
  .play-mode-selector button { flex: 1; padding: 9px 10px; font-size: 12px; line-height: 1.4; }
  .play-mode-selector button > span { font-size: 18px; }
  .adventure-heading { display: block; margin: 20px 0 16px; }
  .adventure-heading h2 { font-size: 27px; }
  .adventure-heading .eyebrow { font-size: 8px; letter-spacing: 1.2px; }
  .adventure-heading > div > p:last-child { font-size: 12px; }
  .adventure-badge { display: inline-block; margin-top: 13px; padding: 7px 10px; font-size: 9px; }
  .adventure-levels { gap: 4px; }
  .adventure-levels li { border-radius: 5px; font-size: 11px; min-height: 36px; }
  .adventure-overview { padding: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
  .adventure-stat:nth-child(2) { border-right: 0; }
  .adventure-stat > span { font-size: 11px; }
  .adventure-stat > strong { font-size: 26px; }
  #adventureWind { font-size: 12px; }
  .adventure-workspace { grid-template-columns: 1fr; gap: 14px; }
  .adventure-controls { padding: 18px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .adventure-controls-heading, .adventure-angle-field, .adventure-power-field, .adventure-launch-actions, .adventure-context-note { grid-column: 1 / -1; }
  .adventure-controls-heading { margin-bottom: 0; }
  .adventure-select-field { margin-bottom: 0; }
  .adventure-select-field > label { font-size: 11px; }
  .adventure-controls fieldset { margin-top: 4px; }
  .adventure-controls legend { margin-bottom: 8px; }
  .adventure-controls .nominal-speed { font-size: 12px; }
  .adventure-controls input[type="range"] { margin-bottom: 0; }
  .adventure-launch-actions { margin-top: 6px; gap: 9px; }
  .adventure-context-note { margin-top: 0; font-size: 11px; }
  .adventure-stage { height: 300px; }
  .adventure-scene-header { align-items: flex-start; flex-wrap: wrap; }
  .adventure-scene-header h3 { font-size: 17px; }
  .adventure-flight-status { width: 100%; max-width: none; font-size: 11px; text-align: left; }
  .adventure-toolbar .scene-tools { gap: 7px 12px; }
  .adventure-toolbar .check-row { font-size: 11px; }
  .adventure-arcade-label { font-size: 7px; margin-left: 0; }
  .adventure-result { padding: 18px 16px; }
  .adventure-result h3 { font-size: 18px; }
  .adventure-result > p, .adventure-result .adventure-target { font-size: 12px; }
  .adventure-rules { padding: 18px; margin-top: 16px; }
  .adventure-rules p { font-size: 12px; }
}
@media (max-width: 390px) {
  .play-mode-selector button { padding: 9px 6px; font-size: 11px; gap: 5px; }
  .adventure-heading h2 { font-size: 25px; }
  .adventure-controls { padding: 16px; gap: 12px; }
  .adventure-select-field select { font-size: 12px; padding-left: 7px; }
  .adventure-arcade-label { width: 100%; }
}

