:root{--student-nav-height:48px}
body.student-shell{padding-top:var(--student-nav-height);box-sizing:border-box}
.student-shell .ds-sitebar,.student-shell .ds-global-nav{display:none!important}
#studentNav,#studentNav *,#thinkingDialog,#thinkingDialog *{box-sizing:border-box}
#studentNav{position:fixed;inset:0 0 auto;height:var(--student-nav-height);z-index:900;display:flex;align-items:center;gap:18px;padding:0 20px;background:#203b36;color:#f4f4e9;border-bottom:1px solid #3c554b;font:600 13px/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:0;text-transform:none}
#studentNav a{color:inherit;text-decoration:none;border:0;border-radius:0;box-shadow:none;background:none;white-space:nowrap;letter-spacing:0;text-transform:none}
#studentNav .student-home{flex:none;font-weight:850;font-size:14px}#studentNav .student-mobile-home{display:none}
#studentNav .student-links{display:flex;align-items:stretch;align-self:stretch;gap:3px;overflow:auto;scrollbar-width:none;min-width:0;flex:1}#studentNav .student-links::-webkit-scrollbar{display:none}
#studentNav .student-links a{display:flex;align-items:center;padding:0 12px;border-bottom:3px solid transparent;border-top:3px solid transparent;font-size:12px;color:#d0ddd3}#studentNav .student-links a:hover{background:#2b4940;color:white}#studentNav .student-links a[aria-current]{color:#fff;border-bottom-color:#c8df9f}
#studentNav button{all:unset;box-sizing:border-box;cursor:pointer;flex:none;padding:7px 12px;border:1px solid #6a8575;border-radius:7px;color:#eff6e7;font:650 12px/1.3 system-ui,sans-serif;white-space:nowrap}#studentNav button:hover{background:#38564a}#studentNav button span{margin-left:6px;color:#c8df9f}
#studentNav a:focus-visible,#studentNav button:focus-visible{outline:2px solid #e9dca7;outline-offset:-3px}
#thinkingDialog{position:fixed;inset:0;width:min(580px,calc(100% - 24px));max-height:calc(100dvh - 32px);margin:auto;padding:24px;border:1px solid #c5cfbd;border-radius:16px;background:#fffdf6;color:#213c35;box-shadow:0 24px 90px #10221b55;font:14px/1.5 system-ui,sans-serif;overflow:auto;text-align:left;letter-spacing:0}
#thinkingDialog::backdrop{background:#142c246b;backdrop-filter:blur(3px)}
#thinkingDialog .thinking-heading{display:flex;align-items:start;justify-content:space-between;gap:20px}#thinkingDialog .thinking-heading p{margin:0 0 4px;color:#697b65;font-size:10px;font-weight:800;letter-spacing:.08em}#thinkingDialog h2{font-size:27px;line-height:1.2;margin:0;font-weight:750;color:inherit;font-family:inherit}#thinkingDialog #closeThinking{font-size:26px;padding:0 8px;border:0;background:none;color:#557260;cursor:pointer}
#thinkingDialog #thinkingActivity{margin:12px 0 20px;font-size:13px;color:#627162}#thinkingDialog .thinking-fields{display:grid;gap:20px}#thinkingDialog section{margin:0;padding:0;border:0;background:none}#thinkingDialog h3{display:flex;gap:10px;align-items:center;margin:0 0 7px;font:750 15px/1.3 system-ui,sans-serif;color:inherit}#thinkingDialog h3 span{font:600 11px ui-monospace,monospace;color:#788c6c}#thinkingDialog label{display:block;font-size:13px;font-weight:500;margin-bottom:7px}#thinkingDialog textarea{display:block;width:100%;border:1px solid #bdcbbb;border-radius:8px;padding:10px;font:14px/1.5 system-ui,sans-serif;resize:vertical;background:#f8f9ef;color:#213c35;min-height:70px}#thinkingDialog textarea:focus{outline:2px solid #557a55;outline-offset:2px}#thinkingDialog footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px;padding:14px 0 0;border-top:1px solid #dce1ce;background:none}#thinkingDialog #thinkingStatus{font-size:11px;color:#64735d}#thinkingDialog #downloadThinking{border:1px solid #b9c9b1;border-radius:6px;padding:8px 10px;background:#eaf0dc;color:#34543a;font:650 12px system-ui,sans-serif;cursor:pointer;flex:none}
/* Each full-screen learning app reserves room for the shared bar. Iframes opt out. */
.student-shell[data-student-layout="reference"] .reference-shell{height:calc(100dvh - 64px - var(--student-nav-height))}
.student-shell[data-student-layout="runtime"]>.app{height:calc(100dvh - var(--student-nav-height))}
.student-shell[data-student-layout="trace"] .lesson-shell{height:calc(100dvh - 114px - var(--student-nav-height))}
.student-shell .lesson-path{scroll-margin-top:var(--student-nav-height);justify-content:flex-start}
@media(max-width:1250px){.student-shell[data-student-layout="reference"] .reference-nav,.student-shell[data-student-layout="reference"] .nav-overlay{top:calc(64px + var(--student-nav-height))}}
@media(max-height:720px) and (min-width:1001px){.student-shell[data-student-layout="trace"] .lesson-shell{height:calc(100dvh - 104px - var(--student-nav-height))}}
@media(max-width:1000px){.student-shell[data-student-layout="trace"] .lesson-shell{height:auto}}
@media(max-width:999px){.student-shell[data-student-layout="reference"] .reference-shell{height:calc(100dvh - 102px - var(--picker-height,122px) - var(--student-nav-height))}.student-shell[data-student-layout="reference"] .reference-nav,.student-shell[data-student-layout="reference"] .nav-overlay{top:calc(102px + var(--picker-height,122px) + var(--student-nav-height))}}
@media(max-width:840px){.student-shell[data-student-layout="runtime"]>.app{height:auto;min-height:calc(100dvh - var(--student-nav-height))}}
@media(max-width:760px){#studentNav{gap:10px;padding:0 10px}#studentNav .student-brand{display:none}#studentNav .student-mobile-home{display:inline}#studentNav .student-links a{padding:0 10px}#studentNav button{padding:7px 8px;font-size:11px}#studentNav button span{display:none}.student-shell[data-student-layout="runtime"]>.app{height:auto;min-height:calc(100dvh - var(--student-nav-height))}}
@media(prefers-reduced-motion:reduce){#studentNav *,#thinkingDialog *{scroll-behavior:auto}}
/* Keep navigation and notebook prompts legible at classroom distance. */
#studentNav .student-links a,#studentNav button{font-size:.875rem}
#thinkingDialog{font-size:1rem}
#thinkingDialog .thinking-heading p,#thinkingDialog h3 span,#thinkingDialog #thinkingStatus{font-size:.75rem}
#thinkingDialog #thinkingActivity,#thinkingDialog label,#thinkingDialog #downloadThinking{font-size:.875rem}
#thinkingDialog h3,#thinkingDialog textarea{font-size:1rem}
.student-shell[data-student-layout="timeline"]>header{top:var(--student-nav-height)}
.student-shell[data-student-layout="timeline"] .rail{top:calc(105px + var(--student-nav-height))}
.student-shell[data-student-layout="timeline"] .stop{scroll-margin-top:calc(10px + var(--student-nav-height))}
.student-shell[data-student-layout="text-python"]>.app{min-height:calc(100dvh - var(--student-nav-height))}
.student-shell[data-student-layout="text-python"]>.app>header{top:var(--student-nav-height)}
@media(min-width:901px){.student-shell[data-student-layout="text-python"] .editorWrap{height:calc(100dvh - 153px - var(--student-nav-height))}}
@media(max-width:760px){#studentNav .student-links{mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 18px),transparent)}#studentNav .student-links a[data-area="home"]{display:none}}
