/* JurnalAnak Ceria — visual direction inspired by the approved Figma reference. */
:root,body.theme-forest{--green:#6750c7;--green-dark:#503ba9;--accent:#ffbd69;--ink:#28263f;--muted:#55536a;--paper:#f7f6fc;--line:#e8e5f2;--soft:#efebfc;--hero:#7864d8;--shadow:0 6px 28px #453b7907;--radius:24px;--mission-end:#a08bea}
body.theme-space{--green:#6551cc;--green-dark:#4936a5;--ink:#29253f;--muted:#55516b;--paper:#f5f4fc;--line:#e5e1f2;--soft:#ede9fc;--hero:#7161d5;--mission-end:#9a87e8}
body.theme-garden{--green:#ad477f;--green-dark:#8c3464;--ink:#3c2938;--muted:#685466;--paper:#fcf6fa;--line:#f0e2ed;--soft:#fae9f3;--hero:#b8548e;--mission-end:#d989b5}
body.theme-ocean{--green:#16778a;--green-dark:#0e5b6b;--ink:#233a46;--muted:#4c626f;--paper:#f3f9fc;--line:#ddebf2;--soft:#e4f3f9;--hero:#26899f;--mission-end:#6bbacb}
body{background:var(--paper)}.brand-adib{color:#f58d76}.brand small{letter-spacing:1.2px;font-size:9px}.sidebar{border-right:1px solid var(--line);padding-top:28px}.sidebar nav{gap:9px}.nav-item{border-radius:15px;min-height:54px}.nav-item.active{background:var(--soft);color:var(--green);box-shadow:none}.nav-dot{background:var(--green)}.sidebar-note{background:linear-gradient(125deg,var(--green),var(--hero));color:#fff;border-radius:22px;margin:30px 0 24px;padding:22px}.sidebar-note p{color:#fff}.sidebar-note strong{font-family:Nunito,sans-serif;font-size:17px}.sidebar-label{font-size:12px;margin:30px 14px 16px;letter-spacing:1px}.sidebar-account{background:var(--soft);border:0;border-radius:18px;padding:14px;margin-top:auto}.mini-avatar,.top-avatar{background:#fff0e7}.topbar{height:76px}.breadcrumb strong{color:var(--ink)}.main-content{padding-top:28px}.card,.habit-card,.reward-card,.stat-card{border-color:var(--line);box-shadow:var(--shadow);border-radius:24px}.btn{border-radius:14px;font-weight:800}.btn.secondary{border-color:var(--line)}.badge.green{color:var(--green);background:var(--soft)}.stat-icon.green-bg{background:#eee8fd}.stat-icon.peach-bg{background:#fff0e9}.stat-icon.yellow-bg{background:#fff6da}.stat-card strong{font-family:Nunito,sans-serif;color:var(--ink)}.stat-card{padding:22px}.child-greeting{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.child-greeting p{font-size:14px;color:var(--muted);margin-bottom:5px}.child-greeting h1{font-size:26px;letter-spacing:-.4px}.greeting-avatar{display:flex;align-items:center;justify-content:center;width:56px;height:56px;flex-shrink:0;background:#fff0e7;border:4px solid #fff;border-radius:50%;font-size:30px;box-shadow:var(--shadow)}
.mission-hero{background:linear-gradient(115deg,var(--hero),var(--mission-end));min-height:270px;isolation:isolate}.mission-hero:before,.mission-hero:after{content:'';position:absolute;border-radius:50%;background:#ffffff0b;z-index:-1;width:270px;height:270px;right:18%;top:-160px}.mission-hero:after{width:180px;height:180px;top:auto;bottom:-100px;right:5%;background:#fff0b02b}.mission-hero .hero-copy{flex:1;max-width:65%;padding:30px 0 30px 32px}.mission-hero .hero-copy .eyebrow{color:#fff4ca;font-size:13px;display:block;letter-spacing:1.5px}.mission-hero .hero-copy h2{font-size:36px;line-height:1.13;color:#fff;letter-spacing:-.4px}.mission-hero .hero-copy p{color:#fff;font-size:16px;margin-top:14px;max-width:400px}.mission-hero .hero-art{width:38%;max-height:270px;object-fit:contain;align-self:flex-end;opacity:.95;margin-right:0}.mission-hero .hero-spark{color:#fff0a4}.mission-hero .age-pill{color:#fff;border-color:#ffffff40;background:#ffffff18;font-size:14px;margin-top:16px}.mission-progress{display:flex;gap:14px;align-items:center;max-width:370px;margin-top:16px}.mission-progress progress{height:9px;background:#ffffff30;margin:0}.mission-progress progress::-webkit-progress-bar{background:#ffffff30}.mission-progress progress::-webkit-progress-value{background:#ffe288}.mission-progress progress::-moz-progress-bar{background:#ffe288}.mission-progress strong{font-size:16px;color:#fff}
.mobile-journal-shortcut{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--line);border-left:5px solid var(--green);border-radius:22px;padding:18px 22px;margin-bottom:22px;color:var(--ink);box-shadow:var(--shadow)}.mobile-journal-shortcut>span:nth-child(2){flex:1;min-width:0}.mobile-journal-shortcut strong{display:block;font-size:20px}.mobile-journal-shortcut small{display:block;color:var(--muted);font-size:15px}.shortcut-emoji{display:flex;align-items:center;justify-content:center;background:var(--soft);width:50px;height:50px;border-radius:16px;font-size:28px}.mobile-journal-shortcut .icon{color:var(--green)}
.habit-icon{background:#fff4db}.habit-icon.book{background:#eee9fd}.habit-icon.heart{background:#fff0e9}.habit-count{background:var(--soft);color:var(--green);font-weight:800}.habit-card.completed{border-color:#b5dacb}.prayer-btn,.check-button{border-color:#d5d0e5;color:var(--ink)}.prayer-btn.checked,.check-button.checked{background:#e4f5ee;border:2px solid #53a787;color:#215b46}.habit-heading p{color:var(--muted)}.story-invite{background:#fff7ed;border-color:#f3e5d5;border-radius:24px}.story-invite p,.story-invite>.eyebrow{color:#6e5744}.reward-emoji{background:#fff2d4}.reward-rule{border-color:var(--line)}progress{height:8px;background:var(--soft)}progress::-webkit-progress-bar{background:var(--soft)}progress::-webkit-progress-value{background:#65b99e}progress::-moz-progress-bar{background:#65b99e}.progress-label strong{color:var(--green)}.quote-card{background:var(--soft);border-radius:24px}.quote-card p,.quote-card small{color:var(--green-dark)}input:not([type=checkbox]):not([type=radio]),select,textarea{background:#fdfcfe;border-color:#dcd8e9;border-radius:14px}.date-picker{background:var(--soft);border-radius:18px;padding:14px}.question-number{background:var(--soft);color:var(--green)}.mood-choice input:checked+span{border-color:var(--green);background:var(--soft)}.theme-option>span{border-radius:20px}.parent-banner{background:var(--soft);border-color:var(--line);border-radius:24px}.week-chart .bar-track{background:var(--soft)}.week-chart .bar-track>div{background:var(--green)}.checklist-table thead th,.checklist-table thead .checklist-name{background:var(--soft)}.checklist-table .checklist-done{background:#e4f5ee;color:#215b46}.checklist-scroll{border-color:#dcd8e9}.checklist-table th,.checklist-table td{border-color:#e6e1f0}.auth-body{background:#f7f6fc}.auth-story{background:#eeebfc}.auth-story h1{color:#46357f}.auth-story h1 em{color:#9c58a2}.auth-panel input{background:#fdfcfe}.auth-grid{border-color:var(--line)}
@media(max-width:900px){.mission-hero .hero-copy h2{font-size:32px}.mission-hero .hero-copy{max-width:70%}.mission-hero .hero-art{width:30%}}
@media(max-width:680px){
 .topbar{display:none}body{background:var(--paper)}.main-content{padding:calc(16px + env(safe-area-inset-top)) 16px calc(104px + env(safe-area-inset-bottom))}.child-view .app-page-title{display:none}.child-greeting{margin-bottom:18px;gap:12px}.child-greeting h1{font-size:23px;line-height:1.2}.child-greeting p{font-size:14px}.greeting-avatar{width:48px;height:48px;font-size:26px}.mission-hero{min-height:0;border-radius:24px;margin-bottom:16px}.child-view .mission-hero .hero-copy{padding:22px 20px;max-width:100%;width:100%}.child-view .mission-hero .hero-copy h2{font-size:29px;max-width:85%}.child-view .mission-hero .hero-copy .eyebrow{display:block;font-size:12px;margin-bottom:12px}.child-view .mission-hero .hero-copy p{font-size:16px;max-width:80%;line-height:1.5}.child-view .mission-hero .hero-art{position:absolute;right:-25px;bottom:12px;width:36%;opacity:.3;max-height:180px}.mission-progress{max-width:85%;gap:10px}.child-view .mission-hero .hero-copy .age-pill{font-size:13px;margin-top:16px;background:#ffffff18;color:#fff}.mobile-journal-shortcut{padding:15px;border-radius:20px;gap:12px;margin-bottom:16px;background:#fff;color:var(--ink)}.mobile-journal-shortcut strong{font-size:18px}.mobile-journal-shortcut small{font-size:14px;color:var(--muted)}.shortcut-emoji{width:44px;height:44px;flex-shrink:0;font-size:25px}.stats-grid{gap:10px}.stats-grid .stat-card{flex-basis:44%;padding:16px}.habit-card{padding:18px}.card,.habit-card,.reward-card{border-radius:24px}.mobile-nav a.active,.mobile-nav .app-menu-trigger.active{background:var(--soft);color:var(--green)}.mobile-nav{border-color:var(--line)}.check-button{min-height:56px}.prayer-btn{min-height:82px}.page-heading h1,.parent-heading h1{font-size:27px}.section-heading h2{font-size:24px}.monthly-checklist{padding:14px}.story-invite{padding:24px}.mood-choice>span{border-radius:18px}.question-card label{line-height:1.4}.editor-actions{border-radius:22px}.parent-banner{padding:20px}.app-menu-heading h2{font-size:27px}.checklist-help{font-size:14px}.mobile-back{margin-bottom:12px}.auth-story h1{font-size:30px}
}
@media(max-width:680px){.stats-grid{scrollbar-width:none}.stats-grid::-webkit-scrollbar{display:none}.mission-progress progress{min-width:0;flex:1}.mission-progress strong{flex-shrink:0}.child-view .mission-hero .hero-copy h2{max-width:100%}.child-view .mission-hero .hero-copy p{max-width:85%}.child-view .mission-hero .hero-copy{padding:22px 20px}.child-view .hero-copy .age-pill{max-width:100%}.greeting-avatar:focus-visible{outline:3px solid #dba55e;outline-offset:3px}}
/* Prioritize doing a habit over reading dashboard summaries. */
.child-greeting small{display:block;font-size:14px;color:var(--muted);margin-top:5px}.daily-progress-card{padding:18px 22px;background:linear-gradient(115deg,var(--hero),var(--mission-end));border-radius:22px;color:#fff;margin-bottom:24px;display:flex;gap:24px;align-items:center;justify-content:space-between}.daily-progress-card>div:first-child{min-width:0}.daily-progress-card strong{font-size:18px}.daily-progress-card span{display:block;font-size:14px;margin-top:3px}.daily-progress-meter{display:flex;align-items:center;gap:12px;min-width:180px}.daily-progress-meter progress{margin:0;background:#ffffff30}.daily-progress-meter progress::-webkit-progress-bar{background:#ffffff30}.daily-progress-meter progress::-webkit-progress-value{background:#ffe288}.daily-progress-meter progress::-moz-progress-bar{background:#ffe288}.daily-progress-meter strong{font-size:16px}.habit-date-options{margin-bottom:16px}.habit-date-options summary{cursor:pointer;min-height:44px;padding:10px 12px;background:var(--soft);border-radius:14px;color:var(--green-dark);font-size:15px;font-weight:700}.habit-date-options .date-picker{margin-top:8px}.child-view .dashboard-aside .quote-card{display:none}
@media(max-width:680px){.child-greeting{margin-bottom:14px}.child-greeting h1{font-size:22px}.daily-progress-card{display:block;padding:15px 18px;margin-bottom:20px;border-radius:20px}.daily-progress-card strong{font-size:17px}.daily-progress-meter{margin-top:10px;gap:12px}.daily-progress-meter progress{flex:1;min-width:0}.child-view .section-heading .eyebrow{display:none}.child-view .section-heading{margin-bottom:10px}.habit-date-options{margin-bottom:12px}.habit-date-options summary{font-size:14px}.journal-editor[data-autosave="true"]{padding-bottom:155px}.journal-editor[data-autosave="true"] .editor-actions{position:fixed;bottom:calc(78px + env(safe-area-inset-bottom));left:0;right:0;z-index:25;padding:10px 16px 12px;background:#fffffffa;border:0;border-top:1px solid var(--line);border-radius:18px 18px 0 0;box-shadow:0 -4px 18px #453b7909}.editor-actions>div{display:flex;flex-direction:row;gap:8px;margin-top:7px}.editor-actions .btn{padding:10px 12px;min-height:48px;font-size:15px}.editor-actions .btn.primary{order:0;flex:1.4}.editor-actions .btn.secondary{flex:1}.editor-actions .tiny{display:block;font-size:12px;line-height:1.4}.child-view .dashboard-aside .story-invite{margin-bottom:18px}}

/* Bonus library */
.bonus-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px}.bonus-card{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.bonus-card .btn{margin-top:auto}.bonus-article{max-width:800px}.bonus-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.85;margin:24px 0}.bonus-card h2,.bonus-article h1{overflow-wrap:anywhere}
@media(max-width:680px){.mobile-nav:not(.parent-mobile) .app-menu-trigger{display:flex}}
