.mc-study-polish{margin-top:24px}.mc-milestones{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mc-milestones li{border:1px solid var(--mc-line);border-radius:14px;padding:16px;color:var(--mc-ink-secondary);animation:mc-milestone-enter 180ms ease-out}.mc-milestones strong,.mc-milestones small{display:block}.mc-milestones span{display:inline-block;font-size:.85rem;margin:8px 0}.mc-milestones li.is-earned{border-color:var(--mc-teal);color:var(--mc-ink);background:var(--mc-surface-elevated)}.mc-encouragement-control{display:flex;align-items:center;gap:10px;min-height:44px}.mc-encouragement-control input{width:22px;height:22px}.mc-theme-quick{min-height:44px;transition:opacity 140ms ease-out}.mc-theme-quick:active{opacity:.7}[data-encouragement]{line-height:1.6}@keyframes mc-milestone-enter{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}@media(max-width:480px){.mc-milestones{grid-template-columns:1fr}.page-header__actions:has(.mc-theme-quick){flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.mc-milestones li{animation:none}.mc-theme-quick{transition:none}}html[data-reduced-motion="true"] .mc-milestones li{animation:none}html[data-reduced-motion="true"] .mc-theme-quick{transition:none}
.mc-study-polish[hidden],[data-encouragement][hidden]{display:none!important}.mc-theme-quick:focus-visible,.mc-encouragement-control input:focus-visible{outline:3px solid var(--mc-teal);outline-offset:3px}

/* A fitting desktop timeline stays visible beside the taller supporting cards. */
.app-shell .planner-workspace > .planner-timeline-card.mc-planner-sticky{position:sticky;top:24px;align-self:start;}
/* Let Plan's grid shrink at tablet widths and larger accessibility text sizes. */
.app-shell [data-view="planner"],.app-shell .planner-workspace,.app-shell .planner-workspace > *{min-width:0;}
@media(max-width:1000px){.app-shell .planner-page-header{flex-wrap:wrap}.app-shell .planner-date-nav{flex-wrap:wrap;max-width:100%}.app-shell .planner-workspace{grid-template-columns:minmax(0,1fr)}}

/* Balanced rows replace the long supporting rail; keep all existing controls. */
.app-shell .planner-workspace--compact{gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));}
.app-shell .planner-workspace--compact > .mc-card{min-width:0;padding:20px;gap:12px;}
.app-shell .planner-workspace--compact .mc-empty-state{min-height:0;padding:16px;gap:8px;}
.app-shell .planner-workspace--compact .mc-empty-state h2{font-size:var(--mc-text-lg);}
.app-shell .planner-workspace--compact .mc-empty-state p{max-width:none;line-height:1.5;}
.app-shell .planner-workspace--compact .calendar-connection-row{min-height:58px;padding:9px 0;}
.app-shell .planner-workspace--compact .section-heading{margin-bottom:0;}
:root[data-workspace-layout=stacked] .app-shell .planner-workspace--compact{grid-template-columns:minmax(0,1fr);}
@media(max-width:1000px){.app-shell .planner-workspace--compact{grid-template-columns:minmax(0,1fr);}}

/* Keep empty schedules brief; the card headings already provide these actions. */
.app-shell .planner-workspace--compact :is(.planner-timeline-card,.planner-tasks-card) .mc-empty-state :is(.tool-icon,.mc-button){display:none;}
.app-shell [data-view="planner"] .planner-hero{padding:18px 20px;gap:6px;}
.app-shell [data-view="planner"] .planner-hero .mc-hero__top{display:none;}
.app-shell [data-view="planner"] .planner-hero h2{font-size:1.65rem;}
