/* Shared paper kit, loaded after page styles. Presentation only.
 * Icons: 18–24px utilities / 28px section marks / 36px achievements.
 * Keep mathematical plots, syntax colours and interactive geometry independent.
 */
:root {
  --kit-paper:#f3eedf;
  --kit-surface:#fffaf0;
  --kit-ink:#24241f;
  --kit-muted:#596253;
  --kit-forest:#18564e;
  --kit-forest-hover:#12463f;
  --kit-ochre:#c9a058;
  --kit-rule:#d3cbb6;
  --kit-rule-strong:#9a9d87;
  --kit-sage:#e9eddf;
  --kit-shadow:0 2px 7px #383b240b,0 1px 1px #383b2408;
  --kit-font-code:ui-monospace,SFMono-Regular,Consolas,'Liberation Mono',monospace;
  --kit-space-1:4px;
  --kit-space-2:8px;
  --kit-space-3:12px;
  --kit-space-4:16px;
  --kit-space-6:24px;
  --kit-space-8:32px;
  --paper:var(--kit-paper);
  --paper-deep:#e9e1ce;
  --white:var(--kit-surface);
  --ink:var(--kit-ink);
  --ink-soft:#41483c;
  --muted:var(--kit-muted);
  --teal:var(--kit-forest);
  --teal-deep:var(--kit-forest);
  --teal-tint:var(--kit-sage);
  --teal-tint-2:#f0f2e8;
  --line:var(--kit-rule);
  --line-strong:var(--kit-rule-strong);
  --radius-s:3px;
  --radius-m:4px;
  --radius-l:4px;
  --shadow-soft:var(--kit-shadow);
}
body[data-ui="paper"] {
  color:var(--kit-ink);
  background-color:var(--kit-paper);
  background-image:linear-gradient(#fff9,#fff9),url('paper-grain.png?v=b4d4c5bccbb7d6d6');
  font-size:15px;
  --dash-ink:var(--kit-ink);
  --dash-paper:var(--kit-paper);
  --dash-rule:var(--kit-rule-strong);
  --dash-muted:var(--kit-muted);
  --rv-paper:var(--kit-paper);
  --rv-ink:var(--kit-ink);
  --rv-rule:var(--kit-rule);
  --rv-muted:var(--kit-muted);
}
body[data-ui] .shell {width:calc(100% - 80px);max-width:1200px;}
.paper-icon {display:inline-block;width:20px;height:20px;flex:0 0 20px;vertical-align:-.2em;overflow:visible;}
.paper-icon .paper-cut-shape {filter:drop-shadow(0 1px .35px #594c3026);}
.paper-illustration {display:block;width:48px;height:48px;overflow:visible;filter:drop-shadow(0 2px 1px #594c302b);}
.paper-badge {display:block;overflow:visible;filter:drop-shadow(0 2px 1px #594c3026);}
.paper-icon .paper-bookmark-tick {display:none;}
body[data-ui] [aria-pressed="true"] .paper-bookmark-face {fill:var(--kit-ochre);stroke:#805e25;}
body[data-ui] [aria-pressed="true"] .paper-bookmark-tick {display:inline;}
body[data-ui] .dash-bookmark[aria-pressed="true"] {background:#efe0bc;border-color:#d3b675;}
body[data-ui] [hidden] {display:none!important;}
body[data-ui] :is(a,button,input,textarea,select,summary):focus-visible {
  outline:2px solid var(--kit-forest);outline-offset:4px;
}
body[data-ui] :is(button,input[type="checkbox"],input[type="radio"]) {accent-color:var(--kit-forest);}

/* One header and footer rhythm across guest, student and instructor pages. */
body[data-ui] .portal-header {position:relative;background:transparent;border:0;backdrop-filter:none;}
body[data-ui] .portal-nav,
body[data-ui] .portal-nav:has(>.account-controls) {
  display:flex;direction:rtl;flex-direction:row;flex-wrap:nowrap;
  gap:20px;min-height:72px;padding-block:8px;border-bottom:1px solid var(--kit-rule-strong);
}
body[data-ui] .portal-nav>.brand {order:0;direction:rtl;margin:0;flex:0 0 auto;gap:8px;}
body[data-ui] .portal-nav .brand {font-size:22px;}
body[data-ui] .portal-nav .brand img {display:block;width:35px;height:35px;}
body[data-ui] .brand-name {font-size:22px;line-height:1.35;}
body[data-ui] .brand-name small {font:9px/1.5 var(--font-body);letter-spacing:2px;margin-top:2px;}
body[data-ui] .portal-nav>.portal-links,
body[data-ui] .portal-nav:has(>.account-controls)>.portal-links {
  order:1;display:flex;position:static;direction:rtl;flex-direction:row;
  align-self:stretch;align-items:center;justify-content:center;flex:1 1 auto;
  margin:0 auto;padding:0;gap:22px;min-height:44px;font-size:13px;
  background:transparent;border:0;box-shadow:none;
}
body[data-ui] .portal-links>a {display:inline-flex;align-items:center;gap:6px;min-height:44px;position:relative;padding:0;text-decoration:none;white-space:nowrap;}
body[data-ui] .portal-links>a>.paper-icon {width:18px;height:18px;flex-basis:18px;}
body[data-ui] .portal-links>a::after {display:none;}
body[data-ui] .portal-links>a:is([aria-current="page"],[aria-current="location"]) {font-weight:700;}
body[data-ui] .portal-links>a:is([aria-current="page"],[aria-current="location"])::after {display:block;content:'';position:absolute;inset:auto 0 -14px;height:2px;background:var(--kit-ochre);}
body[data-ui] .portal-nav>.classroom-presence {order:2;flex:0 1 auto;margin:0;padding:0;border:0;min-width:0;}
body[data-ui] .portal-nav>.classroom-presence>summary {border:0;background:transparent;min-height:44px;padding:0;font-size:11px;}
body[data-ui] .portal-nav>.nav-menu {order:3;display:none;}
body[data-ui] .portal-nav>.account-controls,
body[data-ui] .portal-nav>.nav-account,
body[data-ui] .portal-nav>.dash-account {order:4;flex:0 0 auto;margin:0;}
body[data-ui] .account-controls {gap:10px;}
body[data-ui] .account-trigger-name {font-size:13px;max-width:70px;}
body[data-ui] .account-avatar {width:32px;height:32px;flex-basis:32px;font-size:14px;box-shadow:0 1px 2px #18564e18;}
body[data-ui] .account-trigger>svg {width:12px;height:12px;flex-basis:12px;}
body[data-ui] .account-controls :is(.account-signin,.account-dashboard),
body[data-ui] .nav-account {min-height:40px;padding:7px 12px;border:1px solid var(--kit-rule-strong);border-radius:3px;box-shadow:none;font-size:12px;}
body[data-page="dashboard"][data-ui] .account-controls>.account-dashboard {display:none;}
body[data-ui] .account-controls .notice-trigger svg {width:21px;height:21px;}
body[data-ui] .account-popover {border-color:var(--kit-rule-strong);border-radius:4px;background:var(--kit-surface);box-shadow:0 8px 24px #24241f16;}
body[data-ui] .account-menu-items svg {width:20px;height:20px;}
body[data-ui] .portal-footer {border:0;padding:0;margin-top:36px;background:transparent;}
body[data-ui] .portal-footer .shell {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;min-height:70px;gap:10px 24px;padding-block:16px;border-top:1px solid var(--kit-rule-strong);}
body[data-ui] .portal-footer .shell::after {display:none;}
body[data-ui] .portal-footer .brand {display:block;color:var(--kit-ink);font-size:17px;}
body[data-ui] .portal-footer p {display:block;font-size:11px;margin:0;color:var(--kit-muted);max-width:100%;min-width:0;overflow-wrap:anywhere;}

/* Controls: tactile edges without chunky shadows or raised keycaps. */
body[data-ui] :is(.button-forest,.button-primary,.dash-primary,.rv-primary,.home-course-open,.google-button) {
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:42px;padding:9px 18px;border:1px solid var(--kit-forest);
  border-radius:3px;box-shadow:var(--kit-shadow);background:var(--kit-forest);
  color:var(--kit-surface);font-size:14px;font-weight:600;line-height:1.7;
  text-decoration:none;transform:none;white-space:nowrap;
}
body[data-ui] :is(.button-forest,.button-primary,.dash-primary,.rv-primary,.home-course-open,.google-button):hover {background:var(--kit-forest-hover);border-color:var(--kit-forest-hover);color:var(--kit-surface);box-shadow:var(--kit-shadow);}
body[data-ui] :is(.button-forest,.button-primary,.dash-primary,.rv-primary,.home-course-open):active {transform:translateY(1px);box-shadow:none;}
body[data-ui] :is(.button-outline,.rv-outline) {display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:8px 16px;border:1px solid var(--kit-rule-strong);border-radius:3px;background:transparent;color:var(--kit-forest);font-size:13px;box-shadow:none;line-height:1.7;}
body[data-ui] :is(.button-outline,.rv-outline):hover {background:var(--kit-sage);border-color:var(--kit-forest);}
body[data-ui] :is(.button-forest,.button-primary,.dash-primary,.rv-primary,.home-course-open):disabled {background:#d8dccd;border-color:#b9c0ac;color:#4f594c;box-shadow:none;transform:none;cursor:default;opacity:.7;}
body[data-ui] :is(.button-forest,.button-primary) .paper-icon [fill="#18564e"] {fill:var(--kit-surface);}
body[data-ui] :is(.button-forest,.button-primary) .paper-icon [stroke="#f8f3e5"] {stroke:var(--kit-forest);}
body[data-ui] :is(.gate-card,.panel-card,.dashboard-result,.stat-tile,.question-card,.continue-card) {background:var(--kit-surface);border:1px solid var(--kit-rule);border-radius:4px;box-shadow:var(--kit-shadow);}
body[data-ui] .page-head {padding-block:28px 22px;}
body[data-ui] .page-head h1 {font-size:clamp(27px,3vw,36px);line-height:1.7;}
body[data-ui] .page-head p {font-size:15px;line-height:2;}
body[data-ui] .section-heading h2 {font-size:clamp(23px,2.5vw,30px);line-height:1.7;}
body[data-ui] .route-trail {margin-block:18px;font-size:11px;line-height:1.9;}
body[data-ui] .portal-main {padding-bottom:24px;}
body[data-ui] .pill {font-size:12px;padding:4px 9px;background:#eee9db;border:1px solid var(--kit-rule);border-radius:3px;color:var(--kit-forest);}
body[data-ui] :is(.account-message,.panel-card,.gate-card) h2 {font-size:21px;line-height:1.7;}
body[data-ui] :is(.account-message,.panel-card,.gate-card) p {font-size:14px;line-height:2;}
body[data-ui] :is(.account-exit-dialog,.notice-settings,.rv-dialog) {border:1px solid var(--kit-rule-strong);border-radius:4px;background:var(--kit-surface);box-shadow:0 10px 32px #24241f1a;}

/* Home / course / instructor. Keep the real interactive feature-space hero. */
body[data-ui] .landing-hero {padding-top:32px;padding-bottom:30px;}
body[data-ui] .landing-copy h1 {font-size:clamp(34px,4.3vw,54px);line-height:1.6;}
body[data-ui] .landing-copy .intro {font-size:16px;line-height:2.05;max-width:39ch;}
body[data-ui] .learning-window {padding:18px 20px;background:var(--kit-surface);border:1px solid var(--kit-rule);border-radius:4px;box-shadow:var(--kit-shadow);}
body[data-ui] .window-head {font-size:12px;}
body[data-ui] .landing-band {padding-block:20px;margin-block:0 22px;border-color:var(--kit-rule-strong);}
body[data-ui] .landing-band p {font-size:13px;line-height:1.9;}
body[data-ui] .landing-band strong {font-size:13px;}
body[data-ui] .landing-section {padding-block:30px;}
body[data-ui] .home-course-section>.section-heading {margin-bottom:18px;}
body[data-ui] .home-course-section>.section-heading h2 {font-size:28px;}
body[data-ui] .home-course-section>.section-heading>p {font-size:14px;}
body[data-ui] .home-course-card {background:var(--kit-surface);border-color:var(--kit-rule);border-radius:4px;box-shadow:var(--kit-shadow);}
body[data-ui] .home-course-summary {padding:26px;}
body[data-ui] .home-course-title {font-size:34px;margin-block:16px 10px;}
body[data-ui] .home-course-kicker {font-size:11px;padding:3px 8px;border-color:var(--kit-rule-strong);}
body[data-ui] .home-course-lead {font-size:16px;}
body[data-ui] .home-course-stats {font-size:14px;margin-block:18px;}
body[data-ui] .home-course-note h4 {font-size:18px;}
body[data-ui] .home-course-note p {font-size:13px;}
body[data-ui] .home-course-ink {width:40px;height:40px;max-width:40px;}
body[data-ui] .home-course-latest {margin-block:22px;padding-inline:24px;border-color:var(--kit-rule);}
body[data-ui] .home-course-new {background:#efe0bc;font-size:11px;}
body[data-ui] .home-course-number {font-size:21px;border-color:var(--kit-rule);}
body[data-ui] .method-section {padding-block:30px;background:transparent;border-color:var(--kit-rule);}
body[data-ui] .method-grid h2 {font-size:27px;}
body[data-ui] .method-grid h3 {font-size:19px;}
body[data-ui] .method-grid p {font-size:14px;line-height:2;}
body[data-ui] .instructor-teaser {padding-block:30px;}
body[data-ui] .profile-badge {width:80px;height:80px;min-height:0;background:var(--kit-surface);box-shadow:var(--kit-shadow);}
body[data-ui] .profile-badge .monogram {font-size:28px;}
body[data-ui] .teaser-name h2 {font-size:25px;}
body[data-ui] .landing-end {padding-block:24px;border-color:var(--kit-rule-strong);}
body[data-ui] .landing-end h2 {font-size:25px;}
body[data-ui] .paper-course-hero {padding-block:30px;gap:36px;}
body[data-ui] .paper-course-copy .course-title {font-size:clamp(32px,4vw,48px);}
body[data-ui] .paper-course-lead {font-size:20px;}
body[data-ui] .paper-course-description {font-size:15px;line-height:2;}
body[data-ui] .course-lesson {padding:22px;gap:22px;border-color:var(--kit-rule);border-radius:4px;background:var(--kit-surface);box-shadow:var(--kit-shadow);}
body[data-ui] .course-lesson .lesson-details h2 {font-size:22px;line-height:1.8;}
body[data-ui] .course-lesson .lesson-details>p {font-size:14px;line-height:2;}
body[data-ui] .course-lesson .lesson-order {font-size:28px;}
body[data-ui] .paper-outline .course-lesson {background:var(--kit-surface);border:1px solid var(--kit-rule);border-radius:4px;padding:22px;margin-block:14px;box-shadow:var(--kit-shadow);}
body[data-ui] .paper-outline .course-lesson .portal-actions {flex-wrap:nowrap;gap:10px;align-items:stretch;width:100%;box-sizing:border-box;}
body[data-ui] .paper-outline .course-lesson .portal-actions>.button-outline {background:transparent;color:var(--kit-forest);border:1px solid var(--kit-rule-strong);border-radius:3px;padding:8px 12px;min-height:42px;text-align:center;}
body[data-ui] .paper-outline .course-lesson .portal-actions>.button-outline:is(:hover,:focus-visible) {background:var(--kit-sage);color:var(--kit-forest);border-color:var(--kit-forest);}
/* The legacy paper outline made this primary button transparent. Paint both
   foreground and background at the component's specificity, including hover. */
body[data-ui] .paper-outline .course-lesson .portal-actions>.button-forest {
  background:var(--kit-forest);color:var(--kit-surface);border:1px solid var(--kit-forest);
  border-radius:3px;padding:9px 18px;min-height:44px;box-shadow:var(--kit-shadow);
}
body[data-ui] .paper-outline .course-lesson .portal-actions>.button-forest:is(:hover,:focus-visible,:active) {
  background:var(--kit-forest-hover);color:var(--kit-surface);border-color:var(--kit-forest-hover);text-decoration:none;
}
body[data-ui] .portfolio-head {padding-top:18px;}
body[data-ui] .portfolio-head h1 {font-size:clamp(30px,4vw,46px);}
body[data-ui] .portfolio-copy>p {font-size:16px;line-height:2.15;}
body[data-ui] .instructor-profile .instructor-portrait {padding:6px;background:var(--kit-surface);border-color:var(--kit-rule);box-shadow:var(--kit-shadow);}

/* Reading keeps its established hero, 3-point strip, active rail and end resources. */
body[data-ui] .lesson-hero {padding-top:30px;}
body[data-ui] .lesson-hero h1 {font-size:clamp(30px,3.9vw,49px);line-height:1.75;}
body[data-ui] .hero-lede {font-size:17px;line-height:2;}
body[data-ui] .hero-strip {border-color:var(--kit-rule-strong);}
body[data-ui] .strip-number {font-size:14px;background:#efe2c1;}
body[data-ui] .strip-text {font-size:14px;line-height:1.95;}
body[data-ui] .lesson-shell {padding-top:42px;gap:42px;}
body[data-ui] .lesson-body {background:var(--kit-surface);padding:32px;border:1px solid #d3cbb666;border-radius:3px;}
body[data-ui] .lesson-prose {font-size:17px;line-height:2.15;}
body[data-ui] .section-head h2 {font-size:clamp(24px,2.6vw,31px);line-height:1.8;}
body[data-ui] .lesson-section {margin-bottom:56px;}
body[data-ui] .rail-list a {font-size:12px;line-height:1.9;}
body[data-ui] .rail-list a.is-current {font-weight:700;background:#e9eddf80;border-color:var(--kit-forest);}
body[data-ui] .code-block {border:1px solid var(--kit-rule);border-radius:3px;box-shadow:none;}
body[data-ui] .code-head {background:#eee9db;color:var(--kit-muted);}
body[data-ui] .code-block pre {background:#faf8ef;font-size:13px;}
body[data-ui] .code-block pre.dark-code {background:#242820;color:#faf6e8;}
body[data-ui] .copy-code {border-color:var(--kit-rule-strong);min-height:36px;border-radius:3px;background:var(--kit-surface);}
body[data-ui] :is(.table-card,.formula-card.lesson-formula,.note,.portal-quiz-link,.adjacent-lessons a) {border-color:var(--kit-rule);border-radius:3px;box-shadow:none;}
body[data-ui] .formula-card.lesson-formula {background:#f8f3e3;}
body[data-ui] .lesson-resources {border-color:var(--kit-rule);}
body[data-ui] .evaluation-dataset-scroll {scrollbar-width:thin;scrollbar-color:#a5aa9666 transparent;}

/* Review notebook: actual work remains readable, entry art becomes a small mark. */
body[data-ui] [data-review-root] {font-size:15px;}
body[data-ui] .rv-heading {margin-bottom:20px;}
body[data-ui] .rv-heading h1 {font-size:29px;}
body[data-ui] .rv-heading p {font-size:14px;}
body[data-ui] .rv-hero {min-height:0;margin-bottom:24px;border-color:var(--kit-rule);background:var(--kit-surface);box-shadow:var(--kit-shadow);border-radius:4px;}
body[data-ui] .rv-hero-copy {padding:22px 24px;}
body[data-ui] .rv-hero-copy h2 {font-size:23px;}
body[data-ui] .rv-hero-copy>p:not(.rv-eyebrow) {font-size:14px;max-width:50ch;}
body[data-ui] .rv-cards {position:static;display:block;width:40px;height:40px;margin-top:14px;opacity:1;}
body[data-ui] .rv-hero-action {background:var(--kit-forest);padding:22px 24px;}
body[data-ui] .rv-hero-action h3 {font-size:20px;}
body[data-ui] .rv-hero-action .rv-primary {background:#ead4a1;border-color:#ead4a1;color:var(--kit-forest);font-size:14px;min-height:42px;}
body[data-ui] .rv-columns {gap:24px;}
body[data-ui] :is(.rv-library-head h2,.rv-note-paper h2) {font-size:19px;}
body[data-ui] .rv-entry {min-height:94px;border-color:var(--kit-rule);}
body[data-ui] .rv-entry-open {padding-block:14px;gap:12px;}
body[data-ui] .rv-entry-open strong {font-size:15px;}
body[data-ui] .rv-entry-description {font-size:12px;}
body[data-ui] .rv-entry-number {width:32px;height:38px;flex-basis:32px;font-size:16px;border-radius:2px;background:#ede5d2;}
body[data-ui] .rv-note-paper {background:var(--kit-surface);border-color:var(--kit-rule);border-radius:4px;padding:20px;box-shadow:var(--kit-shadow);}
body[data-ui] .rv-practice {background:var(--kit-surface);border-color:var(--kit-rule);border-radius:4px;}
body[data-ui] .rv-answer {border-color:var(--kit-rule);border-radius:3px;}
body[data-ui] .rv-dialog h2 {font-size:21px;}

/* Quizzes and instructor tables use the same hierarchy without changing meaning. */
body[data-ui] .quiz-intro {border-color:var(--kit-rule);background:var(--kit-surface);border-radius:4px;}
body[data-ui] .quiz-intro h2 {font-size:25px;}
body[data-ui] .quiz-intro p {font-size:14px;line-height:2;}
body[data-ui] .question-card {padding:24px;margin-bottom:20px;}
body[data-ui] .question-card h2 {font-size:19px;line-height:1.95;}
body[data-ui] .quiz-option {border-color:var(--kit-rule);border-radius:3px;font-size:15px;line-height:2;min-height:48px;}
body[data-ui] .quiz-option:has(input:checked) {background:var(--kit-sage);border-color:var(--kit-forest);}
body[data-ui] .question-map button {border-color:var(--kit-rule-strong);border-radius:3px;box-shadow:none;}
body[data-ui] .mode-tabs {border-color:var(--kit-rule);}
body[data-ui] .mode-tabs button {border-radius:3px;font-size:13px;}
body[data-ui] .teacher-controls {padding:16px 20px;background:var(--kit-surface);border:1px solid var(--kit-rule);border-radius:4px;}
body[data-ui] .portal-table {background:var(--kit-surface);font-size:13px;}
body[data-ui] .portal-table :is(th,td) {padding:12px;border-color:var(--kit-rule);}
body[data-ui] .portal-table th {background:#eee9db;font-size:12px;}

/* Notices: retain the approved gentle category colours, reduce icon tile weight. */
body[data-ui] .notice-panel {border-color:var(--kit-rule-strong);box-shadow:0 8px 24px #24241f18;}
body[data-ui] .notice-panel-head {padding:14px 20px 10px;}
body[data-ui] .notice-panel-head h2 {font-size:19px;}
body[data-ui] .notice-item {padding:16px 20px;gap:12px;}
body[data-ui] .notice-type-icon {width:30px;height:32px;flex-basis:30px;background:transparent;}
body[data-ui] .notice-type-icon svg {width:24px;height:24px;}
body[data-ui] .notice-page-heading h1 {font-size:29px;}
body[data-ui] .notice-page-list .notice-item {padding:18px 22px;}

/* Lab chrome only. Split ratios, scroll ownership and code overlay metrics survive. */
body[data-ui] .lab-open-notebook {--lab-paper:#f3eedf;--lab-panel:#fffaf0;--lab-line:#d3cbb6;}
body[data-ui].lab-notebook-ready .shell {width:100%;max-width:none;}
body[data-ui] .lab-open-notebook .lab-top {border-color:var(--kit-rule-strong);}
body[data-ui] .lab-open-notebook .lab-tabs button {font-size:13px;}
body[data-ui] .lab-open-notebook .lab-tabs {gap:8px;flex-wrap:nowrap;}
body[data-ui] .lab-open-notebook .lab-instructions {background:var(--kit-surface);border-color:var(--kit-rule);}
body[data-ui] .lab-open-notebook :is(.lab-instruction-scroll,.lab-tutor-transcript,.lab-code-wrap,.lab-console-body) {scrollbar-width:thin;scrollbar-color:#919b8270 transparent;}
body[data-ui] .lab-open-notebook :is(.lab-instruction-scroll,.lab-tutor-transcript,.lab-code-wrap,.lab-console-body)::-webkit-scrollbar {width:5px;height:5px;}
body[data-ui] .lab-open-notebook :is(.lab-instruction-scroll,.lab-tutor-transcript,.lab-code-wrap,.lab-console-body)::-webkit-scrollbar-thumb {background:#919b8270;border-radius:4px;}
body[data-ui] .lab-open-notebook :is(.lab-code pre,.lab-code textarea,.lab-lines,.lab-output,.lab-console-form input) {font-family:var(--kit-font-code);font-size:12px;}
body[data-ui] .blank-fields input {font-family:var(--kit-font-code);}
body[data-ui] .lab-open-notebook :is(.mission-story,.mission-action,.mission-context,.mission-task-text),
body[data-ui] .lab-open-notebook :is(.mission-contract,.mission-io) p {font-size:16px;}
body[data-ui] .lab-open-notebook .lab-editor-toolbar {border-color:var(--kit-rule);background:#eee9db;}
body[data-ui] .lab-open-notebook :is(.lab-run-button,.lab-hint-button,.lab-tool-button,.lab-help-button) {border-radius:3px;border-color:var(--kit-rule-strong);background:var(--kit-surface);box-shadow:none;font-size:12px;}
body[data-ui] .lab-open-notebook .lab-hint-button {display:inline-flex;align-items:center;gap:6px;}
body[data-ui] .lab-open-notebook :is(.lab-run-button,.lab-hint-button,.lab-file) .paper-icon {width:16px;height:16px;flex-basis:16px;stroke:none;}
body[data-ui] .lab-open-notebook .lab-actions>.button-forest {min-height:34px;padding:6px 12px;font-size:12px;}
body[data-ui] .lab-open-notebook .lab-actions>.button-forest .paper-icon {width:16px;height:16px;flex-basis:16px;}
body[data-ui] .lab-open-notebook .lab-tutor-message {border-color:var(--kit-rule);border-radius:3px;background:var(--kit-surface);}
body[data-ui] .lab-open-notebook .lab-tutor-message[data-role="assistant"] {background:#e9eddf55;}
body[data-ui] .lab-open-notebook .lab-tutor-composer {background:var(--kit-paper);border-color:var(--kit-rule);}
body[data-ui] :is(.lab-intro,.lab-feedback-dialog) {background:var(--kit-surface);border-color:var(--kit-rule);border-radius:4px;box-shadow:var(--kit-shadow);}
body[data-ui] .lab-intro h2 {font-size:29px;line-height:1.8;}
body[data-ui] .lab-intro-copy>p {font-size:16px;line-height:2;}

@media(max-width:1100px) {
  body[data-ui] .shell {width:calc(100% - 48px);}
  body[data-ui] .portal-nav,body[data-ui] .portal-nav:has(>.account-controls) {gap:12px;min-height:66px;position:relative;}
  body[data-ui] .portal-nav>.brand,body[data-ui] .portal-nav:has(>.account-controls)>.brand {margin-inline-end:auto;margin-left:0;}
  body[data-ui] .portal-nav>.nav-menu,body[data-ui] .portal-nav:has(>.account-controls)>.nav-menu {display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;padding:8px;font-size:0;border:1px solid var(--kit-rule);border-radius:3px;}
  body[data-ui] .portal-nav>.portal-links,body[data-ui] .portal-nav:has(>.account-controls)>.portal-links {display:none;position:absolute;top:100%;inset-inline:0;flex-direction:column;align-items:stretch;gap:2px;padding:10px;background:var(--kit-surface);border:1px solid var(--kit-rule-strong);border-radius:4px;box-shadow:0 6px 18px #24241f18;z-index:120;}
  body[data-ui] .portal-nav>.portal-links.is-open,body[data-ui] .portal-nav:has(>.account-controls)>.portal-links.is-open {display:flex;}
  body[data-ui] .portal-links>a,body[data-ui] .portal-nav:has(>.account-controls)>.portal-links a {font-size:14px;padding:8px 10px;gap:10px;}
  body[data-ui] .portal-links>a:is([aria-current="page"],[aria-current="location"])::after {display:none;}
  body[data-ui] .portal-links>a:is([aria-current="page"],[aria-current="location"]) {background:var(--kit-sage);border-radius:3px;}
  body[data-ui] .lesson-shell {gap:28px;}
}
@media(max-width:760px) {
  body[data-ui] .shell {width:calc(100% - 32px);}
  body[data-ui] .portal-nav,body[data-ui] .portal-nav:has(>.account-controls) {gap:8px;flex-wrap:wrap;min-height:64px;}
  body[data-ui] .portal-nav>.classroom-presence,body[data-ui] .portal-nav:has(>.account-controls)>.classroom-presence {order:5;flex:1 0 100%;margin:0;padding:0;}
  body[data-ui] .portal-nav>.classroom-presence>summary {min-height:26px;font-size:11px;}
  body[data-ui] .brand-name {font-size:19px;}
  body[data-ui] .brand-name small {font-size:7px;}
  body[data-ui] .portal-nav .brand img {width:30px;height:30px;}
  body[data-ui] .account-controls {gap:4px;}
  body[data-ui] .account-controls:not(.account-controls-compact) .account-dashboard {display:none;}
  body[data-ui] .account-trigger-name {max-width:55px;}
  body[data-ui] .portal-footer .shell {flex-direction:column;align-items:center;gap:7px;text-align:center;}
  body[data-ui] :is(.button-forest,.button-primary,.dash-primary,.rv-primary,.button-outline,.rv-outline) {min-height:44px;font-size:13px;}
  body[data-ui] .landing-copy h1 {font-size:35px;}
  body[data-ui] .landing-copy .intro {font-size:15px;}
  body[data-ui] .landing-hero {padding-top:20px;}
  body[data-ui] .landing-band {padding-block:16px;}
  body[data-ui] .home-course-summary {padding:22px;}
  body[data-ui] .home-course-title {font-size:30px;}
  body[data-ui] .home-course-latest {margin:0 22px;padding:22px 0;border-right:0;border-top:1px solid var(--kit-rule);}
  body[data-ui] .home-course-note h4 {font-size:17px;}
  body[data-ui] .home-course-actions {gap:10px;}
  body[data-ui] .home-course-open {min-height:44px;font-size:13px;padding-inline:12px;}
  body[data-ui] .course-lesson {padding:18px;gap:14px;}
  body[data-ui] .course-lesson .lesson-details h2 {font-size:20px;}
  body[data-ui] .lesson-hero h1 {font-size:31px;}
  body[data-ui] .hero-lede {font-size:16px;}
  body[data-ui] .lesson-body {padding:22px 18px;}
  body[data-ui] .lesson-prose {font-size:16px;line-height:2.1;}
  body[data-ui] .lesson-shell {padding-top:28px;}
  body[data-ui] .strip-text {font-size:12px;}
  body[data-ui] :is(.dash-skills,.dash-badges) {padding:16px;}
  body[data-ui] .rv-heading h1 {font-size:25px;}
  body[data-ui] .rv-hero {grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "action";}
  body[data-ui] .rv-hero-copy {padding:20px;}
  body[data-ui] .rv-hero-copy h2 {font-size:21px;}
  body[data-ui] .rv-hero-action {padding:20px;}
  body[data-ui] .rv-columns {grid-template-columns:minmax(0,1fr);grid-template-areas:"library" "side";gap:22px;}
  body[data-ui] .rv-practice {padding:22px 18px;}
  body[data-ui] .rv-dialog {padding:20px;}
  body[data-ui] .question-card {padding:20px 16px;}
  body[data-ui] .question-card h2 {font-size:18px;}
  body[data-ui] .notice-page-heading h1 {font-size:25px;}
  body[data-ui] .notice-item {padding:14px 16px;gap:10px;}
  body[data-ui] .notice-page-list .notice-item {padding:16px;}
  body[data-ui] .lab-open-notebook .lab-actions>.button-forest {min-height:40px;}
  body[data-ui] .lab-intro h2 {font-size:25px;}
}
@media(max-width:420px) {
  body[data-ui] .account-trigger-name {display:none;}
  body[data-ui] .home-course-stats {font-size:13px;}
}
@media(prefers-reduced-motion:reduce) {
  body[data-ui] :is(.button-forest,.button-primary,.dash-primary,.rv-primary,.home-course-open):active {transform:none;}
}
@media(forced-colors:active) {
  body[data-ui] .paper-icon {forced-color-adjust:none;}
  body[data-ui] :is(.dash-milestones li,.dash-milestones li[data-done="true"]) {border:1px solid CanvasText;}
}
@media print {
  body[data-ui] {background:white;color:black;}
  body[data-ui] .portal-header,body[data-ui] .portal-footer {display:none;}
  body[data-ui] .lesson-body {padding:0;border:0;background:white;}
  body[data-ui] :is(.dash-continuation,.dash-skills,.dash-badges,.rv-hero) {box-shadow:none;}
}
