/* Mobile navigation and readable month/list views. */

.mobile-nav,.mobile-calendar-controls{display:none}.month-title{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap;font:inherit;color:inherit;background:transparent;padding:0;text-align:left}.scope-filter{font-size:11px;color:#8b7d94;display:flex;align-items:center;gap:9px;margin-top:10px}.scope-filter select{border:1px solid #e4ddea;border-radius:6px;padding:5px 8px;background:#fff;color:#796585;font:inherit;flex:1;min-width:0}.task-result-count{font-size:10px;color:#91809b;margin:8px 0}.tasks-panel:focus{outline:none}
@media(max-width:760px){
 html{scroll-padding-bottom:95px}body{padding-bottom:calc(78px + env(safe-area-inset-bottom));font-size:15px}main{padding:0 16px}.site-header{padding:14px 16px}.private-note{font-size:10px}.intro{padding:20px 0;min-height:170px}.intro h1{font-size:25px;margin-bottom:9px}.intro-copy{font-size:12px}.intro-art{transform:scale(.45)}.has-plan .intro{display:none}.has-plan .due-card{margin-top:16px}.due-card{padding:16px;gap:13px}.due-label h2{font-size:16px}.due-label p{font-size:12px}.small-icon{flex-shrink:0;width:40px;height:40px}.due-controls{gap:8px;flex-wrap:wrap}.due-controls input{font-size:16px;min-height:48px;padding:9px;flex:1 1 140px}.due-controls .primary{min-height:48px;font-size:13px;padding:10px 12px}.primary span{margin-left:5px}.birth-settings{font-size:13px;padding:9px 12px}.birth-settings summary{min-height:44px;align-content:center}.birth-settings p{font-size:12px}.birth-controls input{font-size:16px}.birth-controls button{min-height:44px}.status{font-size:12px;line-height:1.6;margin:9px 2px}.calendar-panel{padding:12px;border-radius:12px}.calendar-toolbar{position:sticky;top:0;z-index:3;background:#fff;padding:5px 0;border-bottom:1px solid var(--line)}.year-nav{justify-content:space-between;width:100%;gap:0;flex-wrap:nowrap}.year-nav h2{font-size:17px;letter-spacing:-.6px}.icon-button{width:44px;height:44px;flex-shrink:0}.text-button{min-height:44px;font-size:13px;padding:8px}.view-options{gap:8px;margin-top:12px}.view-options button{min-height:44px;font-size:13px;padding:9px 14px}.calendar-basis{font-size:12px;line-height:1.7}.legend{gap:10px 14px;margin:14px 0}.legend span{font-size:11px}.mobile-calendar-controls{display:block;border-top:1px solid var(--line);padding-top:12px;margin-bottom:10px}.calendar-density{display:flex;background:#f3eff6;padding:4px;border-radius:9px;gap:4px}.calendar-density button{flex:1;min-height:44px;font-size:13px;border-radius:7px;background:transparent;color:#897394}.calendar-density button.active{background:#fff;color:#654d79;box-shadow:0 1px 5px #4930500d}.mobile-calendar-controls>p{font-size:11px;color:#9685a1;margin:7px 0}.mobile-calendar-controls label{display:flex;align-items:center;gap:12px;font-size:13px;margin-top:12px}.mobile-calendar-controls label[hidden]{display:none}#month-picker{font:inherit;font-size:16px;min-height:48px;flex:1;min-width:0;border:1px solid #ded7e3;border-radius:8px;padding:8px;color:#655271;background:#fff}.months{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.month{padding:0;min-width:0}.month-title{min-height:44px;font-size:15px;gap:4px;cursor:pointer}.month-title::after{content:'↗';font-size:11px;color:#ad9bb9;margin-left:auto}.month h3{margin-bottom:3px}.month h3 .month-year{font-size:10px}.weekdays span{font-size:10px}.day{font-size:12px;height:37px}.day.is-today .day-number,.day.is-due .day-number,.day.is-born .day-number{font-size:17px}.day-label{font-size:7px}.month-detail .months{grid-template-columns:1fr}.month-detail .month:not(.focused-month){display:none}.month-detail .month-title{font-size:20px}.month-detail .month-title::after{display:none}.month-detail .weekdays span{font-size:12px;padding:10px 0}.month-detail .day{height:49px;font-size:16px}.month-detail .day.is-today .day-number,.month-detail .day.is-due .day-number,.month-detail .day.is-born .day-number{font-size:21px}.month-detail .day-label{font-size:9px}.month-detail .day-dots{bottom:4px}.month-detail .day-dots .dot{width:4px;height:4px}.calendar-foot{font-size:11px;margin-top:16px}.workspace{display:block}body[data-mobile-panel=calendar] .sidebar{display:none}body[data-mobile-panel=tasks] .calendar-panel{display:none}.sidebar{display:block}.journey-card{padding:16px;margin-bottom:14px}.journey-card .eyebrow{display:none}.journey-card p:not(.eyebrow){font-size:12px;margin:3px 0 12px}.progress-label{font-size:12px}.tasks-panel{margin-top:0;scroll-margin-top:0}.task-controls{position:sticky;top:0;z-index:4;background:var(--paper);padding:8px 0;border-bottom:1px solid var(--line)}.tasks-heading h2{font-size:18px}.filters{gap:8px;margin-top:0}.filters button{font-size:14px;min-height:44px;flex:1}.category-filter,.scope-filter{font-size:13px;margin-top:8px}.category-filter select,.scope-filter select{min-height:44px;font-size:16px;padding:8px 10px}.task-result-count{font-size:12px;margin:8px 0 0}.task-list{max-height:none;overflow:visible;padding-right:0}.task{padding:18px 0;gap:12px}.task input{width:26px;height:26px;margin-top:5px}.task-title{font-size:16px;line-height:1.7;min-height:44px;align-content:center}.task-meta{font-size:12px}.task-tags span{font-size:11px;padding:3px 7px}.task p{font-size:14px;color:#83788d;line-height:1.85}.source-link{font-size:12px;line-height:1.7;padding:10px 0;margin-top:0;min-height:44px;align-content:center}.task .event-jump{font-size:13px;background:#f0eaf5;border-radius:7px;padding:8px 12px;margin-top:5px}.remove-task{width:44px;height:44px}.task.done{opacity:.8}.selection{font-size:13px;gap:8px}.selection span{font-weight:500}.empty-state p{font-size:14px}.gentle-note p{font-size:13px}.information{margin:24px 0;font-size:12px}.information h2{font-size:13px}.information p{font-size:12px}.information summary{font-size:13px;min-height:44px;align-content:center}footer{margin:0 16px;font-size:11px}.mobile-nav{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;bottom:0;left:0;right:0;z-index:15;background:#fff;border-top:1px solid #e5ddea;box-shadow:0 -4px 18px #45304c0a;padding:6px max(8px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));gap:6px}.mobile-nav button{min-height:56px;border-radius:9px;font-size:13px;background:transparent;color:#91829d;display:flex;align-items:center;justify-content:center;gap:5px;flex-wrap:wrap;padding:7px 4px}.mobile-nav button>span:first-child{display:block;font-size:22px;line-height:1}.mobile-nav button.active{background:#eee7f4;color:#705287;font-weight:600}.mobile-nav #mobile-add{background:#806995;color:#fff}.nav-count{font-size:10px;background:#eae2f0;color:#705287;border-radius:15px;padding:1px 5px}dialog{padding:20px;max-height:calc(100dvh - 24px);overflow:auto}dialog input,dialog textarea{font-size:16px}dialog .primary{min-height:48px;font-size:14px}dialog label{font-size:14px}.dialog-heading h2{font-size:18px}
}
@media(max-width:360px){.due-controls input{flex-basis:100%;width:100%}.due-controls .primary{width:100%}.year-nav h2{font-size:15px}.year-nav .icon-button{width:40px}.mobile-nav button{font-size:12px}}

.month-title:disabled{opacity:1;cursor:default}
@media(max-width:760px) and (max-height:520px){.task-controls,.calendar-toolbar{position:static}.mobile-nav button{min-height:44px}}

/* Keep the calendar in place while reading a day's tasks. */
html:has(#date-dialog[open]),body:has(#date-dialog[open]){overflow:hidden}
#date-dialog{padding:0;max-height:calc(100dvh - 32px);overflow:hidden}
#date-dialog[open]{display:flex;flex-direction:column}
.date-dialog-header{padding:16px 20px 12px;border-bottom:1px solid var(--line);flex-shrink:0;background:var(--paper)}
.date-dialog-header .dialog-heading{margin:0}
#date-task-list{overflow-y:auto;overscroll-behavior:contain;max-height:none;min-height:0;padding:0 20px}
#date-dialog .task input{width:26px}
#date-dialog .task-title{margin:0}
#date-dialog .event-jump{display:none}
.date-dialog-footer{padding:12px 20px max(16px,env(safe-area-inset-bottom));border-top:1px solid var(--line);flex-shrink:0;background:var(--paper)}
.date-dialog-footer .primary{margin:0}
#date-dialog .subtask-form input{width:100%;height:auto;min-height:44px;flex:1 1 0}#date-dialog .subtasks input[type=checkbox]{width:22px;height:22px;flex:0 0 22px}.subtask-form input{font-size:16px}

@media(max-width:760px){.task-controls{position:static}.task-filter-buttons button{min-height:44px;font-size:12px}.filter-label{font-size:12px}}

/* A compact, thumb-friendly home for the family's everyday calendar. */
:root{--paper:#faf8fc;--ink:#393247;--muted:#766b81;--purple:#796195;--line:#e9e2ef}
.mobile-dashboard{display:none}
.brand-mark{font-size:29px}.primary{border-radius:12px}.task-tags>span>span{background:none;padding:0;color:inherit;font-size:inherit}.task-tags>span{display:inline-flex;align-items:center;gap:4px}
@media(max-width:760px){
 body{background:linear-gradient(180deg,#f4edf9 0,#faf8fc 480px);padding-bottom:calc(84px + env(safe-area-inset-bottom))}
 main{padding:0 14px}.site-header{padding:8px 16px;border:0;min-height:62px}.brand{font-size:23px;gap:5px}.brand-caption{display:none}
 .intro{padding:14px 4px 20px;min-height:155px}.intro h1{font-size:27px;font-weight:700;line-height:1.4}.intro .eyebrow{letter-spacing:.5px;font-size:11px;margin-bottom:10px}.intro-copy{font-size:12px;color:#776981}
 .has-plan .mobile-dashboard{display:block;background:linear-gradient(120deg,#ede3f6,#f6ecf1);border:1px solid #e6d9ee;border-radius:22px;padding:15px 18px;box-shadow:0 5px 18px #72558b08}
 .dashboard-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.dashboard-eyebrow{font-size:11px;color:#786388;margin:0 0 3px}.dashboard-top h2{font-size:22px;letter-spacing:-.8px;font-weight:700;line-height:1.5}.dashboard-top #mobile-due-summary{font-size:11px;color:#776482;margin:2px 0 0}.dashboard-emoji{font-size:42px;line-height:1.3;background:#fff8;border-radius:22px;padding:5px;transform:rotate(7deg)}
 .dashboard-progress{display:flex;justify-content:space-between;gap:10px;font-size:11px;margin-top:12px;color:#786388}.dashboard-progress strong{font-size:12px;color:#634b7b}.mobile-dashboard .progress-track{height:5px;margin-top:6px;background:#dfd1e9}.mobile-dashboard .progress-track>div{background:linear-gradient(90deg,#aa8abe,#7e639d);border-radius:8px}

 .has-plan .due-card{margin-top:0}.due-card{border-radius:20px;padding:18px;gap:15px}.due-controls{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto}.due-controls input{width:100%;height:48px;min-width:0}.due-controls .primary{font-size:12px;padding:10px}.birth-settings{margin-bottom:10px;border-radius:14px}.status{min-height:0;margin:0 2px;font-size:11px}.status:not(:empty){padding:5px 2px 9px}
 .calendar-panel{border-radius:22px;padding:10px 12px 8px;box-shadow:0 6px 24px #52396005}.calendar-toolbar{position:static;padding:0;border:0}.year-nav{position:relative;padding-right:48px;justify-content:center;gap:8px}.year-nav h2{font-size:19px;font-weight:700;min-width:145px}.year-nav .icon-button{color:#7d658f;border-radius:13px;font-size:25px}.year-nav #today{position:absolute;right:0;top:0;font-size:12px;color:#78628c;background:#f5f0f9;min-width:44px;border-radius:12px}
 .view-options{display:grid;grid-template-columns:1fr 1fr;gap:5px;background:#f4f0f7;padding:3px;border-radius:13px;margin-top:6px}.view-options button{min-height:38px;font-size:12px;border-radius:10px;background:transparent;color:#766581;padding:6px}.view-options button.active{background:white;color:#705386;font-weight:700;box-shadow:0 2px 5px #4930500a}
 .calendar-basis{font-size:10px;line-height:1.6;margin:7px 2px;color:#817389}.legend{gap:5px 10px;margin:7px 2px}.legend span{font-size:9px;color:#7b6e85}.legend .dot{width:5px;height:5px}
 .mobile-calendar-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;border:0;padding:0;margin:8px 0 2px}.calendar-density{background:#f4f0f7;border-radius:10px;padding:3px;gap:2px;flex-shrink:0}.calendar-density button{min-height:36px;font-size:11px;padding:5px 10px;border-radius:8px}.mobile-calendar-controls>p{display:none}.mobile-calendar-controls label{margin:0;font-size:0;gap:0;min-width:0}.mobile-calendar-controls #month-picker{font-size:12px;min-height:44px;width:100%;padding:4px;border:0;background:transparent}
 .month-detail .month h3{display:none}.month-detail .weekdays span{padding:5px 0;font-size:11px}.month-detail .day{height:46px;font-size:15px;border-radius:12px}.month-detail .day.has-events{background:#f6f2f9}.month-detail .day.is-due{background:#b96a89}.month-detail .day.is-born{background:#668f86}.month-detail .day.is-today{background:#ece2f5}.month-detail .day.selected{outline-offset:-2px}.month-detail .day-label{font-size:8px}.month-detail .day.is-today .day-number,.month-detail .day.is-due .day-number,.month-detail .day.is-born .day-number{font-size:18px}.month-detail .dates{gap:2px 0}.month-detail .day-dots{bottom:4px}
 .calendar-foot{margin-top:8px;padding-top:6px;font-size:10px;min-height:32px}.calendar-foot #due-year{min-height:36px;padding:4px;font-size:10px}
 .sidebar .journey-card{display:none}.tasks-panel{background:white;border:1px solid var(--line);border-radius:22px;padding:12px}.task-controls{background:white;padding:0 0 12px}.tasks-heading h2{font-size:18px}.filters{background:#f4f0f7;padding:3px;border-radius:12px;gap:3px}.filters button{border-radius:9px;font-size:12px;min-height:38px}.filters button.active{background:#806995;color:white}.task-controls .category-filter,.task-controls .scope-filter{margin-top:10px}.filter-label{font-size:10px;margin-bottom:4px}.task-filter-buttons{gap:5px}.task-filter-buttons button{font-size:11px;border-radius:10px;min-height:40px}.task-filter-buttons button.active{background:#f0e8f7;color:#694e80;border-color:#cbb5dc}.task{padding:16px 2px}.task-title{font-size:15px}.task p{font-size:13px}.task-meta{font-size:11px}.task-tags span{font-size:10px}.task-result-count{font-size:11px}.subtasks{border-color:#e8e3ed;background:#faf8fc;border-radius:12px}
 .mobile-nav{left:10px;right:10px;bottom:8px;border:1px solid #e8dfef;border-radius:22px;padding:5px 6px calc(5px + env(safe-area-inset-bottom));box-shadow:0 4px 28px #49325815;gap:5px}.mobile-nav button{flex-direction:column;flex-wrap:nowrap;gap:3px;min-height:55px;font-size:10px;border-radius:16px;position:relative}.mobile-nav button>span:first-child{font-size:21px}.mobile-nav button.active{background:#f0e8f7}.mobile-nav #mobile-add{background:#806995}.nav-count{position:absolute;top:2px;left:calc(50% + 10px);font-size:9px;line-height:16px;min-width:18px;padding:0 4px;background:#e6d8ef}.nav-count:empty{display:none}
 .information{margin:20px 4px;color:#82758b}.information h2{font-size:12px}.information p{font-size:11px}.gentle-note{margin-top:15px}.gentle-note p{font-size:12px}
 dialog{border-radius:22px}#date-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 28px)}.date-dialog-header{background:#f6f1fa}.date-dialog-footer .primary{width:100%;border-radius:12px}.date-dialog-header .dialog-heading h2{font-size:18px}
}
@media(max-width:360px){.dashboard-top h2{font-size:20px}.dashboard-emoji{font-size:35px}.due-controls{grid-template-columns:1fr}.due-controls .primary{width:100%}.month-detail .day{height:44px}.mobile-calendar-controls #month-picker{font-size:11px}.calendar-density button{padding:5px 7px}.year-nav h2{min-width:130px;font-size:18px}.year-nav{gap:0}}
@media(max-width:760px){
 body{font-family:'Noto Sans KR',system-ui,-apple-system,BlinkMacSystemFont,'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif}
 .has-plan .mobile-dashboard{padding:11px 16px}.dashboard-top h2{font-size:21px;line-height:1.35}.dashboard-eyebrow{font-size:10px;line-height:1.5}.dashboard-top #mobile-due-summary{line-height:1.5}.dashboard-progress{margin-top:8px;line-height:1.5}.dashboard-emoji{font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif;font-size:36px;padding:3px}.dashboard-top{min-height:62px}
 .status:not(:empty){font-size:10px;padding:2px 2px 5px;line-height:1.5}
 .calendar-density{flex:0 0 auto}.calendar-density button{flex:0 0 auto;white-space:nowrap;min-height:36px}.mobile-calendar-controls label{flex:1;justify-content:flex-end}.mobile-calendar-controls #month-picker{max-width:125px}
 .calendar-basis{font-size:9px;margin:5px 2px}.legend{gap:4px 8px;margin:5px 2px}.legend span{font-size:9px;line-height:1.5}.mobile-calendar-controls{margin-top:5px}
 .calendar-foot{display:flex;flex-wrap:nowrap;min-height:30px;margin-top:4px;padding-top:4px}.calendar-foot>span{display:none}.calendar-foot #due-year{margin-left:auto;min-height:30px;font-size:10px}
}
@media(max-width:760px) and (max-height:740px){
 .has-plan .mobile-dashboard{padding:8px 14px}.dashboard-top{min-height:48px}.dashboard-eyebrow{display:none}.dashboard-top h2{font-size:19px}.dashboard-progress{margin-top:5px}.dashboard-emoji{font-size:30px}.month-detail .day{height:44px}.legend{display:none}
}
#legend-toggle{display:none}
@media(max-width:760px){
 .dashboard-eyebrow{display:none}.dashboard-top{min-height:0}.month-detail .day{height:44px}.month-detail:not(.legend-open) .legend{display:none}
 .month-detail #legend-toggle{display:block;min-height:44px;font-size:10px;padding:4px}.month-detail .calendar-foot{min-height:45px}
}
@media(max-width:760px){.has-plan .mobile-dashboard{padding-top:8px;padding-bottom:8px}.calendar-panel{padding-top:8px;padding-bottom:4px}.month-detail .calendar-basis{margin-top:3px;margin-bottom:3px}}

/* Date settings live in the header; the first visit starts with registration. */
.header-date-settings{position:relative}
.header-date-settings>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 13px;border:1px solid #e4d8ef;border-radius:12px;background:#fff8;color:#705482;font-size:12px;white-space:nowrap}
.header-date-settings>summary::-webkit-details-marker{display:none}
.header-date-settings[open]>summary{background:#eee1f7;border-color:#cdb4df}
#header-settings{position:absolute;right:0;top:calc(100% + 10px);z-index:20;width:370px;max-width:calc(100vw - 28px);padding:18px;border:1px solid #e7d8ec;border-radius:20px;background:#fffcff;box-shadow:0 12px 50px #61437825}
#header-settings #plan-settings{display:block}
#header-settings .due-card{display:block;padding:0;border:0;box-shadow:none;background:transparent;margin:0}
#header-settings .due-label{gap:10px;margin-bottom:14px}
#header-settings .due-label h2{font-size:16px}
#header-settings .due-label p{display:none}
#header-settings .small-icon{width:36px;height:36px;font-size:22px}
#header-settings .due-controls{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;width:100%}
#header-settings input{font-size:16px;width:100%;min-height:46px}
#header-settings .primary{min-height:44px;font-size:13px}
#header-settings .birth-settings{margin:14px 0 0;padding:0 10px;background:#fff0e4;border-radius:12px}
#header-settings .birth-settings summary{min-height:44px;align-content:center;cursor:pointer;font-size:12px}
#header-settings .birth-controls{display:grid;grid-template-columns:1fr;gap:8px;margin:0;padding-bottom:12px}
#header-settings .birth-controls label{font-size:12px}
#onboarding-settings:empty{display:none}
.has-plan .intro{display:none}
.has-plan .workspace{margin-top:14px}
body:not(.has-plan) .workspace,body:not(.has-plan) .information,body:not(.has-plan) .mobile-nav,body:not(.has-plan) .header-date-settings,body:not(.has-plan) footer,body:not(.has-plan) .site-policy-links{display:none}
body:not(.has-plan){background:radial-gradient(ellipse at 12% 15%,#fff0dc 0,transparent 50%),radial-gradient(ellipse at 95% 65%,#f1e2ff 0,transparent 55%),#fffafc}
body:not(.has-plan) main{max-width:640px;padding-bottom:36px}
body:not(.has-plan) .intro{min-height:0;padding:45px 0 24px;display:block;text-align:center}
body:not(.has-plan) .intro-art{display:none}
body:not(.has-plan) .intro::before{content:'🌷 👶 🌼';display:block;font-size:42px;margin-bottom:16px;letter-spacing:8px}
body:not(.has-plan) .intro .eyebrow{font-size:12px;letter-spacing:.6px}
body:not(.has-plan) .intro h1{font-size:34px;font-weight:700;line-height:1.45}
body:not(.has-plan) .intro-copy{font-size:13px;color:#8c748e}
#onboarding-settings .due-card{display:flex;flex-direction:column;align-items:stretch;padding:28px;background:#fffdfd;border:1px solid #ecdbea;border-radius:26px;box-shadow:0 12px 40px #b486a314;gap:22px}
#onboarding-settings .due-label{justify-content:center;text-align:left}
#onboarding-settings .due-label h2{font-size:19px}
#onboarding-settings .due-label p{font-size:12px}
#onboarding-settings .small-icon{background:#fff0df}
#onboarding-settings .due-controls{display:grid;grid-template-columns:1fr;gap:12px;width:100%}
#onboarding-settings .due-controls input{width:100%;font-size:19px;min-height:58px;border-radius:14px;background:#fffafc;border-color:#e5d5e9}
#onboarding-settings .primary{min-height:54px;font-size:15px;background:linear-gradient(110deg,#a77eb9,#87649e);border-radius:14px}
#onboarding-settings .birth-settings{display:none}
.status:empty{display:none}
.status:not(:empty){margin-top:12px;color:#a44260;line-height:1.7;font-size:12px}

/* Keep the visual checkbox small, aligned to the date, and the title tappable. */
.task{position:relative;border-radius:16px;margin:10px 0;padding:14px;border:1px solid #e9e0ed;background:#fff}
.task .task-meta{display:flex;align-items:center;gap:8px;min-height:24px;line-height:20px;margin:0 0 5px;font-size:11px;color:#817087}
.task .task-meta>input[type=checkbox],#date-dialog .task-meta>input[type=checkbox]{appearance:auto;position:static;display:block;flex:0 0 18px;width:18px;height:18px;min-width:18px;min-height:18px;margin:0;padding:0;border:0;align-self:center;accent-color:#9874ac}
.task .task-meta>span{line-height:20px}
.task .task-title{margin:0;min-height:36px;line-height:1.6;align-content:center;font-size:14px;font-weight:600}
.task .subtasks input[type=checkbox],#date-dialog .subtasks input[type=checkbox]{width:18px;height:18px;min-height:18px;flex:0 0 18px;padding:0;margin:0}
.task-prep{background:#fcf7ff;border-color:#ebddf4}.task-care{background:#f1faf6;border-color:#d6ebe1}.task-feeding{background:#fff8ef;border-color:#f1e1ca}.task-play{background:#f1f7ff;border-color:#dce6f5}.task-life{background:#fff9ef;border-color:#efe5cc}.task-birth{background:#fff1f5;border-color:#efd7e1}
.task .task-tags>span:first-child{background:#efe1f7;color:#81509a}.task-care .task-tags>span:first-child{background:#dcefe6;color:#416e59}.task-feeding .task-tags>span:first-child{background:#ffebd1;color:#95612f}.task-play .task-tags>span:first-child{background:#dfebfc;color:#52729c}.task-life .task-tags>span:first-child{background:#f5eacb;color:#8a7130}
.task .subtasks{background:#ffffff9c}.task .source-link{color:#74617d}.task.done{opacity:.7}
#category [data-category=care]:not(.active){background:#f1faf6}#category [data-category=feeding]:not(.active){background:#fff6e9}#category [data-category=play]:not(.active){background:#edf5ff}#category [data-category=life]:not(.active){background:#fff8e6}#category [data-category=prep]:not(.active){background:#faf0ff}
@media(max-width:760px){
 .site-header{padding:8px 14px}.account-header{gap:6px}.header-date-settings>summary{font-size:11px;padding:7px 9px}.site-header .account-button{font-size:11px;padding:7px 9px}
 #header-settings{position:fixed;top:66px;right:14px;max-height:calc(100dvh - 84px);overflow:auto}
 .has-plan .workspace{margin-top:10px}
 .has-plan .mobile-dashboard{background:linear-gradient(115deg,#f5e4f6,#ffeae5 65%,#fff3dc);border-color:#eddae9}
 .task{padding:12px}.task .task-title{font-size:15px;min-height:40px}.task .task-meta{font-size:11px}.task p{color:#837087}.task .task-tags>span{padding:3px 7px}.task .task-tags>span>span{padding:0}
 body:not(.has-plan){padding-bottom:0}body:not(.has-plan) .intro{padding:18px 0 22px}body:not(.has-plan) .intro::before{font-size:34px;margin-bottom:12px}body:not(.has-plan) .intro h1{font-size:28px}body:not(.has-plan) .intro .eyebrow{font-size:11px;margin-bottom:9px}body:not(.has-plan) .intro-copy{font-size:12px}
 #onboarding-settings .due-card{padding:23px 20px;gap:20px}#onboarding-settings .due-label h2{font-size:17px}#onboarding-settings .due-label p{font-size:11px}#onboarding-settings .due-label{gap:10px}
}
@media(max-width:360px){.site-header .brand{font-size:21px}.header-date-settings>summary,.site-header .account-button{font-size:10px;padding:7px}.brand-mark{font-size:25px}}

/* Put date filtering and its reset action before the other task filters. */
#selection{display:grid;grid-template-columns:minmax(0,1fr);gap:9px;padding:12px;margin:10px 0 12px;background:#f1e5fa;border:1px solid #ceb1df;border-left:4px solid #9262ae;border-radius:13px;color:#654477}
#selection[hidden]{display:none}
#selection>span{font-size:12px;font-weight:600;line-height:1.6}
#clear-selection{display:block;width:100%;min-height:44px;padding:10px 12px;border:1px solid #79508f;border-radius:10px;background:#79508f;color:#fff;font-size:13px;font-weight:700;line-height:1.5;box-shadow:0 2px 5px #62407714}
#clear-selection:hover{background:#654078;border-color:#654078}
#clear-selection:focus-visible{outline:3px solid #b58acb;outline-offset:3px}
.empty-state .empty-add-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;margin-top:12px;padding:11px 18px;border:1px solid #9471ab;border-radius:13px;background:#806094;color:#fff;font-size:13px;font-weight:600;box-shadow:0 3px 8px #70498014}
.empty-state .empty-add-button:hover{background:#694b7c}
.gentle-note p{white-space:pre-line}
#date-dialog:has(#date-task-list .empty-state) .date-dialog-footer{display:none}

/* Short, one-shot feedback; transforms never change calendar or form layout. */
@keyframes majung-dialog-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes majung-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes majung-popover-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){
 .intro,#onboarding-settings .due-card{animation:majung-dialog-in .32s cubic-bezier(.22,.8,.3,1)}
 .empty-state{animation:majung-popover-in .18s ease-out}
 button,summary{transition:transform .13s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease}
 button:not(:disabled):active{transform:scale(.965)}
 .day:not(:disabled):active{transform:scale(.92)}
 .task{transition:opacity .2s ease,background-color .2s ease,border-color .2s ease}
 dialog[open]{animation:majung-dialog-in .2s cubic-bezier(.22,.8,.3,1)}
 dialog[open]::backdrop{animation:majung-backdrop-in .18s ease-out}
 .header-date-settings[open] #header-settings{animation:majung-popover-in .18s ease-out}
 #selection:not([hidden]),#markdown-preview-panel:not([hidden]){animation:majung-popover-in .18s ease-out}
 #progress-fill,#mobile-progress-fill{transition:width .35s cubic-bezier(.22,.8,.3,1)}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
#task-scope{grid-template-columns:repeat(4,minmax(0,1fr))}
#task-scope button{font-size:11px;padding:7px 2px}
