/* © 2026 Jared Cluff. Static, keyboard-friendly course handouts. */
.document:has(.handout-layout){max-width:1240px}.handout-layout{display:grid;grid-template-columns:minmax(0,1fr) 235px;gap:48px}.handout-body{min-width:0}.session-guide{padding:24px;background:#e7eee4;border:1px solid #cbd9c9;border-radius:16px;margin:24px 0 34px}.session-kicker{font:750 11px/1.6 system-ui;letter-spacing:.08em;color:#315d4b;text-transform:uppercase;margin:0}.session-purpose{font-size:23px;line-height:1.4;letter-spacing:-.4px;margin:16px 0 24px}.session-overview{display:grid;grid-template-columns:1.1fr 1fr;gap:24px;font-size:14px}.session-overview p{margin-top:6px}.session-overview strong{font-size:12px;text-transform:uppercase;letter-spacing:.04em}.session-actions{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;margin:20px 0;font-size:14px;font-weight:650}.session-guide .session-actions a:first-child{display:inline-block;background:#126b62;color:#fff;padding:11px 16px;border-radius:8px;text-decoration:none}.session-guide details{border-top:1px solid #c3d2c4;padding:14px 0}.session-guide details:last-child{padding-bottom:0}.session-guide summary,.handout-sidebar summary{cursor:pointer;font-weight:700;font-size:14px;min-height:28px}.session-guide details p{font-size:15px}.session-small{font-size:13px!important;color:#53645c}.handout-sidebar{align-self:start;position:sticky;top:20px;padding:20px 0;margin-top:30px;max-height:calc(100vh - 40px);overflow:auto;font-size:13px;border-top:3px solid #126b62}.handout-sidebar ol{list-style:none;padding:0}.handout-sidebar li{margin:0}.handout-sidebar a{display:block;padding:7px 4px;line-height:1.5}.handout-sidebar a:hover{background:#e4eee7}.session-finish{border:1px solid var(--line);border-radius:14px;padding:24px;background:white;margin-top:36px}.session-finish h2{margin:0}.handout-body :is(h1,h2,h3){scroll-margin-top:24px}.handout-body :is(summary,a):focus-visible,.handout-sidebar :focus-visible{outline:3px solid #bb5a24;outline-offset:4px}@media(max-width:950px){.handout-layout{grid-template-columns:minmax(0,1fr);gap:12px}.handout-sidebar{position:static;grid-row:1;margin-top:20px;max-height:none;padding:12px 0}.handout-sidebar nav details:not([open]){margin:0}.handout-sidebar ol{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.handout-sidebar>p{display:none}.session-overview{grid-template-columns:1fr;gap:8px}}@media(max-width:560px){.session-guide,.session-finish{padding:20px}.session-purpose{font-size:21px}.handout-sidebar ol{grid-template-columns:1fr}.handout-sidebar nav details[open] ol{max-height:220px;overflow:auto}}@media print{.handout-layout{display:block}.handout-sidebar,.session-actions{display:none}.session-guide,.session-finish{background:white}.session-guide details{display:block}.session-guide details>p{display:block!important}}
.handout-mobile-nav{display:none}@media(max-width:950px){.handout-layout>.handout-sidebar{display:none}.handout-mobile-nav{display:block;border-block:1px solid var(--line);padding:12px 0;margin:20px 0}.handout-mobile-nav summary{cursor:pointer;font-size:14px;font-weight:700}.handout-mobile-nav li{margin:8px 0}.handout-mobile-nav a{display:inline-block;padding:4px 0}}@media print{.handout-mobile-nav{display:none!important}}
/* Always-visible support route; no JavaScript or account required. */
.lab-help{margin:1.2rem 0;padding:1.1rem 1.3rem;border:2px solid #126b62;border-radius:14px;background:#edf7f2;color:#173037}
.lab-help p{margin:.35rem 0 .7rem}
.lab-help a{display:inline-block;font-weight:700;min-height:44px;padding:.5rem 0;color:#07594f}
.lab-help a:focus-visible{outline:3px solid #b74816;outline-offset:4px}
/* Prominent resources are visible before the first instruction, on every screen size. */
.lab-resources{margin:24px 0;padding:26px;background:#fff7e7;border:2px solid #b86b12;border-radius:16px;box-shadow:0 5px 0 #f0d8b0}.lab-resources h2{margin:4px 0 10px;font-size:28px;color:#173037}.resource-eyebrow{margin:0;font-size:12px;font-weight:800;letter-spacing:.1em;color:#704309}.resource-cards{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;counter-reset:none}.resource-cards li{margin:0;min-width:0}.resource-cards a{display:flex;align-items:flex-start;gap:12px;min-height:115px;height:100%;padding:16px;background:#fff;border:1px solid #d5b77f;border-radius:10px;color:#07594f;text-decoration:none}.resource-cards a:hover{background:#eaf5ef;border-color:#126b62}.resource-cards a>span:nth-child(2){min-width:0;flex:1}.resource-cards strong{display:block;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere;font-size:17px}.resource-cards small{display:block;font-size:13px;line-height:1.5;color:#495b54;margin:6px 0}.resource-cards code{font-size:11px;overflow-wrap:anywhere}.resource-number{display:grid;place-items:center;flex:0 0 26px;height:26px;border-radius:50%;background:#126b62;color:white;font-weight:750}.resource-hint{font-size:13px;color:#554323}.course-file-link{text-decoration:underline!important;text-underline-offset:3px;font-weight:650;color:#07594f;overflow-wrap:anywhere}.course-file-link:hover{background:#fff0c7}.course-file-link:focus-visible,.resource-cards a:focus-visible{outline:3px solid #984b08;outline-offset:4px}@media(max-width:640px){.resource-cards{grid-template-columns:1fr}.lab-resources{padding:18px}.resource-cards a{min-height:100px}}@media print{.lab-resources{background:white;box-shadow:none;break-inside:avoid}.resource-cards a{min-height:0;padding:8px}}
