/* Phase 3 uses existing tokens and responsive shell. */
body {background-color:var(--page-background);background-size:cover;background-attachment:fixed;color:var(--color-text);}
.panel,.welcome-card {background:var(--card-background);border-color:var(--border);}
.p3-grid,.today-groups {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0;}
.p3-grid>* {min-width:0;} .p3-grid .panel+.panel {margin-top:16px;}
.p3-metrics {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;text-align:center;}.p3-metrics strong {display:block;font-size:2rem;color:var(--primary);}.p3-metrics small {display:block;}
.date-bar {display:flex;align-items:end;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:16px;}.date-bar label {display:flex;flex-direction:column;gap:4px;min-width:0;}.date-bar input {width:100%;max-width:200px;min-height:44px;border:1px solid var(--border);border-radius:12px;padding:6px;color:inherit;background:var(--surface);}
.daily-overview {display:flex;align-items:center;justify-content:space-between;gap:16px;}.daily-overview>div {flex:1;min-width:0;}.context-pet {display:block;object-fit:contain;max-width:100%;width:200px;height:180px;margin:auto;}.daily-overview .context-pet {width:150px;flex-shrink:0;}
.progress-track {height:14px;background:var(--border);border-radius:10px;overflow:hidden;margin:12px 0;}.progress-track span {display:block;height:100%;background:var(--primary);border-radius:10px;}
.ledger {padding:0;list-style:none;margin:12px 0;}.ledger li {display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);overflow-wrap:anywhere;}.ledger li>span {min-width:0;}.ledger small {display:block;color:var(--muted);font-size:.75rem;margin-top:4px;}.ledger b {flex-shrink:0;}.ledger .journal-icon {width:24px;height:24px;vertical-align:middle;margin-right:8px;}
.calendar-grid {display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center;}.calendar-grid button {padding:2px;min-width:0;width:100%;min-height:44px;}.calendar-grid [aria-current] {border:2px solid var(--primary);}
.badges {display:flex;gap:20px;}.badges>div {display:flex;flex-direction:column;gap:8px;align-items:center;}.badges svg {width:48px;height:48px;}
.week-chart {display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;}.week-chart button {display:flex;flex-direction:column;align-items:center;min-width:0;padding:4px;background:transparent;border:0;}.bar-space {height:100px;display:flex;align-items:end;width:65%;}.bar-space i {display:block;width:100%;min-height:2px;background:var(--secondary);border-radius:7px 7px 0 0;}.week-chart small {font-size:.7rem;}
.schedule-week {display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:16px;}.schedule-week button {padding:12px 4px;min-width:0;display:flex;flex-direction:column;gap:8px;align-items:center;}.schedule-week span {font-size:.75rem;}
.space-cards a {display:block;color:inherit;text-decoration:none;}.space-cards .journal-icon {width:40px;height:40px;}.note-copy {white-space:pre-wrap;overflow-wrap:anywhere;}.quick-stars {display:flex;gap:8px;flex-wrap:wrap;}.quick-stars button {min-width:44px;min-height:44px;}textarea {max-width:100%;width:100%;padding:12px;border:1px solid var(--border);border-radius:12px;font:inherit;}.p3-parent {margin-top:16px;}.p3-parent button,.p3-parent a {margin:4px;}.home-summary .ledger li {flex-wrap:wrap;}.pet-effect svg {width:35px;height:35px;}
@media(max-width:1100px){.p3-grid {grid-template-columns:1fr;}.calendar-grid {max-width:520px;margin:auto;}}
@media(max-width:767px){.today-groups {grid-template-columns:1fr;}.p3-metrics {grid-template-columns:repeat(2,minmax(0,1fr));}.daily-overview .context-pet {width:90px;height:130px;}.schedule-week {grid-template-columns:repeat(4,minmax(0,1fr));}.ledger li {flex-wrap:wrap;}.week-chart {gap:0;}.calendar-grid {gap:0;}.calendar-grid button {min-height:44px;}.date-bar {justify-content:center;}.space-cards {grid-template-columns:repeat(2,minmax(0,1fr));}.space-cards h2 {font-size:1rem;}.week-chart button {min-height:44px;}.panel {min-width:0;}}
@media(max-width:370px){.calendar-grid {grid-template-columns:repeat(4,minmax(44px,1fr));}.calendar-grid>span {display:none;}.week-chart {grid-template-columns:repeat(4,minmax(44px,1fr));row-gap:12px;}.calendar-grid button {min-width:44px;}.week-chart button {min-width:44px;}}
@media(prefers-reduced-motion:reduce){.pet-effect,.pet-art {animation:none!important;}}
.daily-overview>.pet-slot {width:150px;flex:0 0 150px;}.daily-overview .pet-frame {height:150px;}.daily-overview .pet-art {height:150px;width:100%;object-fit:contain;}.daily-overview .context-pet {animation:gentle-arrival .45s ease-out 1;}@keyframes gentle-arrival {from{transform:scale(.95);opacity:.7;}to{transform:scale(1);opacity:1;}}
@media(max-width:767px){.daily-overview>.pet-slot {width:90px;flex-basis:90px;}.daily-overview .pet-frame,.daily-overview .pet-art {height:130px;}}
@media(prefers-reduced-motion:reduce){.daily-overview .context-pet {animation:none;}}body[data-animations="off"] .daily-overview .context-pet {animation:none;}
