.hero-film{position:relative}
.pair-play{white-space:nowrap}
.cover-resources{display:flex;gap:24px;align-items:baseline;justify-content:space-between;margin-top:20px;color:#626262;font-size:12px;line-height:1.8}
.cover-resources>a{flex-shrink:0;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#ccc}
.cover-transcript{max-width:850px}
.cover-transcript summary{padding:0;font-size:12px;cursor:pointer;justify-content:flex-start;gap:9px;list-style:disclosure-closed}
.cover-transcript[open] summary{list-style:disclosure-open}
#cover-transcript-text{padding-top:15px;font-size:14px;line-height:1.85;color:#505050}
#cover-transcript-text p+p{margin-top:12px}
.cover-transcript .voice-note{font-size:11px;margin-top:14px;color:#777}
.task-analysis{margin-top:32px;padding:27px 0 0;border-top:1px solid #dcdcdc}
.task-analysis-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:22px}
.task-analysis-heading h4{font-size:22px;font-weight:500;letter-spacing:-.5px;margin-top:7px;line-height:1.3}
.task-analysis-heading .small-label{text-transform:uppercase;font-size:10px;letter-spacing:.8px}
.figure-expand{background:white;border:1px solid #ccc;color:#333;padding:10px 15px;border-radius:3px;font-size:12px;white-space:nowrap}
.figure-expand:hover{border-color:#333;background:#f7f7f7}
.analysis-image-button{display:block;width:100%;padding:0;background:#fff;border:0;cursor:zoom-in}
.analysis-image-button img{display:block;width:100%;height:auto}
.task-analysis figcaption{font-size:13px;line-height:1.8;color:#606060;margin-top:18px}
.figure-stat-note{font-size:12px;color:#777;margin-top:6px}
.task-analysis figcaption a{display:inline-block;text-decoration:underline;text-underline-offset:4px;margin-top:9px;color:#333}
.analysis-dialog{width:min(1500px,94vw);max-width:none;max-height:92vh;padding:0;border:1px solid #ccc;border-radius:4px;margin:auto;color:#181818;background:#fff;overflow:auto}
.analysis-dialog::backdrop{background:#0009;backdrop-filter:blur(3px)}
.analysis-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;background:#fff;border-bottom:1px solid #ddd;position:sticky;top:0;z-index:2}
.analysis-dialog-header h3{font-size:18px;line-height:1.4;font-weight:500}
.analysis-dialog-header button{background:#171717;color:white;padding:10px 14px;border-radius:3px;font-size:13px;white-space:nowrap}
.analysis-dialog-scroll{overflow:auto;padding:20px 24px;overscroll-behavior:contain}
.analysis-dialog-scroll img{display:block;width:100%;min-width:900px;height:auto}
#analysis-dialog-caption{font-size:13px;line-height:1.8;color:#606060;margin:0 24px 22px}
.analysis-pan-hint{display:none;font-size:12px;color:#666;margin:16px 18px 0}
.figure-dialog-open{overflow:hidden}
@media(max-width:760px){
  .cover-resources{font-size:11px;gap:16px;flex-wrap:wrap;margin-top:17px}
  .cover-transcript summary{font-size:11px}
  .cover-resources>a{margin-left:auto}
  .task-analysis{margin-top:25px;padding-top:24px}
  .task-analysis-heading{align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:18px}
  .task-analysis-heading h4{font-size:21px}
  .figure-expand{font-size:11px;padding:9px 12px}
  .task-analysis figcaption{font-size:12px;line-height:1.8}
  .figure-stat-note{font-size:11px}
  .analysis-dialog{width:96vw;max-height:94vh}
  .analysis-dialog-header{padding:14px 16px;gap:12px}
  .analysis-dialog-header h3{font-size:15px}
  .analysis-dialog-scroll{padding:18px}
  .analysis-pan-hint{display:block}
  #analysis-dialog-caption{margin:0 18px 20px;font-size:12px}
}
@media(prefers-reduced-motion:reduce){.analysis-dialog::backdrop{backdrop-filter:none}}

/* Wide research film: the frame opens on scroll without shifting page content. */
.cover-section{width:calc(100% - 48px);max-width:1400px;margin:0 auto 55px}
.cover-stage{width:100%;margin:0;opacity:.7;transform:scale(.88);transform-origin:center center;transition:transform 560ms cubic-bezier(.4,0,.2,1),opacity 480ms ease;background:#fff}
.cover-stage.is-in-view{opacity:1}
.cover-stage.is-open{transform:scale(1)}
.cover-stage .hero-film{border:1px solid #d4d4d4;overflow:hidden;aspect-ratio:16/9;background:#fff}
.cover-stage video{display:block;width:100%;height:100%;aspect-ratio:16/9;object-fit:contain;background:#fff}
.cover-stage video::-webkit-media-controls-overlay-play-button{display:none}

/* Familiar player controls stay clear of the scientific content. */
.cover-stage video{cursor:pointer}
.cover-player-chrome{padding:0 2px}
.cover-timeline{padding:8px 0 0}
.cover-timeline input{display:block;width:100%;height:18px;margin:0;cursor:pointer;appearance:none;-webkit-appearance:none;background:transparent}
.cover-timeline input::-webkit-slider-runnable-track{height:3px;border-radius:3px;background:linear-gradient(to right,#181818 var(--cover-progress,0%),#ddd var(--cover-progress,0%))}
.cover-timeline input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:12px;height:12px;margin-top:-4.5px;border:0;border-radius:50%;background:#181818}
.cover-timeline input::-moz-range-track{height:3px;border-radius:3px;background:#ddd}
.cover-timeline input::-moz-range-progress{height:3px;background:#181818}
.cover-timeline input::-moz-range-thumb{width:12px;height:12px;border:0;border-radius:50%;background:#181818}
.cover-controls{display:flex;align-items:center;gap:4px;min-height:48px}
.cover-icon-button{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;padding:10px;border:0;border-radius:4px;background:transparent;color:#222;cursor:pointer}
.cover-icon-button svg{display:block;width:22px;height:22px;flex:none}
.cover-icon-button:hover,.cover-icon-button:focus-visible{background:#f0f0f0}
.cover-icon-button.is-muted{background:#f2f2f2}
.cover-icon-button::after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 7px);left:50%;transform:translateX(-50%);z-index:25;padding:6px 9px;background:#222;color:#fff;border-radius:3px;white-space:nowrap;font:11px/1.4 var(--font);pointer-events:none;opacity:0;transition:opacity .12s}
.cover-icon-button:focus-visible::after{opacity:1}
@media(hover:hover){.cover-icon-button:hover::after{opacity:1}}
.cover-icon-button[aria-expanded=true]::after{opacity:0}
#hero-toggle::after{left:0;transform:none}
#cover-fullscreen::after{left:auto;right:0;transform:none}
.cover-time{color:#666;font-family:var(--mono);font-size:11px;white-space:nowrap;font-variant-numeric:tabular-nums;margin:0 9px;min-width:85px}
.cover-speed{position:relative;margin-left:auto}
.cover-speed-toggle{width:68px;gap:6px;padding:9px 4px;font-size:11px;font-weight:500}
.cover-speed-icon{display:block}
.cover-speed-menu{position:absolute;bottom:calc(100% + 11px);right:0;z-index:30;min-width:170px;padding:7px;background:#fff;border:1px solid #ddd;box-shadow:0 7px 24px #0002;border-radius:6px}
.cover-menu-heading{display:block;padding:7px 10px 10px;font-size:11px;color:#777;border-bottom:1px solid #eee;margin-bottom:4px}
.cover-speed-menu button{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-height:40px;padding:8px 10px 8px 31px;position:relative;background:#fff;color:#222;border-radius:3px;font-size:12px;text-align:left}
.cover-speed-menu button:hover,.cover-speed-menu button:focus-visible{background:#f4f4f4}
.cover-speed-menu button[aria-checked=true]::before{content:'✓';position:absolute;left:10px;font-size:12px}
.cover-mute-hint{position:absolute;right:14px;top:14px;width:40px;height:40px;border-radius:50%;background:#171717e8;color:#fff;box-shadow:0 1px 6px #0002;border:1px solid #fff8}
.cover-mute-hint:hover,.cover-mute-hint:focus-visible{background:#333;color:#fff}
.cover-mute-hint::after{top:calc(100% + 8px);bottom:auto;left:auto;right:0;transform:none}
.cover-caption{padding:23px 0 0}
.cover-caption .small-label{font-size:10px;letter-spacing:1px;color:#666}
.cover-caption h2{font-size:21px;font-weight:450;letter-spacing:-.4px;line-height:1.4;margin-top:6px}
.cover-section .cover-resources{margin-top:18px;border-top:1px solid #e5e5e5;padding-top:15px}
.cover-stage:is(:fullscreen,:-webkit-full-screen,.is-player-expanded){display:flex;flex-direction:column;justify-content:center;max-width:none;padding:14px 24px;transform:none;background:#fff;overflow:visible}
.cover-stage:is(:fullscreen,:-webkit-full-screen,.is-player-expanded) .hero-film{border:0;aspect-ratio:auto;min-height:0;flex:1}
.cover-stage:is(:fullscreen,:-webkit-full-screen,.is-player-expanded) video{height:100%;max-height:calc(100vh - 106px);width:100%;object-fit:contain}
.cover-stage:is(:fullscreen,:-webkit-full-screen,.is-player-expanded) .cover-caption{display:none}
.cover-stage:is(:fullscreen,:-webkit-full-screen,.is-player-expanded) .cover-player-chrome{flex-shrink:0}
@media(max-width:760px){
 .cover-section{width:calc(100% - 24px);margin-bottom:35px}
 .cover-stage{transform:scale(.96)}
 .cover-caption{padding:17px 8px 0}
 .cover-caption h2{font-size:19px}
 .cover-caption .small-label{font-size:9px;letter-spacing:.5px}
 .cover-controls{gap:2px}
 .cover-time{font-size:10px;min-width:76px;margin:0 4px}
 .cover-speed-toggle{width:54px;gap:3px;font-size:10px}
 .cover-speed-toggle svg{width:19px;height:19px}
 .cover-mute-hint{top:10px;right:10px;width:36px;height:36px;padding:8px}
 .cover-section .cover-resources{margin-left:8px;margin-right:8px}
 .cover-stage:is(:fullscreen,:-webkit-full-screen,.is-player-expanded){padding:8px}
 .cover-stage:is(:fullscreen,:-webkit-full-screen,.is-player-expanded) video{max-height:calc(100vh - 91px)}
}
@media(max-width:380px){
 .cover-player-chrome{padding:0}
 .cover-controls{gap:0}
 .cover-time{font-size:9px;min-width:64px;margin:0 1px}
 .cover-speed-toggle{width:48px;gap:2px}
}
@media(prefers-reduced-motion:reduce){.cover-stage{transform:none;opacity:1;transition:none}}

/* Every robot player uses the same controls and icon artwork as the overview. */
.media-player{position:relative;min-width:0;container-type:inline-size;background:#fff}
.media-player video{cursor:pointer}
.media-player video::-webkit-media-controls-overlay-play-button{display:none}
.media-player .player-play::after{left:0;transform:none}
.media-player .player-fullscreen::after{left:auto;right:0;transform:none}
.media-player .player-sound[aria-disabled=true]{color:#999;background:transparent;cursor:default}
.physical-grid figure{overflow:visible}
.physical-grid .cover-player-chrome{padding:0 10px 5px}
.physical-grid figcaption{border-top:1px solid #e5e5e5}
.media-player:is(:fullscreen,:-webkit-full-screen,.is-player-expanded){display:flex;flex-direction:column;justify-content:center;padding:16px 24px;overflow:auto;container-type:normal}
.media-player:is(:fullscreen,:-webkit-full-screen,.is-player-expanded)>video{min-height:0;flex:1;height:calc(100vh - 112px);max-height:calc(100vh - 112px);object-fit:contain}
.media-player:is(:fullscreen,:-webkit-full-screen,.is-player-expanded) .video-pair{min-height:0;align-items:center;gap:20px}
.media-player:is(:fullscreen,:-webkit-full-screen,.is-player-expanded) .video-pair video{max-height:calc(100vh - 235px);object-fit:contain}
.media-player:is(:fullscreen,:-webkit-full-screen,.is-player-expanded) .cover-player-chrome{flex:none}
@container(max-width:330px){
 .media-player .cover-controls{flex-wrap:wrap;gap:0}
 .media-player .cover-time{order:2;flex-basis:100%;text-align:center;margin:2px 0 5px;font-size:10px}
 .media-player .cover-speed-toggle{width:48px}
}

/* Method exploration and task evidence, with detail disclosed only on demand. */
.memory-explorer{padding:27px 28px;border:1px solid #ddd;border-radius:5px;background:linear-gradient(145deg,#fff,#fafafa)}
.explorer-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.explorer-heading h3{font-size:27px;line-height:1.2;letter-spacing:-.9px;font-weight:450;margin-top:12px}
.explorer-heading .small-label{font-size:9px;letter-spacing:1px}
.memory-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:26px 0}
.memory-steps button{font:10px var(--mono);text-align:left;padding:10px 5px;color:#888;background:transparent;border-bottom:2px solid #e2e2e2}
.memory-steps button span{display:block;margin-top:7px;font:13px var(--font);color:#666}
.memory-steps button[aria-pressed=true]{border-color:#222;color:#111}
.memory-steps button[aria-pressed=true] span{color:#111;font-weight:600}
.memory-steps button:hover{background:#f2f2f2}
.state-illustration{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:28px;margin:29px 0}
.state-illustration .small-label{font-size:8px;letter-spacing:.6px;white-space:nowrap}
.anchor-mini,.state-matrix-wrap{text-align:center}
.anchor-mini>span:last-child,.state-matrix-wrap>span:last-child{display:block;margin-top:12px;font:10px var(--font);color:#777}
.anchor-symbol{width:76px;height:76px;margin:22px auto;border:1px solid #bbb;display:grid;grid-template-columns:repeat(3,1fr);gap:5px;align-items:end;padding:12px}
.anchor-symbol span{display:block;background:#bbb;height:24px}
.anchor-symbol span:nth-child(2){height:40px;background:#777}
.anchor-symbol span:nth-child(3){height:17px;background:#ddd}
.state-matrix{display:grid;grid-template-columns:repeat(8,1fr);gap:3px;width:min(100%,142px);aspect-ratio:1;margin:12px auto 0;padding:7px;border:1px solid #ccc;background:white;transition:border-color .2s}
.state-matrix span{transition:background .3s}
.state-matrix.is-writing{border-color:#555}
.memory-step-copy{min-height:125px;padding-top:17px;border-top:1px solid #e1e1e1}
.memory-step-copy h4{font-size:16px;line-height:1.4;font-weight:550;margin:0 0 8px}
.memory-step-copy p{font-size:13px;line-height:1.8;color:#666}
.memory-step-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:17px}
.memory-step-actions>span{font-size:11px;color:#777}
.memory-step-actions strong{display:block;font-size:27px;line-height:1.2;letter-spacing:-1px;font-weight:450;color:#222}
.memory-step-actions .button{padding:9px 14px;font-size:12px;gap:16px}
.explorer-note{font-size:10px;line-height:1.7;color:#777;margin-top:20px}
.task-overview{margin-top:42px;padding-top:30px;border-top:1px solid #ddd}
.task-overview-heading{display:flex;align-items:baseline;justify-content:space-between;gap:25px;margin-bottom:17px}
.task-overview-heading h3{font-size:22px;font-weight:450}
.task-overview-heading p{font-size:12px;color:#777}
.task-evidence-table{table-layout:fixed}
.task-evidence-table th:first-child{width:40%}
.task-evidence-table th:not(:first-child){text-align:center}
.task-evidence-table th,.task-evidence-table td{padding:9px 10px;border-color:#e6e6e6}
.task-evidence-table td{text-align:center}
.task-jump{display:flex;align-items:center;gap:13px;background:transparent;text-align:left;padding:8px 0;min-height:48px;color:#333;font-size:14px}
.task-jump svg{width:16px;height:16px;flex:none;color:#888}
.task-jump:hover{color:#000}
.task-jump:hover svg{color:#111}
.task-jump small{display:block;font:9px var(--mono);color:#888;margin-top:2px}
.task-rate-cell{display:block;padding:10px 12px;max-width:160px;margin:auto;border-radius:2px;font-family:var(--mono);font-size:14px}
.task-rate-cell small{font-size:9px;margin-left:3px}
.task-gain{font-family:var(--mono);font-size:13px;color:#444}
.task-gain small{font-size:9px;color:#777}
.research-protocol{margin-top:35px}
.research-protocol details{border-top:1px solid #ddd}
.research-protocol details:last-child{border-bottom:1px solid #ddd}
.research-protocol summary{font-size:14px;gap:18px}
.research-protocol details[open] summary>span{transform:rotate(45deg)}
.protocol-body{max-width:930px;padding:0 0 23px;font-size:14px;line-height:1.85;color:#666}
.protocol-body p+p{margin-top:13px}
@media(max-width:760px){
 .memory-explorer{padding:23px 20px}
 .task-overview-heading{display:block}
 .task-overview-heading p{margin-top:8px}
 .task-evidence-table th:first-child{width:40%}
 .task-evidence-table th,.task-evidence-table td{padding:8px 4px;white-space:normal;font-size:10px}
 .task-jump{font-size:12px;gap:6px}
 .task-jump svg{width:12px;height:12px}
 .task-rate-cell{padding:10px 3px;font-size:12px}
 .task-rate-cell small{font-size:8px;margin-left:1px}
 .task-gain small{display:block}
 .research-protocol summary,.protocol-body{font-size:13px}
}

.player-expanded-open{overflow:hidden}
.is-player-expanded{position:fixed!important;inset:0!important;z-index:1000!important;width:100%!important;height:100dvh!important;margin:0!important;box-sizing:border-box!important;transform:none!important;opacity:1!important;background:#fff!important}
/* Narrow cards can occur on tablets as well as phones. */
@container(max-width:400px){
 .media-player .cover-controls{gap:2px}
 .media-player .cover-icon-button{width:40px;height:44px;padding:9px}
 .media-player .cover-speed-toggle{width:48px}
 .media-player .cover-time{font-size:10px;min-width:76px;margin:0 3px}
}
@container(max-width:330px){
 .media-player .cover-controls{flex-wrap:wrap;gap:0}
 .media-player .cover-time{order:2;flex-basis:100%;text-align:center;margin:2px 0 5px}
}
