/* Runner de escenarios: complementa css/preview.css con lo propio del laboratorio. */
.fq-loading{padding:120px 28px;color:var(--preview-muted,#b7b0a5);font:400 1rem Georgia,serif;text-align:center}
.fq-hidden{display:none!important}
.fq-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.fq-hero h1{font-size:clamp(2.2rem,5.2vw,4.6rem);line-height:.96;letter-spacing:-.05em}
.fq-title{margin:0 0 8px!important;color:var(--preview-gold)!important;font-size:.78rem!important;letter-spacing:.06em;text-transform:uppercase}
.fq-question{color:var(--preview-ink)!important;font:400 1.25rem/1.5 Georgia,serif!important}
.fq-badges{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0}
.fq-badge{display:inline-flex;align-items:center;padding:4px 10px;border:1px solid var(--preview-line);border-radius:999px;color:var(--preview-muted);font-size:.66rem;letter-spacing:.04em}
.fq-level-a{border-color:rgba(143,214,148,.6);color:#b6f0a0}
.fq-level-b{border-color:rgba(232,181,109,.7);color:var(--preview-gold)}
.fq-level-c{border-color:rgba(255,157,122,.7);color:#ff9d7a}
.fq-role-observable{color:#ffd88a}
.fq-role-approximation{color:#ff9d7a}
.fq-role-state-representation{color:#7fd6ff}
.fq-level-toggle,.fq-presets{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 12px}
.fq-chip{min-height:36px;padding:7px 14px;border:1px solid var(--preview-line);border-radius:999px;color:var(--preview-muted);background:transparent;font:inherit;font-size:.74rem;cursor:pointer}
.fq-chip[aria-pressed=true]{border-color:var(--preview-gold);color:#05070c;background:var(--preview-gold)}
.fq-chip:hover{border-color:var(--preview-gold);color:var(--preview-ink)}
.fq-chip[aria-pressed=true]:hover{color:#05070c}
.fq-explanation{max-width:760px!important;color:var(--preview-ink)!important;font-size:1rem!important;line-height:1.75!important}
.fq-warning{max-width:760px;margin-top:16px!important;padding:12px 16px;border-left:2px solid #ff9d7a;background:rgba(255,157,122,.07);color:#ffc7b3!important;font-size:.8rem!important}
.fq-grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start}
.fq-lab{min-width:0}
.fq-model{margin:0 0 14px}
.fq-stage-host{position:relative}
.fq-stage{position:relative;width:100%;height:420px;border:1px solid rgba(232,181,109,.22);border-radius:12px;overflow:hidden;background:#03050b}
.fq-stage canvas{position:absolute;inset:0;display:block;width:100%;height:100%}
.fq-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:14px}
.fq-transport,.fq-measure{display:flex;flex-wrap:wrap;gap:8px}
.fq-button{min-height:40px;padding:9px 16px;border:1px solid var(--preview-gold);border-radius:999px;color:#05070c;background:var(--preview-gold);font:inherit;font-size:.76rem;font-weight:800;cursor:pointer}
.fq-button.quiet{color:var(--preview-muted);border-color:var(--preview-line);background:transparent;font-weight:600}
.fq-button.measure{color:#05070c;border-color:#ffd88a;background:#ffd88a}
.fq-button:hover{filter:brightness(1.08)}
.fq-button:focus-visible,.fq-chip:focus-visible,.fq-link:focus-visible,.fq-step-tab:focus-visible,.fq-aside input:focus-visible,.fq-aside select:focus-visible,.fq-timeline input:focus-visible{outline:2px solid #fff;outline-offset:2px}
.fq-timeline{display:grid;grid-template-columns:auto minmax(120px,1fr) auto auto auto;align-items:center;gap:10px;margin-top:12px;color:var(--preview-muted);font-size:.74rem}
.fq-timeline input[type=range]{width:100%;accent-color:var(--preview-gold)}
.fq-timeline select,.fq-aside select,.fq-aside input[type=text]{min-height:34px;padding:5px 8px;border:1px solid var(--preview-line);border-radius:8px;color:var(--preview-ink);background:#0b0c10;font:inherit;font-size:.76rem}
.fq-time-output{color:var(--preview-gold);font-variant-numeric:tabular-nums;white-space:nowrap}
.fq-underbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;color:var(--preview-quiet);font-size:.7rem}
.fq-legend{display:flex;align-items:center;gap:8px}
.fq-phase-bar{display:inline-block;width:150px;height:8px;border-radius:4px}
.fq-strict{display:flex;align-items:center;gap:8px;color:var(--preview-muted);cursor:pointer}
.fq-strict input{accent-color:var(--preview-gold)}
.fq-status{min-height:1.4em;margin:12px 0 0!important;color:var(--preview-gold)!important;font-size:.76rem!important}
.fq-panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin-top:16px}
.fq-panel{margin:0;padding:12px;border:1px solid var(--preview-line);border-radius:12px;background:rgba(12,10,9,.55)}
.fq-panel figcaption{margin-bottom:8px;color:var(--preview-muted);font-size:.7rem;line-height:1.5}
.fq-panel-canvas{display:block;width:100%;height:220px;border-radius:8px;background:#03050b}
.fq-series-key{white-space:nowrap}
.fq-lab h3{margin:24px 0 10px}
.fq-help{margin:0 0 10px!important;font-size:.74rem!important}
.fq-observables{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:0}
.fq-observable{position:relative;padding:14px;border:1px solid var(--preview-line);border-radius:12px;background:rgba(12,10,9,.55)}
.fq-observable dt{color:var(--preview-quiet);font-size:.66rem;line-height:1.4}
.fq-observable dd{margin:8px 0 0;color:var(--preview-gold);font:400 1.3rem Georgia,serif;font-variant-numeric:tabular-nums}
.fq-unit{margin-left:6px;color:var(--preview-quiet);font-size:.66rem}
.fq-checks{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.fq-checks li{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:8px;align-items:baseline;padding:8px 10px;border-radius:8px;background:rgba(12,10,9,.55);font-size:.74rem}
.fq-ok .fq-mark{color:#b6f0a0}
.fq-fail{outline:1px solid #ff9d7a}
.fq-fail .fq-mark{color:#ff9d7a}
.fq-check-label{color:var(--preview-muted)}
.fq-check-value{color:var(--preview-quiet);font-variant-numeric:tabular-nums;white-space:nowrap}
.fq-aside{position:sticky;top:76px;max-height:calc(100vh - 96px);overflow:auto}
.fq-aside h3{margin:0}
.fq-control label{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px}
.fq-control label output{margin-left:auto}
.fq-control small{display:block;margin-top:6px;color:var(--preview-quiet);font-size:.66rem;line-height:1.45}
.fq-control select,.fq-control input[type=text]{display:block;width:100%;margin-top:8px}
.fq-control-toggle{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 10px}
.fq-control-toggle input{width:20px;height:20px;margin:0;accent-color:var(--preview-gold)}
.fq-control-toggle small{grid-column:1/-1;margin-top:0}
.fq-highlight{outline:2px solid var(--preview-gold);outline-offset:6px;border-radius:10px;animation:fq-pulse 1.2s ease-out 2}
@keyframes fq-pulse{0%{box-shadow:0 0 0 0 rgba(232,181,109,.55)}100%{box-shadow:0 0 0 14px rgba(232,181,109,0)}}
.fq-tools{display:grid;gap:6px}
.fq-link{padding:0;border:0;color:var(--preview-gold);background:none;font:inherit;font-size:.72rem;text-align:left;text-decoration:underline;cursor:pointer}
.fq-shortcuts{font-size:.68rem!important}
.fq-layer-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:24px}
.fq-layer{padding:18px;border:1px solid var(--preview-line);border-radius:14px;background:rgba(17,18,22,.68)}
.fq-layer h3{margin:0 0 8px;color:var(--preview-ink);font:400 1.1rem Georgia,serif}
.fq-layer p{margin:0;color:var(--preview-muted);font-size:.76rem;line-height:1.65}
.fq-layer-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px!important}
.fq-equations{padding:0!important;list-style:none}
.fq-equations li{margin-bottom:8px}
code{color:var(--preview-ink);font:400 .8rem/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow-wrap:anywhere}
.fq-serial{display:block;margin-top:8px;color:var(--preview-quiet);font-size:.68rem}
.fq-aula{display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px;margin-top:24px}
.fq-step-tabs{display:grid;gap:8px;align-content:start}
.fq-step-tab{display:grid;grid-template-columns:34px 1fr;gap:8px;align-items:baseline;padding:12px 14px;border:1px solid var(--preview-line);border-radius:12px;color:var(--preview-muted);background:transparent;font:inherit;font-size:.78rem;text-align:left;cursor:pointer}
.fq-step-tab span{color:var(--preview-gold);font-weight:800;letter-spacing:.1em}
.fq-step-tab strong{font:400 1rem Georgia,serif}
.fq-step-tab[aria-selected=true]{border-color:var(--preview-gold);color:var(--preview-ink);background:rgba(232,181,109,.08)}
.fq-step-body{padding:22px;border:1px solid var(--preview-line);border-radius:16px;background:rgba(17,18,22,.68)}
.fq-step-body h3{margin:0 0 14px;color:var(--preview-ink);font:400 1.4rem Georgia,serif}
.fq-step{display:grid;grid-template-columns:110px minmax(0,1fr);gap:8px 14px;margin:0 0 14px}
.fq-step dt{color:var(--preview-gold);font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.fq-step dd{margin:0;color:var(--preview-muted);font-size:.84rem;line-height:1.65}
.fq-answer{margin:0 0 16px;padding:10px 14px;border-left:2px solid var(--preview-gold);background:rgba(232,181,109,.05);color:var(--preview-muted);font-size:.82rem}
.fq-answer summary{color:var(--preview-gold);cursor:pointer}
.fq-answer p{margin:8px 0 0;line-height:1.65}
.fq-glossary{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin:24px 0 0}
.fq-glossary div{padding:18px;border:1px solid var(--preview-line);border-radius:14px;background:rgba(17,18,22,.68)}
.fq-glossary dt{color:var(--preview-ink);font:400 1.1rem Georgia,serif}
.fq-glossary dd{margin:8px 0 0;color:var(--preview-muted);font-size:.78rem;line-height:1.65}
.fq-index{display:grid;gap:8px;margin:32px 0 80px;padding:0;list-style:none}
.fq-index a{display:block;padding:14px 18px;border:1px solid var(--preview-line);border-radius:12px;color:var(--preview-ink);text-decoration:none}
.fq-index a:hover,.fq-index a:focus-visible{border-color:var(--preview-gold)}
.fq-index strong{display:block;font:400 1.05rem Georgia,serif}
.fq-index small{display:block;margin-top:4px;color:var(--preview-muted);font-size:.76rem}
@media(max-width:1000px){.fq-grid{grid-template-columns:1fr}.fq-aside{position:static;max-height:none}}
@media(max-width:850px){.preview-topbar{position:static}}
@media(max-width:760px){.fq-stage{height:300px}.fq-aula{grid-template-columns:1fr}.fq-timeline{grid-template-columns:1fr auto}.fq-timeline label:first-child{grid-column:1/-1}.fq-timeline input[type=range]{grid-column:1/-1}.fq-step{grid-template-columns:1fr}.fq-panel-canvas{height:190px}}
@media(prefers-reduced-motion:reduce){.fq-highlight{animation:none}}
