:root{--cream:#fff8e9;--ink:#2c261e;--green:#3e7a45;--green2:#6e9f4a;--brown:#86542f;--pink:#d85d93;--purple:#8357b9;--gold:#d79b1f;--navy:#182858;--panel:rgba(255,248,233,.94);--shadow:0 10px 30px rgba(54,38,20,.18)}*{box-sizing:border-box}body{margin:0;font-family:Trebuchet MS,system-ui,sans-serif;color:var(--ink);background:#edf3e8}button,input,select{font:inherit}button{cursor:pointer}.shell{min-height:100vh;background:url('assets/master-world.png') center/cover fixed}.veil{min-height:100vh;background:linear-gradient(rgba(255,255,255,.08),rgba(255,255,255,.18));padding:20px}.topbar{max-width:1180px;margin:0 auto 16px;display:flex;gap:10px;align-items:center;justify-content:space-between;background:rgba(255,248,233,.9);backdrop-filter:blur(8px);padding:10px 14px;border-radius:18px;box-shadow:var(--shadow)}.brand{font-weight:900}.nav{display:flex;gap:8px;flex-wrap:wrap}.nav button,.smallbtn{border:0;border-radius:999px;padding:10px 14px;background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(0,0,0,.08)}.main{max-width:1180px;margin:auto}.hero{position:relative;border-radius:28px;overflow:hidden;box-shadow:var(--shadow);background:#dfe8d9}.heroImage{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:#dfe8d9}.heroOverlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:flex-end;padding:clamp(18px,3vw,34px);pointer-events:none}.heroPanel{width:min(430px,39%);max-height:calc(100% - 36px);overflow:auto;background:rgba(255,248,233,.94);backdrop-filter:blur(7px);border-radius:24px;padding:22px;box-shadow:var(--shadow);pointer-events:auto}.heroPanel::-webkit-scrollbar{width:8px}.heroPanel::-webkit-scrollbar-thumb{background:#cbbd9a;border-radius:999px}h1,h2,h3{margin:.15em 0}.heroPanel h1{font-size:clamp(2rem,4vw,3.5rem)}.bigchoices{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.bigchoices button{border:0;border-radius:20px;padding:16px;text-align:left;background:white;box-shadow:0 5px 16px rgba(0,0,0,.09)}.bigchoices b{display:block;font-size:1.1rem}.section{margin:18px 0;background:var(--panel);border-radius:24px;padding:18px;box-shadow:var(--shadow)}.sectionHeader{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.filters button{border:0;border-radius:999px;padding:8px 12px;background:#f0eadb}.filters button.active{background:var(--green);color:#fff}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.card{position:relative;background:var(--cream);border:3px solid #d8cbaa;border-radius:20px;padding:14px;min-height:220px;display:flex;flex-direction:column;box-shadow:0 5px 14px rgba(0,0,0,.08)}.card.free{border-color:#8da768}.card.cheap{border-color:#e3bc55}.card.special{border-color:#a988cf}.badge{align-self:flex-start;border-radius:999px;padding:5px 9px;font-size:.78rem;font-weight:900;color:#fff;background:var(--green)}.cheap .badge{background:var(--gold)}.special .badge{background:var(--purple)}.icon{font-size:3.2rem;text-align:center;margin:8px 0}.card h3{text-align:center}.card p{margin:6px 0 12px;line-height:1.35}.fav{position:absolute;right:10px;top:10px;border:0;background:transparent;font-size:1.5rem}.cardActions{margin-top:auto;display:flex;gap:8px}.cardActions button{flex:1;border:0;border-radius:12px;padding:9px;background:#eee3ce}.cardActions .primary{background:var(--green);color:#fff}.empty{padding:30px;text-align:center}.bedtimeShell{min-height:100vh;background:linear-gradient(rgba(12,21,54,.35),rgba(12,21,54,.55)),url('assets/master-world.png') center/cover fixed}.bedtimeShell .veil{background:linear-gradient(rgba(11,22,61,.35),rgba(11,22,61,.45))}.bedtimeShell .topbar,.bedtimeShell .section{background:rgba(250,244,230,.94)}.bedHero{background:linear-gradient(135deg,#172957,#3d3f8c 55%,#674a91);color:#fff;border-radius:28px;padding:24px;box-shadow:var(--shadow)}.bedSteps{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-top:15px}.bedStep{border:2px solid rgba(255,255,255,.2);border-radius:18px;padding:12px;background:rgba(255,255,255,.08);color:#fff}.bedStep.current{outline:3px solid #f3c55b}.bedStep.done{background:rgba(70,130,73,.45)}.choiceGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.choice{border:2px solid #d8cbaa;border-radius:14px;padding:12px;background:white}.choice.selected{border-color:var(--purple);box-shadow:0 0 0 3px rgba(131,87,185,.2)}.breaths{display:flex;gap:12px;justify-content:center;font-size:2.2rem;margin:18px}.breaths button{border:0;background:transparent;font-size:inherit}.modal{position:fixed;inset:0;background:rgba(0,0,0,.45);display:grid;place-items:center;padding:18px;z-index:50}.modalCard{max-width:520px;width:100%;background:var(--cream);border-radius:24px;padding:22px;box-shadow:var(--shadow)}.hidden{display:none!important}.muted{opacity:.65}.pill{display:inline-block;padding:5px 10px;border-radius:999px;background:#efe4ce;margin:3px}.notice{background:#fff4c9;padding:10px 12px;border-radius:12px;margin:8px 0}.footer{max-width:1180px;margin:18px auto 0;background:rgba(255,248,233,.88);padding:10px 14px;border-radius:16px;text-align:center}.parentGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.parentGrid label{display:block;background:#fff;padding:12px;border-radius:14px}.parentGrid input[type=checkbox]{transform:scale(1.2);margin-right:8px}@media(max-width:760px){.veil{padding:10px}.topbar{align-items:flex-start}.nav{justify-content:flex-end}.hero{overflow:visible;background:transparent;box-shadow:none}.heroImage{border-radius:22px;box-shadow:var(--shadow);aspect-ratio:auto;object-fit:contain}.heroOverlay{position:static;display:block;padding:10px 0 0}.heroPanel{width:100%;max-height:none;overflow:visible;padding:16px;border-radius:22px}.bigchoices{grid-template-columns:1fr}.grid{grid-template-columns:1fr 1fr}.card{min-height:210px}}@media(max-width:480px){.grid{grid-template-columns:1fr}.nav button{padding:8px 10px}}

/* v1.2 interaction polish */
.eyebrow{font-size:.78rem;letter-spacing:.12em;font-weight:900;color:var(--green);margin:0 0 4px}.eyebrow.light{color:#e8d99f}.quickActions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.quickActions button,.moodRow button{border:0;border-radius:14px;padding:10px 12px;background:#f3ebda;color:var(--ink);font-weight:700}.quickNeeds{margin-top:16px}.needGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.needGrid button{border:0;border-radius:18px;background:#fff;padding:14px;min-height:115px;font-size:1.7rem;box-shadow:0 4px 12px rgba(0,0,0,.07)}.needGrid b,.needGrid span{display:block;font-size:.95rem}.needGrid span{font-size:.78rem;margin-top:4px;color:#6b6256}.moodRow{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 6px}.miniGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.compactSection .card{min-height:190px}.tierGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}.tierCard{border:3px solid #d8cbaa;border-radius:24px;padding:22px;text-align:left;background:var(--cream);box-shadow:0 6px 16px rgba(0,0,0,.08);min-height:210px}.tierCard.free{border-color:#8da768}.tierCard.cheap{border-color:#e3bc55}.tierCard.special{border-color:#a988cf}.tierIcon{font-size:3rem;display:block}.tierCard b{font-size:1.5rem;display:block;margin:8px 0}.tierCard span:not(.tierIcon),.tierCard small{display:block}.tierCard small{margin-top:12px;font-weight:900}.subsection{margin-top:26px}.subsection>h2{border-bottom:3px solid #ddd0b2;padding-bottom:8px}.subtle{opacity:.8}.completedCard{box-shadow:0 0 0 3px rgba(62,122,69,.22),0 5px 14px rgba(0,0,0,.08)}.modalActions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.leaderRow{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0}.selectedLeader{outline:3px solid #c8a7ff}.bedStep{cursor:pointer;text-align:left}.bedtimePanel{position:relative}.stepCount{font-size:.82rem;font-weight:900;color:var(--purple);letter-spacing:.08em;text-transform:uppercase}.checklist{display:grid;gap:8px;margin:14px 0}.checklist label,.toggleRow label{display:flex;align-items:center;gap:10px;background:#fff;padding:12px 14px;border-radius:14px}.checklist input,.toggleRow input{width:20px;height:20px}.toggleRow{margin:12px 0}.pillRow{display:flex;gap:8px;flex-wrap:wrap}.breathCount{text-align:center;font-weight:900;color:var(--navy)}.primaryBed{background:var(--purple)!important;color:#fff}.lightsOut,.lightsOutMini{text-align:center}.lightsMoon{font-size:4rem}.parentGuide details{background:#fff;border-radius:16px;padding:14px}.parentGuide summary{font-weight:900;cursor:pointer}.guideGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:12px}.guideGrid>div{background:#f6f0e3;border-radius:14px;padding:12px}.parentSection{margin-top:24px}.nav button:focus,.smallbtn:focus,.card button:focus,.tierCard:focus,.needGrid button:focus,.moodRow button:focus,.choice:focus,.bedStep:focus{outline:3px solid rgba(131,87,185,.45);outline-offset:2px}
@media(max-width:900px){.needGrid{grid-template-columns:repeat(2,1fr)}.miniGrid{grid-template-columns:repeat(2,1fr)}.tierGrid{grid-template-columns:1fr}.guideGrid{grid-template-columns:1fr}}
@media(max-width:760px){.quickActions{grid-template-columns:1fr 1fr}.needGrid{grid-template-columns:1fr 1fr}.miniGrid{grid-template-columns:1fr 1fr}.leaderRow>span{width:100%}}
@media(max-width:480px){.quickActions,.needGrid,.miniGrid{grid-template-columns:1fr}.tierCard{min-height:0}.moodRow button{flex:1 1 45%}}


/* v1.3 personality layer */
.pageEnter{animation:pageIn .28s ease-out both}@keyframes pageIn{from{opacity:.55;transform:translateY(5px)}to{opacity:1;transform:none}}
.mascotTip{max-width:1180px;margin:0 auto 16px;display:flex;align-items:center;gap:14px;background:rgba(255,248,233,.94);border-radius:22px;padding:10px 18px;box-shadow:var(--shadow);overflow:hidden}.mascotTip img{width:92px;height:92px;object-fit:contain;flex:0 0 auto;filter:drop-shadow(0 3px 4px rgba(0,0,0,.12))}.mascotTip b{font-size:1.08rem}.mascotTip p{margin:3px 0 0;line-height:1.35}.tinyLink{margin-top:6px;border:0;background:transparent;color:var(--purple);font-weight:900;padding:2px 0;text-decoration:underline;text-underline-offset:3px}.celebrationCard{text-align:center;overflow:hidden;position:relative}.celebrationMascot{display:block;max-width:180px;max-height:150px;object-fit:contain;margin:-6px auto 4px;filter:drop-shadow(0 5px 8px rgba(0,0,0,.15))}.primaryCelebration{background:var(--green)!important;color:#fff}.easterMascot{text-align:center}.easterMascot img{max-width:240px;max-height:200px;object-fit:contain}.card.completedCard:after{content:'★';position:absolute;left:10px;top:10px;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#4b914e;color:#fff;font-size:.85rem;box-shadow:0 2px 6px rgba(0,0,0,.14)}.bedtimeShell .mascotTip{background:rgba(250,244,230,.95)}
@media(max-width:600px){.mascotTip{align-items:center;padding:8px 12px}.mascotTip img{width:70px;height:70px}.celebrationMascot{max-width:145px}}
@media(prefers-reduced-motion:reduce){.pageEnter{animation:none}*{scroll-behavior:auto!important}}

.footer{display:flex;align-items:center;justify-content:center;gap:8px}.footerTurtle{width:34px;height:34px;object-fit:contain;filter:drop-shadow(0 2px 3px rgba(0,0,0,.12))}.turtleHello img{max-width:210px;max-height:190px}.modalCard>.icon:empty{display:none}


/* v1.6 finish-line accessibility + mobile polish */
html{scroll-behavior:smooth}.skipLink{position:fixed;left:12px;top:8px;z-index:1000;background:#fff;color:#1f2a22;padding:10px 14px;border-radius:10px;transform:translateY(-160%);box-shadow:var(--shadow);font-weight:900}.skipLink:focus{transform:none}.nav button[aria-current="page"]{background:var(--green);color:#fff}.bedtimeShell .nav button[aria-current="page"]{background:var(--purple)}button{min-height:44px}.fav{min-width:44px;min-height:44px}.tinyLink{min-height:36px}.smallbtn:disabled,.bedtimeNav button:disabled{opacity:.45;cursor:not-allowed}.card:focus-within,.tierCard:focus-visible,.needGrid button:focus-visible,.bigchoices button:focus-visible,.quickActions button:focus-visible{outline:3px solid rgba(131,87,185,.45);outline-offset:3px}.modalCard:focus{outline:none}.modalCard{max-height:min(88vh,760px);overflow:auto}.sleepingPile{display:block;width:min(440px,92%);max-height:300px;object-fit:contain;margin:0 auto 6px;filter:drop-shadow(0 8px 14px rgba(0,0,0,.22))}.lightsOut{padding-top:22px}.lightsOut h2{font-size:2rem}.bedStep[aria-current="step"]{box-shadow:0 0 0 3px rgba(243,197,91,.25)}
@media(max-width:760px){.shell,.bedtimeShell{background-attachment:scroll}.topbar{position:relative}.nav{width:100%;justify-content:flex-start}.nav button{flex:1 1 auto}.heroPanel h1{font-size:clamp(1.8rem,9vw,2.5rem)}.cardActions{flex-wrap:wrap}.cardActions button{min-width:120px}.modal{padding:10px}.modalCard{padding:18px}.sleepingPile{max-height:240px}}
@media(max-width:420px){.topbar{display:block}.brand{margin-bottom:8px}.nav{display:grid;grid-template-columns:repeat(3,1fr)}.nav button{width:100%;padding:9px 6px}.card{padding:12px}.badge{font-size:.72rem}.icon{font-size:2.8rem}.breaths{gap:4px}.breaths button{padding:6px}.sleepingPile{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.pageEnter{animation:none}.shell,.bedtimeShell{background-attachment:scroll}}
