:root { --primary:var(--pink-700);--secondary:var(--pink-300);--accent:var(--cream);--page-background:var(--canvas);--card-background:var(--surface);--card-radius:24px;--button-radius:12px; }
body { background:var(--page-background); }.panel { background:var(--card-background);border-radius:var(--card-radius); }.action-button,.module-controls button { border-radius:var(--button-radius); }
.brand { font-size:1.05rem; }.brand small { font-size:.65rem; }.brand .journal-icon { width:36px;height:42px; }.brand > span { min-width:0;overflow-wrap:anywhere; }.sidebar { padding:20px 12px; }.sidebar nav { gap:6px; }.sidebar .nav-link { gap:10px;padding:8px 12px;min-height:49px; }.sidebar .nav-link .journal-icon { width:30px;height:30px; }.sidebar-note { padding-top:18px; }
.breadcrumb,.nav-link span { min-width:0;overflow-wrap:anywhere; }#parent-entry { flex-shrink:0; }
#mobile-nav { display:none; }#parent-entry { font-size:.75rem;touch-action:manipulation;user-select:none;-webkit-user-select:none; }.holding { box-shadow:inset 0 -4px var(--secondary); }
.action-button.primary,.text-link.primary,.sidebar .nav-link[aria-current] { background:var(--secondary);color:var(--primary); }
#storage-warning { color:var(--primary);background:var(--accent);margin:0; }#storage-warning:not(:empty) { padding:12px 24px; }
.home-layout-v25 { display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px; }.home-layout-v25 .welcome-card { grid-column:1/-1; }.focus-panel { grid-column:1; }.home-pet { grid-column:2;grid-row:2;align-self:start; }.home-summary { grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px; }.home-summary p,.home-summary small,.parent-grid p { color:var(--muted);font-size:.875rem; }.home-summary h2 { color:var(--primary); }
.home-layout-v25 .category-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.category-card.accent-pink { background:var(--pink-50); }.category-card.accent-cream { background:var(--cream); }.category-card.accent-blue { background:var(--blue); }.category-card.accent-lavender { background:var(--lavender); }.category-card.accent-mint { background:var(--mint); }
.home-layout-v25 > .welcome-card { grid-area:auto;grid-column:1/-1;grid-row:1; }
.home-layout-v25 > .focus-panel { grid-row:2; }
.home-layout-v25 > .home-summary { grid-row:3; }
.module-chips { display:flex;flex-wrap:wrap;gap:8px; }.module-chips a { display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 12px;background:var(--pink-50);border:1px solid var(--border);border-radius:12px; }.module-chips .journal-icon { width:26px;height:26px; }
.pet-panel { text-align:center;background:var(--cream);align-self:start; }.pet-panel h2 { font-size:1.1rem;color:var(--primary); }.pet-panel p { color:var(--muted); }.pet-frame { width:224px;max-width:100%;margin:18px auto; }.pet-art { width:100%;height:auto;object-fit:contain;display:block; }.pet-fallback { padding:40px 15px;color:var(--primary); }.pet-page { max-width:600px;margin:auto; }.pet-presentation { position:relative; }.pet-effect { position:absolute;right:12%;top:14%;font-size:1.8rem;color:var(--primary);pointer-events:none; }.neutral-pet { font-size:2rem;color:var(--primary);padding:40px; }
.pet-presentation:not([data-pet-state=default]) .pet-frame { animation:pet-gentle 1.1s ease-in-out 2; }.pet-presentation:not([data-pet-state=default]) .pet-effect { animation:pet-spark 1.1s ease-out 2; }
@keyframes pet-gentle { 50% { transform:translateY(-5px) rotate(1deg); } }@keyframes pet-spark { 50% { transform:translateY(-8px);opacity:.5; } }
.event-banner { display:flex;gap:18px;align-items:center;background:var(--cream);border:1px solid var(--border);padding:20px 24px;border-radius:var(--card-radius);margin-bottom:16px; }.event-banner>.journal-icon { width:54px;height:54px; }.event-banner h2 { color:var(--primary); }.event-banner p { margin:6px 0 0; }
.parent-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px; }.parent-grid h2 { color:var(--primary);font-size:1.1rem; }.parent-grid .action-button { margin-top:8px; }.parent-profile { display:flex;align-items:center;gap:14px;margin:16px 0; }.parent-profile p { margin:4px 0; }.profile-avatar:not(button) { cursor:default; }.profile-avatar:not(button)>.journal-icon { margin-bottom:0; }
.all-module-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px; }.module-list { display:grid;gap:12px;margin-top:16px; }.module-row { display:flex;justify-content:space-between;align-items:center;gap:16px; }.module-row-title { display:flex;gap:12px;align-items:center;min-width:0; }.module-row-title>div { min-width:0;overflow-wrap:anywhere; }.module-row-title small { display:block;color:var(--muted);font-size:.8rem; }.module-controls { display:flex;flex-wrap:wrap;gap:6px; }.module-controls button { min-width:44px;min-height:44px;padding:8px 12px;border:1px solid var(--border);background:var(--pink-50);color:var(--primary);font-size:.8rem; }.group-title { margin:24px 0 8px;font-size:1.1rem; }.tracker-shell p { color:var(--muted); }.task-panel .task-actions { background:transparent; }.task-list .empty-task { font-size:.875rem; }
.app-dialog { max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px); }.app-dialog input[type=color] { padding:5px; }.topbar { gap:8px; }.journal-header h1 { overflow-wrap:anywhere; }.journal-header .date { min-width:160px; }.home-layout-v25 .welcome-card { min-width:0; }.home-layout-v25 .welcome-top h2 { white-space:normal;overflow-wrap:anywhere; }
[data-animations=off] *,[data-animations=off] *::before,[data-animations=off] *::after { animation:none!important;transition:none!important; }
@media(min-width:768px) and (max-width:1100px){ .home-layout-v25 { grid-template-columns:minmax(0,1fr) 230px; }.home-layout-v25 .category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.parent-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.module-row { flex-direction:column;align-items:stretch; }.home-summary { grid-template-columns:1fr; }.sidebar .nav-link { padding:8px 3px;gap:4px; }.sidebar .brand>span { display:none; }.home-layout-v25 .welcome-card { flex-direction:row; }.all-module-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:767px){ .sidebar { display:none; }.topbar { padding-top:max(8px,env(safe-area-inset-top)); }.app-shell { padding-bottom:90px; }.home-layout-v25 { display:flex;flex-direction:column;gap:12px; }.home-layout-v25 .welcome-card { display:block; }.home-layout-v25 .category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.home-summary,.parent-grid { display:grid;grid-template-columns:1fr;gap:12px; }.home-pet { align-self:stretch; }.all-module-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.module-row { flex-direction:column;align-items:stretch; }.module-controls button { flex:1 0 auto; }.journal-header h1 { font-size:1rem; }.journal-header .date { display:none; }.hello { font-size:1.8rem; }.event-banner { padding:16px;gap:12px; }.event-banner h2 { font-size:1.1rem; }.event-banner p { font-size:.9rem; }
 #mobile-nav { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;position:fixed;z-index:30;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--border);padding:6px max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));margin:0;box-shadow:var(--shadow); }#mobile-nav .nav-link { display:flex;flex-direction:column;padding:4px;min-height:56px;font-size:.7rem;gap:2px;border:0;background:transparent; }#mobile-nav .nav-link[aria-current] { background:var(--pink-100); }#mobile-nav .journal-icon { width:25px;height:25px; }.announcement { bottom:calc(85px + env(safe-area-inset-bottom)); }.brand { font-size:.9rem; } }
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;}}
