:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#162132;background:#f4f7fb;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #162132;--muted: #627084;--night: #19233d;--lavender: #8b78d6;--peach: #ff9f7a;--mint: #71c7b7;--butter: #f7d96f;--paper: #fffdf8;--line: rgba(29, 38, 58, .13);--shadow: 0 18px 50px rgba(28, 38, 62, .16)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}.appShell{min-height:100vh;padding:28px;background:radial-gradient(circle at 12% 12%,rgba(247,217,111,.42),transparent 24rem),linear-gradient(135deg,#f6f8fd,#fbf4ee 46%,#eef8f6)}.lockedShell{display:grid;place-items:center}.lockPanel,.checkInPanel,.scenePanel,.albumPanel,.calendarPanel,.infoPanel{border:1px solid var(--line);background:#fffdf8e0;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.lockPanel{width:min(460px,100%);padding:34px;border-radius:8px}.brandMark{width:68px;height:68px;display:grid;grid-template-columns:1fr 1fr;align-items:center;justify-items:center;color:#fff8d1;background:linear-gradient(145deg,#263861,#8b78d6);border-radius:8px;box-shadow:0 16px 32px #2c325f38}h1,h2,h3,p{margin:0}h1{margin-top:18px;font-size:clamp(2rem,4vw,4.4rem);line-height:.96;max-width:760px}h2{font-size:clamp(1.35rem,2vw,2rem);line-height:1}h3{font-size:1.15rem}.lockCopy{margin-top:14px;color:var(--muted);line-height:1.55}.roleSwitch{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:24px;padding:5px;border-radius:8px;background:#edf1f7}.roleSwitch button,.iconButton,.primaryButton,.secondaryButton,.habitTile{border:0}.roleSwitch button{min-height:42px;border-radius:6px;color:var(--muted);background:transparent;font-weight:800}.roleSwitch button.active{color:var(--ink);background:var(--paper);box-shadow:0 8px 22px #222b461c}.fieldLabel,.parentPanel label{display:grid;gap:8px;margin-top:18px;color:var(--muted);font-size:.82rem;font-weight:800}.passcodeInput,.timeField input,.parentPanel input{width:100%;min-height:46px;border:1px solid var(--line);border-radius:8px;padding:0 14px;color:var(--ink);background:#fff;outline-color:var(--lavender)}.primaryButton,.secondaryButton{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;border-radius:8px;padding:0 18px;font-weight:900}.primaryButton{color:#fff;background:linear-gradient(135deg,#263861,#8b78d6 58%,#ff9f7a);box-shadow:0 14px 28px #393d8247}.secondaryButton{color:var(--night);background:#eef8f6}.lockButton,.submitButton{width:100%;margin-top:20px}.errorText{margin-top:12px;color:#ad3048;font-weight:800}.topBar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:0 auto 24px;max-width:1440px}.smallCaps{color:#6f5cc4;font-size:.74rem;font-weight:950;letter-spacing:0;text-transform:uppercase}.iconButton{width:44px;height:44px;display:inline-grid;place-items:center;flex:0 0 auto;border-radius:8px;color:var(--night);background:#fffdf8e6;box-shadow:0 10px 24px #1c263e1f}.dashboardGrid,.lowerGrid{display:grid;gap:22px;max-width:1440px;margin:0 auto}.dashboardGrid{grid-template-columns:minmax(420px,.95fr) minmax(520px,1.25fr);align-items:stretch}.lowerGrid{grid-template-columns:minmax(640px,1.35fr) minmax(340px,.65fr);margin-top:22px}.mainStack,.sideStack{display:grid;align-content:start;gap:22px}.checkInPanel,.scenePanel,.albumPanel,.calendarPanel,.infoPanel{border-radius:8px;padding:22px}.sectionHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.sectionHeader.compact{align-items:center}.datePill,.progressBubble{display:inline-flex;align-items:center;gap:7px;min-height:34px;border-radius:999px;padding:0 12px;color:var(--night);background:#eef8f6;font-size:.82rem;font-weight:900;white-space:nowrap}.progressBubble{background:#fff1d0}.sleepMeter{padding:16px;border-radius:8px;background:#f3f1ff}.meterTopline{display:flex;justify-content:space-between;gap:12px;color:var(--night);font-weight:900}.meterTopline strong{color:#6f5cc4}.meterTrack{height:16px;margin-top:12px;overflow:hidden;border-radius:999px;background:#19233d1f}.meterTrack span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--mint),var(--butter),var(--peach));transition:width .24s ease}.habitGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.habitTile{min-height:86px;display:flex;align-items:center;gap:12px;border-radius:8px;padding:14px;color:var(--ink);background:#fff;box-shadow:inset 0 0 0 1px var(--line);text-align:left;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.habitTile:hover{transform:translateY(-2px)}.habitTile.checked{background:#eef8f6;box-shadow:inset 0 0 0 2px var(--mint),0 10px 24px #589e922e}.habitCheck{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border-radius:8px;color:var(--night);background:#fff1d0;font-weight:950}.habitTile.checked .habitCheck{color:#fff;background:var(--mint)}.habitTile span:last-child{display:grid;gap:5px}.habitTile small,.stickerSlot small,.streakRow small,.calendarDay small,.historyRow small{color:var(--muted);font-size:.76rem;font-weight:800}.timeGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;padding:14px;border-radius:8px;background:#fffdf8;box-shadow:inset 0 0 0 1px var(--line)}.kidTimeGrid{grid-template-columns:1fr}.timeField{display:grid;gap:8px;color:var(--muted);font-size:.82rem;font-weight:850}.timePicker{position:relative;min-width:0;margin:0;padding:0;border:0;display:grid;gap:9px}.timePicker legend{padding:0;color:var(--muted);font-size:.82rem;font-weight:850}.timePickerBody{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:10px;padding-right:40px}.timePickerSummary strong{color:var(--night);font-size:.98rem;font-weight:950;line-height:1.08;overflow-wrap:anywhere}.timeClearButton{position:absolute;top:22px;right:0;width:32px;height:42px;border:1px solid var(--line);border-radius:8px;display:grid;place-items:center;color:var(--muted);background:#fff}.timeClearButton:disabled{cursor:default;opacity:.42}.timePickerControls{display:grid;grid-template-columns:48px 60px 50px;gap:6px;align-items:stretch}.timeSelect{width:100%;min-height:42px;border:1px solid var(--line);border-radius:8px;padding:0 5px;color:var(--ink);background:#fff;font-weight:900;outline-color:var(--lavender)}.periodToggle{width:50px;min-height:42px;border:1px solid var(--line);border-radius:8px;color:var(--night);background:#f6fbf9;font-weight:950;box-shadow:inset 0 0 0 1px #71c7b72e}.periodToggle.period-pm{background:#fff;box-shadow:0 5px 14px #222b461f}.durationPreview{grid-column:1 / -1;display:flex;align-items:center;gap:8px;min-height:32px;color:var(--night);font-weight:900}.revealCard{display:grid;grid-template-columns:94px 1fr;align-items:center;gap:16px;margin-top:18px;padding:14px;border-radius:8px;background:#19233d;color:#fff;overflow:hidden}.revealCard p:last-child{margin-top:5px;color:#ffffffc7}.revealCard.level-normal{background:linear-gradient(135deg,#24304d,#5d6b90)}.revealCard.level-puffy{background:radial-gradient(circle at 22% 22%,rgba(255,255,255,.42),transparent 7rem),radial-gradient(circle at 84% 24%,rgba(113,199,183,.38),transparent 8rem),linear-gradient(135deg,#19233d,#7560bd 52%,#71c7b7)}.revealCard.level-sparkly{background:radial-gradient(circle at 16% 18%,rgba(255,255,255,.4),transparent 8rem),radial-gradient(circle at 82% 24%,rgba(247,217,111,.54),transparent 7rem),linear-gradient(135deg,#1f2850,#7b61c9 54%,#ff9f7a)}.revealCard.level-glow{background:radial-gradient(circle at 24% 42%,rgba(113,199,183,.4),transparent 9rem),linear-gradient(135deg,#08121f,#16213b 62%,#27345c);box-shadow:0 20px 40px #08121f47,0 0 42px #71c7b759}.roomScene{position:relative;overflow:hidden;aspect-ratio:16 / 10;border-radius:8px;background:#dbe3ed;box-shadow:inset 0 0 0 1px #1621321f}.roomBaseImage{width:100%;height:100%;display:block;object-fit:cover}.sceneLayer{position:absolute;display:block;height:auto;pointer-events:none;transform:translate(-50%,-50%);transform-origin:center bottom;filter:drop-shadow(0 6px 6px rgba(18,25,42,.18)) drop-shadow(0 1px 0 rgba(255,255,255,.38));animation:scenePop .42s cubic-bezier(.18,.9,.28,1.2) both}.completeBanner{position:absolute;right:14px;bottom:14px;display:inline-flex;align-items:center;gap:8px;min-height:38px;border-radius:999px;padding:0 14px;color:#19233d;background:#fff1d0;font-weight:950}.albumGrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.stickerSlot{min-height:174px;display:grid;grid-template-rows:92px auto auto;gap:6px;justify-items:center;border-radius:8px;padding:12px 8px;background:#fff;box-shadow:inset 0 0 0 1px var(--line);text-align:center}.stickerSlot:not(.unlocked){color:var(--muted)}.stickerArt{width:86px;height:86px;position:relative;display:grid;place-items:center;isolation:isolate;overflow:visible;border-radius:50%;background:radial-gradient(circle at 34% 24%,#ffffffe6,#f0f3f8f0 68%);box-shadow:0 12px 22px #21283a29,inset 0 0 0 1px #ffffffd6;transform:rotate(-2deg)}.stickerArt img{width:94%;height:94%;display:block;object-fit:contain;position:relative;z-index:1;filter:drop-shadow(0 7px 8px rgba(24,31,48,.18))}.stickerArt:before,.stickerArt:after{content:"";position:absolute;pointer-events:none}.stickerArt.level-none img{filter:grayscale(1);opacity:.26}.stickerArt.level-none:before{top:14px;right:14px;bottom:14px;left:14px;border-radius:50%;background:repeating-linear-gradient(-45deg,rgba(98,112,132,.14) 0 7px,transparent 7px 14px)}.stickerArt.level-normal{background:#fffdf8;box-shadow:0 10px 18px #21283a24,inset 0 0 0 2px #fff}.stickerArt.level-puffy{background:radial-gradient(ellipse at 28% 16%,rgba(255,255,255,.98) 0 11%,rgba(255,255,255,.5) 12% 24%,transparent 25%),radial-gradient(circle at 73% 23%,rgba(129,236,226,.74),transparent 24%),radial-gradient(circle at 28% 73%,rgba(255,193,226,.46),transparent 31%),radial-gradient(circle at 42% 44%,rgba(156,138,231,.32),transparent 38%),linear-gradient(150deg,#fff7fd,#c9f4f0 42%,#d9ddff 74%,#f5ddff);border-radius:44% 56% 48% 52%/42% 46% 54% 58%;box-shadow:0 32px 28px -12px #1720336b,0 15px 0 -6px #50658b2e,0 0 0 5px #ffffffbd,0 0 0 9px #b4d8f870,inset 0 -22px 19px #19233d33,inset 0 12px 14px #fffffffa,inset -10px -11px 18px #2b85c42e;filter:drop-shadow(0 12px 7px rgba(23,32,51,.26));transform:perspective(360px) rotateX(14deg) rotate(-3deg) translateY(-9px) scale(1.14)}.stickerArt.level-puffy:before{top:-8px;right:-8px;bottom:-8px;left:-8px;z-index:0;border-radius:inherit;background:linear-gradient(138deg,rgba(255,255,255,.94),transparent 26% 64%,rgba(101,214,229,.34)),radial-gradient(ellipse at 24% 18%,rgba(255,255,255,.98) 0 7px,transparent 10px),radial-gradient(circle at 80% 28%,rgba(255,255,255,.62) 0 3px,transparent 6px),radial-gradient(circle at 52% 74%,rgba(255,193,226,.22),transparent 30%);box-shadow:inset 0 0 0 2px #fffffff2,inset 0 -10px 14px #3a527e29}.stickerArt.level-puffy:after{inset:7px 12px auto 13px;z-index:2;height:30px;border-radius:999px 999px 70% 70%;background:radial-gradient(ellipse at 22% 34%,rgba(255,255,255,.96) 0 7px,transparent 9px),linear-gradient(103deg,rgba(255,255,255,.9),rgba(255,255,255,.3) 64%,transparent);filter:blur(.2px);transform:rotate(-15deg)}.stickerArt.level-puffy img{transform:translateY(-5px) scale(1.09);filter:drop-shadow(0 17px 7px rgba(19,29,48,.3)) drop-shadow(0 3px 0 rgba(255,255,255,.72)) saturate(1.12) brightness(1.05)}.stickerArt.level-sparkly{background:repeating-radial-gradient(circle at 1px 2px,rgba(255,255,255,.98) 0 1.1px,transparent 1.3px 4.8px),repeating-radial-gradient(circle at 5px 3px,rgba(80,234,255,.88) 0 1px,transparent 1.2px 5.6px),repeating-radial-gradient(circle at 3px 5px,rgba(255,223,74,.92) 0 1.2px,transparent 1.5px 6.2px),repeating-radial-gradient(circle at 6px 7px,rgba(255,119,213,.78) 0 1px,transparent 1.3px 6.8px),conic-gradient(from 18deg at 48% 48%,#6fefff,#fff36b,#ff83d1,#756cff,#60ffbf,#6fefff);background-size:7px 7px,9px 9px,11px 11px,13px 13px,100% 100%;background-blend-mode:screen,screen,screen,screen,normal;border-radius:46% 54% 48% 52%/44% 48% 52% 56%;box-shadow:0 18px 26px #21283a38,0 0 0 3px #ffffffe6,0 0 0 6px #74eeff57,0 0 22px #f7d96f6b,inset 0 0 12px #ffffffd1;filter:saturate(1.25) contrast(1.08);overflow:hidden}.stickerArt.level-sparkly:before{top:-2px;right:-2px;bottom:-2px;left:-2px;z-index:2;border-radius:inherit;background:radial-gradient(circle at 14% 18%,rgba(255,255,255,1) 0 1.8px,transparent 2.5px),radial-gradient(circle at 25% 38%,rgba(255,238,82,.98) 0 1.7px,transparent 2.6px),radial-gradient(circle at 18% 67%,rgba(77,236,255,.98) 0 1.9px,transparent 2.8px),radial-gradient(circle at 39% 23%,rgba(255,117,213,.9) 0 1.8px,transparent 2.7px),radial-gradient(circle at 52% 48%,rgba(255,255,255,1) 0 2.1px,transparent 3px),radial-gradient(circle at 62% 18%,rgba(132,255,182,.92) 0 1.8px,transparent 2.7px),radial-gradient(circle at 75% 38%,rgba(255,221,72,.98) 0 2px,transparent 3px),radial-gradient(circle at 84% 64%,rgba(82,232,255,.95) 0 1.8px,transparent 2.8px),radial-gradient(circle at 66% 82%,rgba(255,126,216,.86) 0 1.7px,transparent 2.6px),repeating-conic-gradient(from 12deg,rgba(255,255,255,.42) 0deg 8deg,rgba(77,236,255,.16) 8deg 15deg,transparent 15deg 24deg);background-size:auto,auto,auto,auto,auto,auto,auto,auto,auto,10px 10px;mix-blend-mode:screen;opacity:.94;animation:glitterTwinkle 1.8s steps(2,end) infinite}.stickerArt.level-sparkly:after{inset:6px 10px auto 9px;z-index:3;height:32px;border-radius:999px 999px 70% 70%;background:radial-gradient(ellipse at 22% 34%,rgba(255,255,255,.88) 0 7px,transparent 10px),linear-gradient(112deg,transparent 10%,rgba(255,255,255,.7) 32%,rgba(255,255,255,.14) 58%,transparent 76%);mix-blend-mode:screen;filter:blur(.2px);transform:rotate(-13deg)}.stickerArt.level-sparkly img{filter:drop-shadow(0 8px 7px rgba(18,27,47,.24)) saturate(1.16) contrast(1.08)}.stickerArt.level-glow{background:radial-gradient(circle at 50% 50%,rgba(113,199,183,.25),transparent 48%),radial-gradient(circle at 38% 34%,#243d5e,#0d1729 74%);box-shadow:0 18px 30px #21283a38,0 0 0 4px #71c7b747,0 0 28px #71c7b7db,0 0 58px #f7d96f8c;animation:glowPulse 2.8s ease-in-out infinite}.stickerArt.level-glow:before{top:-14px;right:-14px;bottom:-14px;left:-14px;z-index:-1;border-radius:50%;background:radial-gradient(circle,rgba(113,199,183,.48),transparent 64%)}.stickerArt.level-glow img{filter:drop-shadow(0 0 12px rgba(247,217,111,.72)) drop-shadow(0 0 22px rgba(113,199,183,.58)) brightness(1.08)}.calendarGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendarWeekday{color:var(--muted);font-size:.72rem;font-weight:950;text-align:center;text-transform:uppercase}.calendarBlank,.calendarDay{min-height:82px;border-radius:8px}.calendarDay{display:grid;align-content:start;gap:6px;padding:9px;background:#ffffff9e;box-shadow:inset 0 0 0 1px #1d263a14}.calendarDay.hasEntry{background:#f3f1ff;box-shadow:inset 0 0 0 1px #8b78d647,0 8px 18px #393d821a}.calendarDate{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;color:var(--night);background:#fffdf8;font-size:.8rem;font-weight:950}.calendarScoreBadge{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;color:var(--night);background:#fff1d0;font-size:.94rem;font-weight:950;box-shadow:inset 0 0 0 2px #ffffffb8,0 8px 16px #1c263e21}.calendarScoreBadge.level-normal{background:#fff1d0}.calendarScoreBadge.level-puffy{background:#d9f1ec}.calendarScoreBadge.level-sparkly{background:#f7d96f}.calendarScoreBadge.level-glow{color:#fff;background:#6f5cc4;box-shadow:inset 0 0 0 2px #ffffff61,0 0 18px #71c7b77a,0 8px 16px #1c263e24}.streakList,.historyList{display:grid;gap:10px}.streakRow,.historyRow{display:grid;grid-template-columns:1fr auto;gap:5px 12px;align-items:center;border-radius:8px;padding:12px;background:#fff;box-shadow:inset 0 0 0 1px var(--line)}.streakRow small,.historyRow small{grid-column:1 / -1}.parentPanel{display:grid}.parentControlShell{gap:1.25rem}.parentTopBar{align-items:center}.parentHeaderActions,.monthControls,.parentActionBar{display:flex;align-items:center;gap:.65rem}.parentSummaryStrip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;max-width:1440px;margin:0 auto 1rem}.parentSummaryStrip>div,.parentCalendarPanel,.parentRecordPanel{background:#fffdf8e0;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.parentSummaryStrip>div{padding:.9rem 1rem}.parentSummaryStrip span{display:block;color:var(--muted);font-size:.74rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.parentSummaryStrip strong{display:block;margin-top:.35rem;color:var(--ink);font-size:1.3rem}.parentControlGrid{display:grid;grid-template-columns:minmax(18rem,24rem) minmax(0,1fr);gap:1rem;align-items:start;max-width:1440px;margin:0 auto}.parentCalendarPanel,.parentRecordPanel{padding:1rem}.parentCalendarGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.4rem}.parentCalendarGrid .calendarBlank{min-height:3.25rem}.parentCalendarDay{min-height:3.25rem;display:grid;place-items:center;gap:.15rem;border:1px solid transparent;border-radius:8px;background:var(--paper);color:var(--ink);font:inherit;cursor:pointer}.parentCalendarDay.hasEntry{background:#71c7b733;border-color:#71c7b780}.parentCalendarDay.selected{background:#6f5cc4;color:#fff;box-shadow:0 .7rem 1.5rem #5f4b8b3d}.parentCalendarDay small{font-size:.68rem;font-weight:800}.parentEditorGrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(13rem,16rem);gap:1rem;align-items:start}.parentHabitList{display:grid;gap:.55rem}.parentHabitRow{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.75rem;align-items:center;border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:.75rem;color:var(--ink);text-align:left;font:inherit;cursor:pointer}.parentHabitRow.checked{background:#71c7b72e;border-color:#71c7b794}.parentHabitRow small{display:block;color:var(--muted);margin-top:.1rem}.parentPreview{min-height:13rem;border-radius:8px;background:var(--night);color:#fff;padding:1rem}.parentPreview strong{display:block;margin:.6rem 0 .35rem;font-size:2.7rem;line-height:1}.parentPreview .smallCaps,.parentPreview span{color:#ffffffd1}.parentPreview .meterTrack{margin-top:1rem;background:#ffffff2e}.parentTimeGrid{margin-top:.4rem}.parentActionBar{justify-content:flex-end;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:1rem;margin-top:1rem}.dangerButton{color:#9b4545;border:1px solid rgba(155,69,69,.24)}.successText{color:#2d6b5a;font-weight:800;margin:1rem 0 0}@keyframes glowPulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.18)}}@keyframes glitterTwinkle{0%,to{background-position:0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0;opacity:.86}50%{background-position:2px 1px,-1px 2px,1px -2px,-2px -1px,2px -1px,-1px -2px,1px 2px,-2px 1px,2px 2px,4px 4px;opacity:1}}@keyframes scenePop{0%{opacity:0;transform:translate(-50%,-44%) scale(.82)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media(max-width:860px){.parentSummaryStrip,.parentControlGrid,.parentEditorGrid{grid-template-columns:1fr}.parentActionBar{align-items:stretch}.parentActionBar button{flex:1 1 12rem}}@media(max-width:980px){.appShell{padding:18px}.dashboardGrid,.lowerGrid{grid-template-columns:1fr}.albumGrid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:620px){h1{font-size:2.45rem}.habitGrid,.albumGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.timeGrid{grid-template-columns:1fr}.calendarGrid{gap:6px}.calendarBlank,.calendarDay{min-height:70px}.calendarDay{padding:7px}.calendarDay small{font-size:.68rem}.sectionHeader{display:grid}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
