:root{--ink:#25475B;--muted:#587584;--line:#D5E5EA;--paper:#fff;--canvas:#F8FBFA;--blue:#286C91;--blue-dark:#205A78;--blue-soft:#E6F4F8;--coral:#EFA99B;--yellow:#EFA99B;--focus:#205A78;--shadow:0 18px 50px #194B651A;color:var(--ink);background:var(--canvas);-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--canvas);min-width:320px;margin:0}a{color:var(--blue);text-underline-offset:.18em;text-decoration-thickness:.08em}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}img,svg{max-width:100%}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.skip-link{z-index:100;color:var(--blue-dark);box-shadow:var(--shadow);background:#fff;border-radius:0 0 10px 10px;padding:12px 18px;font-weight:800;transition:top .15s;position:absolute;top:-60px;left:12px}.skip-link:focus{top:0}.site-header{z-index:50;color:#fff;background:#205A78;border-bottom:1px solid #FFFFFF30;justify-content:space-between;align-items:center;gap:24px;min-height:68px;padding:10px clamp(18px,4vw,56px);display:flex;position:sticky;top:0}.brand{color:#fff;letter-spacing:-.03em;align-items:center;gap:10px;font-size:1.2rem;font-weight:850;text-decoration:none;display:inline-flex}.brand-mark{flex:none;width:36px;height:36px}.site-nav{align-items:center;gap:22px;display:flex}.site-nav a{color:#FFFFFFED;font-size:.92rem;font-weight:700;text-decoration:none}.site-nav a:hover,.site-nav a:focus-visible{color:#fff;text-decoration:underline}.site-header :focus-visible{outline-color:#EFA99B}.lang-switch{border-left:1px solid #FFFFFF40;align-items:center;gap:10px;padding-left:14px;display:flex}.lang-switch a{color:#FFFFFFBF;letter-spacing:.02em;font-size:.8rem;font-weight:800;text-decoration:none}.lang-switch a:hover,.lang-switch a:focus-visible{color:#fff}.lang-switch a[aria-current]{color:#fff;text-decoration:underline 2px #EFA99B}.page-shell{width:min(1440px,100%);margin:0 auto;padding:24px clamp(14px,3vw,40px) 64px}.narrow{width:min(860px,100% - 32px);margin:0 auto;padding:30px 0 80px}.eyebrow{color:var(--blue);letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:.78rem;font-weight:850}h1,h2,h3{letter-spacing:-.035em;line-height:1.08}h1{margin:0 0 16px;font-size:clamp(1.95rem,3.6vw,3.1rem)}h2{margin-top:0;font-size:clamp(1.6rem,2.8vw,2.3rem)}h3{font-size:1.2rem}p,li{line-height:1.7}.lead{color:var(--muted);max-width:760px;font-size:clamp(1.03rem,2vw,1.2rem)}.ad-slot{color:#667E86;letter-spacing:.1em;text-transform:uppercase;background:#F0F7F8;border:1px dashed #BDD2D9;place-items:center;margin-inline:auto;font-size:.68rem;display:grid;overflow:hidden}.ad-leaderboard{width:min(320px,100%);height:100px;margin-bottom:20px}.ad-rectangle{width:min(300px,100%);height:250px;margin-block:24px}@media (width>=768px){.ad-leaderboard{width:min(728px,100%);height:90px}.ad-rectangle{width:min(336px,100%);height:280px}}.content-section{margin-top:56px}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.info-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:24px;box-shadow:0 8px 24px #25475B0F}.info-card h2,.info-card h3{margin:0 0 8px;font-size:1.2rem}.info-card p{color:var(--muted);margin:0 0 16px}.info-card.thumb-card{flex-direction:column;padding:0;display:flex;overflow:hidden}.thumb-card-body{padding:20px 22px 22px}.format-hint{color:var(--muted);font-size:.78rem;margin:0 0 14px!important}.text-link{font-weight:800}.prose-section{border:1px solid var(--line);background:#fff;border-radius:20px;margin-top:40px;padding:clamp(24px,5vw,48px)}.prose-section h2:not(:first-child){margin-top:42px}.prose-section h3{margin-top:30px}.breadcrumbs{width:min(1440px,100%);color:var(--muted);margin:0 auto;padding:16px clamp(14px,3vw,40px) 0;font-size:.88rem}.breadcrumbs ol{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.breadcrumbs li+li:before{content:"/";color:#8BA8B3;margin-right:8px}.breadcrumbs a{color:inherit}.breadcrumbs [aria-current]{color:var(--ink);font-weight:700}.hero{grid-template-columns:minmax(0,1.35fr) minmax(280px,.62fr);align-items:center;gap:34px;padding:clamp(20px,3vw,42px) 0 28px;display:grid}.hero-copy h1{max-width:860px}.hero-copy .lead{margin-bottom:22px}.continue-banner{margin:0 0 12px}.continue-banner[hidden]{display:none}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.hero-proof{color:var(--muted);flex-wrap:wrap;gap:16px;margin-top:18px;font-size:.9rem;font-weight:700;display:flex}.hero-card{background:var(--blue);color:#fff;box-shadow:var(--shadow);border-radius:24px;padding:24px}.hero-card h2{margin-bottom:8px}.hero-card p{color:#E3F2F7}.hero-card .eyebrow{color:#EFA99B}.mini-calendar{color:var(--ink);background:#fff;border-radius:12px;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:16px;padding:12px;display:grid}.mini-calendar b,.mini-calendar span{text-align:center;padding:6px 2px;font-size:.74rem}.mini-calendar b{color:var(--blue)}.mini-calendar .marked{background:var(--yellow);border-radius:50%;font-weight:800}.button{cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;min-height:44px;padding:10px 16px;font-weight:800;text-decoration:none;display:inline-flex}.button.primary{background:var(--blue);color:#fff}.button.primary:hover{background:var(--blue-dark)}.button.secondary{color:var(--blue-dark);background:var(--blue-soft);border-color:#C7E2EC}.button.ghost{color:var(--ink);border-color:var(--line);background:#fff}.button:disabled{opacity:.6;cursor:progress}.link-button{color:var(--blue);font-size:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:750;text-decoration:underline}.feature-strip{border:1px solid var(--line);background:#fff;border-radius:16px;grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.feature-strip li{border-right:1px solid var(--line);padding:20px}.feature-strip li:last-child{border-right:0}.feature-strip strong{margin-bottom:3px;display:block}.feature-strip span{color:var(--muted);font-size:.88rem}.calendar-app{margin-top:26px;scroll-margin-top:90px}.app-intro{justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px;display:flex}.app-intro h2,.app-intro p{margin-bottom:5px}.app-intro>div>p:last-child{color:var(--muted);margin-top:0}.privacy-pill{color:#326F5E;background:#EAF5F1;border:1px solid #C4DDD3;border-radius:999px;flex:none;padding:8px 12px;font-size:.8rem;font-weight:800}.workspace{box-shadow:var(--shadow);background:#EAF3F6;border:1px solid #CBDFE6;border-radius:20px;grid-template-columns:310px minmax(0,1fr);display:grid;overflow:hidden}.app-controls{border-right:1px solid var(--line);background:#fff;flex-direction:column;order:-1;gap:17px;padding:22px;display:flex}.app-controls label,.control-label{color:#365A6B;gap:6px;font-size:.78rem;font-weight:800;display:grid}.app-controls input,.app-controls select{width:100%;min-height:42px;color:var(--ink);background:#fff;border:1px solid #9DBCC8;border-radius:8px;padding:8px 10px}.control-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.segmented{background:#E8F3F6;border-radius:10px;grid-template-columns:repeat(3,1fr);padding:3px;display:grid}.segmented button{color:#507083;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:9px 4px;font-weight:800}.segmented button.active{color:var(--blue-dark);background:#fff;box-shadow:0 2px 7px #0000001f}.app-controls fieldset{border:1px solid var(--line);border-radius:10px;gap:8px;margin:0;padding:10px 12px 12px;display:grid}.app-controls legend{color:#365A6B;align-items:center;gap:6px;font-size:.78rem;font-weight:800;display:flex}.app-controls .check{align-items:center;gap:8px;font-weight:650;display:flex}.app-controls .check input{width:16px;min-height:auto}.button-stack{gap:8px;display:grid}.control-help{color:var(--muted);margin:0;font-size:.8rem;line-height:1.5}#app-status:empty{display:none}.import-fieldset{position:relative}.help-icon{color:#365A6B;cursor:help;background:#fff;border:1px solid #97B2C0;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;min-height:auto;padding:0;font-size:.68rem;font-weight:800;line-height:1;display:inline-flex}.help-icon:hover,.help-icon:focus-visible{background:#E8F3F6}.help-tip{z-index:5;color:#fff;opacity:0;visibility:hidden;pointer-events:none;background:#25475B;border-radius:10px;width:min(320px,90vw);margin-top:6px;padding:10px 12px;font-size:.78rem;line-height:1.5;transition:opacity .12s,transform .12s;position:absolute;top:100%;left:0;transform:translateY(-4px);box-shadow:0 8px 20px #25475B33}.help-tip code{background:#ffffff26;border-radius:4px;padding:1px 4px}.import-fieldset:hover .help-tip,.help-tip.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.browser-tip{border:1px solid var(--line);color:var(--muted);border-radius:10px;padding:8px 12px;font-size:.8rem}.browser-tip summary{cursor:pointer;color:#365A6B;font-weight:700}.browser-tip div{padding-top:8px}.browser-tip p{margin:0 0 8px;line-height:1.5}.browser-tip ul{gap:6px;margin:0 0 8px;padding-left:1.1em;display:grid}.browser-tip li{line-height:1.5}.weekly-daily-only{display:none!important}.calendar-app[data-view=weekly] .monthly-only,.calendar-app[data-view=daily] .monthly-only{display:none}.calendar-app[data-view=weekly] .weekly-daily-only,.calendar-app[data-view=daily] .weekly-daily-only{display:grid!important}.family-only,.habit-only{display:none}.calendar-app[data-preset=family] .family-only,.calendar-app[data-preset=habit] .habit-only{display:grid}.meal-week-only{margin-top:-4px;display:none}.calendar-app[data-preset=meal][data-view=weekly] .meal-week-only{display:block}.period-only{display:none}.calendar-app[data-view=monthly] .period-only,.calendar-app[data-view=weekly] .period-only{display:inline-flex}.button.small{width:100%;min-height:38px;padding:7px 12px;font-size:.86rem;font-weight:750}.my-planners{background:#F5FAFA}.button-row{flex-wrap:wrap;gap:6px 14px;display:flex}.button-row .link-button{font-size:.82rem}.file-link-button{color:var(--blue);cursor:pointer;background:0 0;border:0;align-items:center;padding:0;font-size:.82rem;font-weight:750;text-decoration:underline;display:inline-flex}#planner-status:empty{display:none}.member-row{grid-template-columns:1fr auto auto;align-items:center;gap:8px;margin-bottom:6px;display:grid}.member-row.recurring-row{grid-template-columns:1fr auto auto auto}.member-row input[type=text]{min-height:38px}.member-row input[type=color]{background:#fff;border:1px solid #9DBCC8;border-radius:8px;width:34px;min-width:34px;height:34px;padding:2px}.member-row .recurring-weekday{min-height:38px}.remove-row{color:#5A7380;cursor:pointer;background:#fff;border:1px solid #C8DCE3;border-radius:50%;flex:none;width:28px;height:28px;min-height:auto;padding:0;font-weight:800}.remove-row:hover{background:#F3F8F9}.download-followup{background:#E6F4F8;border:1px solid #C7E2EC;border-radius:10px;margin-top:6px;padding:12px 14px}.download-followup[hidden]{display:none!important}.download-followup p{margin:0 0 8px;font-size:.86rem}.name-dialog{border:1px solid var(--line);border-radius:16px;width:min(360px,90vw);padding:22px;box-shadow:0 20px 50px #25475B36}.name-dialog::backdrop{background:#17384773}.name-dialog-title{color:var(--ink);margin:0 0 14px;font-size:1rem;font-weight:800}.name-dialog-field{color:#365A6B;margin-bottom:6px;font-size:.78rem;font-weight:800;display:block}#name-dialog-input{width:100%;min-height:42px;color:var(--ink);background:#fff;border:1px solid #9DBCC8;border-radius:8px;padding:8px 10px;font-size:1rem}.name-dialog-actions{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.pager-arrow{border:1px solid var(--line);color:#365A6B;cursor:pointer;background:#fff;border-radius:8px;flex:none;min-width:32px;min-height:32px;padding:0;font-size:1rem;font-weight:800}.pager-arrow:hover{background:#E8F3F6}.member-chips{flex-wrap:wrap;gap:6px;margin:2px 0 8px;display:flex}.member-chip{color:#304F60;border-left:4px solid var(--chip-color,var(--blue));background:#ECF5F7;border-radius:999px;align-items:center;gap:5px;padding:3px 9px 3px 7px;font-size:.72rem;font-weight:750;display:inline-flex}.recur-tag{color:#496271;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:3px;font-size:clamp(.4rem,.7vw,.58rem);font-style:italic;line-height:1.2;display:flex;overflow:hidden}.recur-tag:before{content:"";background:var(--tag-color,var(--blue));border-radius:50%;flex:none;width:.5em;height:.5em}.week-grid.meal-week-grid{grid-template-rows:none;grid-template-columns:repeat(7,minmax(0,1fr))}.week-day.meal-day{flex-direction:column;grid-template-columns:1fr;display:flex}.week-day.meal-day>div:first-child{border-bottom:1px solid #A5B9C1;border-right:0;flex:none}.meal-slots{flex-direction:column;flex:1;padding:0;display:flex}.meal-slot{border-bottom:1px solid #D5E5EA;flex-direction:column;flex:1;min-height:0;padding:5px 6px;display:flex}.meal-slot:last-child{border-bottom:0}.meal-slot>span{color:var(--blue);font-size:clamp(.42rem,.7vw,.6rem);font-weight:750}.meal-slot .day-note{flex:1;font-size:clamp(.42rem,.72vw,.62rem)}.grocery-box{border:1px solid #A5B9C1;border-radius:5px;flex-direction:column;flex:none;min-height:70px;margin-top:10px;padding:9px;display:flex}.grocery-box h4{color:var(--blue);margin:0 0 5px;font-size:.8rem}.grocery-box .day-note{flex:1;font-size:.8rem}.habit-table{border-collapse:collapse;flex:1;width:100%}.habit-table th,.habit-table td{text-align:center;border:1px solid #A5B9C1;padding:6px}.habit-table thead th{color:var(--blue);background:#F3F8F9;font-size:clamp(.5rem,.9vw,.72rem);font-weight:800}.habit-table thead th span{color:#5A7380;font-weight:650;display:block}.habit-name-cell{text-align:left;white-space:nowrap;font-size:clamp(.55rem,.95vw,.78rem);font-weight:700}.habit-empty{color:var(--muted);padding:16px;font-size:.8rem;font-style:italic}.habit-check{appearance:none;cursor:pointer;background:#fff;border:1.5px solid #365A6B;border-radius:3px;width:16px;height:16px;margin:0;position:relative}.habit-check:checked{background:var(--blue);border-color:var(--blue)}.habit-check:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:9px;position:absolute;top:1px;left:4px;transform:rotate(40deg)}.preview-column{min-width:0}.preview-toolbar{color:#526F7D;justify-content:space-between;align-items:center;height:48px;padding:0 20px;font-size:.78rem;font-weight:800;display:flex}.preview-wrap{align-content:start;gap:20px;min-height:660px;padding:18px;display:grid;overflow:auto}.print-page{aspect-ratio:11/8.5;color:#233744;background:#fff;flex-direction:column;width:min(100%,920px);margin:auto;padding:clamp(14px,2.3vw,30px);display:flex;box-shadow:0 7px 24px #25475B24}.preview-wrap.orient-portrait .print-page{aspect-ratio:8.5/11;width:min(100%,650px)}.preview-wrap.paper-a4.orient-landscape .print-page{aspect-ratio:297/210}.preview-wrap.paper-a4.orient-portrait .print-page{aspect-ratio:210/297}.print-header{border-bottom:3px solid var(--blue);flex-wrap:wrap;justify-content:space-between;align-items:end;gap:7px;margin-bottom:10px;padding-bottom:8px;display:flex}.print-header p{color:#5A7380;margin:0;font-size:.72rem}.print-header h3{margin:0;font-size:clamp(1rem,2vw,1.65rem)}.theme-coral .print-header{border-color:var(--coral)}.theme-coral .holiday,.theme-coral .daily-holiday,.theme-coral .weekday-row b,.theme-coral .daily-grid h4,.theme-coral .meal-slot>span,.theme-coral .habit-table thead th,.theme-coral .grocery-box h4{color:#985044}.theme-ink .print-header{border-color:#25475B}.theme-ink .holiday,.theme-ink .daily-holiday,.theme-ink .weekday-row b,.theme-ink .daily-grid h4,.theme-ink .meal-slot>span,.theme-ink .habit-table thead th,.theme-ink .grocery-box h4{color:#25475B}.weekday-row,.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.weekday-row b{text-align:center;color:var(--blue);padding:5px;font-size:clamp(.55rem,1vw,.75rem)}.month-grid{grid-template-rows:repeat(var(--grid-rows,6),minmax(0,1fr));border-top:1px solid #A5B9C1;border-left:1px solid #A5B9C1;flex:1}.day-cell{border-bottom:1px solid #A5B9C1;border-right:1px solid #A5B9C1;min-width:0;padding:4px;position:relative;overflow:hidden}.day-cell.outside{background:#F3F8F9}.date-line{align-items:baseline;gap:4px;min-height:13px;display:flex}.date-line strong{font-size:clamp(.55rem,1vw,.8rem)}.holiday{color:var(--blue);white-space:nowrap;text-overflow:ellipsis;font-size:clamp(.38rem,.65vw,.56rem);overflow:hidden}.day-note{resize:none;color:#304F60;background:0 0;border:0;width:100%;height:calc(100% - 16px);min-height:16px;padding:2px;font-size:clamp(.45rem,.78vw,.68rem);overflow:hidden}.day-note:focus{z-index:5;background:#fff;border-radius:6px;height:auto;min-height:64px;padding:6px;font-size:16px;line-height:1.3;position:absolute;inset:2px;box-shadow:0 6px 20px #25475B33}.week-grid{flex:1;grid-template-rows:repeat(7,1fr);display:grid}.week-day{border-top:1px solid #A5B9C1;grid-template-columns:clamp(96px,16%,150px) 1fr;min-height:0;display:grid;position:relative}.week-day>div{border-right:1px solid #A5B9C1;flex-direction:column;padding:8px;display:flex}.week-day span{color:#5A7380;font-size:.68rem}.week-day small{color:var(--blue);font-size:.66rem}.week-day .day-note{padding:8px;font-size:.8rem}.daily-holiday{width:100%;color:var(--blue);font-size:.7rem}.daily-grid{flex:1;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:10px;display:grid}.daily-grid section{border:1px solid #A5B9C1;border-radius:5px;flex-direction:column;padding:9px;display:flex;position:relative}.calendar-events-section{grid-column:1/-1}.daily-grid h4{color:var(--blue);margin:0 0 5px;font-size:.8rem}.daily-grid .day-note{flex:1;font-size:.8rem}.planner-links{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.planner-links a{background:var(--blue-soft);color:var(--blue-dark);border-radius:999px;padding:8px 12px;font-weight:750;text-decoration:none;display:inline-block}.faq details{border-top:1px solid var(--line);padding:18px 0}.faq summary{cursor:pointer;font-weight:800}.faq details p{color:var(--muted)}.month-links{grid-template-columns:repeat(4,1fr);gap:10px;margin:0;padding:0;list-style:none;display:grid}.month-links a{border:1px solid var(--line);text-align:center;background:#fff;border-radius:10px;padding:12px;font-weight:750;text-decoration:none;display:block}.year-links{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.year-links a{border:1px solid var(--line);text-align:center;background:#fff;border-radius:12px;padding:18px;font-weight:800;text-decoration:none;display:block}.pager{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:28px;display:flex}.pager a{font-weight:750}.fact-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:20px 0 0;padding:0;list-style:none;display:grid}.fact-list li{background:var(--blue-soft);border-radius:12px;padding:14px 16px}.fact-list strong{color:var(--blue-dark);font-size:1.3rem;display:block}.fact-list span{color:#506D7D;font-size:.86rem}.data-table{border-collapse:collapse;width:100%;margin:20px 0 30px}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--line);padding:12px}.data-table th{color:var(--blue-dark);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem}.guide-screenshot{border:1px solid var(--line);background:#fff;border-radius:16px;margin:20px 0 30px;overflow:hidden;box-shadow:0 8px 24px #25475B0F}.guide-screenshot img{width:100%;height:auto;display:block}.guide-screenshot figcaption{color:var(--muted);border-top:1px solid var(--line);padding:10px 16px;font-size:.82rem}.guide-steps{padding-left:1.2em}.guide-steps li{margin-bottom:10px}.guide-limitations{background:#FFF3EA;border:1px solid #F2D4C7;border-radius:14px;margin:20px 0;padding:18px 20px}.guide-limitations h2{margin-top:0}.site-footer{color:#D5E8EE;background:#25475B;padding:40px clamp(18px,4vw,56px)}.footer-inner{grid-template-columns:1.6fr 1fr 1fr 1fr;gap:30px;width:min(1280px,100%);margin:auto;display:grid}.site-footer h2,.site-footer h3{color:#fff;margin-top:0}.site-footer h3{font-size:1rem}.site-footer a{color:#DBF2F7}.footer-links{align-content:start;gap:8px;display:grid}.copyright{border-top:1px solid #527487;grid-column:1/-1;padding-top:20px;font-size:.86rem}.consent-banner{z-index:40;max-width:640px;color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:14px;flex-wrap:wrap;align-items:center;gap:14px;margin:0 auto;padding:16px 18px;display:flex;position:fixed;inset:auto 16px 16px}.consent-banner[hidden]{display:none!important}.consent-banner p{color:#3C5B6A;flex:260px;margin:0;font-size:.88rem;line-height:1.5}.consent-actions{flex:none;gap:10px;display:flex}.consent-actions .button{min-height:40px;padding:8px 16px}@media (width<=1000px){.footer-inner{grid-template-columns:1fr 1fr}}@media (width<=820px){.site-header{flex-wrap:wrap;position:static}.site-nav{gap:18px;width:100%;padding-bottom:4px;overflow-x:auto}.site-nav a{white-space:nowrap}.card-grid,.footer-inner{grid-template-columns:1fr}.copyright{grid-column:1}.hero{grid-template-columns:1fr}.hero-card{display:none}.feature-strip{grid-template-columns:1fr}.feature-strip li{border-right:0;border-bottom:1px solid var(--line)}.workspace{grid-template-columns:1fr}.app-controls{border-right:0;border-bottom:1px solid var(--line);order:0}.app-intro{flex-direction:column;align-items:start}.preview-wrap{min-height:520px}.print-page{min-width:600px}.preview-wrap.orient-portrait .print-page{min-width:460px}.month-links{grid-template-columns:repeat(2,1fr)}.toolbar-hint{display:none}}@media print{.site-header,.site-footer,.skip-link,.breadcrumbs,.ad-slot,.app-controls,.app-intro,.preview-toolbar,.below-workspace,.consent-banner,.page-shell>:not(.calendar-app){display:none!important}body,.page-shell,.calendar-app,.workspace,.preview-column,.preview-wrap{box-shadow:none!important;background:#fff!important;border:0!important;border-radius:0!important;min-height:0!important;margin:0!important;padding:0!important;display:block!important;overflow:visible!important}.print-page{break-inside:avoid;break-after:page;overflow:hidden;box-shadow:none!important;aspect-ratio:auto!important;width:100%!important;min-width:0!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;display:flex!important}.print-page:last-child{break-after:auto}.day-cell,.week-day,.daily-grid section{break-inside:avoid}.day-note{overflow:visible}.day-note::placeholder{color:#0000!important;opacity:0!important}.day-note:focus{box-shadow:none;font-size:inherit;position:static}.month-grid,.day-cell,.week-day,.daily-grid section{border-color:#7d8899!important}a[href]:after{content:none!important}}

/* JolyCalendar Coastal Blue & Coral — complete interface theme */
:root {
  --ink:#25475B; --muted:#587584; --line:#D5E5EA; --paper:#FFFFFF;
  --canvas:#F8FBFA; --blue:#286C91; --blue-dark:#205A78;
  --blue-soft:#E6F4F8; --coral:#EFA99B; --yellow:#EFA99B;
  --focus:#286C91; --shadow:0 14px 38px #25475B18;
}
@media screen {
  body{background:linear-gradient(145deg,#F8FBFA 0%,#EDF7FA 52%,#FFF9F6 100%);color:var(--ink)}
  .site-header{background:#286C91;color:#fff;border-bottom:1px solid #205A78;box-shadow:0 7px 20px #25475B1D;min-height:76px}
  .brand{color:#fff;font-size:1.25rem;letter-spacing:-.035em;gap:11px}
  .brand .brand-mark{height:40px;width:40px;min-width:40px;display:block;opacity:1;visibility:visible;flex-shrink:0}
  .site-nav a{color:#F8FBFA;font-weight:700}.site-nav a:hover,.site-nav a:focus-visible{color:#fff;text-decoration-color:#EFA99B;text-underline-offset:6px}
  .site-header :focus-visible{outline-color:#EFA99B}
  .lang-switch{border-left-color:#FFFFFF45}.lang-switch a{color:#DDF1F6}.lang-switch a:hover,.lang-switch a:focus-visible,.lang-switch a[aria-current]{color:#fff}.lang-switch a[aria-current]{text-decoration-color:#EFA99B}
  .page-shell{padding-top:22px}.eyebrow{color:#286C91}.lead{color:#587584;line-height:1.75}
  .hero{padding-top:38px;padding-bottom:34px;gap:45px}
  h1,h2,h3{letter-spacing:-.026em}h1,.hero-card h2,.prose-section h2{letter-spacing:-.03em}
  .hero-copy h1{color:#25475B}
  .hero-card{background:linear-gradient(138deg,#286C91 0%,#377D9B 66%,#568DA3 100%);color:#fff;border:1px solid #2E7897;border-radius:24px;box-shadow:0 18px 40px #25475B20}
  .hero-card p{color:#E3F2F7}.hero-card .eyebrow{color:#FFD8C9}.mini-calendar{box-shadow:0 8px 22px #173D521C;border:1px solid #D6E6EB}
  .mini-calendar .marked{background:#EFA99B;color:#25475B}
  .button{border-radius:11px;transition:background .16s ease,transform .16s ease,box-shadow .16s ease}
  .button.primary{background:#286C91;border-color:#286C91;color:#fff}.button.primary:hover{background:#205A78;box-shadow:0 6px 16px #205A7833}
  .button.secondary{background:#E6F4F8;color:#205A78;border-color:#B7D9E5}.button.secondary:hover{background:#D6ECF3}
  .button.ghost{background:#fff;border-color:#C8DFE7;color:#25475B}.button.ghost:hover{background:#F0F8FA}
  .info-card,.prose-section,.feature-strip,.year-links a,.month-links a{border-color:#D5E5EA;box-shadow:0 8px 28px #25475B0D;background:#fff}
  .info-card,.prose-section{border-radius:18px}.feature-strip{border-radius:18px}
  .ad-slot{background:#EFF7F8;border-color:#C9DDE4;color:#607F8D}
  .privacy-pill{color:#356D60;background:#E7F3EF;border-color:#BEDFD3}
  .workspace{background:#E8F2F5;border:1px solid #C8DFE6;border-radius:20px;box-shadow:0 16px 42px #25475B1A}
  .app-controls{background:#FFF;border-right-color:#D4E4EA}
  .app-controls label,.control-label,.app-controls legend{color:#3D6172}
  .app-controls input,.app-controls select,#name-dialog-input{border-color:#A7C5CF;background:#fff;color:#25475B;border-radius:9px}
  .app-controls input:focus-visible,.app-controls select:focus-visible,#name-dialog-input:focus-visible{border-color:#286C91;outline-color:#286C91}
  .segmented{background:#E5F2F6;border-radius:11px}.segmented button{color:#4F6F7D;border-radius:9px}.segmented button.active{color:#205A78;background:#fff;box-shadow:0 2px 8px #205A781A}
  .app-controls fieldset{border-color:#D9E8EB;border-radius:12px}
  .help-icon{border-color:#9EB9C5;color:#355B6C}.help-icon:hover,.help-icon:focus-visible{background:#E6F4F8}
  .preview-column{background:#F4F9FA}.preview-wrap{background:linear-gradient(140deg,#E6F2F5,#F9F6F2)}
  .preview-toolbar{color:#456777;border-bottom-color:#DAE7EA}.print-page{background:#fff;box-shadow:0 12px 28px #25475B21}
  .my-planners{background:#F3F9FA}.member-chip{background:#E8F3F7;color:#315B6C}
  .planner-links a{background:#E6F4F8;color:#205A78}.planner-links a:hover{background:#D3EAF1}
  .site-footer{background:#25475B;color:#D6EAF0}.site-footer h2,.site-footer h3{color:#fff}.site-footer a{color:#D9F0F6}.site-footer a:hover{color:#FFFFFF}
  .copyright{border-top-color:#527184}.consent-banner{background:#fff;border-color:#BDD8E2;border-radius:15px;box-shadow:0 18px 40px #25475B2B}.consent-banner p{color:#3C5B6A}
  .guide-limitations{background:#FFF5EE;border-color:#F3D5C8}
  .download-followup{background:#EFF8FA;border-color:#C7E0E9}
  .name-dialog{border-color:#CBDFE7;box-shadow:0 20px 50px #25475B33}
}


/* JolyCalendar consent card, Coastal Blue & Coral. 2026-10 */
#consent-banner.consent-banner {
  position:fixed;z-index:110;inset:auto auto 22px 50%;transform:translateX(-50%);
  width:min(570px,calc(100% - 28px));max-width:none;margin:0;padding:0;
  display:block;overflow:hidden;border:1px solid #B9D6E0;border-top:5px solid #EFA99B;
  border-radius:20px;background:#FFFFFF;color:#25475B;
  box-shadow:0 20px 65px rgba(19,59,80,.22),0 3px 12px rgba(19,59,80,.12);
  text-align:left;isolation:isolate;
}
#consent-banner[hidden]{display:none!important}
#consent-banner .consent-head{display:flex;align-items:center;gap:15px;padding:21px 24px 0}
#consent-banner .consent-mark-wrap{width:53px;height:53px;flex:0 0 53px;display:grid;place-items:center;background:#E6F4F8;border-radius:15px}
#consent-banner .consent-mark{display:block;width:43px;height:43px}
#consent-banner .consent-heading{min-width:0}
#consent-banner .consent-eyebrow{margin:0 0 4px!important;color:#286C91;font-size:10.5px!important;letter-spacing:.13em;font-weight:800;line-height:1.3}
#consent-banner h2{margin:0;color:#25475B;font-size:clamp(18px,2.5vw,22px);line-height:1.22;font-weight:750;letter-spacing:-.025em}
#consent-banner .consent-message{padding:0;margin:16px 24px 18px!important;color:#456579;font-size:14px;line-height:1.62;flex:none}
#consent-banner .consent-actions{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:0 24px;padding:0;flex:none}
#consent-banner .consent-choice{min-height:47px;display:flex;align-items:center;justify-content:center;
  border-radius:11px;border:1.5px solid transparent;cursor:pointer;
  padding:11px 13px;font-size:14px;line-height:1.2;font-weight:750;text-align:center;
  transition:background .14s ease,transform .14s ease,box-shadow .14s ease}
#consent-banner .consent-choice:focus-visible{outline:3px solid #EFA99B;outline-offset:3px}
#consent-banner .consent-choice:hover{transform:translateY(-1px);box-shadow:0 5px 12px rgba(37,71,91,.15)}
#consent-banner .consent-choice-accept{background:#286C91;border-color:#286C91;color:#FFFFFF}
#consent-banner .consent-choice-accept:hover{background:#205A78}
#consent-banner .consent-choice-decline{background:#D8ECF2;border-color:#B6D5DF;color:#234E63}
#consent-banner .consent-choice-decline:hover{background:#C5E2EB}
#consent-banner .consent-privacy{display:inline-block;margin:13px 24px 18px;color:#286C91;font-size:12.5px;line-height:1.4;text-underline-offset:2px;text-decoration:underline}
#consent-banner .consent-privacy:hover{color:#205A78}
@media(max-width:480px){
  #consent-banner.consent-banner{bottom:12px;max-height:calc(100dvh - 24px);overflow-y:auto;border-radius:17px}
  #consent-banner .consent-head{gap:11px;padding:16px 17px 0}
  #consent-banner .consent-mark-wrap{width:45px;height:45px;flex-basis:45px;border-radius:12px}
  #consent-banner .consent-mark{width:36px;height:36px}
  #consent-banner h2{font-size:18px}
  #consent-banner .consent-message{margin:12px 17px 16px!important;font-size:13px;line-height:1.52}
  #consent-banner .consent-actions{margin:0 17px;gap:8px}
  #consent-banner .consent-choice{font-size:12.5px;padding:9px 8px;min-height:46px}
  #consent-banner .consent-privacy{margin:12px 17px 15px}
}
@media (prefers-reduced-motion:reduce){#consent-banner .consent-choice{transition:none!important}}
@media print{#consent-banner{display:none!important}}
