/* Pandas, Clearly: a quiet, readable classroom interface. */
:root{--paper:#fff;--page:#f7f9f8;--soft:#f0f5f3;--code:#edf3f2;--ink:#20343b;--muted:#536770;--line:#d6e2df;--brand:#086957;--brand-dark:#075344;--selected:#e5f3ed;--warning:#805517;--warning-bg:#fbf5e8;--error:#9a3428;--error-bg:#fff2ed;--success:#175a43;--focus:#986818;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--radius:9px;--header-height:88px;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--page);color:var(--ink);font:16px/1.65 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-text-size-adjust:100%}body,button,input,textarea,select{font-feature-settings:"ss01" 1}button,input,textarea,select{font:inherit}button,a,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:var(--brand);text-underline-offset:3px}a:hover{text-decoration-thickness:2px}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex="-1"]:focus-visible{outline:3px solid var(--focus);outline-offset:4px}button,input,select,textarea{max-width:100%}[hidden],.hidden{display:none!important}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-80px;left:16px;z-index:100;background:var(--brand);color:white;padding:12px 18px;border-radius:5px}.skip-link:focus{top:10px}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:88px;padding:17px max(24px,calc((100vw - 1480px)/2));background:var(--paper);border-bottom:1px solid var(--line)}.brand{color:var(--brand);text-decoration:none;min-width:180px}.brand-title{font-size:25px;line-height:1.2;font-weight:650;letter-spacing:-.8px;display:block}.brand-subtitle{display:block;font-size:12px;line-height:1.5;color:var(--muted);margin-top:4px;letter-spacing:.01em}.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:13px;flex-wrap:wrap}.header-links{display:flex;gap:18px;align-items:center;font-size:13px}.header-links a{text-decoration:none;color:var(--muted)}.header-links a:hover,.header-links a[aria-current]{color:var(--brand)}.view-switch,.mode-switch{display:flex;gap:3px;padding:4px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}[data-view].button,[data-view].mode-button,.view-switch button,.mode-switch button{border-color:transparent;box-shadow:none;font-size:12px;padding:7px 11px;background:transparent;color:var(--muted)}[data-view][aria-pressed="true"]{background:var(--brand)!important;color:white!important;border-color:var(--brand)!important}.course-shell{display:grid;grid-template-columns:250px minmax(0,1fr);max-width:1480px;margin:0 auto;align-items:start;min-height:calc(100vh - 88px)}.course-sidebar{position:sticky;top:88px;max-height:calc(100vh - 88px);overflow:auto;background:var(--soft);padding:26px 18px 30px;border-right:1px solid var(--line);scrollbar-width:thin;min-width:0}.sidebar-label,.nav-section-title{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:650;margin:23px 9px 10px}.sidebar-label:first-child{margin-top:0}.sidebar-nav,.module-list{list-style:none;margin:0;padding:0}.module-link{display:flex;gap:9px;align-items:baseline;color:var(--muted);text-decoration:none;padding:9px 10px;border-radius:6px;font-size:12px;line-height:1.5;margin:3px 0;min-width:0}.module-link:hover{background:#e7eeeb;color:var(--brand)}.module-link[aria-current],.module-link.active{background:var(--selected);color:var(--brand);font-weight:650}.module-number{font:10px var(--mono);flex:0 0 20px;opacity:.85}.sidebar-note{font-size:12px;color:var(--muted);margin:24px 9px 0;padding-top:17px;border-top:1px solid var(--line)}.sidebar-note p{margin:7px 0}.course-main{min-width:0;padding:36px 42px 70px;max-width:1140px;width:100%;margin:0 auto}.course-main.wide{max-width:none}.eyebrow,.cell-kicker{font-size:11px;font-weight:650;letter-spacing:.1em;text-transform:uppercase;color:var(--brand);margin:0 0 10px}.page-title,h1{font-size:clamp(30px,3.8vw,46px);font-weight:650;letter-spacing:-1.4px;line-height:1.16;margin:10px 0 17px}.lead{font-size:18px;line-height:1.65;color:var(--muted);max-width:760px;margin:0 0 22px}h2{font-size:27px;font-weight:650;letter-spacing:-.6px;line-height:1.3;margin:30px 0 13px}h3{font-size:18px;font-weight:650;line-height:1.4;margin:22px 0 10px}h4{font-size:15px;line-height:1.45;margin:18px 0 8px}p{margin:10px 0 17px}li{margin:6px 0}ul,ol{padding-left:23px}strong{font-weight:650}.muted,.small-note,.caption{color:var(--muted)}.small-note,.caption{font-size:12px;line-height:1.6}.hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(190px,.6fr);gap:35px;align-items:center;padding:10px 0 27px}.hero h1{font-size:clamp(36px,4.5vw,57px);line-height:1.1;letter-spacing:-1.8px}.hero-aside{padding:21px 24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}.hero-aside h3{margin-top:0}.metric{padding:12px 0}.metric+.metric{border-top:1px solid var(--line)}.metric strong,.metric b{display:block;font-size:30px;line-height:1.2;font-weight:650;letter-spacing:-1px}.metric span{font-size:12px;color:var(--muted)}.card-grid,.module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin:21px 0}.card,.panel,.module-card{padding:23px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);min-width:0}.panel h2:first-child,.panel h3:first-child,.card h3:first-child{margin-top:0}.card p,.module-card p{font-size:14px;color:var(--muted)}.module-card{display:block;text-decoration:none;color:var(--ink);transition:border-color .15s,background .15s}.module-card:hover{border-color:#8aaea0;background:#fcfefd}.module-card h3{margin:7px 0 9px;color:var(--ink)}.module-card .module-number{color:var(--brand);font-size:11px}.module-card .level,.level,.tag{font-size:11px;color:var(--brand);background:var(--selected);padding:4px 8px;border-radius:4px;display:inline-block;line-height:1.5}.notice{padding:14px 18px;border-left:3px solid var(--brand);background:var(--selected);font-size:14px;margin:22px 0;border-radius:0 6px 6px 0}.notice.warning,.notice.warm{background:var(--warning-bg);border-color:#b58a39;color:#614615}.notice.success{background:var(--selected);color:var(--success)}.button,button{display:inline-flex;justify-content:center;align-items:center;gap:7px;border:1px solid #becfca;border-radius:6px;padding:9px 13px;background:var(--paper);color:var(--ink);font-size:13px;font-weight:560;line-height:1.5;text-decoration:none;white-space:normal}.button:hover,button:hover{background:var(--soft);border-color:#8ca99e}.button.primary,button.primary,[data-action="run-example"],[data-action="run-practice"]{background:var(--brand);border-color:var(--brand);color:white}.button.primary:hover,button.primary:hover,[data-action="run-example"]:hover,[data-action="run-practice"]:hover{background:var(--brand-dark)}.button.secondary{background:var(--paper);color:var(--brand)}.button.small,button.small{font-size:12px;padding:6px 10px}.button-row,.cell-actions,.practice-actions,.utility-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:13px 0}.utility-actions{margin-top:18px}.utility-actions button{font-size:11px;padding:6px 9px;background:transparent}.button svg,button svg{width:16px;height:16px;flex:none}.module-heading{margin-bottom:24px}.module-heading h1{font-size:36px}.module-meta{display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--muted)}.prerequisite{font-size:13px;color:var(--muted);margin:12px 0 22px}.lesson-cell{scroll-margin-top:110px;border:1px solid var(--line);border-radius:10px;padding:28px;background:var(--paper);margin:27px 0 35px;min-width:0;box-shadow:0 2px 7px #20343b03}.cell-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.lesson-cell h2,.cell-heading h2{font-size:27px;margin:6px 0 13px;letter-spacing:-.6px}.cell-explanation{font-size:15px;color:var(--muted);max-width:850px}.cell-number{font:11px var(--mono);color:var(--brand);white-space:nowrap}.example-label,.section-label{font-size:11px;font-weight:650;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:22px 0 8px}code,kbd{font-family:var(--mono);font-size:.88em;color:var(--brand-dark);background:var(--code);padding:2px 4px;border-radius:3px;overflow-wrap:anywhere}pre{font:13px/1.8 var(--mono);background:var(--code);color:var(--ink);padding:18px;margin:15px 0;border:1px solid #dce6e1;border-radius:7px;white-space:pre;overflow:auto;tab-size:4;max-width:100%}pre code{font:inherit;background:none;color:inherit;padding:0;border:0;border-radius:0;overflow-wrap:normal}.example-code{background:#ecf3f1;border-color:#d6e4de}.code-label{font:10px var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.syntax-keyword{color:#006653;font-weight:650}.syntax-string{color:#75501d}.syntax-comment{color:#516c65}.questions{display:grid;gap:17px;margin:24px 0}.question{min-width:0}.question label,.question-label{display:block;margin:0 0 8px;font-size:14px;font-weight:560;line-height:1.6}.question-tag{display:inline-block;font:10px var(--mono);text-transform:uppercase;color:var(--brand);border:1px solid #aec8bc;padding:2px 6px;margin-right:8px;border-radius:3px;vertical-align:1px}.question-answer,.practice-code{display:block;width:100%;min-width:0;resize:vertical;border:1px solid #bbcec4;border-radius:6px;padding:12px;background:#fbfdfb;color:var(--ink);font-size:14px;line-height:1.6;min-height:76px}.question-answer::placeholder,.practice-code::placeholder{color:#61736b}.question-answer:focus,.practice-code:focus{border-color:var(--brand);background:white}.practice-area{border:1px solid #c4d7ca;background:#f5f9f4;padding:20px;border-radius:8px;margin:23px 0}.practice-area h3{font-size:18px;margin-top:0}.practice-area p{font-size:14px}.practice-code{font:12px/1.8 var(--mono);min-height:200px;white-space:pre;overflow:auto;tab-size:4;background:white;overflow-wrap:normal}.practice-area label{display:block;color:var(--muted);font-size:12px;margin:9px 0 7px}.practice-feedback,.concept-feedback{font-size:13px;line-height:1.7;padding:0;margin:10px 0;overflow-wrap:anywhere}.practice-feedback[data-state="pass"],.concept-feedback[data-state="pass"]{background:var(--selected);color:var(--success);padding:12px 14px;border-radius:6px}.practice-feedback[data-state="fail"],.concept-feedback[data-state="fail"]{background:var(--warning-bg);color:#6e4c19;padding:12px 14px;border-radius:6px}.practice-feedback[data-state="error"]{background:var(--error-bg);color:var(--error);padding:12px 14px;border-radius:6px}.run-output{min-width:0;margin:16px 0;overflow-wrap:anywhere}.run-output:empty{display:none}.output-title{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:11px 14px;border:1px solid var(--line);border-bottom:0;border-radius:7px 7px 0 0;background:#f4f7f5;font-size:12px;color:var(--muted)}.output-title strong{color:var(--ink);font-size:13px}.run-output pre{margin:0 0 10px;border-radius:0 0 6px 6px;background:#fbfcf9;border-color:var(--line);font-size:12px;line-height:1.7;max-height:420px}.run-output .error-output{background:#fff8f4;color:#792f23}.run-output .stderr-output{background:#fffbef;color:#674c1c}.run-output .empty-output{padding:12px 14px;border:1px solid var(--line);background:#fbfcf9;font-size:13px;margin:0 0 10px}.run-figure{margin:16px 0;padding:12px;border:1px solid var(--line);border-radius:7px;background:white}.run-figure img{display:block;max-width:100%;height:auto;margin:0 auto}.run-figure figcaption{font-size:12px;color:var(--muted);margin:8px 0 0;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}.output-files{background:var(--soft);border:1px solid var(--line);border-radius:7px;padding:15px 17px;margin:15px 0;font-size:13px}.output-files h4{margin:0 0 10px}.output-files ul{margin:0;padding-left:19px}.runtime-note,.runtime-status,[data-runtime-status]{font-size:12px;color:var(--muted);line-height:1.6}.runtime-status[data-state="busy"],[data-runtime-status][data-state="busy"]{color:var(--brand)}.runtime-status[data-state="error"],[data-runtime-status][data-state="error"]{color:var(--error)}.runtime-panel{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border:1px solid var(--line);border-radius:7px;padding:12px 15px;background:var(--paper);margin:18px 0}.runtime-panel p{margin:0;flex:1;font-size:12px}.runtime-fallback{background:var(--warning-bg);padding:14px 16px;border-left:3px solid #b2893f;margin:14px 0;font-size:13px}.busy-indicator{width:13px;height:13px;border:2px solid #afcfc1;border-top-color:var(--brand);border-radius:50%;display:inline-block;animation:spin 1s linear infinite;vertical-align:-2px;margin-right:8px}@keyframes spin{to{transform:rotate(360deg)}}details{border:1px solid var(--line);border-radius:7px;margin:14px 0;overflow:hidden;background:var(--paper)}summary{padding:12px 15px;font-size:13px;font-weight:600;cursor:pointer;color:var(--brand);background:#f8fbf8;line-height:1.6}summary:hover{background:var(--selected)}details[open]>summary{border-bottom:1px solid var(--line)}details>.details-body,details>.inside{padding:17px}details>p,details>pre,details>ol,details>ul,details>.table-scroll{margin:15px}details.hint{margin:15px 0 0;background:white}details.hint summary{background:white}.solution h3{font-size:16px}.takeaway{font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:17px;margin:22px 0 0}.watch{font-size:13px;color:#6c511f;padding:13px 0 0;border-top:1px solid #e6dfcf;margin:20px 0 0}.confidence{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:22px 0 5px;font-size:13px}.confidence select,[data-confidence]{font-size:12px;padding:8px;border:1px solid #bbcec4;border-radius:5px;background:white;color:var(--ink)}.concept-check,.quick-check{border:1px solid var(--line);background:#f5f8f5;padding:20px;border-radius:7px;margin:23px 0}.concept-check h3,.quick-check h3{margin-top:0;font-size:17px}.check-options{display:grid;gap:8px}.check-options button,[data-check-option]{display:flex;width:100%;justify-content:flex-start;text-align:left;background:white;font-size:13px}.check-options [aria-pressed="true"],[data-check-option][aria-pressed="true"]{border-color:var(--brand);background:var(--selected)}.table-scroll{overflow:auto;max-width:100%;margin:15px 0;border:1px solid var(--line);border-radius:6px}table{border-collapse:collapse;width:100%;font-size:13px;font-variant-numeric:tabular-nums}th,td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;line-height:1.5}th{background:var(--soft);color:#3d575c;font-weight:600}tr:last-child td{border-bottom:0}.numeric{text-align:right}.visual-workspace{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:24px}.lesson-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:30px 0}.lesson-nav a{max-width:46%;font-size:13px}.lesson-nav .next{text-align:right}.page-footer{margin-top:42px;border-top:1px solid var(--line);padding:21px 0 5px;font-size:12px;line-height:1.8;color:var(--muted)}.page-footer strong{color:var(--ink)}.footer-links{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px;font-size:11px}.search-wrap{position:relative;margin:15px 0 22px}#course-search{width:100%;min-width:0;padding:10px 12px;border:1px solid #b8cec2;border-radius:6px;background:white;color:var(--ink);font-size:13px}#search-results{position:absolute;top:calc(100% + 6px);left:0;width:min(600px,calc(100vw - 38px));max-height:65vh;overflow:auto;z-index:45;background:white;border:1px solid #a8c4b7;border-radius:7px;box-shadow:0 10px 35px #18352a20;padding:6px}.search-result{display:block;padding:11px 12px;border-radius:5px;text-decoration:none;color:var(--ink);font-size:13px}.search-result:hover,.search-result:focus{background:var(--selected)}.search-result strong{display:block;color:var(--brand)}.search-result span{display:block;font-size:11px;color:var(--muted);margin-top:3px}.search-empty{padding:13px;font-size:13px;color:var(--muted)}.toast{position:fixed;bottom:20px;right:22px;max-width:430px;z-index:80;border:1px solid #3c6f5f;background:#173e35;color:white;padding:12px 17px;border-radius:7px;font-size:13px;line-height:1.6;box-shadow:0 5px 20px #18352a15}.reference-only{display:none}body[data-view="reference"] .learn-only,body[data-view="reference"] .questions,body[data-view="reference"] .practice-area,body[data-view="reference"] .concept-check,body[data-view="reference"] .quick-check,body[data-view="reference"] .confidence{display:none}body[data-view="reference"] .reference-only{display:block}body[data-view="reference"] .lesson-cell{padding:22px;margin:20px 0}body[data-view="reference"] .cell-explanation{font-size:14px}body[data-view="reference"] .lesson-cell h2{font-size:23px}[data-action="toggle-menu"]{display:none}.no-js-note{font-size:13px;background:var(--warning-bg);padding:12px 16px;border-left:3px solid #b2893f}.js .no-js-only{display:none}.progress-summary{font-size:12px;color:var(--muted);line-height:1.7}.rule{border:0;border-top:1px solid var(--line);margin:28px 0}.breadcrumb{font-size:12px;color:var(--muted);margin-bottom:17px}.breadcrumb a{color:var(--muted)}
@media(min-width:1650px){.course-main{padding-top:45px}.lesson-cell{padding:32px}}
@media(max-width:1150px){.course-shell{grid-template-columns:220px minmax(0,1fr)}.course-main{padding:28px 26px 60px}.course-sidebar{padding:21px 13px}.header-links{gap:12px}.site-header{padding:15px 23px}.hero{grid-template-columns:minmax(0,1.4fr) minmax(170px,.7fr);gap:23px}.hero h1{font-size:43px}.header-actions{gap:9px}}
@media(max-width:900px){.site-header{position:static;gap:15px;align-items:flex-start;flex-wrap:wrap;padding:17px 20px}.header-actions{justify-content:flex-start;gap:9px}.header-links{font-size:12px}.course-shell{display:block}.course-sidebar{position:static;max-height:none;border-right:0;border-bottom:1px solid var(--line);padding:18px 20px}.js .course-sidebar{display:none}.js.menu-open .course-sidebar{display:block}.course-sidebar .sidebar-nav,.course-sidebar .module-list{columns:2;column-gap:15px}.course-sidebar li{break-inside:avoid}.course-main{padding:28px 24px 55px;max-width:980px}.module-link{font-size:13px}.sidebar-note{margin-top:15px}[data-action="toggle-menu"]{display:inline-flex}.hero{grid-template-columns:minmax(0,1fr) minmax(170px,.5fr)}#search-results{width:min(580px,calc(100vw - 46px))}html{scroll-padding-top:20px}.lesson-cell{scroll-margin-top:24px}.visual-workspace{grid-template-columns:1fr}}
@media(max-width:620px){body{font-size:15px}.site-header{padding:17px 18px;gap:15px}.brand-title{font-size:24px}.brand-subtitle{font-size:11px}.header-actions{width:100%;gap:9px;justify-content:space-between}.header-links{order:3;flex-basis:100%;gap:17px}.view-switch button,.mode-switch button,[data-view].button{font-size:12px;padding:7px 9px}.course-main{padding:24px 17px 50px}.course-sidebar .sidebar-nav,.course-sidebar .module-list{columns:1}.hero{grid-template-columns:1fr;padding:0 0 13px;gap:20px}.hero h1{font-size:40px}.hero-aside{display:flex;gap:18px;padding:16px;flex-wrap:wrap}.hero-aside h3{width:100%}.metric{padding:0;flex:1;min-width:100px}.metric+.metric{border:0}.metric strong,.metric b{font-size:26px}.lead{font-size:16px}.page-title,h1{font-size:33px;letter-spacing:-1px}.module-heading h1{font-size:31px}.card-grid,.module-grid{grid-template-columns:1fr;gap:13px}.panel,.card,.module-card{padding:19px}.lesson-cell{padding:19px 16px;margin:24px 0;border-radius:8px}.lesson-cell h2,.cell-heading h2{font-size:24px}.cell-heading{display:block}.cell-explanation{font-size:14px}.cell-kicker{font-size:10px;line-height:1.7}.cell-actions,.practice-actions{gap:7px}.cell-actions button,.practice-actions button{font-size:12px;padding:8px 10px}.cell-actions [data-action="run-example"],.practice-actions [data-action="run-practice"]{flex:1}.practice-area{padding:16px 13px}.practice-code{font-size:12px;min-height:180px}.question-answer{font-size:15px;min-height:84px}.question label,.question-label{font-size:14px}.question-tag{display:inline-block;margin-bottom:5px}.concept-check,.quick-check{padding:17px 13px}pre{font-size:12px;padding:14px;line-height:1.8}th,td{padding:9px 10px;font-size:12px}.confidence{display:block}.confidence label{display:block;margin-bottom:9px}.confidence select{font-size:14px}.runtime-panel{padding:12px}.runtime-panel p{flex-basis:100%}.run-figure{padding:6px}.run-figure figcaption{padding:6px}.output-title{padding:9px 11px}.output-title strong{font-size:12px}.lesson-nav{gap:11px}.lesson-nav a{font-size:12px}.toast{left:15px;right:15px;bottom:15px;max-width:none}.page-footer{font-size:11px}.notice{font-size:13px;padding:13px 15px}summary{padding:11px 13px}h2{font-size:25px}.search-wrap{margin-bottom:12px}.header-actions .button{font-size:12px}}
@media(pointer:coarse){button,.button,summary,select{min-height:44px}.check-options button,[data-check-option]{min-height:48px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition:none!important}.busy-indicator{animation:none;border-color:var(--brand)}}
@media print{body{background:white;color:#111;font:11pt/1.5 Arial,sans-serif}.site-header,.course-sidebar,.header-actions,.cell-actions,.practice-actions,.utility-actions,.runtime-panel,.toast,.search-wrap,.lesson-nav,.button-row,.skip-link,[data-action]{display:none!important}.course-shell{display:block;max-width:none}.course-main{max-width:none;padding:0}.lesson-cell{border:0;border-top:1px solid #bbb;border-radius:0;box-shadow:none;padding:18px 0;break-before:page}.lesson-cell:first-of-type{break-before:auto}.lesson-cell h2{font-size:17pt}.page-title,h1{font-size:23pt}.page-footer{font-size:9pt}.question-answer,.practice-code{border:1px solid #bbb;background:white;color:black;font-size:9pt;resize:none;min-height:60px}.question,.run-figure,.notice{break-inside:avoid}pre{white-space:pre-wrap;overflow-wrap:anywhere;overflow:visible;font-size:8.5pt;background:#f5f5f5;color:black;border-color:#bbb}.run-output pre{max-height:none}.card-grid,.module-grid,.hero{display:block}.panel,.card{margin:14px 0;break-inside:avoid}.run-figure img{max-height:360px;object-fit:contain}.reference-only{display:none}.learn-only,.questions,.practice-area,.concept-check,.confidence{display:block!important}a{color:#111}details{border-color:#bbb}details.solution:not([open]){display:none}.table-scroll{overflow:visible}table{font-size:9pt}.run-output{break-inside:avoid}.no-print{display:none!important}}

/* Hooks shared with the static page generator. */
.header-nav{display:flex;align-items:center;gap:24px;margin-left:auto;font-size:13px;flex-wrap:wrap}
.header-nav a{color:var(--muted);text-decoration:none;padding:6px 0}
.header-nav a:hover,.header-nav a[aria-current]{color:var(--brand);text-decoration:underline}
.sidebar-group h2{font-size:10px;line-height:1.5;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-weight:650;margin:24px 9px 10px}
.sidebar-search{position:relative;margin:0 0 24px}
.sidebar-search>label{display:block;font-size:11px;line-height:1.6;font-weight:600;color:var(--muted);margin-bottom:8px}
.sidebar-search #search-results{position:static;width:100%;max-height:400px;margin-top:8px;box-shadow:0 3px 12px #18352a10}
.sidebar-search .search-result{padding:10px 8px;font-size:12px;overflow-wrap:anywhere}
.sidebar-tools{margin-top:25px;padding:17px 9px 0;border-top:1px solid var(--line);font-size:12px;line-height:1.7;color:var(--muted)}
.sidebar-tools .button-row{gap:7px}.sidebar-tools .button{font-size:11px;padding:6px 9px}
.small-print{font-size:12px;line-height:1.7;color:var(--muted)}
.author-signature strong,.author-signature span{display:block}
.author-signature{font-size:12px;line-height:1.8;color:var(--muted);overflow-wrap:anywhere}
.author-signature strong{color:var(--ink);font-weight:650}
.hero{display:block;padding:8px 0 28px}
.hero h1{max-width:850px;margin:16px 0 22px}
.hero .lead{max-width:730px}
.hero>.button-row{margin:25px 0}
.hero-author{margin-top:28px;padding:2px 0 2px 17px;border-left:3px solid #9ebcae}
.course-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin:0 0 32px}
.course-facts>span{font-size:12px;color:var(--muted);line-height:1.6;padding:0 18px;border-left:1px solid var(--line)}
.course-facts>span:first-child{padding-left:0;border-left:0}
.course-facts strong{display:block;font-size:27px;letter-spacing:-.7px;line-height:1.3;color:var(--brand);margin-bottom:4px}
.module-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;margin:0 0 18px}
.module-toolbar .button-row{margin:0}
.runtime-note{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px 18px;background:var(--paper);border:1px solid var(--line);padding:14px 17px;border-radius:7px;margin:0 0 20px}
.runtime-note>.small-print{grid-column:1/-1;margin:0}
.cell-toc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 12px;margin:24px 0 28px}
.cell-toc a{padding:10px 13px;background:var(--soft);border:1px solid var(--line);border-radius:6px;font-size:12px;line-height:1.6;text-decoration:none;color:var(--brand)}
.cell-toc a:hover{border-color:#8ca99e;background:var(--selected)}
.cell-heading{display:block}.cell-heading .cell-kicker{margin-bottom:7px}
.cell-heading h2{max-width:850px}.editor-label{font-size:12px;font-weight:600}
.concept-options{display:grid;gap:8px}
.output-plot{display:block;max-width:calc(100% - 30px);height:auto;margin:15px auto}
.example-feedback{font-size:13px;line-height:1.7;margin:10px 0;overflow-wrap:anywhere}
.example-feedback[data-state="pass"]{background:var(--selected);color:var(--success);padding:12px 14px;border-radius:6px}
.example-feedback[data-state="fail"]{background:var(--warning-bg);color:#6e4c19;padding:12px 14px;border-radius:6px}
.example-feedback[data-state="error"]{background:var(--error-bg);color:var(--error);padding:12px 14px;border-radius:6px}
.practice-feedback:empty,.example-feedback:empty,.concept-feedback:empty{display:none}
@media(max-width:1150px){.header-nav{gap:18px}.course-facts>span{padding:0 12px}}
@media(max-width:900px){.header-nav{margin-left:auto;gap:17px;font-size:12px}.header-actions{flex-basis:100%}.sidebar-group{break-inside:avoid}.course-sidebar>nav{columns:2;column-gap:24px}.sidebar-group h2{margin-top:18px}.sidebar-search{max-width:600px}.sidebar-search #search-results{max-height:320px}.hero{padding-top:0}}
@media(max-width:620px){.header-nav{order:2;margin-left:0;width:100%;gap:22px}.header-actions{order:3;width:auto;flex-basis:auto}.site-header{gap:12px}.hero h1{font-size:39px}.hero-author{padding-left:14px;margin-top:24px}.course-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 0;padding:16px 0}.course-facts>span{padding:0 16px}.course-facts>span:nth-child(odd){padding-left:0;border-left:0}.course-facts strong{font-size:25px}.module-toolbar{align-items:flex-start;gap:14px}.runtime-note{padding:12px 13px;gap:10px}.cell-toc{grid-template-columns:1fr;gap:8px}.course-sidebar>nav{columns:1}.sidebar-tools{padding-left:0;padding-right:0}.author-signature{font-size:11px}.hero .author-signature{font-size:12px}.example-feedback{font-size:12px}.output-plot{max-width:calc(100% - 16px);margin:8px auto}}
@media print{.module-toolbar,.runtime-note,.cell-toc{display:none!important}.course-facts{display:flex;gap:20px}.course-facts>span{border:0;padding:0}.course-facts strong{font-size:15pt}.output-plot{max-width:100%;max-height:360px;object-fit:contain}.author-signature{font-size:9pt}.hero{padding:0}.hero h1{font-size:25pt}}
.confidence-label{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:22px;font-size:12px;font-weight:600;color:var(--muted);line-height:1.6}
.confidence-label select{font-weight:400;font-size:12px;background:white;color:var(--ink);max-width:100%;min-width:200px}
@media(max-width:620px){.confidence-label{display:block;margin-top:18px}.confidence-label select{display:block;width:100%;font-size:14px;margin-top:9px}}
@media print{.confidence-label{display:block!important;font-size:9pt}.confidence-label select{display:block;border:1px solid #bbb;margin-top:6px}}
