/* Campus home owns its layout. Size panels by the space they actually have,
   independently of the navigation rail or the general lesson-page styles. */
html[data-ag-ui=campus] main.student-home.studio-home {
  --home-gap: 16px;
  --home-inset: 22px;
  container: campus-home / inline-size;
}
html[data-ag-ui=campus] main.student-home.studio-home *,
html[data-ag-ui=campus] main.student-home.studio-home *::before,
html[data-ag-ui=campus] main.student-home.studio-home *::after { box-sizing: border-box; }
html[data-ag-ui=campus] main.student-home.studio-home :is(.studio-workspace,.studio-daily-grid,.studio-showcase-grid,.studio-agenda-grid,.studio-my-plan,.studio-supervision,.work-task-summary,.work-dashboard-actions,.studio-showcase-copy) { min-width: 0; }
html[data-ag-ui=campus] main.student-home.studio-home :is(.studio-workspace,.studio-daily-grid,.studio-showcase-grid,.studio-agenda-grid) { margin: 0 0 var(--home-gap); }
html[data-ag-ui=campus] main.student-home.studio-home :is(.studio-daily-grid,.studio-showcase-grid) {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: var(--home-gap);
  align-items: start;
}
html[data-ag-ui=campus] main.student-home.studio-home :is(.home-task,.roadmap,.studio-week-brief,.studio-supervision,.education-schedule) {
  min-width: 0;
  min-height: 0;
  height: auto;
  margin: 0;
  padding: var(--home-inset);
  border: 1px solid var(--ag-line);
  border-radius: var(--ag-radius);
  background: var(--ag-panel);
  box-shadow: none;
  transform: none;
}
html[data-ag-ui=campus] main.student-home.studio-home :is(.home-task,.roadmap,.studio-week-brief,.studio-supervision):hover { transform: none; box-shadow: none; }
html[data-ag-ui=campus] main.student-home.studio-home :is(.home-task h2,.roadmap-heading h2,.home-week-heading h2,.schedule-heading h2) { font: 500 22px/1.3 var(--ag-font); letter-spacing: -.025em; }
html[data-ag-ui=campus] main.student-home.studio-home :is(a,button,label,select,textarea,p,h2,h3) { max-width: 100%; overflow-wrap: anywhere; }
html[data-ag-ui=campus] main.student-home.studio-home :is(button,select,textarea,input) { min-width: 0; }
html[data-ag-ui=campus] main.student-home.studio-home .studio-workspace > .home-work { border-color: color-mix(in srgb,var(--ag-accent) 55%,var(--ag-line)); }
html[data-ag-ui=campus] main.student-home.studio-home .work-dashboard {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: 20px;
  align-items: center;
}
html[data-ag-ui=campus] main.student-home.studio-home .work-task-summary { width: auto; }
html[data-ag-ui=campus] main.student-home.studio-home .work-dashboard-title { font: 400 clamp(22px,2.2vw,29px)/1.3 var(--ag-font); margin-bottom: 12px; }
html[data-ag-ui=campus] main.student-home.studio-home .work-focus-clock { width: 150px; height: 150px; max-width: 100%; margin: 0 auto; }
html[data-ag-ui=campus] main.student-home.studio-home .work-clock-face .work-duration { font: 400 27px/1.2 var(--ag-font); white-space: nowrap; }
html[data-ag-ui=campus] main.student-home.studio-home .work-dashboard-actions {
  display: block;
  grid-column: auto;
  grid-row: auto;
  width: auto;
  border: 0;
  border-top: 1px solid var(--ag-line);
  padding: 18px 0 0;
}
html[data-ag-ui=campus] main.student-home.studio-home .work-dashboard-actions > * { grid-column: auto; grid-row: auto; }
html[data-ag-ui=campus] main.student-home.studio-home :is(.work-controls,.work-task-controls) { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0; }
html[data-ag-ui=campus] main.student-home.studio-home :is(.work-controls,.work-task-controls) button { flex: 1 1 130px; min-height: 42px; white-space: normal; }
html[data-ag-ui=campus] main.student-home.studio-home .work-dashboard-pause .work-stat { gap: 12px; flex-wrap: wrap; }
html[data-ag-ui=campus] main.student-home.studio-home .work-dashboard-pause .work-duration { white-space: nowrap; font-size: 16px; }
html[data-ag-ui=campus] main.student-home.studio-home .studio-my-plan { display: flex; flex-direction: column; gap: 10px; align-self: stretch; }
html[data-ag-ui=campus] main.student-home.studio-home .studio-plan-reminder { flex: none; margin: 0; }
html[data-ag-ui=campus] main.student-home.studio-home .studio-my-plan > .roadmap { flex: 1 0 auto; height: auto; }
html[data-ag-ui=campus] main.student-home.studio-home .roadmap-toolbar { align-items: flex-start; gap: 8px; margin-bottom: 14px; }
html[data-ag-ui=campus] main.student-home.studio-home .roadmap-home-course { flex: 1 1 170px; line-height: 1.65; }
html[data-ag-ui=campus] main.student-home.studio-home .roadmap-editor { margin: 0; padding: 0; border: 0; background: none; }
html[data-ag-ui=campus] main.student-home.studio-home .roadmap-editor-head { padding: 0 0 12px; background: none; }
html[data-ag-ui=campus] main.student-home.studio-home .roadmap-editor-head h3 { font: 500 16px/1.4 var(--ag-font); }
html[data-ag-ui=campus] main.student-home.studio-home .roadmap-tasks { margin: 0; padding: 14px 0; border: 0; background: none; }
html[data-ag-ui=campus] main.student-home.studio-home .roadmap-task-meter { display: block; margin-bottom: 12px; }
html[data-ag-ui=campus] main.student-home.studio-home .roadmap-task-rows { max-height: 220px; overflow: auto; overscroll-behavior: contain; }
html[data-ag-ui=campus] main.student-home.studio-home .roadmap-task-row { padding: 10px 0; gap: 10px; }
html[data-ag-ui=campus] main.student-home.studio-home .roadmap-task-row input[type=checkbox] { flex: 0 0 18px; width: 18px; height: 18px; margin-top: 3px; }
html[data-ag-ui=campus] main.student-home.studio-home .roadmap-task-copy { min-width: 0; font: 400 12px/1.65 var(--ag-font); }
html[data-ag-ui=campus] main.student-home.studio-home .roadmap-weekly-update { margin: 0; padding: 0; background: none; }
html[data-ag-ui=campus] main.student-home.studio-home .roadmap-weekly-update summary { padding: 12px 0; }
html[data-ag-ui=campus] main.student-home.studio-home .roadmap-weekly-update .roadmap-editor-grid { display: block; padding: 4px 0 12px; }
html[data-ag-ui=campus] main.student-home.studio-home .home-attendance > .home-history-link { margin-top: 18px; align-self: stretch; }
html[data-ag-ui=campus] main.student-home.studio-home .home-scrum { display: block; grid-column: auto; grid-row: auto; }
html[data-ag-ui=campus] main.student-home.studio-home .home-scrum > * { grid-column: auto; grid-row: auto; }
html[data-ag-ui=campus] main.student-home.studio-home .studio-deliveries a > span:not(.studio-delivery-state) { min-width: 0; }
html[data-ag-ui=campus] main.student-home.studio-home .studio-delivery-state { flex: none; }
html[data-ag-ui=campus] main.student-home.studio-home .studio-showcase { display: grid; grid-template-columns: minmax(0,1fr); gap: 20px; min-width: 0; }
html[data-ag-ui=campus] main.student-home.studio-home .studio-showcase-visual { width: 100%; max-height: none; aspect-ratio: 16/8; }
html[data-ag-ui=campus] main.student-home.studio-home .studio-brief-title { font: 400 clamp(24px,2.5vw,32px)/1.2 var(--ag-font); }
html[data-ag-ui=campus] main.student-home.studio-home .home-week-meetings { margin: 0; padding: 0; border: 0; background: none; }
html[data-ag-ui=campus] main.student-home.studio-home .home-week-meeting { grid-template-columns: 40px minmax(0,1fr); align-items: start; }
html[data-ag-ui=campus] main.student-home.studio-home .home-week-state { grid-column: 2; align-items: flex-start; min-width: 0; }
html[data-ag-ui=campus] main.student-home.studio-home .studio-book-link { margin-top: 18px; }
html[data-ag-ui=campus] main.student-home.studio-home .schedule-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 10px; }
html[data-ag-ui=campus] main.student-home.studio-home .schedule-day { min-width: 0; }
html[data-ag-ui=campus] main.student-home.studio-home .campus-home { margin: 28px 0; }
html[data-ag-ui=campus] main.student-home.studio-home .campus-home-grid { grid-template-columns: repeat(auto-fit,minmax(min(100%,250px),1fr)); gap: var(--home-gap); }
html[data-ag-ui=campus] main.student-home.studio-home .campus-home-card { min-width: 0; padding: var(--home-inset); border-radius: var(--ag-radius); background: var(--ag-panel); }
html[data-ag-ui=campus] main.student-home.studio-home .campus-home-card h3 { font: 500 24px/1.25 var(--ag-font); }
@container campus-home (min-width: 540px) {
  html[data-ag-ui=campus] main.student-home.studio-home .work-dashboard { grid-template-columns: minmax(0,1fr) 165px; }
  html[data-ag-ui=campus] main.student-home.studio-home .work-dashboard-actions { grid-column: 1/-1; }
  html[data-ag-ui=campus] main.student-home.studio-home .work-focus-clock { width: 165px; height: 165px; }
  html[data-ag-ui=campus] main.student-home.studio-home .schedule-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@container campus-home (min-width: 700px) {
  html[data-ag-ui=campus] main.student-home.studio-home .studio-daily-grid { grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); }
  html[data-ag-ui=campus] main.student-home.studio-home .home-scrum { grid-column: 1/-1; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 24px; }
  html[data-ag-ui=campus] main.student-home.studio-home .home-scrum > :is(.studio-card-top,h2,.studio-scrum-session,.studio-deadline) { grid-column: 1; }
  html[data-ag-ui=campus] main.student-home.studio-home .home-scrum > .studio-delivery-heading { grid-column: 2; grid-row: 1/3; }
  html[data-ag-ui=campus] main.student-home.studio-home .home-scrum > .studio-deliveries { grid-column: 2; grid-row: 3/5; }
  html[data-ag-ui=campus] main.student-home.studio-home .home-scrum > .studio-scrum-feedback { grid-column: 1/-1; }
  html[data-ag-ui=campus] main.student-home.studio-home .studio-showcase-grid { grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); }
}
@container campus-home (min-width: 980px) {
  html[data-ag-ui=campus] main.student-home.studio-home .work-dashboard { grid-template-columns: minmax(0,1.15fr) 170px minmax(260px,1fr); gap: 24px; }
  html[data-ag-ui=campus] main.student-home.studio-home .work-dashboard-actions { grid-column: auto; border-top: 0; border-left: 1px solid var(--ag-line); padding: 0 0 0 24px; }
  html[data-ag-ui=campus] main.student-home.studio-home .studio-daily-grid { grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); }
  html[data-ag-ui=campus] main.student-home.studio-home .home-attendance { grid-column: 1; grid-row: 1; align-self: start; }
  html[data-ag-ui=campus] main.student-home.studio-home .studio-my-plan { grid-column: 2; grid-row: 1/3; align-self: stretch; }
  html[data-ag-ui=campus] main.student-home.studio-home .home-scrum { display: block; grid-column: 1; grid-row: 2; align-self: start; }
  html[data-ag-ui=campus] main.student-home.studio-home .home-scrum > * { grid-column: auto; grid-row: auto; }
  html[data-ag-ui=campus] main.student-home.studio-home .roadmap-task-rows { max-height: 440px; }
  html[data-ag-ui=campus] main.student-home.studio-home .schedule-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
}
@media (max-width: 540px) {
  html[data-ag-ui=campus] main.student-home.studio-home { --home-inset: 18px; --home-gap: 14px; }
  html[data-ag-ui=campus] main.student-home.studio-home .studio-welcome { align-items: flex-start; gap: 14px; margin-bottom: 20px; }
  html[data-ag-ui=campus] main.student-home.studio-home .studio-welcome-note { max-width: none; justify-items: start; text-align: left; }
  html[data-ag-ui=campus] main.student-home.studio-home .work-dashboard-title { font-size: 23px; }
  html[data-ag-ui=campus] main.student-home.studio-home .home-section-heading { align-items: flex-start; flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
  html[data-ag-ui=campus] main.student-home.studio-home .studio-reveal { transition: none; transform: none; opacity: 1; }
}
