/* Deck 05 review — representation, optimization and diagnosis in one calm loop. */

.deck05-review{
  --paper:#f7f5ef;
  --surface:#fffefa;
  --surface2:#fbfaf6;
  --ink:#132a46;
  --ink2:#1b3a5b;
  --muted:#63768b;
  --line:#d6dde5;
  --line2:#e8edf1;
  --accent:#a957d3;
  --teal:#2a8c87;
  --teal-soft:#e8f4f1;
  --red-soft:#f7edf9;
  background:var(--paper);
}

.deck05-review .dl-hero{
  position:relative;
  overflow:hidden;
  color:#fbfcff;
  background:
    radial-gradient(circle at 77% 28%,rgba(174,98,211,.22),transparent 27%),
    radial-gradient(circle at 94% 10%,rgba(244,197,95,.12),transparent 22%),
    linear-gradient(119deg,#14274f 0%,#1d3569 58%,#263f73 100%);
  border-bottom:1px solid rgba(255,255,255,.13);
}
.deck05-review .dl-hero::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.14;
  background-image:radial-gradient(rgba(255,255,255,.56) 1px,transparent 1px);
  background-size:24px 24px;
  mask-image:linear-gradient(90deg,transparent 8%,#000 82%);
}
.deck05-review .dl-hero__inner{
  position:relative;
  z-index:1;
  width:min(1510px,calc(100% - 72px));
  min-height:232px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,455px) 112px;
  gap:clamp(1.5rem,4vw,4rem);
  align-items:center;
  padding:2.4rem 0 2.15rem;
}
.deck05-review .dl-hero .eyebrow{color:#d6b7e8;font-size:.68rem;letter-spacing:.16em}
.deck05-review .dl-hero h1{
  margin:.42rem 0 .48rem;
  font-family:var(--serif);
  font-size:clamp(2.7rem,5vw,4.9rem);
  font-weight:560;
  line-height:.94;
  letter-spacing:-.047em;
}
.deck05-review .dl-hero__copy>p:last-child{margin:0;color:#cfdbeb;font-size:clamp(.9rem,1.25vw,1.06rem)}
.deck05-review .dl-hero__network svg{display:block;width:100%;height:auto}
.deck05-review .network-links{fill:none;stroke:#91add3;stroke-width:1.25;opacity:.42}
.deck05-review .network-nodes{stroke:#fff;stroke-width:1.2}
.deck05-review .network-nodes.input{fill:#55b8b0}.deck05-review .network-nodes.hidden{fill:#b969da}.deck05-review .network-nodes.output{fill:#f4c55f}
.deck05-review .dl-hero__progress{align-self:end;padding-bottom:.3rem}
.deck05-review .dl-hero__progress strong{display:block;margin-bottom:.55rem;font-family:var(--serif);font-size:1.15rem;font-weight:600;text-align:right}
.deck05-review .hero-progress-track{height:3px;background:rgba(255,255,255,.2)}
.deck05-review #hero-progress-bar{display:block;width:5%;height:100%;background:#f4c55f;transition:width .22s ease}

.deck05-review .app-shell{
  width:min(1680px,100%);
  min-height:calc(100vh - 324px);
  grid-template-columns:238px minmax(0,1fr);
  background:var(--surface);
  border-left:1px solid var(--line);
  border-right:1px solid var(--line);
}
.deck05-review .journey{background:#f4f2ed;padding:1.1rem .78rem}
.deck05-review .journey-heading{padding:.25rem .48rem .8rem}
.deck05-review .journey-heading strong{font-family:var(--sans);font-size:.67rem;font-weight:800}
.deck05-review .point-navigation{max-height:calc(100vh - 410px)}
.deck05-review .part-label{padding-top:.85rem;color:#6c7893}
.deck05-review .point-button{border-radius:8px;padding:.45rem .48rem}
.deck05-review .point-button[aria-current=step]{box-shadow:inset 3px 0 0 var(--accent)}
.deck05-review .point-number{font-family:var(--sans);font-size:.61rem;font-weight:850;color:var(--accent)}
.deck05-review .point-name{font-size:.69rem;line-height:1.22}

.deck05-review .presentation-header{min-height:84px;padding:.95rem clamp(1rem,2.3vw,2rem)}
.deck05-review .presentation-header h2{font-size:clamp(1.5rem,2.2vw,2.18rem);font-weight:560}
.deck05-review .presentation-header .eyebrow{color:#7860b6}
.deck05-review .evidence-badge{background:#f7f4fa;border-color:#ded3e7;color:#76568c}
.deck05-review .navigation-buttons{gap:.45rem}
.deck05-review .navigation-buttons button{white-space:nowrap}
.deck05-review #previous-button,.deck05-review #next-button{min-width:auto;padding:.58rem .76rem}
.deck05-review #insight-button{border-color:#c4bed0;background:#faf8fc}
.deck05-review .python-assist-launch{border-radius:7px;padding:.56rem .66rem;color:#623a79;border-color:#d5c5df;font-size:.58rem;letter-spacing:.065em}

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

.deck05-review .concept-explanation{display:grid;grid-template-columns:132px minmax(0,1fr);gap:1.35rem;padding:1rem 0;border-bottom:1px solid var(--line2)}
.deck05-review .concept-label{padding-top:.15rem;color:#687d91;font-size:.59rem;font-weight:850}
.deck05-review .concept-explanation p{margin:0;max-width:980px;font-size:.84rem;line-height:1.55}

.deck05-review .predict-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;
}
.deck05-review .predict-head{display:block;margin:0}
.deck05-review .predict-head strong{display:none}
.deck05-review .predict-head span{display:block;padding-top:.18rem;color:#7657a2}
.deck05-review .predict-block>p,.deck05-review .predict-row{grid-column:2}
.deck05-review .predict-block>p{margin:0 0 .5rem;font-size:.78rem}
.deck05-review .predict-row{grid-template-columns:minmax(0,1fr) auto}
.deck05-review .predict-row input{border-radius:5px;padding:.56rem .65rem}
.deck05-review #predict-lock{border-radius:5px;background:var(--ink);border-color:var(--ink);color:#fff}
.deck05-review .predict-status{margin:.34rem 0 0!important}

.deck05-review .experiment-heading{display:grid;grid-template-columns:132px minmax(0,1fr);gap:1.35rem;align-items:start;padding:1rem 0 .55rem}
.deck05-review .experiment-heading .small-label{color:var(--accent);padding-top:.15rem}
.deck05-review .experiment-heading p{margin:0;color:var(--muted);font-size:.73rem}
.deck05-review .instrument{border-color:#ced8e3;box-shadow:0 14px 38px rgba(19,42,70,.045)}
.deck05-review .control-rail{background:#f7f9fc;border-bottom-color:#dce3ea}
.deck05-review .visual-frame{min-height:390px}

.deck05-review .status-note{
  display:grid;
  grid-template-columns:132px minmax(0,1fr);
  gap:1.35rem;
  margin:.9rem 0 0;
  padding:.75rem 0;
  color:#5f7080;
  border:0;
  border-top:1px solid var(--line);
  background:transparent;
}
.deck05-review .status-note strong{color:#8b5aa0;font-size:.56rem;letter-spacing:.09em}
.deck05-review .status-note span{font-size:.68rem;line-height:1.5}

.deck05-review .insight-drawer{width:min(410px,94vw);background:#fbfaf7}
.deck05-review .insight-head{background:#fbfaf7}
.deck05-review .insight-drawer section{padding:1.05rem 1.2rem}
.deck05-review .insight-drawer h3{margin-bottom:.4rem;color:#68798a;font-family:var(--sans);font-size:.59rem;font-weight:850;letter-spacing:.1em}
.deck05-review .insight-drawer p{color:#344e66;font-size:.78rem;line-height:1.55}
.deck05-review .insight-drawer .diagnose{background:#f1eaf5;border-left:3px solid var(--accent)}

.deck05-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:#f8f6fa;
}
.deck05-review .review-bar .small-label{color:#7657a2}
.deck05-review .review-bar p{margin:.25rem 0 0;color:#344e66;font-size:.79rem}
.deck05-review .review-answer{max-width:1260px;margin:0 auto;padding:.9rem clamp(1.2rem,2.4vw,2.25rem);color:#3f5265;border-top:1px solid #e5dbea;background:#f4eef7;font-size:.79rem}
.deck05-review .review-answer[hidden]{display:none}
.deck05-review #reveal-button{flex:0 0 auto;background:#fff;border-color:#c9bdd0}

.deck05-review .python-assist-brand span{color:#81549a}
.deck05-review .python-code-card{background:#14274f}.deck05-review .python-code-card pre{background:#14274f}
.deck05-review .python-assist-stage-index{color:#a957d3}
.deck05-review .python-assist-foot strong{color:#1d3569}

@media(max-width:1180px){
  .deck05-review .dl-hero__inner{grid-template-columns:minmax(0,1fr) 300px 92px}
  .deck05-review .app-shell{grid-template-columns:215px minmax(0,1fr)}
  .deck05-review .python-assist-launch{max-width:125px;overflow:hidden;text-overflow:ellipsis}
  .deck05-review .question-block,.deck05-review .concept-explanation,.deck05-review .predict-block,.deck05-review .experiment-heading,.deck05-review .status-note{grid-template-columns:112px minmax(0,1fr);gap:1rem}
}

@media(max-width:960px){
  .deck05-review .app-shell{display:block}
  .deck05-review .journey{display:none}
  .deck05-review .presentation-header{position:relative}
}

@media(max-width:760px){
  .deck05-review .dl-hero__inner{width:calc(100% - 32px);min-height:auto;grid-template-columns:1fr auto;padding:1.65rem 0}
  .deck05-review .dl-hero__network{display:none}
  .deck05-review .dl-hero h1{font-size:2.55rem}
  .deck05-review .dl-hero__progress{align-self:center;min-width:70px}
  .deck05-review .presentation-header{padding:.7rem .8rem}
  .deck05-review .presentation-header h2{max-width:70vw}
  .deck05-review .navigation-buttons{width:100%;display:grid;grid-template-columns:auto auto 1fr auto auto}
  .deck05-review .mobile-concept-select{grid-column:1/-1}
  .deck05-review .python-assist-launch{max-width:none;font-size:0}
  .deck05-review .python-assist-launch::after{content:'Python';font-size:.65rem}
  .deck05-review #previous-button,.deck05-review #next-button{padding:.52rem .6rem;font-size:0}
  .deck05-review #previous-button::after{content:'←';font-size:.78rem}
  .deck05-review #next-button::after{content:'→';font-size:.78rem}
  .deck05-review .experiment-pane{padding:.95rem}
  .deck05-review .question-block,.deck05-review .concept-explanation,.deck05-review .predict-block,.deck05-review .experiment-heading,.deck05-review .status-note{grid-template-columns:1fr;gap:.35rem}
  .deck05-review .question-block>div{gap:.55rem}
  .deck05-review .predict-block>p,.deck05-review .predict-row{grid-column:1}
  .deck05-review .predict-row{grid-template-columns:1fr}
  .deck05-review .visual-frame{min-height:310px}
  .deck05-review .review-bar{align-items:flex-start;flex-direction:column}
}

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