body.mit61810-workbook .page { width:min(900px,calc(100% - 36px)); }
.workbook-version { margin:22px 0 10px; padding:14px 16px; border-left:3px solid var(--accent); background:color-mix(in srgb,var(--accent-soft) 28%,transparent); font-size:.86rem; }
.workbook-version p { margin:.25rem 0; }
.assignment-primary-nav { position:sticky; top:54px; z-index:12; display:flex; gap:8px; margin:14px 0 28px; padding:8px; border:1px solid var(--line); border-radius:10px; background:rgba(18,22,15,.9); backdrop-filter:blur(10px); }
.assignment-primary-nav a { padding:8px 12px; border-radius:7px; color:var(--muted); font-size:.82rem; font-weight:800; text-decoration:none; }
.assignment-primary-nav a:hover { background:var(--accent-soft); color:var(--ink); }
.engineering-workbook { margin:38px 0 70px; }
.workbook-header { padding:28px 0; border-block:1px solid var(--line); }
.workbook-header h2 { margin:.3rem 0 .6rem; font-size:clamp(1.65rem,4vw,2.35rem); }
.workbook-kicker,.workbook-label,.stage-number { margin:0; color:var(--accent-dark); font-size:.7rem; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.workbook-mission { max-width:720px; color:var(--muted); }
.capability-row { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.capability-row span { padding:5px 9px; border:1px solid var(--line); border-radius:999px; font-size:.78rem; font-weight:750; }
.stage-map { display:flex; gap:0; overflow-x:auto; margin:28px 0 48px; border-block:1px solid var(--line); }
.stage-map a { min-width:132px; padding:14px 12px; border-right:1px solid var(--line); color:var(--muted); font:800 .72rem/1.2 ui-monospace,SFMono-Regular,Consolas,monospace; text-decoration:none; }
.stage-map a span { display:block; margin-top:5px; color:var(--ink); font:750 .78rem/1.25 system-ui,sans-serif; }
.workbook-stage { margin:70px 0; scroll-margin-top:120px; }
.stage-header { padding-left:18px; border-left:3px solid var(--accent); }
.stage-header h2 { margin:.3rem 0 .4rem; }
.stage-build { margin:0; color:var(--muted); }
.stage-overview { display:grid; grid-template-columns:1.15fr .85fr; gap:28px; margin:28px 0; }
.stage-overview>section { padding:18px 0; border-block:1px solid var(--line); }
.stage-overview h3 { margin-top:0; font-size:1rem; }
.stage-overview ul { padding-left:1.2rem; }
.stage-readiness { margin-top:14px; }
.stage-readiness summary,.stage-failures summary,.stage-hints summary,.workbook-finish summary { cursor:pointer; font-weight:800; }
.stage-contract,.stage-done,.stage-sanity,.stage-failures,.stage-hints,.stage-experiment,.stage-gate { margin:28px 0; padding:22px 0; border-top:1px solid var(--line); }
.contract-grid,.done-grid,.experiment-flow { display:grid; gap:0 26px; margin-top:14px; }
.contract-grid,.experiment-flow { grid-template-columns:repeat(2,minmax(0,1fr)); }
.done-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.contract-grid article,.done-grid article,.experiment-flow article { padding:13px 0; border-bottom:1px solid var(--line); }
.contract-grid h3,.done-grid h3,.experiment-flow h3 { margin:0 0 6px; font-size:.9rem; }
.contract-grid p,.done-grid p,.experiment-flow p { margin:0; color:var(--muted); font-size:.88rem; }
.contract-grid ul { margin:.2rem 0; padding-left:1.15rem; color:var(--muted); font-size:.88rem; }
.stage-sanity { padding:22px; border:1px solid var(--line); border-left:3px solid var(--accent); background:color-mix(in srgb,var(--accent-soft) 20%,transparent); }
.sanity-note,.hint-note { color:var(--muted); font-size:.8rem; }
.stage-failures details,.stage-hints details { padding:12px 0; border-bottom:1px solid var(--line); }
.stage-failures details p,.stage-hints details p { color:var(--muted); }
.stage-gate { padding:22px; background:var(--paper-raised); }
.stage-gate ul,.workbook-finish ul { padding:0; list-style:none; }
.workbook-finish { margin:70px 0 20px; padding:28px 0; border-block:2px solid var(--ink); }
.workbook-finish li { margin:8px 0; }
.workbook-finish details { margin-top:20px; padding-top:18px; border-top:1px solid var(--line); }
.chinese-task-header { margin:90px 0 36px; padding:28px 0; border-block:2px solid var(--ink); scroll-margin-top:110px; }
.chinese-task-header h2 { margin:.35rem 0 .6rem; }
.problem-stage-back { display:inline-block; margin:-.4rem 0 1rem; color:var(--muted); font-size:.78rem; text-decoration:none; }
.workbook-side-nav { position:fixed; top:94px; left:calc(50% + 490px); width:205px; max-height:calc(100vh - 120px); overflow:auto; padding-left:17px; border-left:1px solid var(--line); }
.workbook-side-nav p { margin:0 0 10px; color:var(--muted); font-size:.68rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.workbook-side-nav a { display:block; padding:5px 0; color:var(--muted); font-size:.74rem; line-height:1.35; text-decoration:none; }
.workbook-side-nav a:hover { color:var(--accent); }
body.mit61810-workbook>.pb-toc { display:none!important; }
@media (max-width:1380px) { .workbook-side-nav { display:none; } }
@media (max-width:720px) {
  body.mit61810-workbook .page { width:min(100% - 24px,900px); }
  .assignment-primary-nav { top:48px; overflow-x:auto; white-space:nowrap; }
  .stage-overview,.contract-grid,.done-grid,.experiment-flow { grid-template-columns:1fr; }
  .stage-map a { min-width:118px; }
  .stage-sanity,.stage-gate { padding:18px 14px; }
  .workbook-stage { margin:52px 0; }
  pre,table { max-width:100%; overflow-x:auto; }
}
@media print { .assignment-primary-nav,.workbook-side-nav { display:none!important; } }
