/* One readable player for demos, paired studies and annotated explainers. */
.media-player{container-type:inline-size;position:relative;min-width:0;width:100%;overflow:hidden;border-radius:12px;background:#101821;box-shadow:0 2px 8px #172b3b12;color:#eaf0f7;line-height:1.3}
.media-player:focus-visible{outline:3px solid #79aaf1;outline-offset:4px}
.media-stage{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;background:#101821;isolation:isolate}
body .media-player .media-stage video{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;border:0;border-radius:0;background:#101821}
.media-button{display:inline-flex;justify-content:center;align-items:center;flex:none;width:36px;height:36px;padding:7px;border:0;border-radius:7px;background:transparent;color:inherit;cursor:pointer;line-height:1}
.media-button svg{display:block;width:22px;height:22px;pointer-events:none}
.media-button.media-expand{width:auto;gap:6px;padding:7px 10px}.media-expand-label{font-size:12px}
.media-button:hover{background:#ffffff1c;color:#fff}.media-button:focus-visible,.media-speed:focus-visible,.media-seek:focus-visible{outline:2px solid #85b3ff;outline-offset:3px}
.media-button[hidden]{display:none}.media-button[aria-pressed=true]{background:#28476f;color:#acd0ff}
.media-player .media-big-play{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:62px;height:62px;border-radius:50%;background:#142332e8;box-shadow:0 2px 18px #0004;border:1px solid #ffffff6b;backdrop-filter:blur(8px);opacity:0;pointer-events:none;z-index:2}
.media-big-play svg{width:29px;height:29px}.media-big-play svg path{fill:currentColor;stroke-width:1}
.is-paused .media-big-play{opacity:1;pointer-events:auto}.is-loading .media-big-play,.has-error .media-big-play{display:none}
.media-controls{position:relative;z-index:3;padding:7px 12px 8px;background:#152231;border-top:1px solid #ffffff16}
.media-seek{display:block;appearance:none;-webkit-appearance:none;width:100%;height:18px;touch-action:none;cursor:pointer;background:transparent;margin:0 0 3px;outline-offset:1px;--played:0%}
.media-seek::-webkit-slider-runnable-track{height:4px;border-radius:10px;background:linear-gradient(to right,#78acfb var(--played),#ffffff40 var(--played))}
.media-seek::-moz-range-track{height:4px;background:#ffffff40;border-radius:10px}.media-seek::-moz-range-progress{height:4px;background:#78acfb;border-radius:10px}
.media-seek::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:12px;height:12px;margin-top:-4px;border-radius:50%;background:#e6f0ff;box-shadow:0 1px 4px #0004}
.media-seek::-moz-range-thumb{width:12px;height:12px;border:0;border-radius:50%;background:#e6f0ff}
.media-seek:disabled{opacity:.4;cursor:default}.media-control-row{display:flex;align-items:center;gap:7px;min-width:0}
.media-time{flex:1;min-width:0;font:12px/1.3 var(--font-ui,system-ui);font-variant-numeric:tabular-nums;white-space:nowrap;color:#c7d5e4;padding:0 3px}
.media-speed{appearance:auto;font:12px/1.3 var(--font-ui,system-ui);color:#dce9f8;width:64px;max-width:64px;min-width:0;background:#ffffff0c;border:1px solid #ffffff24;border-radius:7px;padding:6px 3px;cursor:pointer}
.media-speed option{background:#152231;color:white}.media-play svg path{fill:currentColor;stroke-width:1}
.media-notice{display:none;position:absolute;inset:0;z-index:4;place-content:center;justify-items:center;gap:12px;padding:20px;text-align:center;background:#101821d9;color:white;font-size:14px;pointer-events:none}
.is-loading .media-notice{display:grid}.is-loading .media-notice:before{content:'';width:26px;height:26px;border:2px solid #ffffff35;border-top-color:#9ec5ff;border-radius:50%;animation:media-spin .8s linear infinite}
.has-error .media-notice,.has-notice .media-notice{display:grid;pointer-events:auto}.media-notice button{border:1px solid #ffffff60;border-radius:7px;padding:7px 14px;background:#ffffff15;color:white;font-size:13px}.media-notice button[hidden]{display:none}
@keyframes media-spin{to{transform:rotate(360deg)}}
.media-player:fullscreen{display:flex;flex-direction:column;justify-content:center;border-radius:0;background:#080f18;width:100vw;height:100dvh;container-type:normal}
.media-player:fullscreen .media-stage{flex:1;min-height:0}.media-player:fullscreen .media-stage video{width:100%;height:100%;max-height:calc(100dvh - 80px);object-fit:contain}
.media-player:fullscreen .media-controls{flex:none;width:min(1200px,100%);align-self:center}
.media-theater{width:min(1600px,96vw);max-width:96vw;max-height:96dvh;overflow:hidden;margin:auto;padding:0;border:1px solid #61748760;border-radius:15px;background:#101821;color:#eaf0f7;box-shadow:0 24px 100px #0008}
.media-theater::backdrop{background:#08111ce8;backdrop-filter:blur(8px)}.media-theater-open{overflow:hidden}
.media-theater-header{display:flex;align-items:center;gap:24px;justify-content:space-between;padding:10px 16px;border-bottom:1px solid #ffffff20}
.media-theater-header p{font-size:13px;line-height:1.5;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:calc(100% - 50px)}
.media-theater>.media-player{display:flex;flex-direction:column;max-height:calc(96dvh - 60px);border-radius:0;container-type:normal}
.media-theater>.media-player .media-stage{min-height:0;flex:1;overflow:hidden}
.media-theater>.media-player .media-stage video{width:100%;height:100%;max-height:calc(96dvh - 142px);object-fit:contain}
.media-theater .media-controls{flex:none}.media-placeholder{width:100%;background:var(--surface);border-radius:12px}
/* Give the videos enough width to be useful before expanding them. */
.task-video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.task-video-grid figure{min-width:0}
.task-video-grid figcaption{font-size:12px}.study-layout{grid-template-columns:minmax(0,1fr) 300px}.study-layout>.example-panel{width:300px}
.study-layout .hero-film,.example-panel .hero-film{background:transparent;padding:0;border-radius:0}
.film-grid .media-player{border-radius:9px}.film-grid figure{background:transparent}.sol-headline .media-player{border-radius:10px}
.hybrid-explainer{padding:0!important;overflow:hidden}.hybrid-explainer>header{padding:17px 20px 0}.hybrid-explainer>p,.hybrid-explainer>.explainer-links{padding:0 20px}
.hybrid-explainer>.media-player{border-radius:0;box-shadow:none}.hybrid-explainer>.explainer-links{padding-bottom:16px}
.hybrid-explainer>.explainer-chapter-menu{margin:14px 20px}.explainer-chapter-menu{border:1px solid var(--line);border-radius:9px;background:var(--surface)}
.explainer-chapter-menu summary{cursor:pointer;padding:10px 13px;font-size:12px;color:var(--ink);line-height:1.5}
.explainer-chapter-menu[open] summary{border-bottom:1px solid var(--line)}.explainer-chapter-menu .explainer-chapters{margin:0;padding:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
.explainer-chapter-menu .explainer-chapters button{border:0;background:transparent;font-size:11px;padding:8px 10px;min-height:40px;gap:9px}.explainer-chapter-menu .explainer-chapters time{flex:none;min-width:34px}
.explainer-chapter-menu .explainer-chapters button:hover,.explainer-chapter-menu .explainer-chapters button[aria-current=true]{background:var(--accent-soft)}
@container(max-width:440px){.media-controls{padding:6px 8px}.media-control-row{gap:4px}.media-replay,.media-fullscreen,.media-expand-label{display:none}.media-button,.media-button.media-expand{width:36px;height:36px;padding:7px}.media-time{font-size:11px}.media-speed{font-size:11px;width:57px;max-width:57px}.media-big-play{width:52px!important;height:52px!important}}
@container(max-width:360px){.media-captions{display:none}}
@media(max-width:900px){.study-layout{grid-template-columns:minmax(0,1fr)}.study-layout>.example-panel{width:min(560px,100%);max-width:none}.study-layout .film-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.task-video-grid{grid-template-columns:minmax(0,1fr)}.study-layout .film-grid{grid-template-columns:minmax(0,1fr)}.hybrid-explainer>header{padding:13px 13px 0}.hybrid-explainer>p,.hybrid-explainer>.explainer-links{padding-left:13px;padding-right:13px}.hybrid-explainer>.explainer-chapter-menu{margin-left:13px;margin-right:13px}.explainer-chapter-menu .explainer-chapters{grid-template-columns:1fr}.media-theater{width:100vw;max-width:100vw;max-height:100dvh;border-radius:0}.media-theater-header{padding:8px 10px}.media-theater>.media-player{max-height:calc(100dvh - 55px)}.media-theater>.media-player .media-stage video{max-height:calc(100dvh - 137px)}}
@media(prefers-reduced-motion:reduce){.is-loading .media-notice:before{animation:none}}
@media(pointer:coarse){.media-button{min-width:40px;height:40px}.media-seek{height:26px}.media-seek::-webkit-slider-thumb{width:16px;height:16px;margin-top:-6px}.media-seek::-moz-range-thumb{width:16px;height:16px}}

/* Comparison footage follows the figure at a readable two-column size. */
#correspondence .study-layout,#sim-to-real .study-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
#correspondence .study-layout>.example-panel,#sim-to-real .study-layout>.example-panel{width:100%;max-width:none;padding:16px;justify-self:stretch}
#correspondence .study-layout .film-grid,#sim-to-real .study-layout .film-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
#correspondence .study-layout .pair-toolbar,#sim-to-real .study-layout .pair-toolbar{font-size:13px}
#correspondence .study-layout .caption,#sim-to-real .study-layout .caption{font-size:12px}
@media(max-width:600px){#correspondence .study-layout .film-grid,#sim-to-real .study-layout .film-grid{grid-template-columns:minmax(0,1fr)}}
.transfer-task-gallery{background:transparent;border:0;padding:0!important}
.transfer-task+.transfer-task{margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}
.transfer-task h3{font-size:18px;margin:0 0 12px}.transfer-task h3 span{display:block;font-size:12px;font-weight:500;color:var(--muted);margin-top:3px}
.transfer-task .film-grid>figure>figcaption{font-size:12px;font-weight:600;margin:0 0 7px;color:var(--muted)}
.sol-recovery-standalone{margin-top:36px}
.sol-recovery-standalone>.media-player{max-width:960px;margin-inline:auto}

/* PLAN/MEM use the same full-width two-column layout as the task videos. */
.challenge-grid{width:100%;max-width:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.challenge-grid figure{min-width:0}.challenge-grid figcaption{font-size:12px}
@media(max-width:600px){.challenge-grid{grid-template-columns:minmax(0,1fr);max-width:none}}
