/* Deck 04 review — one scientific question, one experiment, one decision. */

.deck04-review{
  --paper:#f7f5ef;
  --surface:#fffefa;
  --surface2:#fbfaf6;
  --ink:#102a43;
  --ink2:#183b56;
  --muted:#61788b;
  --line:#d5dde3;
  --line2:#e7ecef;
  --accent:#e45f45;
  --teal:#278f88;
  --teal-soft:#e8f4f1;
  --red-soft:#fbede8;
  background:var(--paper);
}

.deck04-review .iml-hero{
  position:relative;
  overflow:hidden;
  color:#f9fbfc;
  background:
    radial-gradient(circle at 82% 24%,rgba(64,181,172,.18),transparent 29%),
    linear-gradient(118deg,#0c3553 0%,#103f61 63%,#124a66 100%);
  border-bottom:1px solid rgba(255,255,255,.12);
}
.deck04-review .iml-hero::after{
  content:"";
  position:absolute;
  inset:0;
  opacity:.15;
  pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.55) 1px,transparent 1px);
  background-size:25px 25px;
  mask-image:linear-gradient(90deg,transparent 15%,#000 76%);
}
.deck04-review .iml-hero__inner{
  position:relative;
  z-index:1;
  width:min(1510px,calc(100% - 72px));
  min-height:226px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,410px) 112px;
  gap:clamp(1.5rem,4vw,4rem);
  align-items:center;
  padding:2.45rem 0 2.2rem;
}
.deck04-review .iml-hero .eyebrow{
  color:#9ed6d1;
  font-size:.68rem;
  letter-spacing:.16em;
}
.deck04-review .iml-hero h1{
  margin:.42rem 0 .45rem;
  max-width:780px;
  font-family:var(--serif);
  font-size:clamp(2.6rem,5vw,4.8rem);
  font-weight:560;
  line-height:.95;
  letter-spacing:-.047em;
}
.deck04-review .iml-hero__subtitle{
  margin:0;
  color:#cbdce7;
  font-size:clamp(.9rem,1.25vw,1.08rem);
  letter-spacing:.01em;
}
.deck04-review .iml-hero__signal svg{display:block;width:100%;height:auto}
.deck04-review .signal-axis{fill:none;stroke:#aac2d1;stroke-width:1;opacity:.24}
.deck04-review .signal-boundary{fill:none;stroke:#f4c55f;stroke-width:3;stroke-linecap:round}
.deck04-review .signal-a{fill:#58b9b1}.deck04-review .signal-b{fill:#f17b5f}
.deck04-review .iml-hero__progress{align-self:end;padding-bottom:.25rem}
.deck04-review .iml-hero__progress strong{
  display:block;
  margin-bottom:.55rem;
  font-family:var(--serif);
  font-size:1.15rem;
  font-weight:600;
  text-align:right;
}
.deck04-review .hero-progress-track{height:3px;background:rgba(255,255,255,.2)}
.deck04-review #hero-progress-bar{display:block;width:2%;height:100%;background:#f4c55f;transition:width .22s ease}

.deck04-review .app-shell{
  width:min(1680px,100%);
  min-height:calc(100vh - 318px);
  grid-template-columns:244px minmax(0,1fr);
  background:var(--surface);
  border-left:1px solid var(--line);
  border-right:1px solid var(--line);
}
.deck04-review .journey{background:#f5f3ed;padding:1.1rem .8rem}
.deck04-review .journey-heading{padding:.25rem .5rem .8rem}
.deck04-review .journey-heading strong{font-family:var(--sans);font-size:.7rem;font-weight:780}
.deck04-review .point-navigation{max-height:calc(100vh - 402px)}
.deck04-review .part-label{padding-top:.8rem;color:#668092}
.deck04-review .point-button{border-radius:8px;padding:.43rem .48rem}
.deck04-review .point-button[aria-current=step]{box-shadow:inset 3px 0 0 var(--accent)}
.deck04-review .point-number{font-family:var(--sans);font-size:.62rem;font-weight:850;color:var(--accent)}
.deck04-review .point-name{font-size:.69rem;line-height:1.22}

.deck04-review .presentation-header{
  min-height:82px;
  padding:.95rem clamp(1rem,2.4vw,2rem);
}
.deck04-review .presentation-header h2{font-size:clamp(1.55rem,2.3vw,2.2rem);font-weight:560}
.deck04-review .presentation-header .eyebrow{color:var(--teal)}
.deck04-review .navigation-buttons{gap:.5rem}
.deck04-review .navigation-buttons button{white-space:nowrap}
.deck04-review #command-button{display:none}
.deck04-review #insight-button{border-color:#b7c6d0;background:#f8fbfc}
.deck04-review #previous-button,.deck04-review #next-button{min-width:auto;padding:.58rem .78rem}

.deck04-review .experiment-pane{
  max-width:1260px;
  padding:clamp(1.2rem,2.4vw,2.25rem);
}
.deck04-review .question-block{
  grid-template-columns:132px minmax(0,1fr);
  gap:1.35rem;
  padding-bottom:1.05rem;
}
.deck04-review .question-block>.small-label{padding-top:.38rem;color:var(--teal)}
.deck04-review .question-block>div{display:flex;gap:.75rem;align-items:flex-start}
.deck04-review .question-block h3{font-size:clamp(1.45rem,2.05vw,1.92rem);font-weight:560}
.deck04-review .work-index{min-width:48px;padding-top:.14rem;font-family:var(--sans);font-size:.66rem;font-weight:850;letter-spacing:.08em}
.deck04-review .concept-explanation{
  grid-template-columns:132px minmax(0,1fr);
  gap:1.35rem;
  padding:1rem 0;
}
.deck04-review .concept-label{color:#668092;font-size:.59rem;font-weight:850}
.deck04-review .concept-explanation p{max-width:980px;font-size:.84rem;line-height:1.55}

.deck04-review .prediction-block{
  display:grid;
  grid-template-columns:132px minmax(0,1fr);
  column-gap:1.35rem;
  margin:0;
  padding:1rem 0;
  border:0;
  border-bottom:1px solid var(--line2);
  background:transparent;
}
.deck04-review .prediction-head{display:block;margin:0}
.deck04-review .prediction-head strong{display:none}
.deck04-review .prediction-head span{display:block;padding-top:.18rem;color:var(--teal)}
.deck04-review .prediction-prompt,.deck04-review .prediction-row,.deck04-review .prediction-status{grid-column:2}
.deck04-review .prediction-prompt{margin:0 0 .5rem;font-size:.78rem}
.deck04-review .prediction-row{grid-template-columns:minmax(0,1fr) auto}
.deck04-review .prediction-input{border-radius:5px;padding:.56rem .65rem}
.deck04-review .prediction-lock{border-radius:5px;background:var(--ink);border-color:var(--ink);color:#fff}
.deck04-review .prediction-status{margin:.34rem 0 0}

.deck04-review .experiment-heading{
  display:grid;
  grid-template-columns:132px minmax(0,1fr);
  gap:1.35rem;
  align-items:start;
  padding:1rem 0 .55rem;
}
.deck04-review .experiment-heading .small-label{color:var(--accent);padding-top:.15rem}
.deck04-review .experiment-heading p{margin:0;color:var(--muted);font-size:.73rem}
.deck04-review .experiment-content{padding-top:0}
.deck04-review .instrument{border-color:#cdd8df;box-shadow:0 14px 38px rgba(16,42,67,.045)}
.deck04-review .control-rail{background:#f7fafb;border-bottom-color:#dce4e9}
.deck04-review .visual-frame{min-height:390px}
.deck04-review .science-context{background:#fcfdfb}

.deck04-review .insight-drawer{width:min(410px,94vw);background:#fbfaf6}
.deck04-review .insight-head{background:#fbfaf6}
.deck04-review .insight-drawer section{padding:1.05rem 1.2rem}
.deck04-review .insight-drawer h3{
  margin-bottom:.4rem;
  color:#60788a;
  font-family:var(--sans);
  font-size:.59rem;
  font-weight:850;
  letter-spacing:.1em;
}
.deck04-review .insight-drawer p{color:#324f63;font-size:.78rem;line-height:1.55}
.deck04-review .insight-drawer .decision{background:var(--teal-soft);border-left:3px solid var(--teal)}

.deck04-review .review-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  max-width:1260px;
  margin:0 auto;
  padding:1rem clamp(1.2rem,2.4vw,2.25rem);
  border-top:1px solid var(--line);
  background:#f7faf8;
}
.deck04-review .review-bar .small-label{color:var(--teal)}
.deck04-review .review-bar p{margin:.25rem 0 0;color:#324f63;font-size:.79rem}
.deck04-review .review-answer{
  max-width:1260px;
  margin:0 auto;
  padding:.9rem clamp(1.2rem,2.4vw,2.25rem);
  color:#324f63;
  border-top:1px solid #dce9e5;
  background:#edf6f3;
  font-size:.79rem;
}
.deck04-review .review-answer[hidden]{display:none}
.deck04-review #reveal-button{flex:0 0 auto;background:var(--surface);border-color:#b8c9c5}

.deck04-review .python-companion{
  max-width:1260px;
  margin:0 auto 2.1rem;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:#fff;
}
.deck04-review .python-companion summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1rem clamp(1.2rem,2.4vw,2.25rem);
  cursor:pointer;
  list-style:none;
}
.deck04-review .python-companion summary::-webkit-details-marker{display:none}
.deck04-review .python-companion summary strong{display:block;margin-top:.2rem;font-family:var(--serif);font-size:1rem;font-weight:600}
.deck04-review .companion-action{color:var(--accent);font-size:.7rem;font-weight:800}
.deck04-review .python-grid{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);
  gap:1rem;
  padding:0 clamp(1.2rem,2.4vw,2.25rem) 1.25rem;
}
.deck04-review .python-grid pre{margin:.45rem 0 0;padding:1rem;overflow:auto;color:#e9f2f7;background:#102a43;font-size:.7rem;line-height:1.55}
.deck04-review .python-why{padding:.9rem;border:1px solid var(--line);background:#fafbf9}
.deck04-review .python-why p{margin:.4rem 0 0;color:#425c6d;font-size:.76rem;line-height:1.55}

@media(max-width:1100px){
  .deck04-review .iml-hero__inner{grid-template-columns:minmax(0,1fr) 270px 90px}
  .deck04-review .app-shell{grid-template-columns:218px minmax(0,1fr)}
  .deck04-review .question-block,.deck04-review .concept-explanation,.deck04-review .prediction-block,.deck04-review .experiment-heading{grid-template-columns:112px minmax(0,1fr);gap:1rem}
}

@media(max-width:760px){
  .deck04-review .iml-hero__inner{width:calc(100% - 32px);min-height:auto;grid-template-columns:1fr auto;padding:1.65rem 0}
  .deck04-review .iml-hero__signal{display:none}
  .deck04-review .iml-hero h1{font-size:2.45rem}
  .deck04-review .iml-hero__progress{align-self:center;min-width:70px}
  .deck04-review .app-shell{display:block}
  .deck04-review .journey{padding:.55rem}
  .deck04-review .point-navigation{max-height:none}
  .deck04-review .presentation-header{position:relative;padding:.7rem .8rem}
  .deck04-review .presentation-header h2{max-width:52vw}
  .deck04-review #insight-button{display:inline-flex}
  .deck04-review #previous-button,.deck04-review #next-button{padding:.52rem .6rem;font-size:0}
  .deck04-review #previous-button::after{content:'←';font-size:.78rem}
  .deck04-review #next-button::after{content:'→';font-size:.78rem}
  .deck04-review .experiment-pane{padding:.95rem}
  .deck04-review .question-block,.deck04-review .concept-explanation,.deck04-review .prediction-block,.deck04-review .experiment-heading{grid-template-columns:1fr;gap:.35rem}
  .deck04-review .question-block>div{gap:.55rem}
  .deck04-review .prediction-prompt,.deck04-review .prediction-row,.deck04-review .prediction-status{grid-column:1}
  .deck04-review .prediction-row{grid-template-columns:1fr}
  .deck04-review .visual-frame{min-height:325px}
  .deck04-review .review-bar{align-items:flex-start;flex-direction:column}
  .deck04-review .python-grid{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
  .deck04-review *{scroll-behavior:auto!important;transition:none!important}
}
