:root{--pep-ink:#25302b;--pep-cream:#fffaf0;--pep-orange:#ff6b4a;--pep-orange-dark:#c94328;--pep-teal:#167c72;--pep-teal-soft:#dff5ef;--pep-pink:#ffe3ea;--pep-yellow:#ffe57a;--pep-blue:#dcecff}
body{background-color:#f3eee3;background-image:radial-gradient(circle at 14% 12%,#ffbdab 0 3px,transparent 4px),radial-gradient(circle at 86% 22%,#92d8ca 0 3px,transparent 4px);background-size:54px 54px;color:var(--pep-ink)}
.shell{background:var(--pep-cream);border-color:#d8cebb;box-shadow:0 0 0 1px #ffffff80,0 24px 80px #584b3620}
header{position:relative;overflow:hidden;background:linear-gradient(125deg,#fff1a8 0 48%,#ffd6c9 100%);border-bottom:1px solid #e0c979;padding-block:28px 24px}
header:after{content:"";position:absolute;width:110px;height:110px;border:20px solid #ffffff65;border-radius:50%;right:62px;top:-74px;transform:rotate(-12deg);pointer-events:none}
.kicker{color:#6b442b;font-size:.7rem;font-weight:850;letter-spacing:.12em}.header-note{margin:8px 0 0;font-size:.93rem;color:#684f3f;font-weight:600}h1{font-family:ui-rounded,"Arial Rounded MT Bold",Inter,sans-serif;font-size:2.35rem;font-weight:900;letter-spacing:-.055em}h1 span{color:var(--pep-orange)}
.icon{position:relative;z-index:1;background:#fffdf7;border:1.5px solid var(--pep-ink);border-radius:999px;color:var(--pep-ink);box-shadow:2px 3px 0 var(--pep-ink);transition:transform .15s,box-shadow .15s}.icon:hover{transform:translateY(-1px);box-shadow:2px 4px 0 var(--pep-ink)}
.school-area{margin-top:18px}.school-choice{color:#625b52;background:#fff;border:1px solid #e1d7c8;border-radius:999px;padding:7px 10px}.school-choice small{color:var(--pep-orange-dark)}
.view-switch{border:1px solid #d8cebf;border-radius:999px;padding:4px;background:#efe7d9;box-shadow:none}.view-switch button{border-radius:999px;padding:10px 8px;font-size:.86rem}.view-switch button.active{background:var(--pep-teal);box-shadow:0 2px 7px #165f5730}.view-switch button+button{border:0}
.month-heading button{border:1px solid #d9cdbb;border-radius:50%;color:var(--pep-orange-dark);box-shadow:1px 2px 0 #d4c8b5}.month-heading strong{font-weight:800}
nav{background:#fffdf8;border-color:#dfd4c3}nav button.active{background:var(--pep-yellow);border:1.5px solid var(--pep-ink);border-bottom:1.5px solid var(--pep-ink);border-radius:12px;box-shadow:2px 3px 0 var(--pep-ink);transform:translateY(3px)}
.today-banner{background:linear-gradient(135deg,var(--pep-yellow),#fff0a9);border:1.5px solid var(--pep-ink);border-radius:16px;box-shadow:3px 4px 0 var(--pep-ink);transform:rotate(-.35deg)}.today-banner b{color:#74520b}.today-banner p{font-family:inherit;font-weight:750}
.datebar h2,.dashboard h2{font-family:ui-rounded,"Arial Rounded MT Bold",Inter,sans-serif;font-weight:850}.count{background:var(--pep-orange);border:1.5px solid var(--pep-ink);border-radius:18px;box-shadow:2px 3px 0 var(--pep-ink);transform:rotate(2deg)}
.child{border:1.5px solid var(--pep-ink);border-radius:16px;box-shadow:3px 4px 0 var(--pep-ink);overflow:visible}.child-head{border-radius:14px 14px 0 0;border-color:var(--pep-ink)}.child:nth-child(4n+1) .child-head{background:var(--pep-blue)}.child:nth-child(4n+2) .child-head{background:var(--pep-pink)}.child:nth-child(4n+3) .child-head{background:var(--pep-teal-soft)}.child:nth-child(4n) .child-head{background:#fff0ad}.card-name{font-weight:850}
.task{border-color:#eee7db}.task input{accent-color:var(--pep-teal)}.task label{font-weight:650}.tag{border-radius:999px;padding:3px 7px;background:#f4efe6;font-weight:750}.empty{border-radius:0 0 14px 14px;font-style:italic;color:#756d62}
.add{background:var(--pep-teal);color:white;border:1.5px solid var(--pep-ink);border-radius:14px;box-shadow:3px 4px 0 var(--pep-ink);font-weight:850;transition:transform .15s,box-shadow .15s}.add:hover{transform:translateY(-1px);box-shadow:3px 5px 0 var(--pep-ink)}
#addChildMain{border-radius:999px;background:#fff;border-color:#d9cdbb;color:#5d554c}.insight{border:1.5px solid var(--pep-ink);border-radius:16px;box-shadow:3px 4px 0 var(--pep-ink)}.insight.hero{background:var(--pep-yellow);border-color:var(--pep-ink)}.bar i{background:var(--pep-teal)}
footer button{background:#fff;border:1.5px solid var(--pep-ink);border-radius:999px;color:var(--pep-orange-dark);box-shadow:2px 3px 0 var(--pep-ink)}
dialog{background:var(--pep-cream);border:1.5px solid var(--pep-ink);border-radius:18px;box-shadow:6px 7px 0 var(--pep-ink)}dialog h2{font-family:ui-rounded,"Arial Rounded MT Bold",Inter,sans-serif;font-weight:850}.primary{background:var(--pep-orange);border:1.5px solid var(--pep-ink);border-radius:12px;box-shadow:2px 3px 0 var(--pep-ink);font-weight:850}.secondary{border-radius:12px}.repeat-card{background:var(--pep-teal-soft);border-color:#8ccfc1}
.site-notes{border-color:#ded3c2}.site-notes summary{color:var(--pep-teal)}
@media(max-width:420px){header{padding-top:24px}h1{font-size:2.05rem}.kicker{font-size:.62rem;letter-spacing:.09em}.header-note{font-size:.84rem}.view-switch button{font-size:.77rem}.today-banner{transform:none}}
@media(prefers-reduced-motion:no-preference){.today-banner{animation:pep-in .35s ease-out both}@keyframes pep-in{from{opacity:0;transform:translateY(6px) rotate(-.35deg)}to{opacity:1;transform:translateY(0) rotate(-.35deg)}}}
