/* Additive parent-only styles. Do not import into the shared design-system manifest. */
.pd-root {
  --pd-green: var(--sage-green);
  --pd-green-dark: var(--sage-dark);
  --pd-paper: var(--soft-white);
  --pd-surface: var(--card);
  --pd-wash: var(--warm-white);
  --pd-wash: color-mix(in srgb, var(--sage-green) 7%, var(--card));
  --pd-line: var(--line);
  --pd-line: color-mix(in srgb, var(--sage-green) 19%, var(--card));
  --pd-muted: var(--body);
  --pd-muted: color-mix(in srgb, var(--body) 85%, var(--card));
  --pd-error: var(--domain-academics-ink);
  --pd-subject: var(--sage-green);
  --text-light: var(--pd-muted);
  --text-muted: var(--pd-muted);
  --accent: var(--sage-green);
  --accent-ink: var(--dark-green);
  --accent-soft: var(--pd-wash);
  --accent-line: var(--pd-line);
  --pd-control-height: 2.75rem;
  min-height: 100vh;
  min-height: 100dvh;
  background: var(--pd-paper);
  color: var(--ink);
  font-family: var(--font-gentium);
  font-size: 1.0625rem;
  line-height: 1.6;
  isolation: isolate;
}
.pd-root *, .pd-root *::before, .pd-root *::after { box-sizing: border-box; }
.pd-root [hidden] { display: none; }
.pd-root :where(button, input, select, textarea) { font: inherit; }
.pd-root :where(button, a, input, select, textarea, summary, [tabindex]):focus-visible { outline: 3px solid var(--pd-green); outline-offset: 3px; }
.pd-root button { cursor: pointer; }
.pd-root button:disabled { cursor: not-allowed; opacity: .65; }
.pd-root h1, .pd-root h2, .pd-root h3 { text-wrap: pretty; }
.pd-root h2 { font-family: var(--font-palatino); font-size: 1.5rem; line-height: 1.25; }
.pd-root h3 { font-family: var(--font-palatino); font-size: 1.2rem; line-height: 1.3; }
.pd-root :where(p, label, dd, dt, button, a, code) { overflow-wrap: anywhere; }
.pd-root :where(p) { font-size: inherit; }
.pd-shell { display: grid; grid-template-columns: 14rem minmax(0, 1fr); align-items: start; }
.pd-main { min-width: 0; padding: var(--space-lg) clamp(1.25rem, 3vw, 2.5rem) var(--space-xl); }
.pd-main .pd-page-title { font-size: clamp(2rem, 3.5vw, 2.6rem); line-height: 1.18; margin: 0 0 var(--space-xs); color: var(--sage-dark); }
.pd-main > .pd-page { min-width: 0; }
.pd-main .pd-page-heading { display: flex; justify-content: space-between; align-items: end; flex-wrap: wrap; gap: var(--space-sm); margin-bottom: var(--space-md); }
.pd-subtitle { font-style: italic; color: var(--pd-muted); }
.pd-main .pd-footer { margin-top: var(--space-xl); color: var(--pd-muted); text-align: center; font-size: .875rem; }
.pd-footer .separator-dot { margin-block: var(--space-md); }
.pd-skip { position: fixed; min-height: 44px; display: flex; align-items: center; left: var(--space-sm); top: var(--space-xs); transform: translateY(-200%); z-index: 100; padding: var(--space-xs) var(--space-sm); background: var(--pd-green); color: var(--card); border-radius: var(--radius-sm); }
.pd-skip:focus { transform: none; color: var(--card); }
.pd-sidebar { position: sticky; top: 0; display: flex; flex-direction: column; min-height: 100vh; min-height: 100dvh; max-height: 100dvh; overflow-y: auto; padding: var(--space-lg) var(--space-sm) var(--space-md); background: var(--pd-wash); border-right: 1px solid var(--pd-line); }
.pd-sidebar-brand { padding: 0 var(--space-xs) var(--space-md); border-bottom: 1px solid var(--pd-line); }
.pd-wordmark { font-family: var(--font-palatino); font-size: 1.8rem; color: var(--pd-green); line-height: 1.1; max-width: 9ch; margin-bottom: var(--space-xs); }
.pd-overline { display: block; color: var(--pd-green); font-family: var(--font-sans); font-size: .875rem; line-height: 1.5; font-weight: 650; text-transform: uppercase; letter-spacing: .085em; }
.pd-meta { display: block; color: var(--pd-muted); font-family: var(--font-sans); font-size: .875rem; line-height: 1.6; font-weight: 400; }
.pd-muted { color: var(--pd-muted); }
.pd-student { display: flex; align-items: center; gap: var(--space-xs); padding: var(--space-md) var(--space-xs); }
.pd-student strong { display: block; font-family: var(--font-palatino); font-size: 1.2rem; color: var(--sage-dark); font-weight: 600; }
.pd-avatar { display: grid; place-items: center; flex: 0 0 2.5rem; height: 2.5rem; border-radius: 50%; background: var(--card); color: var(--sage-green); border: 1px solid var(--pd-line); font-family: var(--font-palatino); font-size: 1.25rem; }
.pd-nav { display: flex; flex-direction: column; gap: calc(var(--space-xs) / 2); flex: 1; }
.pd-nav-link { display: flex; gap: var(--space-xs); align-items: center; width: 100%; text-align: left; background: transparent; color: var(--body); padding: .65rem .75rem; border: 1px solid transparent; border-radius: var(--radius-sm); font-size: 1rem; line-height: 1.25; min-height: var(--pd-control-height); }
.pd-nav-link:hover { background: var(--card); color: var(--pd-green); }
.pd-nav-link[aria-current="page"] { color: var(--card); background: var(--pd-green); border-color: var(--pd-green); box-shadow: var(--shadow-sm); }
.pd-nav-footer { margin-top: auto; padding-top: var(--space-lg); }
.pd-root .pd-button.pd-menu-button { display: none; }
.pd-icon { width: 1.25rem; height: 1.25rem; flex-shrink: 0; display: inline-block; vertical-align: middle; }
.pd-root .pd-button { display: inline-flex; justify-content: center; align-items: center; gap: .5rem; min-height: var(--pd-control-height); padding: .5rem .9rem; color: var(--pd-green); background: var(--pd-surface); border: 1px solid var(--pd-line); border-radius: var(--radius-sm); font: 600 1rem/1.3 var(--font-gentium); text-align: center; text-decoration: none; transition: border-color 160ms ease, background 160ms ease; }
.pd-root .pd-button:hover { border-color: var(--pd-green); background: var(--pd-wash); }
.pd-root .pd-button-primary { color: var(--card); background: var(--pd-green); border-color: var(--pd-green); }
.pd-root .pd-button-primary:hover { color: var(--card); background: var(--dark-green); border-color: var(--dark-green); }
.pd-root .pd-icon-button { padding: .5rem; min-width: var(--pd-control-height); }
.pd-root .pd-icon-button[aria-pressed="true"] { background: var(--pd-wash); border-color: var(--pd-green); }
.pd-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs); margin-top: var(--space-sm); }
.pd-inline-meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs); }
.pd-badge, .pd-example-label { display: inline-block; color: var(--pd-green); background: var(--pd-wash); border-radius: var(--radius-sm); padding: .15rem .55rem; font: 600 .75rem/1.6 var(--font-sans); }
.pd-badge-neutral, .pd-example-label { color: var(--body); background: var(--paper); }
.pd-lead { color: var(--body); max-width: 64ch; margin-block: 0 var(--space-sm); font-size: 1.08rem; }
.pd-panel { min-width: 0; padding: var(--space-md); background: var(--pd-surface); border: 1px solid var(--pd-line); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); }
.pd-section { margin-top: var(--space-md); }
.pd-section-heading { display: flex; justify-content: space-between; align-items: start; flex-wrap: wrap; gap: var(--space-sm); margin-bottom: var(--space-sm); }
.pd-section-heading h2, .pd-section h3 { margin-top: 0; }
.pd-empty { background: var(--pd-surface); border: 1px dashed var(--pd-line); border-radius: var(--radius-md); padding: var(--space-md); }
.pd-empty h3 { margin: 0 0 var(--space-xs); }
.pd-empty p { color: var(--pd-muted); margin: 0 0 var(--space-sm); }
.pd-note { border-left: 3px solid var(--pd-green); background: var(--pd-wash); padding: var(--space-sm); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; margin-block: var(--space-sm); }
.pd-note p { margin: 0; }
.pd-note p + p { margin-top: var(--space-xs); }
.pd-overview-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-lg); align-items: start; }
.pd-overview-main { min-width: 0; }
.pd-overview-main .pd-home-section { margin-top: var(--space-lg); }
.pd-home-context { margin-top: var(--space-lg); }
.pd-focus-panel { background: var(--sage-dark); color: var(--card); padding: var(--space-md) var(--space-sm); border-radius: var(--radius-md); }
.pd-focus-panel .pd-overline { color: var(--card); margin: 0 var(--space-xs) var(--space-sm); }
.pd-focus-panel .pd-focus-link { display: flex; gap: var(--space-sm); justify-content: space-between; align-items: center; width: 100%; min-height: var(--pd-control-height); text-align: left; border: none; border-top: 1px solid color-mix(in srgb, var(--card) 28%, transparent); color: var(--card); background: transparent; padding: var(--space-sm) var(--space-xs); line-height: 1.35; }
.pd-focus-link:hover { text-decoration: underline; text-underline-offset: .2em; }
.pd-root .pd-focus-link:focus-visible { outline-color: var(--card); }
.pd-context-section { padding-block: var(--space-md); border-bottom: 1px solid var(--pd-line); }
.pd-context-section .pd-icon { color: var(--pd-green); }
.pd-context-section h3 { margin: var(--space-xs) 0; }
.pd-context-section p { color: var(--pd-muted); margin-bottom: var(--space-sm); font-size: 1rem; }
.pd-work-link { width: 100%; display: flex; align-items: center; gap: var(--space-sm); padding: .85rem .25rem; border: none; border-bottom: 1px solid var(--pd-line); background: transparent; text-align: left; color: var(--ink); }
.pd-work-link:hover { background: var(--pd-wash); }
.pd-work-link .pd-work-name { flex: 1; min-width: 0; }
.pd-work-link .pd-work-date { width: 3.5rem; flex-shrink: 0; font-size: .875rem; color: var(--pd-muted); }
.pd-work-link .pd-status { font-size: .875rem; flex-shrink: 0; }
.pd-snapshot-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-md); }
.pd-snapshot-metric { min-width: 0; text-align: left; padding: var(--space-sm); border: 1px solid var(--pd-line); border-radius: var(--radius-sm); background: var(--card); color: var(--body); line-height: 1.5; }
.pd-snapshot-metric:hover { border-color: var(--pd-green); }
.pd-snapshot-metric svg { width: 100%; display: block; margin-bottom: var(--space-xs); }
.pd-snapshot-metric .pd-meta { margin-top: var(--space-xs); }
.pd-subject-region { --accent: var(--pd-subject); --accent-ink: var(--pd-subject-ink, var(--dark-green)); }
.pd-subject-region[data-subject="math"], .pd-resource-card[data-subject="math"] { --pd-subject: var(--domain-academics); --pd-subject-ink: var(--domain-academics-ink); }
.pd-subject-region[data-subject="reading"], .pd-resource-card[data-subject="reading"] { --pd-subject: var(--domain-critical-thinking); --pd-subject-ink: var(--domain-critical-thinking-ink); }
.pd-subject-region[data-subject="science"], .pd-resource-card[data-subject="science"] { --pd-subject: var(--domain-specialized); --pd-subject-ink: var(--domain-specialized-ink); }
.pd-subject-region[data-subject="writing"], .pd-resource-card[data-subject="writing"] { --pd-subject: var(--domain-passion-projects); --pd-subject-ink: var(--domain-passion-projects-ink); }
.pd-subject-tabs { display: flex; flex-wrap: wrap; gap: var(--space-md); margin: var(--space-md) 0; border-bottom: 1px solid var(--pd-line); }
.pd-subject-button { padding: .6rem .25rem; border: none; border-bottom: 3px solid transparent; min-height: var(--pd-control-height); background: transparent; font-size: 1.08rem; color: var(--pd-muted); }
.pd-subject-button[aria-pressed="true"] { color: var(--pd-subject-ink); border-bottom-color: var(--pd-subject); }
.pd-fluency { margin-top: var(--space-md); }
.pd-fluency-row { display: grid; grid-template-columns: 11rem minmax(3rem, 1fr) 5rem; align-items: center; gap: var(--space-sm); padding-block: .5rem; }
.pd-meter-track { height: .75rem; border-radius: var(--radius-sm); background: var(--pd-wash); overflow: hidden; }
.pd-meter-fill { display: block; height: 100%; background: var(--sage-light); border-radius: inherit; }
.pd-meter-value { text-align: right; font-family: var(--font-sans); font-size: .875rem; color: var(--body); font-variant-numeric: tabular-nums; }
.pd-chart-slot { margin-top: var(--space-md); }
.pd-metric { border-top: 3px solid var(--sage-green); }
.pd-metric-value { font-family: var(--font-palatino); color: var(--sage-dark); font-size: 2.4rem; line-height: 1.1; font-variant-numeric: tabular-nums; }
.pd-metric-value span { display: block; font-family: var(--font-sans); font-size: .875rem; color: var(--pd-muted); margin-top: .4rem; text-align: right; }
.pd-chart { width: 100%; display: block; overflow: visible; touch-action: pan-y; }
.pd-chart text { font-family: var(--font-sans); font-size: 14px; fill: var(--pd-muted); }
.pd-grid-line { stroke: var(--pd-line); stroke-width: 1; }
.pd-chart-line { fill: none; stroke: var(--sage-green); stroke-width: 2.5; stroke-linejoin: round; }
.pd-chart-point { fill: var(--card); stroke: var(--sage-green); stroke-width: 2; }
.pd-chart-point[data-active="true"] { fill: var(--sage-green); }
.pd-chart-controls { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-xs); margin-top: var(--space-xs); }
.pd-chart-controls select { min-height: var(--pd-control-height); max-width: 100%; border: 1px solid var(--pd-line); border-radius: var(--radius-sm); padding: .45rem .6rem; background: var(--card); color: var(--ink); }
.pd-disclosure { margin-top: var(--space-sm); border-top: 1px solid var(--pd-line); }
.pd-disclosure summary { padding: .7rem 0; min-height: var(--pd-control-height); cursor: pointer; color: var(--pd-green); }
.pd-table-scroll { max-width: 100%; overflow-x: auto; }
.pd-table { border-collapse: collapse; width: 100%; text-align: left; font: .8rem/1.5 var(--font-sans); }
.pd-table caption { text-align: left; padding: var(--space-xs); color: var(--body); }
.pd-table :where(th, td) { padding: .65rem .5rem; border-bottom: 1px solid var(--pd-line); overflow-wrap: anywhere; }
.pd-table tbody th { font-weight: 400; }
.pd-level { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-sm); border-bottom: 1px solid var(--pd-line); padding-block: var(--space-sm); margin-top: var(--space-sm); }
.pd-level strong { font-size: 1.5rem; color: var(--sage-green); }
.pd-skill-groups { margin-top: var(--space-lg); }
.pd-group-heading { margin: 0; }
.pd-group-toggle { display: flex; align-items: center; gap: var(--space-xs); width: 100%; padding: .85rem .5rem; background: var(--pd-wash); color: var(--pd-green); border: none; border-bottom: 1px solid var(--pd-line); text-align: left; min-height: var(--pd-control-height); }
.pd-group-toggle .pd-meta { margin-left: auto; }
.pd-group-arrow { font-size: .875rem; }
.pd-skill-row { display: flex; justify-content: space-between; align-items: center; gap: var(--space-sm); width: 100%; border: none; border-bottom: 1px solid var(--pd-line); padding: 1rem .5rem 1rem var(--space-md); background: transparent; text-align: left; color: var(--ink); }
.pd-skill-row:hover { background: var(--card); }
.pd-skill-row .pd-skill-name { flex: 1; min-width: 0; }
.pd-skill-row .pd-meta { flex-shrink: 0; }
.pd-code { display: inline-block; font: .75rem/1.5 ui-monospace, monospace; color: var(--body); padding: .1rem .4rem; background: var(--pd-wash); border-radius: calc(var(--radius-sm) / 2); margin-left: var(--space-xs); }
.pd-mastered-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pd-mastered-grid .pd-skill-row { padding-left: var(--space-xs); }
.pd-dialog { position: fixed; inset: 0 0 0 auto; margin: 0; max-height: 100vh; max-height: 100dvh; height: 100vh; height: 100dvh; width: min(100%, 36rem); max-width: 100%; border: none; border-left: 1px solid var(--pd-line); background: var(--pd-paper); color: var(--ink); padding: 0; box-shadow: var(--shadow-lg); overflow-y: auto; }
.pd-dialog-wide { width: min(100%, 44rem); }
.pd-dialog::backdrop { background: color-mix(in srgb, var(--sage-dark) 45%, transparent); }
.pd-dialog-header { display: flex; justify-content: space-between; align-items: start; gap: var(--space-md); position: sticky; top: 0; z-index: 1; padding: var(--space-md); background: var(--pd-surface); border-bottom: 1px solid var(--pd-line); }
.pd-dialog-header h2 { margin: .3rem 0 0; font-size: 1.8rem; }
.pd-dialog-body { padding: var(--space-md); }
.pd-dialog-body > .pd-lead { margin-top: var(--space-sm); }
.pd-dimension-list > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: var(--space-sm); padding-block: .8rem; border-bottom: 1px solid var(--pd-line); }
.pd-dimension-list dd.pd-meta { grid-column: 1 / -1; margin-top: var(--space-xs); }
.pd-evidence-list { display: grid; gap: var(--space-xs); }
.pd-root .pd-evidence-row { justify-content: space-between; width: 100%; text-align: left; }
.pd-library-top { display: flex; align-items: start; justify-content: space-between; gap: var(--space-sm); flex-wrap: wrap; }
.pd-collection-tabs { display: flex; flex-wrap: wrap; gap: var(--space-xs); border-bottom: 1px solid var(--pd-line); padding-block: var(--space-sm); margin-bottom: var(--space-md); }
.pd-chip { display: inline-flex; align-items: center; min-height: var(--pd-control-height); border: 1px solid var(--pd-line); border-radius: var(--radius-sm); padding: .4rem .75rem; background: var(--pd-surface); color: var(--pd-muted); font-family: var(--font-sans); font-size: .875rem; }
.pd-chip:hover { border-color: var(--pd-green); }
.pd-chip[aria-pressed="true"] { background: var(--pd-wash); border-color: var(--pd-green); color: var(--dark-green); box-shadow: inset 0 -2px var(--pd-green); }
.pd-library-filters { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-sm); }
.pd-field { display: flex; flex-direction: column; gap: .4rem; min-width: 0; margin-bottom: var(--space-sm); }
.pd-field label { font-family: var(--font-sans); font-size: .875rem; color: var(--body); font-weight: 600; }
.pd-field :where(input, select, textarea) { width: 100%; min-width: 0; min-height: var(--pd-control-height); color: var(--ink); background: var(--card); border: 1px solid var(--pd-line); border-radius: var(--radius-sm); padding: .6rem .75rem; font-size: 1rem; }
.pd-field textarea { resize: vertical; line-height: 1.6; }
.pd-field [aria-invalid="true"] { border: 2px solid var(--pd-error); }
.pd-results-bar { display: flex; align-items: center; justify-content: space-between; gap: var(--space-sm); margin-bottom: var(--space-sm); }
.pd-live-message { font-family: var(--font-sans); font-size: .875rem; color: var(--pd-green); }
.pd-live-message:empty { display: none; }
.pd-live-message:not(:empty) { margin-block: var(--space-xs); }
.pd-resource-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-sm); }
.pd-resource-card { display: flex; flex-direction: column; min-width: 0; background: var(--card); border: 1px solid var(--pd-line); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); overflow: hidden; }
.pd-resource-mark { display: flex; align-items: center; min-height: 3.25rem; padding: var(--space-sm); border-bottom: 1px solid var(--pd-line); color: var(--pd-subject-ink, var(--pd-green)); background: color-mix(in srgb, var(--pd-subject) 10%, var(--card)); }
.pd-resource-mark .pd-icon { width: 1.65rem; height: 1.65rem; }
.pd-resource-body { display: flex; flex: 1; flex-direction: column; padding: var(--space-sm); gap: var(--space-xs); }
.pd-resource-body h2 { font-size: 1.35rem; margin: 0; color: var(--sage-dark); }
.pd-resource-body p { font-size: 1rem; line-height: 1.5; color: var(--body); margin: 0; }
.pd-resource-body > .pd-meta { margin-top: auto; }
.pd-resource-body .pd-overline { color: var(--pd-subject-ink, var(--pd-green)); }
.pd-resource-actions { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--space-xs); margin-top: var(--space-xs); }
.pd-resource-grid[data-view="list"] { grid-template-columns: minmax(0, 1fr); }
.pd-resource-grid[data-view="list"] .pd-resource-card { flex-direction: row; }
.pd-resource-grid[data-view="list"] .pd-resource-mark { width: 4.5rem; flex-shrink: 0; justify-content: center; border-bottom: 0; border-right: 1px solid var(--pd-line); }
.pd-resource-preview { background: var(--card); border: 1px solid var(--pd-line); padding: var(--space-md); margin-top: var(--space-md); border-radius: var(--radius-sm); }
.pd-resource-preview section + section { margin-top: var(--space-md); }
.pd-resource-preview h3 { margin-top: 0; }
.pd-preview-notice { font-family: var(--font-sans); font-size: .875rem; padding: var(--space-sm); border: 1px solid var(--pd-line); background: var(--pd-wash); border-radius: var(--radius-sm); color: var(--body); margin-block: var(--space-sm) var(--space-md); }
.pd-request-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: var(--space-md); align-items: start; }
.pd-request-form h2, .pd-request-history h2 { margin: 0 0 var(--space-sm); }
.pd-context-reference { display: flex; align-items: center; justify-content: space-between; gap: var(--space-xs); font: .8rem/1.5 var(--font-sans); padding: var(--space-xs); background: var(--pd-wash); margin-bottom: var(--space-sm); border-radius: var(--radius-sm); }
.pd-error { color: var(--pd-error); font: .8rem/1.6 var(--font-sans); }
.pd-thread { border: 1px solid var(--pd-line); border-radius: var(--radius-sm); background: var(--card); margin-bottom: var(--space-sm); }
.pd-thread summary { padding: var(--space-sm); min-height: var(--pd-control-height); cursor: pointer; font-weight: 600; }
.pd-thread summary .pd-badge { margin-left: var(--space-xs); }
.pd-thread-body { padding: 0 var(--space-sm) var(--space-sm); }
.pd-message-text { white-space: pre-wrap; margin-block: var(--space-sm); }
.pd-file-placeholder { display: grid; place-items: center; padding: var(--space-lg) var(--space-md); margin-block: var(--space-md); border: 1px dashed var(--pd-line); border-radius: var(--radius-md); color: var(--pd-muted); text-align: center; }
.pd-file-placeholder .pd-icon { width: 2.5rem; height: 2.5rem; margin-bottom: var(--space-sm); }
.pd-photo-grid { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-sm); padding: 0; margin-top: var(--space-md); }
.pd-photo-item { display: flex; flex-direction: column; align-items: start; gap: var(--space-xs); min-width: 0; }
.pd-photo-item img { display: block; width: 100%; height: 12rem; object-fit: contain; background: var(--pd-wash); border-radius: var(--radius-sm); }
.pd-preference-options { display: flex; flex-wrap: wrap; gap: var(--space-xs); }
@media (min-width: 80rem) {
  .pd-overview-layout { grid-template-columns: minmax(0, 1fr) 14rem; gap: var(--space-md); }
}
@media (max-width: 63.999rem) {
  .pd-shell { display: block; }
  .pd-sidebar { position: static; min-height: 0; max-height: none; padding: var(--space-sm) var(--space-md); border-right: 0; border-bottom: 1px solid var(--pd-line); }
  .pd-sidebar-brand { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-sm); padding: 0; border: none; }
  .pd-wordmark { max-width: none; margin: 0; font-size: 1.65rem; }
  .pd-sidebar-brand > .pd-overline { display: none; }
  .pd-root .pd-button.pd-menu-button { display: inline-flex; margin-left: auto; }
  .pd-student { padding: var(--space-xs) 0 0; }
  .pd-student .pd-avatar { display: none; }
  .pd-student strong { display: inline; margin-right: var(--space-xs); font-size: 1rem; }
  .pd-student .pd-meta { display: inline; }
  .pd-nav { display: none; padding-top: var(--space-sm); }
  .pd-nav[data-expanded="true"] { display: flex; }
  .pd-nav-footer { padding-top: var(--space-xs); }
  .pd-main { padding-top: var(--space-md); }
  .pd-home-context { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-md); margin-top: 0; }
  .pd-home-context .pd-context-section { padding-top: 0; }
}
@media (max-width: 42rem) {
  .pd-main { padding-inline: var(--space-sm); }
  .pd-sidebar { padding-inline: var(--space-sm); }
  .pd-snapshot-metrics, .pd-mastered-grid, .pd-resource-grid, .pd-request-layout, .pd-home-context { grid-template-columns: minmax(0, 1fr); }
  .pd-library-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pd-search-field { grid-column: 1 / -1; }
  .pd-fluency-row { grid-template-columns: minmax(0, 1fr) 5rem; gap: var(--space-xs); }
  .pd-fluency-row > .pd-meter-track { grid-column: 1 / -1; grid-row: 2; }
  .pd-work-link { flex-wrap: wrap; gap: var(--space-xs); }
  .pd-work-link .pd-status { margin-left: auto; }
  .pd-subject-tabs { gap: var(--space-sm); }
  .pd-skill-row { flex-wrap: wrap; padding-left: var(--space-xs); }
  .pd-skill-row .pd-skill-name { flex-basis: 100%; }
  .pd-skill-row .pd-meta { margin-left: auto; }
  .pd-code { margin-left: .35rem; }
  .pd-panel, .pd-dialog-header, .pd-dialog-body { padding: var(--space-sm); }
  .pd-dialog-header h2 { font-size: 1.5rem; }
  .pd-resource-grid[data-view="list"] .pd-resource-mark { width: 3.25rem; padding: var(--space-xs); }
  .pd-chart-controls select { width: 100%; }
  .pd-chart-controls { align-items: start; }
}
@media (prefers-reduced-motion: reduce) { .pd-root *, .pd-root *::before, .pd-root *::after { animation: none; transition: none; scroll-behavior: auto; } }
@media (forced-colors: active) {
  .pd-nav-link[aria-current="page"], .pd-chip[aria-pressed="true"] { border: 2px solid Highlight; }
  .pd-chart-line, .pd-chart-point { stroke: CanvasText; }
  .pd-meter-fill { background: Highlight; forced-color-adjust: none; }
}
@media print {
  .pd-root .pd-sidebar, .pd-root .pd-skip, .pd-root button, .pd-root input, .pd-root select, .pd-root textarea { display: none; }
  .pd-shell { display: block; }
  .pd-main { padding: 0; }
  .pd-panel, .pd-resource-card { box-shadow: none; break-inside: avoid; }
}

.pd-root h2.pd-overline { font: 650 .75rem/1.5 var(--font-sans); margin: 0 0 var(--space-xs); }
.pd-chart { max-width: 44rem; margin-inline: auto; }
.pd-progress-grid { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; gap: var(--space-md); margin-top: var(--space-md); }
.pd-progress-grid .pd-chart-slot { margin-top: 0; }
.pd-subject-notes { min-width: 0; border-top: 3px solid var(--pd-subject); padding: var(--space-sm) 0; }
.pd-root .pd-subject-notes h2 { font-size: 1.2rem; margin: 0 0 var(--space-sm); }
.pd-subject-notes article { margin-top: var(--space-sm); }
.pd-subject-notes p { margin-top: var(--space-xs); font-size: 1rem; line-height: 1.65; }
@media (min-width: 80rem) { .pd-progress-grid[data-split="true"] { grid-template-columns: minmax(0, 2.3fr) minmax(13rem, 1fr); } }
