/* FlightLab — earth palette and teaching workspace. */
:root { --ink:#302c25; --ink-2:#3d392e; --paper:#f3eee5; --paper-2:#e9e1d4; --white:#fffdf8; --muted:#6d665a; --line:#d9d0c1; --green:#525e40; --green-2:#61734b; --lime:#e2c595; --red:#a74532; --amber:#986320; --blue:#466977; --shadow:0 6px 24px rgba(53,42,29,.045); --radius:16px; --terracotta:#a95f43; }
html {scroll-behavior:auto;scroll-padding-top:100px}
body {background:var(--paper);font-family:'Avenir Next',Avenir,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:16px;color:var(--ink)}
button,input,select,summary {touch-action:manipulation}
button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible {outline:3px solid #a65a36;outline-offset:3px}
.skip-link {position:fixed;left:12px;top:-100px;z-index:100;background:var(--ink);color:white;padding:12px;border-radius:8px}.skip-link:focus{top:12px}
.sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.app-shell {grid-template-columns:232px minmax(0,1fr)}
.sidebar {background:#566147;padding:28px 18px;color:#fff9ed;border-right:1px solid #778465}
.brand {gap:10px;padding-bottom:28px}.brand-logo{width:44px;height:44px;flex-basis:44px}.brand strong{font-family:Georgia,serif;font-size:25px;font-weight:normal;letter-spacing:-.04em}.brand span{font-size:12px;color:#e0e3ce}
.view-link{font-size:14px;padding:12px;min-height:46px;border-radius:9px;color:#fff9ed}.view-link.active{background:#e8dec5;border-color:#e8dec5;color:#344029}.view-link:hover{background:#647153;color:#fff9ed}.view-link.active:hover{background:#f3ecd9;color:#344029}.phase-label,.sidebar-foot{color:#e0e3ce}.sidebar-foot b{color:#fff9ed}.phase-button{color:#e0e3ce}.phase-button.active .phase-number{background:#e8dec5;border-color:#e8dec5;color:#344029}.phase-number{border-color:#bac5a5}.sidebar .phase-button.visited:not(.active) .phase-number{border-color:#c8d1b6;color:#fff9ed}.sidebar-new{margin-top:22px;width:100%;border:1px solid #bac5a5;border-radius:8px;background:transparent;color:#fff9ed;min-height:44px;cursor:pointer}.sidebar-new:hover,.sidebar-close:hover{background:#647153}.sidebar button:focus-visible{outline-color:#f3dfb4}
.main {padding:0 32px 32px}.topbar{min-height:78px;gap:16px}.breadcrumb{font-size:13px}.top-controls{gap:8px}.segmented{background:#e8dfd1;border:1px solid #d9cdbc;border-radius:10px}.segmented button{min-height:36px;font-size:14px;padding:7px 12px}.segmented button.active{background:#fffdf8;color:#403a2e;box-shadow:0 2px 6px #3b291610}.icon-button{background:#fffaf1;border-color:#d5c8b4;border-radius:10px;min-width:40px;min-height:40px}
.content{max-width:1500px;margin:auto}.page-head{padding:26px 0 22px;align-items:center;gap:18px}.eyebrow{font-size:12px;color:#866648;letter-spacing:.12em}.page-head h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(28px,2.7vw,42px);line-height:1.15;letter-spacing:-.04em}.page-head p{font-size:15px;color:var(--muted);max-width:65ch;margin-top:8px}.status-chip{background:#e8e5d8;color:#465135;border:1px solid #cad0bd;font-size:13px;white-space:normal}
.card{background:#fffdf8;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}
.stage-head{padding:22px 24px 18px;border-bottom:1px solid #e7dfd2}.stage-head h2{font-size:23px;letter-spacing:-.035em}.stage-head p{font-size:14px}.stage-number{background:#5a6046;color:#faf0dd;border-radius:10px}.stage-body{padding:24px}.stage-grid{gap:24px}.control-label span{font-size:15px}.control-label small{font-size:12px;color:#6c6559}.control-block{margin-bottom:19px}.choice{background:#fcfaf5;border:1px solid #d8cfc0;border-radius:9px;font-size:14px;min-height:44px;box-shadow:none}.choice.active{background:#596044;color:#fffaf0;border-color:#596044;box-shadow:0 3px 8px #4f50331a}.choice:hover{border-color:#9b805b}.preset{border-color:#d4c5ae;font-size:14px;padding:8px 12px;min-height:40px;background:#f2e8d8}
.visual-panel{background:#34372b;border:1px solid #565d43;border-radius:13px;padding:22px;color:#fff6e4;box-shadow:none}.visual-title span{color:#d7c5a6;font-size:12px}.visual-title strong{font-family:Georgia,serif;font-size:26px;font-weight:400}.flight-svg{max-height:265px}.visual-legend{font-size:12px;color:#e3d7c1}.legend-dot{background:#e2c595}
.warning{background:#f5e9d5;border:1px solid #d7bd94;color:#704e2d;border-radius:10px;font-size:14px}.warning strong{color:#614529}.reading-panel,.insight-card{box-shadow:none;border-color:var(--line)}
.stage-footer{position:sticky;bottom:12px;z-index:12;background:#fffaf1f5;backdrop-filter:blur(12px);border:1px solid #d2c1a7;box-shadow:0 6px 24px #40301c17;border-radius:12px;margin:20px 12px 12px;padding:14px 16px}.btn{border-radius:9px;font-size:14px;min-height:44px;padding:10px 16px}.btn.primary{background:#525e40;color:#fffaf0;border-color:#525e40}.btn.primary:hover{background:#3e482f}
.input-provenance,.delivery-source,.route-context-banner{background:#eee8dc;border-color:#d8c9b4;color:#514838}.input-provenance span{font-size:14px}.route-context-banner p{font-size:14px}.route-context-banner>span{color:#785a38}
.flight-check-route{background:#f3eee4;border-color:#ddd0ba}.flight-check-head span{color:#81623e}.flight-check-head h3{font-size:21px}.flight-check-head p,.flight-check-card small{font-size:14px;line-height:1.55}.flight-check-card{box-shadow:none;border:1px solid #d8cbb6;background:#fffaf1;border-radius:10px;text-align:left;padding:16px}.flight-check-card strong{font-size:16px}.flight-check-card i{color:#6a5738;font-size:13px}.flight-check-grid{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}
.audit-note{padding:14px 16px;border:1px solid #d9c9ac;background:#f7eddc;border-radius:10px;font-size:14px;line-height:1.55;margin:16px 0}.audit-note b{color:#614927}.audit-note[data-tone="warning"]{background:#f7e6df;border-color:#c8937d}.audit-note p{margin:5px 0}.audit-note button{margin-top:8px}
.learning-details{margin:20px 0;border:1px solid #d8cbb7;border-radius:12px;background:#faf5eb}.learning-details>summary{padding:16px 18px;font-size:15px;font-weight:600;cursor:pointer;list-style-position:inside}.learning-details>.details-content{padding:0 16px 16px}.learning-details .flight-check-route,.learning-details .flight-factors-module{margin:0;border:0;background:transparent}
.metric-inputs{display:flex;align-items:center;gap:12px}.metric-inputs input[type="range"]{min-width:0;flex:1}.metric-inputs input[type="number"]{width:96px;flex:0 0 96px;min-height:44px;border:1px solid #bbae98;border-radius:8px;background:#fffdf8;color:var(--ink);padding:8px;font-size:16px;font-variant-numeric:tabular-nums}.slider-value{color:#6d5332}.slider-row label{font-size:14px}input[type=range]{accent-color:#66704b}
.flight-metric-control label,.flight-derived-card>span{font-size:14px}.flight-metric-control output{color:#5a4932}.flight-derived-card strong{font-weight:500;font-size:28px;letter-spacing:-.04em}.flight-derived-card small{font-size:12px}.flight-derived-card{border-color:#d9cbb5;background:#faf4e9}.vertical-flight-meta span{font-size:12px;color:#d7c5a6}.vertical-flight-meta strong{font-family:Georgia,serif;font-weight:400;color:#f2dbb7}.vertical-flight-meta small{font-size:13px;color:#e1d4be}.consistency-check,.roll-reading{border-color:#6b7053}.roll-reading p,.consistency-check p{font-size:14px;color:#efe5d2}.roll-reading span,.consistency-check span{color:#ead3af}.flight-model-selector small{font-size:13px}
.plot-legend{display:flex;gap:10px 20px;flex-wrap:wrap;font-size:14px;color:#ebdfc9;margin:12px 0}.plot-legend b{color:white;font-variant-numeric:tabular-nums}.plot-caption{font-size:13px;color:#ddcfb5;line-height:1.5;margin:8px 0}.flight-side-svg{width:100%;max-height:260px}.plot-axis{font-size:14px}
.strike-point{pointer-events:auto;touch-action:manipulation}.strike-point.diagnostic-pulse{animation:none}
.hypothesis-controls{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.hypothesis-controls button{padding:9px 12px;min-height:44px;border:1px solid #bca98c;border-radius:8px;background:#fff9ed;font-size:14px;cursor:pointer}.hypothesis-controls button[aria-pressed=true]{background:#5e6848;color:white}.hypothesis-state{font-size:13px;color:#725e41}.body-pattern-button,.body-pattern-detail{border-radius:12px}.body-detail-grid p,.body-flight-evidence p,.body-trackman-check p{font-size:14px;line-height:1.6}.competition-mode .body-detail-grid{display:grid}.competition-mode .body-detail-grid>div:nth-child(-n+2){display:none}.body-pattern-detail .body-detail-grid>div{background:#f4ecdd}.body-pattern-detail .body-detail-grid span{font-size:12px;color:#705233}.body-pattern-detail .body-consequence{background:#f4e9d4}.body-pattern-detail .body-consequence span{color:#765331}
.body-pattern-button.suggested,.body-pattern-button.flight-suggested{border-color:#ac8554;box-shadow:0 0 0 2px #d2b68a55}.diagnostic-target{animation:none;border-color:#9c7447;box-shadow:0 0 0 3px #ceac7540}.diagnostic-target::after{color:#8a633b}
.glossary-detail,.glossary-nav{border-color:var(--line)}.glossary-definition p,.glossary-detail-grid p{font-size:16px}.glossary-detail-grid span{font-size:13px}.source-link{display:inline-block;color:#555e3f;font-size:14px;margin:8px 0}.report-sheet{background:#fffdf8}.report-head h1{font-family:Georgia,serif}.report-priority{background:#e9e2d2;color:#3b352a}.report-priority p{color:#4f4738}.report-grid article small{font-size:14px}.matrix-cell{border-color:#d6c7ae;background:#fffaf0;border-radius:10px}.matrix-cell:hover{background:#eee2ce}.matrix-cell span{font-size:13px}.matrix-cell strong{font-size:16px}
.confirmation-dialog{border:1px solid #cbb99b;border-radius:16px;background:#fffaf1;color:#302c25;max-width:460px;width:calc(100% - 32px);padding:28px;box-shadow:0 20px 80px #291f1940}.confirmation-dialog::backdrop{background:#29231880}.confirmation-dialog h2{font:28px Georgia,serif;margin:0 0 12px}.confirmation-dialog p{font-size:16px}.confirmation-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}
@media(min-width:1101px){.guided-layout{grid-template-columns:minmax(0,1fr) 268px;gap:22px}.guide-sidebar{position:sticky;top:18px;align-self:start}.competition-mode .flight-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1100px){.app-shell{grid-template-columns:1fr}.sidebar:not(.open){visibility:hidden;pointer-events:none}.sidebar.open{visibility:visible}.main{padding:0 22px 28px}.topbar{min-height:78px}.stage-grid{gap:20px}.mobile-phase-bar{overflow-x:auto;display:flex;padding:6px 0 16px;gap:6px}.mobile-step{min-height:40px;white-space:nowrap;font-size:14px;border-radius:8px;flex:1;background:#e8dfd0;border-color:#d4c4aa}.mobile-step.active{background:#596044;color:#fffaf0}}
@media(max-width:600px){body{min-width:320px}.main{padding:0 14px 24px}.topbar{padding:14px 0;flex-wrap:wrap;gap:12px}.topbar-start{width:100%;justify-content:space-between}.top-controls{width:100%;display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px}.top-controls .segmented{display:inline-flex!important}.top-controls .vocabulary-button{display:inline-flex!important}.segmented button{padding:7px 9px;font-size:14px}.icon-button{min-width:38px}.page-head{padding:20px 0 16px;display:block}.page-head h1{font-size:30px}.page-head p{font-size:14px}.status-chip{display:inline-flex;margin-top:12px}.stage-head{padding:18px}.stage-body{padding:16px}.stage-grid{grid-template-columns:1fr}.control-label{flex-wrap:wrap;gap:5px}.control-label span{font-size:15px}.control-label small{font-size:12px}.choice{padding:9px 6px;font-size:14px}.visual-panel{padding:16px}.visual-title strong{font-size:25px}.flight-svg{height:240px}.stage-footer{bottom:8px;margin:16px 4px 8px;padding:10px;gap:8px}.stage-footer .btn{font-size:14px;padding:10px}.flight-check-grid{grid-template-columns:1fr}.flight-check-head{display:block}.flight-check-head p{font-size:14px}.flight-model-selector{display:block}.flight-model-selector .segmented{margin-top:12px;width:100%;display:flex}.flight-model-selector .segmented button{flex:1}.flight-factors-layout{display:block}.flight-factor-list{display:flex;overflow:auto;margin-bottom:18px;gap:8px}.flight-factor-button{min-width:180px;flex:0 0 180px}.flight-factor-button small{display:none}.flight-factor-detail-grid{grid-template-columns:1fr}.flight-factors-head p{font-size:14px}.factor-chain{display:none}.range-scale{font-size:12px}.flight-derived-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.body-detail-grid{grid-template-columns:1fr}.matrix-cell{min-width:0;padding:10px}.matrix-cell strong{font-size:14px}.matrix-cell span{display:none}.report-grid{grid-template-columns:1fr}.report-priority{grid-template-columns:1fr}.report-sheet{padding:20px}.glossary-detail{padding:18px}.glossary-visual-wrap{overflow-x:auto}.glossary-svg{min-width:600px}.mobile-step{flex:0 0 auto;padding:8px 12px}.metric-inputs input[type=number]{width:84px;flex-basis:84px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{body{background:white}.stage-footer,.sidebar-new,.skip-link{display:none}.report-sheet{border:0;box-shadow:none}.report-priority{break-inside:avoid}.source-link{color:black}}

/* Shared surfaces and navigation use the same breakpoints and color tokens. */
.vertical-flight-module{background:#faf5ec;border-color:#d8cbb7}.vertical-flight-head{border-color:#dfd3c2}.vertical-flight-visual{background:linear-gradient(145deg,#35382c,#444435)}.vertical-flight-module>.control-block{padding:0 18px}.vertical-flight-controls{gap:14px}.metric-origin{display:block;font-size:12px;color:#6d6251;line-height:1.5;margin:5px 0}.vertical-flight-controls .metric-inputs{gap:7px}.vertical-flight-controls .metric-inputs input[type=number]{width:80px;flex-basis:80px}.flight-top-svg{display:block;width:100%;max-height:240px}.legend{color:#e0d0b4;font-size:13px}.visual-panel:before{opacity:.06}.visual-title{gap:16px}.visual-title>span{font-size:11px;text-align:right}.visual-title strong{line-height:1.2}
.body-pattern-card{background:#fffaf1;border-color:#d7c8b0}.body-pattern-card.expanded{border-color:#9c8765;box-shadow:0 7px 20px #4a371415}.body-pattern-summary{min-height:76px}.body-pattern-summary b{font-size:16px}.body-pattern-summary small{font-size:14px;line-height:1.5}.body-pattern-card.flight-suggested{border-color:#b78d5c;background:#f7ecd9;box-shadow:inset 3px 0 #b78d5c}.body-pattern-card.flight-suggested.expanded{border-color:#a97b47;box-shadow:inset 3px 0 #a97b47}.body-pattern-card.selected{border-color:#616c47;box-shadow:inset 3px 0 #616c47}.body-phase-tabs button{min-height:44px;font-size:14px}.body-phase-tabs button.active{background:#596044;color:#fffaf0}.body-phase-tabs button.flight-suggested:not(.active){background:#eee0c7;border-color:#bd9b65;color:#6b4e28}.route-flag{background:#e7d3b1;color:#674823}.quick-fix{background:#f1e6d2;border-color:#d0b991}.quick-fix>strong{font-size:19px;color:#4c422d}.quick-fix>span,.quick-fix>small{color:#675940;font-size:13px}.body-flight-card,.body-flight-evidence>div,.pressure-guide>div{background:#f7f0e4}.body-flight-after{background:#e9eddf}.body-flight-after b{color:#475736}.control-block.diagnostic-target,.slider-row.diagnostic-target{animation:none;background:#f7ecd9;border-color:#b48d5d;box-shadow:inset 3px 0 #b48d5d}.body-use{width:100%}
.glossary-detail{padding:0;overflow:hidden}.glossary-visual{background:#f0e7d8}.glossary-visual figcaption{grid-template-columns:1fr;gap:6px}.glossary-visual-label span,.glossary-visual figcaption span{font-size:12px}.glossary-term-button{min-height:44px}.glossary-term-button.active{background:#586143;color:#fff7e9}.glossary-term-button.active small{color:#e6d5b8}.glossary-detail>.source-link,.glossary-detail>.trademark-note{margin-left:24px;margin-right:24px}.report-provenance{margin-top:28px}.report-provenance table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}.report-provenance th,.report-provenance td{padding:10px 12px;border-bottom:1px solid #dbcfba;vertical-align:top}.report-provenance th{font-weight:600}.report-provenance thead{background:#eee3d0}.report-provenance td:last-child{color:#6e604a}.report-grid article{min-width:0}.workspace-card{overflow:visible}.stage-footer{border-top:1px solid #d2c1a7}.insight-stack{align-self:start}.insight-card h3{font-size:23px}.insight-card p,.evidence-item span{font-size:14px;line-height:1.55}
@media(min-width:1361px){.work-grid{grid-template-columns:minmax(0,1fr) 270px;gap:24px}.stage-grid,.vertical-flight-layout{grid-template-columns:1fr}.vertical-flight-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.insight-stack{position:sticky;top:20px}.vertical-flight-visual{display:block}}
@media(min-width:1650px){.stage-grid{grid-template-columns:1fr 1fr}.vertical-flight-layout{grid-template-columns:minmax(300px,.9fr) minmax(350px,1fr)}}
@media(max-width:1360px){.work-grid{grid-template-columns:1fr}.insight-stack{position:static;grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1100px){.sidebar{position:fixed;inset:0 auto 0 0;width:276px;height:100dvh;z-index:30;transform:translateX(-105%)}.sidebar.open{transform:translateX(0)}.mobile-menu{display:grid}.mobile-brand{display:flex}.breadcrumb{display:none}.insight-stack{grid-template-columns:1fr}}
@media(max-width:600px){.flight-side-svg text,.flight-top-svg text{font-size:22px}.learning-details>.details-content{padding:0 8px 8px}.vertical-flight-head{padding:16px}.vertical-flight-visual{padding:16px 10px}.vertical-flight-meta{grid-template-columns:1fr}.vertical-flight-meta strong{grid-column:1;grid-row:auto;margin:6px 0;font-size:32px}.body-pattern-summary{padding:16px 12px;grid-template-columns:28px 1fr 16px}.glossary-visual{overflow-x:auto}.glossary-visual svg{min-width:620px}.glossary-visual figcaption{min-width:0}.glossary-visual-label{position:sticky;left:0}.report-provenance th,.report-provenance td{padding:8px 5px;font-size:13px}.stage-footer{position:fixed;left:14px;right:14px;bottom:8px;margin:0;z-index:15}.stage-footer .footer-note{display:none}.guided-surface{padding-bottom:78px}.confirmation-actions{flex-wrap:wrap}.flight-check-grid{grid-template-columns:1fr}.body-pattern-detail{padding:0 12px 16px}.visual-title{display:block}.visual-title>span{display:block;text-align:left;margin-top:10px}}

.card.evidence{background:#3d3b2f;color:#fff5e1;border-color:#625b46}.evidence-item{color:#dfd1b7}.evidence-item span{color:#dfd1b7}.evidence-item b{color:#e3c695}.choice,.btn,.segmented button{font-weight:600}.insight-card h3{font-weight:650}.stage-head h2{font-weight:650}.control-label span{font-weight:650}
@media(min-width:1361px){.stage-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.stage-grid>.visual-panel{align-self:start;position:sticky;top:20px;padding:18px}.stage-grid .choice{padding:10px 5px;font-size:13px}.stage-grid .control-label{display:block}.stage-grid .control-label small{display:block;margin-top:3px}}

.report-priority>div{background:#e9e2d2}.report-priority span{color:#78613f}.report-case-date{padding:0 28px;font-size:14px;color:#6e614e}.strike-point{display:flex;align-items:center;justify-content:center}.confirmation-dialog:focus-visible{outline:3px solid #a65a36}

.sidebar-close{display:none}.glossary-detail h2{scroll-margin-top:24px}.report-head h1{font-weight:400}
@media(max-width:1100px){.sidebar-close{display:block;align-self:flex-end;border:1px solid #bac5a5;color:#fff9ed;background:transparent;border-radius:8px;min-height:40px;padding:8px 12px;margin-bottom:18px;cursor:pointer}.sidebar .brand{padding-bottom:10px}.sidebar .sidebar-new{margin-top:10px}.sidebar-rule{margin:16px 4px}.sidebar-foot{margin-top:24px}.sidebar{overscroll-behavior:contain}}
@media(max-width:600px){.glossary-index{max-height:330px;overflow-y:auto;overscroll-behavior:contain}.glossary-detail-grid{padding:16px}.glossary-detail-head{padding:18px}.glossary-definition{padding:18px}.glossary-method{margin:0 18px 18px}.glossary-badges{flex-wrap:wrap}.glossary-visual svg{min-width:620px}.report-status{grid-template-columns:1fr}.evidence-warning{grid-template-columns:1fr;gap:6px;padding:16px}.flight-model-selector .segmented button{min-width:0;white-space:normal}}

@media(max-width:600px){.topbar{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:10px 6px}.topbar-start,.topbar .top-controls{display:contents}.topbar .mobile-menu{grid-column:1/3;grid-row:1;justify-self:start}.topbar .mobile-brand{grid-column:3/7;grid-row:1;justify-self:start;gap:6px;font-size:14px;white-space:nowrap}.mobile-brand img{width:26px;height:26px}.topbar .vocabulary-button{grid-column:7/9;grid-row:1;justify-self:end}.topbar [data-action="report"]{grid-column:9/11;grid-row:1;justify-self:end}.topbar .mode-switch{grid-column:1/6;grid-row:2;width:auto}.topbar [aria-label="Lateralidad del jugador"]{grid-column:6/11;grid-row:2;width:auto}.topbar .segmented button{flex:1;padding:7px 6px;font-size:13px}.topbar .segmented{min-width:0}.topbar .icon-button{width:40px;min-height:40px}.topbar .breadcrumb{display:none}}
