/* Metric-matched fallbacks: text keeps its size while the web fonts load, so nothing shifts (CLS). Values come from the DM Sans 400 and Fraunces 600 font files measured against Arial and Georgia. */
@font-face{font-family:'DM Sans Fallback';src:local('Arial'),local('ArialMT');size-adjust:104.68%;ascent-override:94.76%;descent-override:29.61%;line-gap-override:0%}
@font-face{font-family:'Fraunces Fallback';src:local('Georgia');size-adjust:109.08%;ascent-override:89.66%;descent-override:23.38%;line-gap-override:0%}
:root{font-family:'DM Sans','DM Sans Fallback',sans-serif;color:#172033;background:#fffdf8;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit}button,input,select{font:inherit}button{cursor:pointer}.container{width:min(1180px,calc(100% - 64px));margin-inline:auto}.site-header{height:82px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;position:relative;z-index:5}.logo{display:inline-flex;align-items:center;gap:5px;justify-self:start;text-decoration:none;font-family:'Fraunces','Fraunces Fallback',Georgia,serif;font-size:27px;font-weight:700;color:#17459d;letter-spacing:-1.4px;white-space:nowrap}.logo svg{color:#f26934}.logo-ai{color:#ee5d2b}.nav,.footer nav{display:flex;gap:42px;align-items:center}.nav a,.footer nav a{text-decoration:none;font-size:14px;font-weight:600}.nav a:hover,.footer nav a:hover{text-decoration:underline;text-underline-offset:5px}.header-note{justify-self:end;transform:rotate(-10deg);font:600 20px/1 'Caveat',cursive;text-align:center;color:#263044}.menu-toggle{display:none;border:0;background:none;color:#172033}.button{min-height:49px;padding:0 25px;display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:14px;border:0;text-decoration:none;font-size:14px;font-weight:700;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px);box-shadow:0 7px 14px #173f9826}.button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,.menu-toggle:focus-visible{outline:3px solid #f2783c;outline-offset:3px}.button-primary{background:#1550b8;color:white}.text-link{display:inline-flex;align-items:center;gap:10px;color:#164fac;text-decoration:none;font-weight:700;font-size:14px}.text-link:hover{text-decoration:underline;text-underline-offset:4px}.hero{height:640px;position:relative;overflow:hidden}.hero-art{position:absolute;right:0;top:-60px;width:min(87vw,1450px);height:720px;object-fit:cover;object-position:right center}.hero-content{position:relative;z-index:1;padding-top:123px}.hero h1,h2,h3{font-family:'Fraunces','Fraunces Fallback',Georgia,serif;letter-spacing:-.045em}.hero h1{max-width:690px;margin:0;font-size:clamp(52px,5.3vw,82px);line-height:.99;font-weight:600}.hero-content>p{max-width:465px;margin:25px 0 27px;font-size:19px;line-height:1.5}.hero-actions{display:flex;align-items:center;gap:24px}.hero-note{position:absolute;top:465px;left:5px;transform:rotate(-10deg);font:600 27px/1.05 'Caveat',cursive}.featured{height:335px;position:relative;overflow:hidden;border-radius:24px;background:#f4e8ff}.featured>img{position:absolute;right:0;top:0;width:100%;height:100%;object-fit:cover;object-position:center}.featured-copy{position:relative;z-index:1;padding:48px 45px;max-width:500px}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:700;margin:0 0 8px}.featured h2{font-size:clamp(29px,3.1vw,44px);line-height:1.04;margin:0 0 14px;font-weight:600}.featured-copy>p:not(.eyebrow){max-width:380px;font-size:16px;line-height:1.45;margin:0 0 22px}.guides{padding-top:65px;padding-bottom:38px}.guides h2{font-size:clamp(30px,3.25vw,46px);margin:0;line-height:1.1}.section-intro{font-size:17px;margin:23px 0 32px}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.guide-card{border-radius:16px;overflow:hidden;min-height:365px;display:flex;flex-direction:column}.guide-card.blue{background:#e3f0ff}.guide-card.peach{background:#ffe8d9}.guide-card.green{background:#edf5c6}.guide-card>img{width:100%;height:205px;object-fit:contain;padding:6px 20px 0}.guide-card>div{padding:2px 26px 27px}.guide-card h3{font-size:25px;line-height:1.1;margin:0 0 8px;font-weight:600}.guide-card p{font-size:15px;line-height:1.45;margin:0 0 13px;min-height:44px}.guide-card a{display:inline-flex;align-items:center;gap:6px;color:#14499d;font-size:15px;font-weight:700;text-underline-offset:3px}.planner{min-height:260px;margin-top:0;margin-bottom:34px;background:#fff0d5;border-radius:24px;display:grid;grid-template-columns:1.3fr 1fr 140px;align-items:center;gap:34px;padding:35px 40px}.planner h2{font-size:37px;line-height:1.08;margin:0 0 12px}.planner-copy>p:last-child{font-size:16px;line-height:1.5;margin:0}.planner-form{display:grid;gap:7px;position:relative}.planner-form label{font-size:13px;font-weight:600}.planner-form input,.planner-form select{width:100%;height:42px;border:1px solid #ead8bf;border-radius:9px;background:white;color:#172033;padding:0 13px;font-size:14px}.planner-form .button{margin-top:6px;width:100%;height:44px;min-height:44px}.plan-result{position:absolute;z-index:2;left:0;top:100%;margin-top:10px;background:#eff8e2;box-shadow:0 8px 20px #19243b17;border-radius:12px;padding:11px 13px;display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.35;color:#25460e}.plan-result svg{flex:none}.sticky-note{justify-self:center;display:grid;place-items:center;text-align:center;transform:rotate(-9deg);width:99px;height:127px;background:#ffe080;color:#1b2b44;box-shadow:4px 5px 0 #e5bd61;font:600 24px/.87 'Caveat',cursive}.closing{height:340px;position:relative;overflow:hidden}.closing img{width:100%;height:100%;object-fit:cover;object-position:center}.closing p{position:absolute;left:max(8%,calc((100vw - 1100px)/2));top:52%;transform:rotate(-8deg);color:#fff;font:600 27px/1.05 'Caveat',cursive;text-align:center;margin:0}.footer{background:#fffdf8}.footer-inner{height:87px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px}.footer .logo{font-size:24px}.footer .logo svg{width:22px}.footer p{justify-self:end;font-size:13px;font-weight:600}.article-main{background:#fffdf8;min-height:calc(100vh - 169px);padding:30px 0 90px}.article-shell{width:min(900px,calc(100% - 48px));margin:auto}.breadcrumbs{display:flex;gap:10px;color:#627080;font-size:13px;margin-bottom:55px}.breadcrumbs a{text-decoration:none}.breadcrumbs a:hover{text-decoration:underline}.article-heading{max-width:760px;margin:auto;text-align:center;border-bottom:1px solid #e8e1d6;padding-bottom:43px}.article-heading .eyebrow{color:#e4632e}.article-heading h1{font-size:clamp(42px,5vw,65px);line-height:1.08;margin:14px 0 20px}.article-lede{color:#3e4a56;max-width:670px;margin:0 auto;font-size:19px;line-height:1.7}.article-body{max-width:680px;margin:50px auto 0}.article-note{background:#eff3df;border-radius:18px;padding:21px 26px;margin-bottom:46px}.article-note strong{font-size:13px;letter-spacing:.08em;text-transform:uppercase}.article-note p{margin:5px 0 0;font-family:'Fraunces','Fraunces Fallback',Georgia,serif;font-size:25px}.article-body h2{font-size:32px;margin:0 0 35px}.article-body section{border-top:1px solid #e8e1d6;padding:23px 0 29px}.step-number{color:#e46636;font-size:12px;font-weight:700;letter-spacing:.13em}.article-body h3{font-size:26px;margin:7px 0 10px}.article-body section p{font-size:17px;line-height:1.8;color:#3b4651;margin:0}.article-end{margin-top:25px;padding:30px;border-radius:18px;background:#f4e8ff;text-align:center}.article-end p{font-family:'Fraunces','Fraunces Fallback',Georgia,serif;font-size:25px;margin:0 0 18px}
@media(max-width:800px){.container{width:min(100% - 40px,620px)}.site-header{height:68px;grid-template-columns:1fr auto}.logo{font-size:23px}.header-note{display:none}.menu-toggle{display:block}.nav{display:none;position:absolute;top:62px;left:0;right:0;padding:20px;background:#fffdf8;border:1px solid #eee4d5;border-radius:14px;box-shadow:0 12px 22px #17203318;flex-direction:column;gap:20px;align-items:flex-start}.nav.open{display:flex}.hero{height:auto;min-height:685px}.hero-art{top:260px;right:-20%;width:125%;height:470px;object-fit:cover;object-position:right}.hero-content{padding-top:62px}.hero h1{font-size:clamp(47px,9vw,67px)}.hero-content>p{max-width:400px;font-size:17px;margin:19px 0 22px}.hero-note{display:none}.featured{height:430px}.featured>img{object-position:60% bottom;opacity:.95}.featured-copy{padding:30px;max-width:380px}.featured h2{font-size:33px}.featured-copy>p:not(.eyebrow){max-width:285px;font-size:15px}.guides{padding-top:54px}.guide-grid{grid-template-columns:1fr;gap:16px}.guide-card{min-height:0;display:grid;grid-template-columns:44% 56%;align-items:center}.guide-card>img{height:190px;padding:8px}.guide-card>div{padding:20px}.guide-card p{min-height:0}.planner{grid-template-columns:1fr;padding:30px;gap:22px;margin-top:10px}.sticky-note{display:none}.closing{height:260px}.closing p{font-size:22px;top:56%;left:6%}.footer-inner{height:auto;min-height:140px;grid-template-columns:1fr auto;padding:24px 0}.footer nav{gap:15px}.footer p{grid-column:1/-1;justify-self:start;margin:0}.article-main{padding-top:18px}.breadcrumbs{margin-bottom:37px}}
@media(max-width:520px){.container{width:calc(100% - 32px)}.hero{min-height:636px}.hero-content{padding-top:46px}.hero h1{font-size:clamp(40px,10.8vw,53px)}.hero-content>p{font-size:16px;max-width:340px}.hero-actions{gap:16px;flex-wrap:wrap}.button{padding:0 18px;min-height:46px}.hero-art{top:255px;right:-38%;width:155%;height:410px}.featured{height:500px}.featured>img{height:100%;object-position:61% bottom}.featured-copy{padding:27px 24px}.featured h2{font-size:31px}.featured-copy>p:not(.eyebrow){max-width:270px}.guides h2{font-size:34px}.section-intro{font-size:15px;margin:17px 0 25px}.guide-card{grid-template-columns:1fr;min-height:0}.guide-card>img{height:198px}.guide-card>div{padding:0 23px 23px}.guide-card h3{font-size:24px}.guide-card p{font-size:15px}.planner h2{font-size:33px}.planner-copy>p:last-child{font-size:15px}.closing{height:220px}.closing img{object-position:62% center}.closing p{font-size:18px;left:5%;top:60%}.footer-inner{grid-template-columns:1fr}.footer nav{gap:24px}.article-shell{width:calc(100% - 40px)}.article-heading h1{font-size:42px}.article-lede{font-size:17px}.article-body{margin-top:35px}.article-body section p{font-size:16px}}
@media(max-width:520px){.hero-art{top:305px;right:-30%;width:250%;height:360px;object-fit:cover;object-position:right center}.featured{height:510px}.featured>img{top:auto;bottom:0;right:-25%;width:180%;height:55%;object-fit:cover;object-position:right bottom}.featured-copy{max-width:100%}.featured-copy>p:not(.eyebrow){max-width:295px}}
@media(max-width:520px){.hero-art{right:0}.featured>img{right:0}}
.article-heading h1{font-family:'Fraunces','Fraunces Fallback',Georgia,serif;font-weight:600;letter-spacing:-.04em}
@media(min-width:801px) and (max-width:1000px){.container{width:calc(100% - 64px)}.site-header{height:60px}.hero{height:475px}.hero-art{right:-150px;top:-8px;width:720px;height:515px}.hero-content{padding-top:69px}.hero h1{font-size:57px;max-width:500px}.hero-content>p{max-width:345px;font-size:16px;margin:14px 0 18px}.hero-note{top:340px;font-size:22px}.featured{height:293px;border-radius:20px}.featured-copy{padding:42px 34px;max-width:370px}.featured h2{font-size:33px}.featured-copy>p:not(.eyebrow){font-size:14px;max-width:310px}.guides{padding-top:43px;padding-bottom:30px}.guides h2{font-size:32px}.section-intro{font-size:15px;margin:18px 0 27px}.guide-grid{gap:17px}.guide-card{min-height:286px}.guide-card>img{height:155px;padding:0 10px}.guide-card>div{padding:0 18px 19px}.guide-card h3{font-size:21px}.guide-card p{font-size:14px;min-height:42px;margin-bottom:10px}.guide-card a{font-size:13px;gap:3px}.planner{min-height:218px;grid-template-columns:1.4fr 1fr 105px;gap:18px;padding:27px 25px;margin-bottom:28px}.planner h2{font-size:29px;letter-spacing:-.06em}.planner-copy>p:last-child{font-size:14px}.sticky-note{width:78px;height:100px;font-size:20px}.closing{height:260px}.closing p{font-size:23px}.footer-inner{height:75px}}
@media(min-width:801px) and (max-width:1000px){.featured-copy{max-width:405px;padding-right:0}.featured h2{font-size:31px;max-width:350px}}
[hidden]{display:none!important}
.logo img{flex:none}.menu-close-icon{display:none}.menu-toggle[aria-expanded="true"] .menu-open-icon{display:none}.menu-toggle[aria-expanded="true"] .menu-close-icon{display:block}
.button img,.text-link img,.guide-card a img,.index-card-link img{flex:none}
.article-content h2{font-size:32px;line-height:1.2;margin:42px 0 20px;border-top:1px solid #e8e1d6;padding-top:27px}
.article-content h3{font-size:25px;line-height:1.25;margin:31px 0 10px}
.article-content p,.article-content li{font-size:17px;line-height:1.8;color:#3b4651}
.article-content p{margin:0 0 20px}.article-content ul,.article-content ol{padding-left:25px;margin:0 0 22px}
.article-content a{color:#1550b8;text-underline-offset:3px}.article-content blockquote{border-left:3px solid #e46636;padding-left:19px;margin:25px 0}
.article-content code{background:#f1ede5;border-radius:4px;padding:2px 4px}
.index-main{min-height:calc(100vh - 169px);padding-top:30px;padding-bottom:80px}
.index-main>.eyebrow{color:#e4632e}
.index-main h1{font-family:'Fraunces','Fraunces Fallback',Georgia,serif;font-size:clamp(42px,5vw,64px);line-height:1.08;letter-spacing:-.045em;margin:10px 0 16px}
.index-intro{font-size:18px;line-height:1.6;max-width:650px;margin:0 0 35px;color:#3e4a56}
.index-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.index-card{min-height:245px;padding:28px;border-radius:18px;display:flex;flex-direction:column}.index-card-image{width:100%;height:132px;object-fit:cover;border-radius:13px;margin:-6px 0 19px;mix-blend-mode:multiply}
.index-card.blue{background:#e3f0ff}.index-card.peach{background:#ffe8d9}.index-card.green{background:#edf5c6}
.index-card h2{font-size:26px;line-height:1.18;margin:0 0 12px}.index-card h2 a{text-decoration:none}.index-card h2 a:hover{text-decoration:underline}
.index-card>p:not(.eyebrow){font-size:15px;line-height:1.5;margin:0 0 20px}
.index-card-link{margin-top:auto;display:inline-flex;align-items:center;gap:6px;color:#14499d;font-size:14px;font-weight:700;text-underline-offset:3px}
.empty-state{grid-column:1/-1;padding:36px;background:#f4e8ff;border-radius:18px}
@media(max-width:800px){.index-grid{grid-template-columns:1fr 1fr}.nav{z-index:9}}
@media(max-width:520px){.article-content h2{font-size:29px}.article-content h3{font-size:23px}.article-content p,.article-content li{font-size:16px}.index-grid{grid-template-columns:1fr}.index-card{min-height:210px}.index-main{padding-top:22px}.index-intro{font-size:16px}}
.article-meta{font-size:13px;color:#68717b;margin:20px 0 0}.related-articles{border-top:1px solid #e8e1d6;margin-top:42px;padding-top:20px}.related-articles h2{font:700 25px/1.2 'Fraunces','Fraunces Fallback',Georgia,serif;margin:0 0 14px}.related-articles ul{padding-left:20px;margin:0}.related-articles li{margin:0 0 11px}.related-articles a{color:#1550b8;text-underline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.home-search{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:23px 0 35px}.home-search h2{font-size:26px;line-height:1.15;margin:0}.home-search .eyebrow,.search-page>.eyebrow{color:#e4632e}.site-search{display:flex;align-items:center;gap:8px;width:min(100%,500px);padding:6px;background:#fff;border:1px solid #e9e2d8;border-radius:16px;box-shadow:0 5px 20px #1720330d}.site-search input{height:42px;min-width:0;flex:1;border:0;outline:0;padding:0 12px;background:transparent;color:#172033;font:inherit}.site-search input:focus-visible{outline:2px solid #1550b8;border-radius:7px}.site-search .button{flex:none;min-height:40px;border-radius:11px}.search-page .site-search{margin:25px 0 30px}.search-results-title{font-size:25px;margin:30px 0 20px}.search-page .index-card h3{font-size:25px;margin:0 0 12px;line-height:1.2}.search-page .index-card h3 a{text-decoration:none}.search-tool-link{margin-top:36px;font-size:15px}.search-tool-link a{color:#1550b8;font-weight:700}.planner-cta .button{white-space:nowrap}.planner-cta p{font-size:12px;color:#555d66;margin:10px 0 0}.tool-page{padding:26px 0 90px}.tool-page .breadcrumbs{margin-bottom:38px}.tool-hero{display:flex;justify-content:space-between;align-items:center;gap:40px;margin:0 0 35px}.tool-hero>div:first-child{max-width:670px}.tool-hero .eyebrow{color:#e4632e}.tool-hero h1{font-family:'Fraunces','Fraunces Fallback',Georgia,serif;font-size:clamp(44px,5vw,67px);line-height:1.06;letter-spacing:-.045em;margin:12px 0 19px}.tool-hero p:not(.eyebrow){font-size:18px;line-height:1.6;color:#3e4a56;max-width:610px;margin:0}.tool-hero-note{flex:none;width:195px;height:195px;border-radius:50%;background:#edf5c6;display:grid;place-items:center;text-align:center;transform:rotate(-8deg);font:600 31px/1.05 'Caveat',cursive;color:#214262}.tool-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}.tool-form-card,.my-plan-card{border-radius:24px;padding:32px;min-height:430px}.tool-form-card{background:#e7f0ff}.my-plan-card{background:#f4e8ff}.tool-form-card h2,.my-plan-card h2,.app-promo h2,.reminder-card h2,.tool-explainer h2{font-family:'Fraunces','Fraunces Fallback',Georgia,serif;letter-spacing:-.04em;font-size:32px;line-height:1.12;margin:0 0 22px}.tool-form-card form{display:grid;gap:9px}.tool-form-card label,.my-plan-details label,.reminder-controls label{font-size:13px;font-weight:700;margin-top:7px}.tool-form-card select,.my-plan-details input,.reminder-controls input{width:100%;height:45px;border:1px solid #c9d6ea;border-radius:10px;background:#fff;color:#172033;padding:0 12px;font:inherit}.tool-form-card button{margin-top:16px}.my-plan-card .eyebrow{color:#7a45b2}.my-plan-empty{font-size:17px;line-height:1.6;color:#4b4a5c}.my-plan-details{display:grid;gap:12px}.my-plan-details[hidden]{display:none}.plan-sentence{font:600 24px/1.3 'Fraunces','Fraunces Fallback',Georgia,serif;margin:0 0 7px}.text-button{border:0;background:none;color:#1550b8;font-weight:700;text-decoration:underline;cursor:pointer;padding:6px 0;justify-self:start}.plan-fallback{background:#fffdf8;border-radius:15px;padding:15px 18px;margin:6px 0}.plan-fallback strong{font-size:13px}.plan-fallback p{margin:6px 0 0;font-size:15px;line-height:1.5}.plan-status{min-height:20px;margin:0;color:#344253;font-size:14px}.my-plan-details>.button{justify-self:start}.my-plan-details>.button:disabled{background:#8a9c82;cursor:default;transform:none;box-shadow:none}.plan-week{border-top:1px solid #ddcee9;margin-top:10px;padding-top:16px}.plan-week p{font-size:13px;font-weight:700;margin:0 0 12px}.week-dots{display:flex;gap:11px}.week-dot{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#65717f;font-size:11px;font-weight:700}.week-dot.done{background:#1550b8;color:#fff}.app-promo,.reminder-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px;border-radius:24px;padding:30px 34px;margin-top:28px}.app-promo{background:#fff0d5}.reminder-card{background:#edf5c6}.app-promo h2,.reminder-card h2{font-size:30px;margin-bottom:10px}.app-promo p:not(.eyebrow),.reminder-card p:not(.eyebrow){font-size:15px;line-height:1.5;margin:0;max-width:650px}.app-help{font-size:13px!important;margin-top:10px!important;max-width:270px!important}.reminder-controls{width:240px;display:grid;gap:9px}.reminder-controls .button{white-space:nowrap}.reminder-controls .text-button{font-size:13px}.reminder-controls p{font-size:13px!important}.tool-explainer{max-width:780px;margin:58px auto 0}.tool-explainer h2{font-size:34px}.tool-explainer p{font-size:17px;line-height:1.75;color:#3b4651}.tool-explainer a{color:#1550b8;text-underline-offset:3px}.tool-source{font-size:14px!important}.offline-page{min-height:60vh;padding:70px 0}.offline-page h1{font-family:'Fraunces','Fraunces Fallback',Georgia,serif;font-size:clamp(42px,6vw,64px);margin:10px 0}.offline-page p:not(.eyebrow){font-size:18px;max-width:600px;line-height:1.6}.offline-page .button{margin-top:14px}
@media(max-width:800px){.home-search{flex-direction:column;align-items:stretch;gap:16px}.home-search .site-search{width:100%}.tool-hero-note{display:none}.tool-layout{grid-template-columns:1fr}.tool-form-card,.my-plan-card{min-height:0}.app-promo,.reminder-card{grid-template-columns:1fr}.reminder-controls{width:100%}.planner-cta .button{width:100%}}
@media(max-width:520px){.home-search{padding:18px 0 28px}.home-search h2{font-size:24px}.site-search{padding:5px;gap:2px}.site-search input{font-size:14px;padding:0 8px}.site-search .button{padding:0 14px}.tool-page{padding-top:12px}.tool-page .breadcrumbs{margin-bottom:28px}.tool-hero h1{font-size:41px}.tool-hero p:not(.eyebrow){font-size:16px}.tool-form-card,.my-plan-card,.app-promo,.reminder-card{padding:25px 21px;border-radius:18px}.tool-form-card h2,.my-plan-card h2,.app-promo h2,.reminder-card h2{font-size:27px}.tool-explainer{margin-top:45px}.tool-explainer h2{font-size:29px}.tool-explainer p{font-size:16px}.week-dot{width:29px;height:29px}.week-dots{gap:7px}}
.installed-welcome[hidden],.app-promo[hidden]{display:none}.installed-welcome{display:flex;align-items:center;gap:18px;background:#e7f0ff;border-radius:24px;padding:22px 26px;margin:0 0 24px}.installed-welcome img{flex:none;border-radius:14px}.installed-welcome .eyebrow{color:#1550b8;margin:0 0 5px}.installed-welcome .installed-title{font:600 clamp(25px,4vw,36px)/1.12 'Fraunces','Fraunces Fallback',Georgia,serif;letter-spacing:-.04em;margin:0 0 5px}.installed-welcome p:last-child{margin:0;color:#3e4a56;line-height:1.4}.app-mode.has-plan .tool-page .breadcrumbs,.app-mode.has-plan .tool-hero{display:none}.app-mode.has-plan .tool-page{padding-top:18px}.app-mode.has-plan .tool-layout{display:flex;flex-direction:column}.app-mode.has-plan .tool-layout>section{width:100%}.app-mode.has-plan .my-plan-card{order:-1;min-height:0}.app-mode.has-plan .tool-form-card{min-height:0}.app-mode.has-plan .header-note{display:none}@media(max-width:520px){.installed-welcome{border-radius:18px;padding:17px;gap:13px;margin-bottom:16px}.installed-welcome img{width:44px;height:44px}.app-mode.has-plan .tool-page{padding-top:10px}}
.hero-art{-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 26%);mask-image:linear-gradient(to right,transparent 0%,#000 26%)}
@media(max-width:800px){.hero-art{left:0;right:auto;top:270px;width:100%;height:420px;object-position:72% center;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 19%);mask-image:linear-gradient(to bottom,transparent 0%,#000 19%)}}
@media(max-width:520px){.hero-art{top:280px;left:0;right:auto;width:100%;height:385px;object-position:73% center}}

/* Practical guide programs and editorial illustrations */
.guide-card.violet,.index-card.violet{background:#efe6fb}
.guide-card.yellow,.index-card.yellow{background:#fff0c9}
.guide-card.mint,.index-card.mint{background:#daf3e8}
.worksheet-promo{background:#f4e8ff}
.start-here{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:34px;padding:26px 30px;border-radius:20px;background:#edf5c6}
.start-here .eyebrow{color:#a4471e}
.start-here h2{font-size:28px;line-height:1.1;margin:0 0 8px}
.start-here p:not(.eyebrow){font-size:14px;line-height:1.5;margin:0;max-width:560px}
.start-here-actions{display:flex;align-items:center;gap:17px;flex-wrap:wrap;flex:none}
@media(max-width:800px){.start-here{display:block;padding:24px}.start-here-actions{margin-top:18px}}
@media(max-width:520px){.start-here{margin-bottom:23px;padding:23px 20px}.start-here h2{font-size:25px}.start-here-actions{display:grid;justify-items:start;gap:14px}.start-here-actions .button{width:100%}}
.article-cover{margin:38px 0 0;border-radius:24px;overflow:hidden;background:#f3eafd}
.article-cover img{width:100%;max-height:480px;object-fit:cover}
.article-cover figcaption{padding:11px 20px;color:#68717b;font-size:12px;text-align:right}
.guide-shortcuts{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 28px;padding:17px 20px;border:1px solid #e7e0d3;border-radius:16px;background:#fff}
.guide-answer{margin:0 0 23px;padding:22px 25px;border-left:4px solid #1550b8;border-radius:0 14px 14px 0;background:#eaf2ff}
.guide-answer h2{font-size:23px;margin:0 0 8px!important}
.guide-answer p{font-size:16px;line-height:1.65;margin:0;color:#344253}
.guide-shortcuts strong{width:100%;font-size:12px;text-transform:uppercase;letter-spacing:.11em}
.guide-shortcuts a{display:inline-block;padding:7px 11px;border-radius:30px;background:#edf3fd;color:#1550b8;font-size:13px;font-weight:700;text-decoration:none}
.guide-shortcuts a:hover{text-decoration:underline}
.guide-plans{margin:20px 0 52px}
.guide-plans-heading{text-align:center;max-width:690px;margin:0 auto 23px}
.guide-plans-heading .eyebrow{color:#e4632e}
.guide-plans-heading h2{font-size:clamp(34px,4vw,48px);line-height:1.08;margin:10px 0 13px}
.guide-plans-heading>p:last-child{font-size:17px;line-height:1.6;color:#46505c;margin:0}
.habit-loop{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 22px}
.habit-loop>div{position:relative;min-height:129px;padding:22px;border-radius:17px;background:#fff0d5}
.habit-loop>div:nth-child(2){background:#e3f0ff}.habit-loop>div:nth-child(3){background:#edf5c6}
.habit-loop span{display:block;color:#e4632e;font:700 12px 'DM Sans','DM Sans Fallback',sans-serif;letter-spacing:.12em;margin-bottom:8px}
.habit-loop strong{display:block;font:600 23px/1.05 'Fraunces','Fraunces Fallback',Georgia,serif}
.habit-loop p{font-size:13px;line-height:1.4;margin:8px 0 0}
.guide-plan{margin:16px 0;border:1px solid #e8e1d6;border-radius:20px;background:#fff;overflow:hidden}
.guide-plan[open]{box-shadow:0 12px 30px #1823400b}
.guide-plan>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 28px;cursor:pointer}
.guide-plan>summary::-webkit-details-marker{display:none}
.guide-plan>summary:focus-visible{outline:3px solid #f2783c;outline-offset:-4px}
.guide-plan>summary>span:first-child{display:grid;gap:6px}
.plan-kicker{font-size:11px;font-weight:800;letter-spacing:.14em;color:#e4632e}
.guide-plan>summary strong{font:600 30px/1.12 'Fraunces','Fraunces Fallback',Georgia,serif}
.plan-audience{font-size:14px;color:#4b5561}
.plan-expand{width:35px;height:35px;flex:none;display:grid;place-items:center;border-radius:50%;background:#e3f0ff;color:#1550b8;font-size:24px;line-height:1}
.guide-plan[open] .plan-expand{transform:rotate(45deg)}
.guide-plan-inner{padding:0 28px 28px}
.plan-backup{background:#f4e8ff;border-radius:12px;padding:15px 18px;font-size:14px;line-height:1.5;margin:0 0 22px}
.plan-days{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.plan-days li{display:grid;grid-template-columns:62px 1fr;gap:12px;align-items:start;padding:16px;border:1px solid #e9e3d9;border-radius:14px;background:#fffdf8}
.plan-day-number{font-size:10px;font-weight:800;letter-spacing:.07em;color:#1550b8;white-space:nowrap;padding-top:4px}
.plan-days h3{font:600 19px/1.2 'Fraunces','Fraunces Fallback',Georgia,serif;margin:0 0 5px}
.plan-days p{font-size:13px;line-height:1.48;color:#3b4651;margin:0}
.plan-days small{display:block;color:#747b82;font-size:11px;margin-top:8px}
.plan-download{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:20px;padding:22px;border-radius:15px;background:#e7f0ff}
.plan-download strong{font:600 24px 'Fraunces','Fraunces Fallback',Georgia,serif}
.plan-download p{font-size:13px;line-height:1.45;margin:7px 0 0}
.plan-download-links{display:flex;align-items:center;gap:15px;flex-wrap:wrap}
.plan-download-links .button{white-space:nowrap}
.home-blog{padding:38px 0 58px}
.home-blog-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}
.home-blog-heading .eyebrow{color:#e4632e}
.home-blog h2{font-size:clamp(32px,3.6vw,46px);margin:0}
.home-blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.home-blog-grid article{padding:27px;border-radius:18px;background:#f5f0e9}
.home-blog-grid article:nth-child(2){background:#f4e8ff}.home-blog-grid article:nth-child(3){background:#e3f0ff}
.home-blog-grid h3{font-size:25px;line-height:1.16;margin:9px 0 12px}
.home-blog-grid h3 a{text-decoration:none}.home-blog-grid h3 a:hover{text-decoration:underline}
.home-blog-grid article>p:not(.eyebrow){font-size:14px;line-height:1.55;color:#43505c}
.home-blog-grid article>a:last-child{color:#1550b8;font-size:14px;font-weight:700}
@media(min-width:1001px){.guide-grid{grid-template-columns:repeat(3,1fr)}.guide-card h3{font-size:23px}.guide-card>div{padding-inline:20px}}
@media(max-width:800px){.home-blog-grid{grid-template-columns:1fr 1fr}.habit-loop>div{padding:17px}.habit-loop strong{font-size:20px}.plan-days{grid-template-columns:1fr}}
@media(max-width:520px){.article-cover{margin-top:27px;border-radius:16px}.article-cover img{height:245px;object-fit:cover}.article-cover figcaption{font-size:11px}.guide-plans{margin-top:5px}.guide-plans-heading>p:last-child{font-size:15px}.habit-loop{gap:7px}.habit-loop>div{min-height:116px;padding:11px}.habit-loop strong{font-size:17px}.habit-loop p{font-size:11px}.guide-plan>summary{padding:18px}.guide-plan>summary strong{font-size:25px}.guide-plan-inner{padding:0 16px 16px}.plan-days li{grid-template-columns:55px 1fr;padding:12px}.plan-download{display:block;padding:18px}.plan-download-links{margin-top:15px}.plan-download-links .button{width:100%;white-space:normal;text-align:center}.home-blog{padding-top:28px}.home-blog-heading{display:block}.home-blog-heading .text-link{margin-top:12px}.home-blog-grid{grid-template-columns:1fr}.home-blog-grid article{padding:22px}}
.tools-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.tool-index-card{background:#e7f0ff;border-radius:23px;padding:27px;display:flex;flex-direction:column;min-height:310px}.tool-index-card:nth-child(2){background:#f4e8ff}.tool-index-card:nth-child(3){background:#fff0d5}.tool-index-number{font-size:12px;font-weight:700;color:#1550b8;letter-spacing:.12em}.tool-index-card h2,.tools-next h2{font:600 31px/1.1 'Fraunces','Fraunces Fallback',Georgia,serif;letter-spacing:-.04em;margin:17px 0 10px}.tool-index-card p{font-size:15px;line-height:1.6;margin:0 0 24px}.tool-index-card .button{margin-top:auto;align-self:start}.tools-next{max-width:740px;margin:56px auto 0}.tools-next p{font-size:17px;line-height:1.7}.tools-next a{color:#1550b8}.tracker-page{padding:28px 0 80px}.tracker-page .breadcrumbs{margin-bottom:40px}.tracker-heading{max-width:760px;margin-bottom:38px}.tracker-heading .eyebrow{color:#e4632e}.tracker-heading h1{font:600 clamp(45px,5vw,66px)/1.06 'Fraunces','Fraunces Fallback',Georgia,serif;letter-spacing:-.045em;margin:12px 0 19px}.tracker-heading>p:last-child{font-size:18px;line-height:1.65;color:#3e4a56}.tracker-editor{display:grid;grid-template-columns:260px 1fr;gap:30px;background:#e7f0ff;border-radius:24px;padding:28px;margin-bottom:28px}.tracker-editor h2,.tracker-sheet h2,.tracker-explainer h2{font:600 32px/1.12 'Fraunces','Fraunces Fallback',Georgia,serif;letter-spacing:-.04em;margin:0 0 12px}.tracker-editor p{font-size:15px;line-height:1.55;margin:0}.tracker-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;align-items:end}.tracker-fields label,.tracker-review label{display:grid;gap:8px;font-size:13px;font-weight:700}.tracker-fields input,.tracker-review textarea{width:100%;border:1px solid #c9d6ea;border-radius:10px;background:#fff;color:#172033;padding:11px 12px;font:inherit}.tracker-fields input{height:45px}.tracker-sheet{background:#fffaf0;border:1px solid #eadfc9;border-radius:24px;padding:28px}.tracker-sheet-heading{display:flex;justify-content:space-between;gap:25px;align-items:start;margin-bottom:22px}.tracker-sheet-heading .eyebrow{color:#e4632e}.tracker-sheet-heading h2{margin:0 0 8px}.tracker-sheet-heading p:last-child{margin:0;color:#53606b;font-size:15px}.tracker-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;max-width:470px}.tracker-actions .text-link{width:100%;justify-content:flex-end}.button-secondary{background:#fff;border:1px solid #1550b8;color:#1550b8}.tracker-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.tracker-day{min-height:100px;border:1px solid #e7dcc8;background:#fff;border-radius:13px;padding:11px;display:grid;grid-template-columns:1fr auto;align-content:start;column-gap:8px;cursor:pointer}.tracker-day>span{font-size:11px;font-weight:700;letter-spacing:.1em;color:#1550b8}.tracker-day small{grid-column:1;font-size:12px;color:#607080;margin-top:5px}.tracker-day input{grid-column:2;grid-row:1/3;width:20px;height:20px;accent-color:#1550b8;cursor:pointer}.tracker-day em{grid-column:1/-1;align-self:end;margin-top:16px;color:#566576;font-size:12px;font-style:normal}.tracker-review{max-width:670px;margin-top:25px}.tracker-review textarea{resize:vertical;min-height:84px}.tracker-explainer{max-width:760px;margin:50px auto 0}.tracker-explainer ol{padding-left:24px}.tracker-explainer li,.tracker-explainer p{font-size:17px;line-height:1.72;color:#3b4651;margin-bottom:13px}.tracker-explainer a{color:#1550b8;text-underline-offset:3px}
@media(max-width:950px){.tools-grid{grid-template-columns:1fr 1fr}.tracker-editor{grid-template-columns:1fr}.tracker-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.tracker-sheet-heading{display:block}.tracker-actions{justify-content:flex-start;margin-top:20px}.tracker-actions .text-link{justify-content:flex-start}.tracker-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:600px){.tools-grid{grid-template-columns:1fr}.tool-index-card{min-height:0}.tracker-page{padding-top:16px}.tracker-page .breadcrumbs{margin-bottom:29px}.tracker-heading h1{font-size:41px}.tracker-heading>p:last-child{font-size:16px}.tracker-editor,.tracker-sheet{padding:22px 18px;border-radius:18px}.tracker-fields{grid-template-columns:1fr}.tracker-sheet h2{font-size:27px}.tracker-actions .button{width:100%}.tracker-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.tracker-day{min-height:92px;padding:8px}.tracker-day input{width:18px;height:18px}.tracker-day em{margin-top:10px}.tracker-explainer li,.tracker-explainer p{font-size:16px}}
@media print{@page{size:letter portrait;margin:12mm}.site-header,.footer,.tracker-page .breadcrumbs,.tracker-editor,.tracker-actions,.tracker-explainer{display:none!important}.tracker-page{padding:0}.tracker-heading{margin-bottom:14px}.tracker-heading h1{font-size:25px;margin:0 0 8px}.tracker-heading>p:last-child{display:none}.tracker-sheet{border:0;padding:0;background:#fff}.tracker-sheet-heading h2{font-size:22px}.tracker-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.tracker-day{break-inside:avoid;min-height:88px}.tracker-day input{print-color-adjust:exact;-webkit-print-color-adjust:exact}.tracker-review textarea{border:1px solid #999;min-height:70px}}
.start-here-actions{max-width:485px;justify-content:flex-end}.article-end .article-end-extra{font:400 14px/1.5 'DM Sans','DM Sans Fallback',sans-serif;margin:15px 0 0}.article-end-extra a{color:#1550b8}
@media(max-width:800px){.start-here-actions{justify-content:flex-start}}

/* Tools: two clear jobs, with editable downloads as a separate format. */
.tools-page{padding:25px 0 86px}.tools-page .breadcrumbs{margin-bottom:47px}.tools-intro{max-width:810px;margin-bottom:31px}.tools-intro .eyebrow,.tools-library .eyebrow{color:#e4632e}.tools-intro h1{font:600 clamp(46px,5.4vw,72px)/1.03 'Fraunces','Fraunces Fallback',Georgia,serif;letter-spacing:-.05em;margin:11px 0 18px}.tools-intro>p:not(.eyebrow){font-size:18px;line-height:1.6;color:#3e4a56;max-width:700px;margin:0}.tools-jump{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.tools-jump a{display:inline-flex;align-items:center;gap:13px;padding:10px 15px;border:1px solid #dedfd9;border-radius:100px;color:#1550b8;font-size:13px;font-weight:700;text-decoration:none;background:#fff}.tools-jump a:hover,.tools-jump a:focus-visible{border-color:#1550b8;background:#eef4ff}.tools-journey{display:grid;gap:23px}.tools-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.86fr);gap:24px;align-items:stretch;min-height:365px;border-radius:27px;padding:37px;overflow:hidden}.tools-feature-plan{background:#e7f0ff}.tools-feature-track{background:#f4e8ff}.tools-feature-copy{display:flex;flex-direction:column;align-items:flex-start}.tools-feature-copy .eyebrow{color:#1550b8}.tools-feature-copy h2{font:600 clamp(32px,3.1vw,43px)/1.1 'Fraunces','Fraunces Fallback',Georgia,serif;letter-spacing:-.04em;max-width:500px;margin:7px 0 10px}.tools-feature-copy>p:not(.eyebrow){font-size:16px;line-height:1.55;max-width:520px;margin:0}.tools-feature-copy ul{padding-left:19px;margin:16px 0 22px;color:#3c4a58}.tools-feature-copy li{font-size:14px;line-height:1.65}.tools-feature-copy .button{margin-top:auto}.tools-feature-copy small{font-size:12px;color:#536575;margin-top:10px}.tools-feature-preview{position:relative;align-self:center;min-height:273px;display:flex;flex-direction:column;justify-content:center;border-radius:21px;padding:29px;box-shadow:0 16px 40px #15244917;transform:rotate(1.6deg)}.tools-plan-preview{background:#fffdf8}.tools-track-preview{background:#fbf9ff;transform:rotate(-1.5deg)}.tools-preview-label{font-size:10px;font-weight:800;letter-spacing:.14em;color:#d45c2b;margin-bottom:18px}.tools-preview-line{border-top:1px solid #eae5db;padding:10px 0;display:grid;grid-template-columns:130px 1fr;gap:8px;align-items:baseline}.tools-preview-line span{font-size:10px;font-weight:800;letter-spacing:.1em;color:#6a7580}.tools-preview-line strong{font:600 21px/1.25 'Fraunces','Fraunces Fallback',Georgia,serif;color:#172033}.tools-preview-sparkle{position:absolute;right:18px;top:13px;color:#e4632e;font-size:31px}.tools-preview-mini{border:1px solid #e2dbe9;border-radius:15px;padding:20px;background:#fff}.tools-preview-mini>strong{display:block;font:600 24px 'Fraunces','Fraunces Fallback',Georgia,serif}.tools-preview-mini>span{display:block;color:#697286;font-size:12px;margin-top:3px}.tools-preview-days{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin:18px 0}.tools-preview-days i{height:28px;display:grid;place-items:center;border:1px solid #dcd5e5;border-radius:7px;font:700 13px 'DM Sans','DM Sans Fallback',sans-serif;color:#1550b8}.tools-preview-days i:not(:empty){background:#e7f0ff;border-color:#bfd4ff}.tools-preview-mini em{font:500 19px 'Caveat',cursive;color:#7a45b2}.tools-library{margin-top:70px;scroll-margin-top:30px}.tools-library-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:22px}.tools-library-heading>div{max-width:660px}.tools-library h2,.tools-help h2{font:600 clamp(34px,4vw,47px)/1.1 'Fraunces','Fraunces Fallback',Georgia,serif;letter-spacing:-.04em;margin:6px 0 11px}.tools-library-heading p:last-child{font-size:16px;line-height:1.6;color:#4e5863;margin:0}.tools-library-heading .text-link{white-space:nowrap;color:#1550b8;font-weight:700;padding-bottom:5px}.template-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.template-row{display:flex;justify-content:space-between;gap:20px;padding:23px;border:1px solid #eae1d4;border-radius:17px;background:#fffdf8}.template-topic{font-size:11px;font-weight:800;color:#d45c2b;text-transform:uppercase;letter-spacing:.12em}.template-row h3{font:600 23px/1.2 'Fraunces','Fraunces Fallback',Georgia,serif;letter-spacing:-.025em;margin:8px 0}.template-row p{font-size:13px;line-height:1.5;color:#59636d;margin:0}.template-row-action{display:flex;min-width:105px;align-items:flex-end;justify-content:space-between;flex-direction:column;text-align:right;gap:12px}.template-row-action span:first-child{font-size:12px;color:#64707c}.template-row-action a,.tools-help a{color:#1550b8;font-size:14px;font-weight:800;text-decoration:none;white-space:nowrap}.template-row-action a:hover,.tools-help a:hover{text-decoration:underline}.tools-help{display:flex;align-items:center;justify-content:space-between;gap:27px;background:#edf5c6;border-radius:22px;padding:26px 31px;margin-top:28px}.tools-help h2{font-size:29px;flex:none;margin:0}.tools-help p{font-size:14px;line-height:1.5;max-width:540px;margin:0}.tools-help a{flex:none}

/* The planner exposes meaningful customization before saving. */
.tool-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin:0 0 24px}.tool-steps>div{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;align-items:center;border:1px solid #e8e1d6;border-radius:14px;padding:15px;background:#fffdf8}.tool-steps span{grid-row:1/3;font:700 12px 'DM Sans','DM Sans Fallback',sans-serif;color:#e4632e}.tool-steps strong{font-size:14px}.tool-steps small{font-size:12px;color:#5e6975}.tool-form-card .eyebrow{color:#1550b8;margin-bottom:9px}.tool-form-card .form-intro{font-size:14px;line-height:1.5;color:#435366;margin:-10px 0 19px}.tool-form-card form{gap:17px}.plan-field-group{display:grid;gap:8px;padding-bottom:17px;border-bottom:1px solid #cadbf4}.plan-field-group:last-of-type{border:0;padding-bottom:0}.tool-form-card .plan-field-group label{margin:0;font-size:14px}.tool-form-card .plan-field-group input{width:100%;height:46px;padding:0 12px;border:1px solid #c9d6ea;border-radius:10px;background:#fff;color:#172033;font:inherit}.tool-form-card .plan-field-group>small{font-size:12px;color:#56687a}.tool-form-card .plan-reveal{display:grid;gap:7px;margin-top:5px}.tool-form-card .plan-reveal[hidden]{display:none}.tool-form-card :is(input,select):focus-visible{outline:3px solid #f7a87c;outline-offset:2px}.plan-save-note{font-size:12px;line-height:1.4;color:#4d5d6f;margin:-8px 0 0}.my-plan-empty>p{margin:0 0 21px}.plan-live-preview{display:grid;gap:7px;background:#fffdf8;border-radius:16px;padding:20px;box-shadow:0 7px 24px #43335b0b}.plan-live-preview span{font-size:10px;font-weight:800;letter-spacing:.12em;color:#7a45b2}.plan-live-preview strong{font:600 21px/1.25 'Fraunces','Fraunces Fallback',Georgia,serif;margin-bottom:8px}.plan-edit-tip{font-size:13px;line-height:1.5;color:#584b66;margin:0}
@media(max-width:950px){.tools-feature{grid-template-columns:1fr 1fr;padding:26px}.tools-preview-line{grid-template-columns:95px 1fr}.tools-preview-line strong{font-size:17px}.tools-help{display:block}.tools-help p{margin:10px 0}.template-row{display:block}.template-row-action{flex-direction:row;align-items:center;text-align:left;margin-top:13px}}
@media(max-width:700px){.tools-page{padding-top:16px}.tools-page .breadcrumbs{margin-bottom:28px}.tools-intro h1{font-size:42px}.tools-intro>p:not(.eyebrow){font-size:16px}.tools-feature{grid-template-columns:1fr;padding:23px;gap:20px}.tools-feature-copy h2{font-size:34px}.tools-feature-preview{width:100%;min-height:0;transform:none;padding:22px}.tools-library{margin-top:50px}.tools-library-heading{display:block}.tools-library-heading .text-link{display:inline-block;margin-top:16px;white-space:normal}.template-list{grid-template-columns:1fr}.tool-steps{grid-template-columns:1fr;gap:7px}.tool-steps>div{padding:11px 14px}.tools-help{padding:23px}.tools-help h2{font-size:26px}}
.tools-more{margin-top:68px}.tools-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.tools-mini-grid article{padding:24px;border-radius:18px;background:#fff0d5;border:1px solid #f0ddbd;min-height:210px;display:flex;flex-direction:column}.tools-mini-grid article:nth-child(2){background:#efe6fb;border-color:#e1d1f3}.tools-mini-grid article:nth-child(3){background:#daf3e8;border-color:#c7e5d7}.tools-mini-grid h3{font:600 27px/1.12 'Fraunces','Fraunces Fallback',Georgia,serif;letter-spacing:-.03em;margin:12px 0 9px}.tools-mini-grid p{font-size:15px;line-height:1.5;margin:0 0 18px}.tools-mini-grid .text-link{margin-top:auto;color:#1550b8;font-weight:800;text-decoration:none}.simple-tool-page{padding:27px 0 90px}.simple-tool-page .breadcrumbs{margin-bottom:45px}.simple-tool-heading{max-width:780px;margin-bottom:30px}.simple-tool-heading .eyebrow{color:#e4632e}.simple-tool-heading h1{font:600 clamp(44px,5vw,68px)/1.05 'Fraunces','Fraunces Fallback',Georgia,serif;letter-spacing:-.05em;margin:10px 0 17px}.simple-tool-heading>p:last-child{font-size:19px;line-height:1.6;color:#3e4a56}.simple-tool-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:22px;align-items:start}.simple-tool-card,.simple-tool-result{border-radius:24px;padding:30px}.simple-tool-card{background:#e7f0ff}.simple-tool-result{background:#f4e8ff;min-height:365px}.simple-tool-card h2,.simple-tool-result h2,.simple-tool-explainer h2{font:600 32px/1.12 'Fraunces','Fraunces Fallback',Georgia,serif;letter-spacing:-.04em;margin:4px 0 22px}.simple-tool-card form{display:grid;gap:14px}.simple-tool-card label{display:grid;gap:7px;font-size:13px;font-weight:800}.simple-tool-card input,.simple-tool-card select{height:46px;border:1px solid #c9d6ea;border-radius:10px;background:#fff;padding:0 12px;color:#172033;font:inherit;width:100%}.simple-tool-card .button{margin-top:7px}.tool-form-note{font-size:12px;color:#526170;line-height:1.5;margin:17px 0 0}.simple-tool-result .eyebrow{color:#7a45b2}.simple-tool-result p,.simple-tool-result li{font-size:17px;line-height:1.6;color:#394453}.simple-tool-result [data-result-body]{min-height:130px}.simple-tool-result [data-result-body] p{margin:0 0 17px}.simple-tool-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px}.simple-tool-explainer{max-width:760px;margin:54px auto 0}.simple-tool-explainer p{font-size:17px;line-height:1.75;color:#3b4651}.simple-tool-explainer a{color:#1550b8;text-underline-offset:3px}@media(max-width:700px){.tools-mini-grid{grid-template-columns:1fr}.simple-tool-page{padding-top:16px}.simple-tool-page .breadcrumbs{margin-bottom:28px}.simple-tool-heading h1{font-size:43px}.simple-tool-heading>p:last-child{font-size:16px}.simple-tool-layout{grid-template-columns:1fr}.simple-tool-card,.simple-tool-result{padding:22px 18px;border-radius:18px}.simple-tool-card h2,.simple-tool-result h2{font-size:28px}.simple-tool-result{min-height:300px}.simple-tool-actions .button{width:100%}}@media print{body>*:not(main),.simple-tool-card,.simple-tool-heading .eyebrow,.simple-tool-actions,.simple-tool-explainer{display:none!important}.simple-tool-page{padding:0}.simple-tool-result{background:#fff;padding:0;min-height:0}.simple-tool-result .eyebrow{display:block;color:#000}.simple-tool-result h2{font-size:28px}}
.plan-time-choice{display:grid;gap:8px}.plan-time-choice[hidden]{display:none}.plan-time-choice small{font-size:12px;color:#56687a}

/* Habit plans now explain motivation, friction, cadence, and the first week. */
.plan-depth-fields .plan-field-heading{font:600 24px/1.18 'Fraunces','Fraunces Fallback',Georgia,serif;letter-spacing:-.03em;margin:0}.plan-depth-fields .plan-field-help{font-size:13px;line-height:1.5;color:#4e6071;margin:0 0 5px}.tool-form-card .plan-depth-fields textarea{width:100%;min-height:68px;padding:12px;border:1px solid #c9d6ea;border-radius:10px;background:#fff;color:#172033;font:inherit;resize:vertical}.tool-form-card .plan-depth-fields textarea:focus-visible{outline:3px solid #f7a87c;outline-offset:2px}.plan-reasoning{border-top:1px solid #ddcee9;padding-top:20px;margin-top:7px;display:grid;gap:20px}.plan-reasoning h3{font:600 22px/1.18 'Fraunces','Fraunces Fallback',Georgia,serif;letter-spacing:-.025em;margin:0 0 7px}.plan-reasoning p{font-size:14px;line-height:1.6;color:#39475b;margin:0}.plan-reasoning ol{list-style:none;padding:0;margin:0;display:grid;gap:9px}.plan-reasoning li{display:grid;gap:5px;background:#fffdf8;border-radius:12px;padding:13px 15px}.plan-reasoning li strong{font-size:12px;color:#1550b8}.plan-reasoning li span{font-size:13px;line-height:1.5;color:#3d4752}.ai-plan-card{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:30px;background:#edf5c6;border-radius:24px;padding:31px 34px;margin-top:28px;align-items:start}.ai-plan-card .eyebrow{color:#a4471e}.ai-plan-card h2{font:600 34px/1.14 'Fraunces','Fraunces Fallback',Georgia,serif;letter-spacing:-.04em;margin:8px 0 13px}.ai-plan-card p{font-size:15px;line-height:1.56;color:#3e4a45}.ai-privacy-note{font-size:12px!important;color:#4d6053!important}.ai-plan-card button{margin-top:9px}.ai-plan-card button:disabled{opacity:.6;cursor:wait}.ai-plan-card [data-ai-status]{font-size:13px;font-weight:700;min-height:21px}.ai-plan-result{background:#fffdf8;border-radius:17px;padding:23px}.ai-plan-result[hidden]{display:none}.ai-plan-result h3{font:600 26px 'Fraunces','Fraunces Fallback',Georgia,serif;margin:0 0 13px}.ai-plan-result>p{margin:0 0 12px}.ai-obstacle{background:#f4e8ff;border-radius:12px;padding:15px;margin:17px 0}.ai-obstacle strong{font-size:13px}.ai-obstacle p{margin:8px 0 0;font-size:13px}.ai-plan-result ol{list-style:none;padding:0;display:grid;gap:8px}.ai-plan-result li{display:grid;gap:6px;border-top:1px solid #eae2d7;padding:13px 0}.ai-plan-result li strong{font:600 18px 'Fraunces','Fraunces Fallback',Georgia,serif}.ai-plan-result li p,.ai-plan-result li small,.ai-plan-result li em{font-size:13px;line-height:1.5;margin:0;color:#3b4753}.ai-plan-result li em{color:#6e5677}.ai-plan-result li small{color:#1550b8}
@media(max-width:800px){.ai-plan-card{grid-template-columns:1fr}}
@media(max-width:520px){.ai-plan-card{padding:23px 20px;border-radius:18px}.ai-plan-card h2{font-size:29px}.plan-reasoning li{padding:12px}}
.simple-tool-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:26px}.simple-tool-steps>div{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;padding:13px 14px;border:1px solid #e5ddd3;border-radius:13px;background:#fffdf8}.simple-tool-steps span{grid-row:1/3;color:#e4632e;font-size:11px;font-weight:800}.simple-tool-steps strong{font-size:13px}.simple-tool-steps small{font-size:11px;color:#617080}.simple-tool-intro{font-size:14px;line-height:1.55;color:#4b5a68;margin:-10px 0 19px}.field-help{font-size:12px!important;line-height:1.45;color:#5b6b7b;font-weight:400}.simple-tool-card select:invalid{color:#647383}.simple-tool-actions[hidden]{display:none}@media(max-width:700px){.simple-tool-steps{grid-template-columns:1fr;gap:7px}.simple-tool-steps>div{padding:10px 13px}}

.direct-answer{margin:0 0 28px;padding:22px 24px;border-radius:18px;background:#e7f0ff;border-left:5px solid #1550b8}.direct-answer h2{margin:0 0 8px;font:700 13px/1.2 'DM Sans','DM Sans Fallback',sans-serif;letter-spacing:1.6px;text-transform:uppercase;color:#1550b8}.direct-answer p{margin:0;font-size:19px;line-height:1.6}
.key-takeaways{margin:0 0 28px;padding:20px 24px;border:1px solid #eee4d5;border-radius:18px;background:#fff}.key-takeaways h2,.faq-list>h2,.source-list>h2{font-family:'Fraunces','Fraunces Fallback',Georgia,serif;font-size:24px;margin:0 0 12px}.key-takeaways ul{margin:0;padding-left:20px;line-height:1.7}
.faq-list{margin:44px 0}.faq-item{padding:18px 0;border-top:1px solid #eee4d5}.faq-item h3{margin:0 0 6px;font-size:18px}.faq-item p{margin:0;line-height:1.7}
.source-list{margin:44px 0;font-size:15px;line-height:1.7}.source-list a{color:#1550b8}.source-reviewed{color:#5b6475;font-size:14px}
.index-section-title{font-family:'Fraunces','Fraunces Fallback',Georgia,serif;font-size:30px;margin:48px 0 18px}

.site-header{grid-template-columns:auto 1fr}.nav{justify-self:end;gap:30px}.nav-build{min-height:42px;padding:0 18px;color:#fff!important}.nav-search{display:inline-flex;align-items:center}.nav-search span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.nav-topics{position:relative}.nav-topics summary{list-style:none;cursor:pointer;font-size:14px;font-weight:600}.nav-topics summary::-webkit-details-marker{display:none}.nav-topics summary::after{content:" ▾"}
.nav-topics-panel{position:absolute;top:34px;left:-18px;z-index:20;display:grid;grid-template-columns:repeat(2,minmax(190px,1fr));gap:4px 18px;padding:18px;background:#fffdf8;border:1px solid #eee4d5;border-radius:16px;box-shadow:0 18px 30px #17203322}.nav-topics-panel a{padding:7px 0}
.footer-inner{display:grid;grid-template-columns:1.2fr 2fr 1fr;gap:32px;align-items:start}.footer-topics{display:grid!important;grid-template-columns:repeat(2,1fr);gap:8px 24px!important}.footer-links{display:flex!important;flex-direction:column;align-items:flex-start!important;gap:8px!important}.footer-topics h2,.footer-links h2{grid-column:1/-1;margin:0 0 6px;font:700 12px/1 'DM Sans','DM Sans Fallback',sans-serif;letter-spacing:1.6px;text-transform:uppercase;color:#ee5d2b}
@media(max-width:800px){.nav{justify-self:stretch}.menu-toggle{justify-self:end}.nav-topics-panel{position:static;box-shadow:none;border:0;padding:8px 0 0 12px;grid-template-columns:1fr}.nav-search span{position:static;width:auto;height:auto;clip:auto;margin-left:8px}.nav-build{width:100%}.footer-inner{grid-template-columns:1fr}}

.topic-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center;padding:36px;border-radius:28px;background:#f4efe6;margin:14px 0 36px}.topic-hero>img{border-radius:20px;width:100%;height:100%;object-fit:cover;max-height:320px}.topic-hero h1{font:700 clamp(40px,6vw,64px)/1.02 'Fraunces','Fraunces Fallback',Georgia,serif;margin:8px 0 14px;letter-spacing:-1.5px}.topic-description{font-size:18px;line-height:1.6;margin:0 0 22px}
.topic-body{max-width:760px}.topic-intro{font-size:18px;line-height:1.7}.topic-group{margin:40px 0}.topic-group h2{font:700 28px/1.2 'Fraunces','Fraunces Fallback',Georgia,serif;margin:0 0 14px}.topic-links,.topic-tools{list-style:none;margin:0;padding:0}.topic-links li{padding:16px 0;border-top:1px solid #eee4d5}.topic-links a,.topic-tools a{font-weight:700;color:#1550b8;text-decoration:none;font-size:18px}.topic-links p{margin:6px 0 0;line-height:1.6;color:#3b4456}.topic-tools li{padding:8px 0}
@media(max-width:800px){.topic-hero{grid-template-columns:1fr;padding:22px}.topic-hero>img{order:-1;max-height:200px}}

.home-hero h1{font-size:clamp(44px,6.4vw,78px)}.topic-chips{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 26px;max-width:620px}.topic-chip{padding:9px 14px;border:1px solid #d8cfc0;border-radius:999px;background:#fffdf8;text-decoration:none;font-size:14px;font-weight:600}.topic-chip:hover{border-color:#1550b8;color:#1550b8}
.how-it-works{margin:70px auto}.how-it-works h2,.home-answers h2{font:700 clamp(30px,4vw,44px)/1.1 'Fraunces','Fraunces Fallback',Georgia,serif;margin:6px 0 26px}.how-steps{list-style:none;counter-reset:step;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:0;margin:0}.how-steps li{counter-increment:step;padding:24px;border:1px solid #eee4d5;border-radius:20px;background:#fff}.how-steps li::before{content:"0" counter(step);display:block;color:#ee5d2b;font-weight:700;margin-bottom:10px}.how-steps p{margin:6px 0 0;line-height:1.6}
.home-answers{margin:70px auto;max-width:860px}
@media(max-width:800px){.how-steps{grid-template-columns:1fr}}

.home-tools{display:grid;grid-template-columns:1fr 1.4fr;gap:24px;align-items:center;margin:0 auto 70px;padding:28px 32px;border-radius:24px;background:#f4efe6}.home-tools h2{font:700 30px/1.15 'Fraunces','Fraunces Fallback',Georgia,serif;margin:6px 0 0}.home-tool-links{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}.home-tool-links a{display:inline-block;padding:10px 14px;border-radius:12px;background:#fff;color:#1550b8;font-weight:700;text-decoration:none;font-size:15px}
@media(max-width:800px){.home-tools{grid-template-columns:1fr;padding:22px}}
.topic-chips-label{margin:26px 0 0;font-size:13px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:#5b6475}.topic-chips-label+.topic-chips{margin-top:10px}
@media(max-width:800px){.home-hero{display:flex;flex-direction:column;min-height:0;height:auto}.home-hero .hero-art{position:static;order:2;width:100%;height:260px;margin-top:28px;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 25%);mask-image:linear-gradient(to bottom,transparent 0%,#000 25%)}.home-hero .hero-content{padding-top:40px}}
@media(min-width:801px){.home-hero{height:auto;min-height:640px;padding-bottom:60px}.home-hero .hero-content{max-width:620px;margin-left:max(32px,calc((100% - 1180px)/2))}}
@media(min-width:801px){.home-hero .hero-content{max-width:min(560px,46%)}.home-hero .hero-art{top:0;right:0;width:52%;height:100%;object-position:62% center;-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 18%);mask-image:linear-gradient(to right,transparent 0%,#000 18%)}.home-hero h1{font-size:clamp(44px,5.2vw,74px)}}
.article-body .direct-answer,.topic-body .direct-answer{padding:22px 24px}.article-body .key-takeaways{padding:20px 24px}
@media(max-width:520px){.direct-answer p{font-size:17px}.article-body .direct-answer,.topic-body .direct-answer{padding:18px 18px 18px 20px}}
.plan-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}.plan-card{padding:24px;border-radius:22px;background:#f4efe6}.plan-card h3{font:700 24px/1.2 'Fraunces','Fraunces Fallback',Georgia,serif;margin:8px 0}.plan-card h3 a{text-decoration:none}.plan-card p{line-height:1.6}.plan-group .index-section-title a{text-decoration:none}
.plan-personalize{display:flex;gap:18px;align-items:center;justify-content:space-between;margin:0 0 28px;padding:20px 22px;border-radius:18px;background:#fff3e8;border:1px solid #f6d5bd}.plan-personalize p{margin:4px 0 0;line-height:1.55}.plan-personalize .button{flex:none}
.plan-phase{margin:44px 0}.plan-phase h2{font:700 30px/1.15 'Fraunces','Fraunces Fallback',Georgia,serif;margin:0 0 8px}.plan-phase-note{font-size:17px;line-height:1.6;color:#3b4456}.plan-day-list{list-style:none;margin:18px 0 0;padding:0}.plan-day-list li{padding:18px 0;border-top:1px solid #eee4d5}.plan-day-list li.is-review{background:#f4f8ff;padding:18px;border-radius:14px;border-top:0;margin:8px 0}.plan-day-list h3{margin:4px 0 6px;font-size:19px}.plan-day-list p{margin:4px 0;line-height:1.6}.plan-day-small{color:#3b4456;font-size:15px}.plan-day-why{color:#5b6475;font-size:14px;font-style:italic}
@media(max-width:700px){.plan-personalize{flex-direction:column;align-items:stretch}}
.build-page{padding-bottom:40px}.build-hero{max-width:720px;margin:10px 0 26px}.build-hero h1{font:700 clamp(38px,5.4vw,64px)/1.04 'Fraunces','Fraunces Fallback',Georgia,serif;letter-spacing:-1.5px;margin:8px 0 14px}.build-hero p:not(.eyebrow){font-size:18px;line-height:1.6;margin:0}
.build-form{max-width:760px;padding:28px;border-radius:26px;background:#fff;border:1px solid #eee4d5;box-shadow:0 14px 34px #17203312}.build-progress{height:6px;border-radius:99px;background:#eef1f7;overflow:hidden;margin-bottom:10px}.build-progress span{display:block;height:100%;width:0;background:#1550b8;transition:width .25s}.build-step-count{margin:0 0 14px;font-size:13px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:#5b6475}
.build-step{border:0;margin:0 0 22px;padding:0;min-width:0}.build-step legend{font:700 clamp(24px,3.4vw,32px)/1.2 'Fraunces','Fraunces Fallback',Georgia,serif;margin:0 0 8px;padding:0}.build-help{margin:0 0 16px;color:#3b4456;line-height:1.55}
.choice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}.choice-row{display:flex;flex-wrap:wrap;gap:10px}.choice{position:relative;display:block;cursor:pointer}.choice input{position:absolute;opacity:0;inset:0;cursor:pointer}.choice span{display:flex;align-items:center;min-height:52px;padding:12px 16px;border:1.5px solid #ddd3c4;border-radius:14px;background:#fffdf8;font-weight:600;line-height:1.3;transition:border-color .15s,background .15s}.choice input:checked+span{border-color:#1550b8;background:#e7f0ff;color:#12367f;box-shadow:inset 0 0 0 1px #1550b8}.choice input:focus-visible+span{outline:3px solid #f2783c;outline-offset:2px}.choice-row .choice span{min-width:88px;justify-content:center}
.build-field{display:grid;gap:8px;margin-top:18px;font-weight:600}.build-field input,.build-field textarea{font:inherit;font-weight:400;padding:13px 14px;border:1.5px solid #ddd3c4;border-radius:12px;background:#fffdf8;width:100%}.build-field input:focus,.build-field textarea:focus{border-color:#1550b8;outline:none}.optional{font-weight:400;color:#5b6475}
.build-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:8px}.build-nav .button{margin-left:auto}.build-privacy{margin:18px 0 0;font-size:13px;line-height:1.55;color:#5b6475}.build-error{padding:12px 14px;border-radius:12px;background:#fff0ec;color:#9c2d12;font-weight:600}
.text-button{border:0;background:none;color:#1550b8;font-weight:700;padding:10px 4px;cursor:pointer}
.built-plan{max-width:820px;position:static;background:none;box-shadow:none;padding:0;display:block;font-size:inherit;color:inherit}.plan-result-head h2{font:700 clamp(32px,4.6vw,52px)/1.08 'Fraunces','Fraunces Fallback',Georgia,serif;margin:8px 0 10px;letter-spacing:-1px}.plan-result-rule{font-size:20px;font-weight:600;color:#12367f;margin:0 0 8px}.plan-result-why{font-style:italic;color:#3b4456}.plan-result-status{font-size:14px;color:#5b6475;margin:10px 0}
.plan-result-obstacle,.plan-result-coach{margin:18px 0;padding:18px 20px;border-radius:16px;background:#fff3e8;border:1px solid #f6d5bd}.plan-result-coach{background:#e7f0ff;border-color:#c7d8fb}.plan-result-obstacle p,.plan-result-coach p{margin:6px 0 0;line-height:1.6}
.plan-result-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:22px 0}.plan-result-phase{margin:26px 0;border-top:1px solid #eee4d5;padding-top:18px}.plan-result-phase-title{font:700 24px/1.2 'Fraunces','Fraunces Fallback',Georgia,serif;margin:0 0 6px;cursor:pointer}details.plan-result-phase>summary{list-style:none}details.plan-result-phase>summary::after{content:" +";color:#1550b8}details[open].plan-result-phase>summary::after{content:" –"}
.plan-day-list li.is-rest{opacity:.8}.plan-day-tip{margin-top:8px!important;padding:10px 12px;border-radius:10px;background:#f6f9e8;font-size:14px}
.build-explainer{max-width:760px;margin:70px 0 0}.build-explainer h2{font:700 30px/1.2 'Fraunces','Fraunces Fallback',Georgia,serif;margin:40px 0 14px}.build-explainer p{line-height:1.7}.build-phases{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0}.build-phases div{padding:16px;border-radius:16px;background:#f4efe6}.build-phases span{display:block;font-size:12px;font-weight:700;color:#ee5d2b;letter-spacing:1px;text-transform:uppercase}.build-phases strong{display:block;font:700 20px 'Fraunces','Fraunces Fallback',Georgia,serif;margin:4px 0}.build-phases p{margin:0;font-size:14px;line-height:1.5}
@media(max-width:700px){.build-form{padding:20px;border-radius:20px}.choice-grid{grid-template-columns:1fr}.build-phases{grid-template-columns:1fr 1fr}.plan-result-rule{font-size:18px}}
@media(max-width:700px){.build-step[data-step=topic] .choice-grid{grid-template-columns:1fr 1fr;gap:8px}.build-step[data-step=topic] .choice span{min-height:48px;padding:10px 12px;font-size:14px}}
.built-plan h2[tabindex="-1"]:focus{outline:none}
.app-page{max-width:720px;padding:8px 0 60px}.app-page section,.app-top{margin-bottom:22px}.app-top h2{font:700 clamp(30px,5vw,44px)/1.08 'Fraunces','Fraunces Fallback',Georgia,serif;margin:6px 0 6px;letter-spacing:-1px}.app-rule{margin:0;font-weight:600;color:#12367f}
.app-banner{padding:12px 16px;border-radius:14px;background:#f6f9e8;border:1px solid #dfe8b8;font-weight:600;line-height:1.5}
.app-today{padding:24px;border-radius:24px;background:#fff;border:1px solid #eee4d5;box-shadow:0 14px 34px #17203314}.app-day-label{margin:0;font-size:13px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:#ee5d2b}.app-today h3{font:700 28px/1.15 'Fraunces','Fraunces Fallback',Georgia,serif;margin:6px 0 10px}.app-action{font-size:19px;line-height:1.55;margin:0 0 12px}.app-small{padding:12px 14px;border-radius:12px;background:#fff3e8;line-height:1.5}.app-why{color:#5b6475;font-size:15px;font-style:italic;line-height:1.5}
.app-checkin{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.app-checkin .app-done{grid-column:1/-1;min-height:58px;font-size:18px}.app-checkin .text-button,.app-checkin .button-secondary{grid-column:1/-1}.button-secondary{background:#e7f0ff;color:#12367f;border:0}.app-checked{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:18px;padding:16px;border-radius:14px;background:#e9f6ec}.app-checked-text{margin:0;font-weight:700;color:#1f5130;flex:1 1 100%}
.app-review{padding:22px;border-radius:22px;background:#e7f0ff}.app-review h3{font:700 24px 'Fraunces','Fraunces Fallback',Georgia,serif;margin:4px 0 8px}.app-review-q{font-weight:700;margin:14px 0 8px}.app-review-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px}.choice-button{min-height:48px;padding:10px 12px;border-radius:12px;border:1.5px solid #c7d8fb;background:#fff;font-weight:600;color:#12367f;cursor:pointer}.choice-button:hover{border-color:#1550b8}
.app-section-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.app-section-head h3,.app-next h3,.app-install h3,.app-reminder h3,.app-data h3,.app-empty h3{font:700 22px 'Fraunces','Fraunces Fallback',Georgia,serif;margin:0 0 8px}.app-section-head p{margin:0;color:#5b6475;font-size:14px}
.app-grid{list-style:none;display:grid;grid-template-columns:repeat(10,1fr);gap:6px;padding:0;margin:12px 0}.app-grid li{aspect-ratio:1;display:grid;place-items:center;border-radius:10px;font-size:13px;font-weight:700;background:#f1ece3;color:#5b6475}.app-grid .s-done{background:#1550b8;color:#fff}.app-grid .s-small{background:#8fb1ef;color:#0e2c66}.app-grid .s-skip{background:#f6d5bd;color:#7a3a14}.app-grid .s-rest,.app-grid .s-rest-upcoming{background:#fff;border:1px dashed #d8cfc0}.app-grid .s-missed{background:#f1ece3;color:#9a9181}.app-grid .is-today{outline:3px solid #ee5d2b;outline-offset:2px}.app-grid .is-review{box-shadow:inset 0 -3px 0 #ee5d2b}
.app-legend{list-style:none;display:flex;flex-wrap:wrap;gap:14px;padding:0;margin:0;font-size:13px;color:#5b6475}.app-legend i{display:inline-block;width:12px;height:12px;border-radius:4px;margin-right:6px;vertical-align:-1px}.app-legend .s-done{background:#1550b8}.app-legend .s-small{background:#8fb1ef}.app-legend .s-skip{background:#f6d5bd}.app-legend .s-rest{border:1px dashed #b9ae9c}
.app-full summary{cursor:pointer;font-weight:700;color:#1550b8;margin-top:12px}
.app-install,.app-reminder,.app-data,.app-empty .app-transfer-in{padding:20px;border-radius:20px;background:#f4efe6}.install-steps{padding-left:22px;margin:12px 0;line-height:1.5}.install-steps li{margin:0 0 12px}.install-steps strong{display:block}.install-steps span{display:block;color:#3b4456;font-size:15px}.install-steps .button{margin-top:8px}
.app-reminder-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.app-reminder-row input{font:inherit;padding:10px 12px;border:1.5px solid #ddd3c4;border-radius:12px;background:#fff}.app-status{font-size:14px;color:#3b4456;margin:10px 0 0}.app-data-actions{display:flex;flex-wrap:wrap;gap:8px 18px}.app-code{width:100%;font:12px/1.4 monospace;margin-top:8px}
.app-empty{padding:30px 0}.app-empty h2{font:700 clamp(32px,5vw,48px)/1.1 'Fraunces','Fraunces Fallback',Georgia,serif;margin:6px 0 10px}.app-empty .app-transfer-in{margin-top:34px}
body:has(.app-page) .site-header{margin-bottom:4px}
@media(max-width:520px){.app-today{padding:18px;border-radius:20px}.app-today h3{font-size:24px}.app-action{font-size:17px}.app-grid{grid-template-columns:repeat(6,1fr)}.app-review-choices{grid-template-columns:1fr}}
@media (display-mode: standalone){.footer{display:none}.site-header .nav-build{display:none}}
.install-guide{list-style:none;padding:0;margin:18px 0 30px}.install-guide li{display:flex;gap:16px;align-items:flex-start;padding:16px 0;border-top:1px solid #eee4d5}.install-visual{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#e7f0ff;color:#1550b8;font-weight:700;font-size:20px}.install-guide p{margin:4px 0 0}
.tool-shell{padding-bottom:50px}.tool-head{max-width:780px;margin:10px 0 24px}.tool-head h1{font:700 clamp(36px,5.2vw,60px)/1.05 'Fraunces','Fraunces Fallback',Georgia,serif;letter-spacing:-1.4px;margin:8px 0 12px}.tool-lede{font-size:18px;line-height:1.6;margin:0}
.tool-app{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:22px;align-items:start;margin-bottom:50px}.tool-form,.tool-output{padding:24px;border-radius:24px;background:#fff;border:1px solid #eee4d5;box-shadow:0 14px 34px #17203312}.tool-form h2,.tool-output h2{font:700 26px/1.2 'Fraunces','Fraunces Fallback',Georgia,serif;margin:0 0 6px}.tool-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.tool-form select{font:inherit;padding:12px;border:1.5px solid #ddd3c4;border-radius:12px;background:#fffdf8}.tool-form .button{margin-top:18px}.tool-note{font-size:14px;color:#5b6475;margin:10px 0 0}.tool-output-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}.tool-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.tool-content{max-width:780px}.tool-content h2{font:700 30px/1.2 'Fraunces','Fraunces Fallback',Georgia,serif;margin:44px 0 12px}.tool-content p,.tool-content li{line-height:1.7}.tool-table{width:100%;border-collapse:collapse;margin:14px 0;font-size:15px}.tool-table th,.tool-table td{text-align:left;padding:10px;border-bottom:1px solid #eee4d5;vertical-align:top}.tool-table th{background:#f4efe6}
.tool-next{margin-top:50px;padding-top:10px;border-top:1px solid #eee4d5}.tool-next h3{font:700 20px 'Fraunces','Fraunces Fallback',Georgia,serif;margin:24px 0 8px}.tool-more-links{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0}.tool-more-links a{display:inline-block;padding:9px 14px;border-radius:12px;background:#f4efe6;font-weight:700;color:#1550b8;text-decoration:none}
.study-days{list-style:none;padding:0;margin:14px 0 0}.study-day{padding:14px 0;border-top:1px solid #eee4d5}.study-day h3{margin:0 0 6px;font-size:17px}.study-day p{margin:4px 0;line-height:1.5}.study-review{color:#12367f}.study-close{font-size:14px;color:#5b6475}
@media(max-width:860px){.tool-app{grid-template-columns:1fr}}
@media print{.site-header,.footer,.tool-head,.tool-form,.tool-content,.tool-actions,.breadcrumbs{display:none!important}.tool-app{display:block}.tool-output{box-shadow:none;border:0;padding:0}}
.prompt-purposes{grid-template-columns:repeat(2,minmax(0,1fr))}.prompt-card{background:#fffaf2}.prompt-text{font:600 clamp(24px,3vw,30px)/1.3 'Fraunces','Fraunces Fallback',Georgia,serif;margin:10px 0 12px}.prompt-starter{color:#3b4456;font-style:italic;min-height:1.4em}.prompt-week{margin:18px 0 0;padding-left:20px;line-height:1.6}.prompt-week li{margin-bottom:8px}
.prompt-group{margin:30px 0}.prompt-group h3{font:700 22px 'Fraunces','Fraunces Fallback',Georgia,serif;margin:0 0 4px}.prompt-group>p{color:#3b4456;margin:0 0 10px}.prompt-list{padding-left:22px}.prompt-list li{margin:0 0 10px;line-height:1.55}.prompt-list em{color:#5b6475}.prompt-time{display:inline-block;margin-right:8px;padding:1px 8px;border-radius:99px;background:#e7f0ff;color:#12367f;font-size:12px;font-weight:700}
@media print{.prompt-card{border:0}.prompt-card .tool-actions,.prompt-card .tool-note{display:none}}
.chip{padding:8px 12px;border-radius:99px;border:1.5px solid #ddd3c4;background:#fffdf8;font-weight:600;cursor:pointer}.chip.is-on{border-color:#1550b8;background:#e7f0ff;color:#12367f}.meal-filters{margin:10px 0}
.meal-picker{list-style:none;padding:0;margin:10px 0 18px;max-height:360px;overflow:auto;border:1px solid #eee4d5;border-radius:14px}.meal-picker li{border-bottom:1px solid #f1ece3}.meal-picker label{display:flex;gap:12px;align-items:center;padding:10px 12px;cursor:pointer}.meal-picker input{width:20px;height:20px;flex:none}.meal-picker span{display:flex;flex-direction:column}.meal-picker small{color:#5b6475}
.meal-week{list-style:none;padding:0;margin:12px 0}.meal-week li{display:grid;grid-template-columns:110px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid #eee4d5}.meal-rest{color:#5b6475}.meal-list h4{margin:16px 0 6px;font-size:14px;letter-spacing:1px;text-transform:uppercase;color:#ee5d2b}.meal-list ul{list-style:none;padding:0;margin:0}.meal-list li{padding:4px 0}
.meal-catalog{display:grid;gap:8px}.meal-item{padding:12px 16px;border-radius:14px;background:#fff;border:1px solid #eee4d5}.meal-item summary{cursor:pointer;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.meal-item summary span{color:#5b6475;font-size:14px}.meal-ingredients{font-size:15px;color:#3b4456}.meal-leftovers{font-size:14px;font-style:italic;color:#5b6475}
@media(max-width:520px){.meal-week li{grid-template-columns:1fr;gap:2px}}
.stack-card{background:#fffaf2}.stack-sentence{font:600 clamp(24px,3vw,30px)/1.3 'Fraunces','Fraunces Fallback',Georgia,serif;margin:10px 0 12px}.stack-check{margin:16px 0;padding:14px 16px;border-radius:14px;background:#f4efe6}.stack-check p{margin:0 0 6px}.stack-check ul{margin:0;padding-left:20px;line-height:1.6}
.stack-group{margin:30px 0}.stack-group h3{font:700 22px 'Fraunces','Fraunces Fallback',Georgia,serif;margin:0 0 4px}.stack-group>p{color:#3b4456}.stack-list{list-style:none;padding:0}.stack-list li{padding:14px 0;border-top:1px solid #eee4d5}.stack-list p{margin:4px 0;line-height:1.55}.stack-example{font-weight:700;font-size:18px}.stack-why{color:#5b6475;font-size:14px}
.tool-form fieldset{border:0;padding:0;margin:14px 0 0;min-width:0}.tool-form legend{font-weight:600;padding:0;margin-bottom:8px}
.article-content table{width:100%;border-collapse:collapse;margin:22px 0;font-size:16px;display:block;overflow-x:auto}.article-content th,.article-content td{text-align:left;padding:10px 12px;border-bottom:1px solid #eee4d5;vertical-align:top;min-width:120px}.article-content thead th{background:#f4efe6;font-weight:700}

.app-resume,.app-yesterday,.app-setup{margin-bottom:18px;padding:18px 20px;border-radius:18px}.app-resume{background:#fff3e8;border:1px solid #f6d5bd}.app-resume p,.app-yesterday p{margin:0 0 12px;font-weight:600;line-height:1.5}.app-resume-actions,.app-yesterday-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.app-yesterday{background:#fff;border:1px solid #eee4d5}.app-setup{background:#e7f0ff}.app-setup-head{display:flex;justify-content:space-between;align-items:center}.app-setup h3{font:700 20px 'Fraunces','Fraunces Fallback',Georgia,serif;margin:0}.app-setup ol{list-style:none;padding:0;margin:12px 0 0;counter-reset:setup}.app-setup li{counter-increment:setup;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #c7d8fb}.app-setup li div{display:flex;flex-direction:column}.app-setup li strong::before{content:counter(setup) ". "}.app-setup small{color:#3b4456}.app-setup li.is-done{opacity:.55}.app-setup li.is-done button{display:none}.app-setup li.is-done strong::after{content:" ✓";color:#1f7a3a}
.plan-card-title{font:700 24px/1.2 'Fraunces','Fraunces Fallback',Georgia,serif;margin:8px 0}.plan-card-title a{text-decoration:none}
.example-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:16px 0 0}.example-facts div{padding:12px 14px;border-radius:14px;background:#f4efe6}.example-facts dt{font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#ee5d2b}.example-facts dd{margin:4px 0 0;font-weight:600}
.example-coach{margin:18px 0;padding:16px 20px;border-left:4px solid #1550b8;background:#fff;border-radius:0 14px 14px 0}.example-coach p{margin:0;font-style:italic;line-height:1.6}.example-coach footer{margin-top:8px;font-size:13px;color:#5b6475}
/* Newsletter + feedback band, modal and forms; colour theme switch. */
.engage-band{background:#f4efe6;border-top:1px solid #eee4d5;padding:34px 0}
.engage-band-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.engage-band h2{font:600 28px/1.1 'Fraunces','Fraunces Fallback',Georgia,serif;letter-spacing:-.03em;margin:0 0 6px;color:#172033}
.engage-band p{margin:0;color:#3e4a56;font-size:15px}
.engage-band-actions{display:flex;gap:10px;flex-wrap:wrap}
.footer-link-button{border:0;background:none;padding:0;font:inherit;font-size:14px;font-weight:600;color:#172033;cursor:pointer;text-align:left}
.footer-link-button:hover{text-decoration:underline;text-underline-offset:5px}
.footer-inner{height:auto;padding:64px 0 0;grid-template-columns:1fr 1.7fr 1.3fr;gap:40px 56px}
.footer-brand p{justify-self:start;margin:14px 0 0;max-width:240px;color:#3e4a56;font-size:14px;font-weight:500;line-height:1.5}
.footer-topics{gap:14px 32px!important;align-items:start!important}.footer-links{display:grid!important;grid-template-columns:repeat(2,1fr);align-content:start;align-items:start!important;gap:14px 32px!important}.footer-topics h2,.footer-links h2{margin-bottom:8px}
.footer nav a,.footer-link-button{line-height:1.3}
.footer-bottom{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:16px;padding:22px 0 30px;border-top:1px solid #eee4d5}
.footer-bottom p{margin:0;font-size:13px;font-weight:500;color:#627080}
@media(max-width:800px){.footer-inner{grid-template-columns:1fr;gap:36px;padding-top:44px}.footer-bottom{margin-top:0}}
.theme-switch{display:inline-flex;gap:2px;padding:3px;border-radius:12px;background:#f4efe6;border:1px solid #eee4d5}
.theme-switch button{border:0;background:transparent;color:#3e4a56;font:600 13px/1 'DM Sans','DM Sans Fallback',sans-serif;padding:8px 12px;border-radius:9px;cursor:pointer}
.theme-switch button[aria-pressed="true"]{background:#fff;color:#172033;box-shadow:0 1px 3px #17203326}
.engage-modal{width:min(520px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;border:0;border-radius:24px;padding:28px 26px 24px;background:#fffdf8;color:#172033;box-shadow:0 24px 60px #17203340}
.engage-modal::backdrop{background:#1720335c}
.engage-modal h2{font:600 28px/1.1 'Fraunces','Fraunces Fallback',Georgia,serif;letter-spacing:-.03em;margin:0 36px 10px 0}
.engage-close{position:absolute;top:16px;right:16px;width:38px;height:38px;border-radius:50%;border:0;background:#f4efe6;color:#172033;font-size:24px;line-height:1;cursor:pointer}
.engage-form{display:grid;gap:14px}
.engage-intro{margin:0;color:#3e4a56;font-size:15px;line-height:1.55}
.engage-field{display:grid;gap:6px}
.engage-label{font-size:13px;font-weight:700;color:#3e4a56}
.engage-input{width:100%;min-height:48px;border:1px solid #ddd3c4;border-radius:12px;background:#fff;color:#172033;padding:11px 13px;font:inherit;font-size:16px}
textarea.engage-input{min-height:110px;resize:vertical}
.engage-input:focus-visible{outline:3px solid #f2783c;outline-offset:1px}
.engage-topics{border:0;padding:0;margin:0;min-width:0}
.engage-topics legend{padding:0;margin-bottom:8px}
.engage-chips{display:flex;flex-wrap:wrap;gap:6px}
.engage-chip{position:relative;cursor:pointer}
.engage-chip input{position:absolute;opacity:0;pointer-events:none}
.engage-chip span{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border-radius:99px;border:1px solid #ddd3c4;background:#fff;font-size:14px;font-weight:600;color:#3e4a56}
.engage-chip input:checked+span{background:#e7f0ff;border-color:#1550b8;color:#12367f}
.engage-chip input:focus-visible+span{outline:3px solid #f2783c;outline-offset:2px}
.engage-consent{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.45;color:#3e4a56;cursor:pointer}
.engage-consent input{width:20px;height:20px;margin:1px 0 0;flex:none;accent-color:#1550b8}
.engage-submit{min-height:50px;border:0;border-radius:14px;background:#1550b8;color:#fff;font:700 15px/1 'DM Sans','DM Sans Fallback',sans-serif;cursor:pointer}
.engage-submit:disabled{opacity:.6;cursor:default}
.engage-status{margin:0;min-height:0;color:#c2412d;font-size:14px;font-weight:600}
.engage-status:empty{display:none}
.engage-fine{margin:0;font-size:12px;color:#5b6475}
.engage-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.engage-done{padding:10px 0 4px}
.engage-done-title{font:600 24px/1.2 'Fraunces','Fraunces Fallback',Georgia,serif;margin:0 0 6px;color:#172033}
.engage-done-text{margin:0;color:#3e4a56}
@media(max-width:640px){.engage-band{padding:28px 0}.engage-band-actions{width:100%}.engage-band-actions .button{flex:1}.engage-modal{padding:24px 18px 20px}}
/* Morning routine generator, sleep calculator, 30-day challenge, reading log. */
.routine-list{list-style:none;margin:14px 0;padding:0;display:grid;gap:8px}
.routine-list li{display:grid;grid-template-columns:22px 78px 1fr;gap:10px;align-items:start;padding:10px 12px;border:1px solid #eee4d5;border-radius:12px;background:#fff}
.routine-box{width:18px;height:18px;border:2px solid #1550b8;border-radius:5px;margin-top:2px}
.routine-time{font-weight:700;color:#12367f;font-size:14px}
.routine-text{font-size:15px;line-height:1.45}
.routine-hard{background:#fff3e8;border-radius:12px;padding:10px 14px;font-size:14px;color:#3e4a56}
.idea-list{padding-left:20px;display:grid;gap:10px}
.idea-list li{line-height:1.5}
.idea-time{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:99px;background:#e7f0ff;color:#12367f;font-size:12px;font-weight:700}
.shift-app{margin-top:24px}
.sleep-table td:nth-child(2){font-weight:700;color:#12367f}
.challenge-rule{font:600 20px/1.35 'Fraunces','Fraunces Fallback',Georgia,serif;margin:8px 0 14px}
.challenge-calendar{list-style:none;margin:0 0 12px;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
.challenge-calendar li{border:1.5px solid #ddd3c4;border-radius:10px;padding:8px 6px;min-height:58px;display:grid;align-content:start;gap:2px;background:#fff}
.challenge-calendar strong{font-size:15px;color:#172033}
.challenge-calendar span{font-size:11px;color:#5b6475}
.challenge-calendar li.is-review{border-color:#e4632e}
.challenge-group{margin-bottom:26px}
.log-table td{height:34px}
.reading-sheet h3{margin-top:22px}
@media(max-width:640px){.routine-list li{grid-template-columns:20px 64px 1fr}.challenge-calendar{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media print{.tool-app[data-reading] .tool-form,.shift-app .tool-form{display:none!important}.challenge-calendar li{break-inside:avoid}.routine-list li{border-color:#999}[data-challenge-plan],[data-morning-plan]{display:none!important}}
.tool-head.has-art{max-width:none;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:28px;align-items:center}
.tool-art{width:100%;height:auto;border-radius:22px;aspect-ratio:3/2;object-fit:cover}
@media(max-width:760px){.tool-head.has-art{grid-template-columns:1fr;gap:16px}.tool-art{max-height:220px}}
@media print{.tool-art{display:none!important}}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.table-scroll .log-table{min-width:520px}
@media print{.table-scroll{overflow:visible}.table-scroll .log-table{min-width:0}}
.tool-row{grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr))}
.tool-row>*{min-width:0}
.tool-form input:not([type=checkbox]):not([type=radio]),.tool-form select{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.tool-app>*,.tool-output,.tool-form{min-width:0;max-width:100%}
/* Wave 2 tools: screen time, meditation timer, kids chart, daily routine */
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(130px,100%),1fr));gap:10px;margin:14px 0}
.stat{display:grid;gap:2px;padding:14px;border-radius:14px;background:#fff;border:1px solid #eee4d5}
.stat strong{font:600 28px/1.1 'Fraunces','Fraunces Fallback',Georgia,serif;color:#172033;letter-spacing:-.02em}
.stat span{font-size:13px;color:#526170}
.meditation-face{position:relative;width:min(280px,78vw);aspect-ratio:1;margin:22px auto 8px}
.meditation-ring{width:100%;height:100%;transform:rotate(-90deg)}
.meditation-ring circle{fill:none;stroke-width:8}
.ring-track{stroke:#eee4d5}
.ring-progress{stroke:#1550b8;stroke-linecap:round;transition:stroke-dashoffset .25s linear}
.meditation-readout{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:4px}
.meditation-readout strong{font:600 clamp(44px,12vw,64px)/1 'Fraunces','Fraunces Fallback',Georgia,serif;color:#172033;font-variant-numeric:tabular-nums}
.meditation-readout span{font-size:15px;color:#526170;text-transform:uppercase;letter-spacing:.08em}
.meditation-actions{justify-content:center}
.meditation-actions .button{min-width:130px}
[data-meditation] .tool-note{text-align:center}
.kids-list{list-style:none;margin:14px 0;padding:0;display:grid;gap:8px}
.kids-list li{display:grid;grid-template-columns:48px 1fr 34px;gap:12px;align-items:center;padding:10px 14px;border:2px solid #eee4d5;border-radius:16px;background:#fff}
.kids-icon{font-size:30px;line-height:1;text-align:center}
.kids-label{font:600 20px/1.25 'Fraunces','Fraunces Fallback',Georgia,serif;color:#172033}
.kids-box{display:block;width:30px;height:30px;border:3px solid #1550b8;border-radius:8px}
.kids-week{width:100%;border-collapse:separate;border-spacing:0 6px;min-width:520px}
.kids-week th,.kids-week td{padding:8px;text-align:center;font-size:14px}
.kids-week tbody th{text-align:left;display:flex;gap:10px;align-items:center;font:600 17px/1.25 'Fraunces','Fraunces Fallback',Georgia,serif;color:#172033}
.kids-week tbody th .kids-icon{font-size:26px;width:34px}
.kids-week td.kids-box{width:auto;height:auto;border:0}
.kids-week td.kids-box::after{content:"";display:block;width:28px;height:28px;margin:auto;border:3px solid #1550b8;border-radius:8px}
.kids-subtitle{margin-top:26px}
.day-plan{list-style:none;margin:14px 0;padding:0;display:grid;gap:6px}
.day-block{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:10px 14px;border-radius:12px;background:#fff;border:1px solid #eee4d5;border-left:5px solid #1550b8}
.day-block.is-fixed{border-left-color:#8a96a6;background:#f7f4ee}
.day-block.is-meal{border-left-color:#e4632e}
.day-block.is-anchor{border-left-color:#172033}
.day-block.is-free{border-left-color:#c9d6ea;border-style:dashed;color:#526170}
.day-time{font-weight:700;font-variant-numeric:tabular-nums;color:#172033;font-size:14px}
@media(max-width:640px){.day-block{grid-template-columns:1fr;gap:2px}.kids-list li{grid-template-columns:40px 1fr 30px}.kids-label{font-size:17px}}
@media print{.tool-app[data-kids] .tool-output-head h2{font-size:34px}.kids-list li{border-color:#999;break-inside:avoid;padding:12px 16px}.kids-label{font-size:24px}.kids-icon{font-size:36px;print-color-adjust:exact;-webkit-print-color-adjust:exact}.kids-week{min-width:0}.day-block{break-inside:avoid;border-color:#999}.stat{border-color:#999}[data-meditation]{display:none!important}}
.meditation-panel{text-align:center}
@media print{.tool-app[data-kids] .kids-subtitle{font:600 34px/1.1 'Fraunces','Fraunces Fallback',Georgia,serif;break-before:page;margin:0 0 14px}}
@media print{.tool-output a.button,.tool-output .button-primary{display:none!important}.tool-output::after{content:"Free printable from dailyhabitai.com";display:block;margin-top:14px;font-size:10px;color:#666;text-align:right}}
@media print{[data-challenge-output] .challenge-calendar li{min-height:118px}[data-reading-output] h3{break-before:page;font-size:28px}[data-reading-output] .challenge-calendar li{min-height:96px}.log-table td{height:34px}}
/* Wave 3 tools */
.pomodoro-modes{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:#f3ede3;margin:0 auto 6px}
.pomodoro-modes button{border:0;background:none;padding:8px 14px;border-radius:999px;font:inherit;font-size:14px;font-weight:700;color:#526170;cursor:pointer}
.pomodoro-modes button[aria-selected=true]{background:#fff;color:#172033;box-shadow:0 1px 4px #17203322}
[data-pomodoro].is-break .ring-progress{stroke:#2f8a5b}
.pomodoro-task{max-width:360px;margin:6px auto 10px;text-align:left}
.pomodoro-dots{display:flex;justify-content:center;gap:8px;list-style:none;margin:12px 0 4px;padding:0}
.pomodoro-dots li{width:12px;height:12px;border-radius:50%;border:2px solid #1550b8}
.pomodoro-dots li.is-done{background:#1550b8}
.eisen-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
.eisen-q{border-radius:16px;padding:14px;min-height:170px;border:1px solid #eee4d5;background:#fff}
.eisen-q h3{margin:0 0 8px;font:600 20px/1.2 'Fraunces','Fraunces Fallback',Georgia,serif}
.eisen-q h3 small{display:block;font:600 11px/1.4 'DM Sans','DM Sans Fallback',sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#526170}
.eisen-q.q1{border-top:5px solid #e4632e}.eisen-q.q2{border-top:5px solid #1550b8}.eisen-q.q3{border-top:5px solid #c9a227}.eisen-q.q4{border-top:5px solid #8a96a6}
.eisen-q ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.eisen-q li{display:flex;align-items:center;gap:6px}
.eisen-task{flex:1;text-align:left;border:1px solid #eee4d5;background:#fffdf8;border-radius:10px;padding:8px 10px;font:inherit;font-size:15px;color:#172033;cursor:pointer;min-width:0;overflow-wrap:anywhere}
.eisen-del{border:0;background:none;font-size:20px;line-height:1;color:#8a96a6;cursor:pointer;padding:4px 6px}
.eisen-empty{color:#8a96a6;font-size:14px}
.smart-goal{font:600 22px/1.35 'Fraunces','Fraunces Fallback',Georgia,serif;color:#172033;background:#fff;border:1px solid #eee4d5;border-left:5px solid #1550b8;border-radius:14px;padding:16px 18px;margin:10px 0}
.smart-checks{list-style:none;margin:10px 0;padding:0;display:grid;gap:6px}
.smart-checks li{padding:8px 12px 8px 34px;border-radius:10px;position:relative;font-size:15px}
.smart-checks li::before{position:absolute;left:12px;top:8px;font-weight:800}
.smart-checks .is-ok{background:#e8f5ee}.smart-checks .is-ok::before{content:"✓";color:#2f8a5b}
.smart-checks .is-warn{background:#fff3e6}.smart-checks .is-warn::before{content:"!";color:#e4632e}
.chores-person{border:1px solid #eee4d5;border-radius:14px;padding:12px 14px;margin:0 0 10px}
.chores-person-row th{background:#f3ede3;font:600 18px/1.3 'Fraunces','Fraunces Fallback',Georgia,serif;padding:8px 10px;text-align:left}
.chores-stars th{font-size:14px;color:#526170;text-align:left;padding:6px 10px}
.chores-week{min-width:600px}
.tt-habits{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:8px;margin:6px 0 12px}
.tt-habits input{width:100%}
.tt-grid{border-collapse:collapse;width:100%;min-width:560px;background:#fff}
.tt-grid.is-monthly{min-width:900px}
.tt-grid th,.tt-grid td{border:1px solid #d9d2c5;padding:6px 4px;text-align:center;font-size:12px}
.tt-grid tbody th{text-align:left;min-width:140px;font-size:14px;padding:6px 8px}
.tt-grid td.tt-cell{height:30px}
.tt-grid td.tt-total{min-width:44px}
.rc-list{list-style:none;margin:10px 0;padding:0;display:grid;gap:6px;counter-reset:rc}
.rc-list li{display:grid;grid-template-columns:30px 1fr;gap:4px 10px;align-items:center;padding:8px 12px;border:1px solid #eee4d5;border-radius:12px;background:#fff;counter-increment:rc}
.rc-list li .kids-box{width:22px;height:22px;border-width:2px;border-radius:6px}
.rc-prompt{font-weight:700;color:#172033}
.rc-prompt::before{content:counter(rc) ". ";color:#526170;font-weight:600}
.rc-line{grid-column:2;font-size:13px;color:#8a96a6}
@media(max-width:640px){.eisen-grid{grid-template-columns:1fr}.smart-goal{font-size:19px}.pomodoro-modes button{padding:8px 10px;font-size:13px}}
@media print{[data-pomodoro]{display:none!important}.eisen-grid{grid-template-columns:repeat(2,1fr)}.eisen-q{min-height:320px;border-color:#999;break-inside:avoid}.eisen-del{display:none}.eisen-task{border:0;padding:2px 0}.smart-checks{display:none}.tt-grid,.tt-grid.is-monthly{min-width:0;font-size:9px}.tt-grid th,.tt-grid td{border-color:#999}.tt-grid.is-monthly th,.tt-grid.is-monthly td{padding:3px 1px}@page{size:auto}.rc-list{grid-template-columns:1fr 1fr;gap:4px 12px}.rc-list li{padding:5px 8px;border-color:#bbb;break-inside:avoid}.rc-list li[hidden]{display:none}.chores-week{min-width:0}.chores-person-row th{background:#eee!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}}
@media print{.tt-grid td.tt-cell,.tt-grid tbody th{height:46px}.tt-grid:not(.is-monthly) td.tt-cell{height:56px}}
/* Vision board tools */
.vm-app{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
.vm-canvas,.vt-card canvas{display:block;width:100%;height:auto;border-radius:14px;box-shadow:0 6px 24px #17203322;background:#fff;cursor:pointer}
.vm-tiles{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.vm-tile-btn{border:1px solid #d9d2c5;background:#fff;border-radius:999px;padding:6px 12px;font:inherit;font-size:13px;font-weight:600;color:#172033;cursor:pointer}
.vm-tile-btn.is-selected{border-color:#1550b8;background:#e7f0ff}
.vm-editor{border:1px solid #eee4d5;border-radius:16px;background:#fff;padding:14px;margin:8px 0 12px}
.vm-editor-head{display:flex;justify-content:space-between;align-items:center}
.vm-editor h3{margin:0;font-size:20px}
.vm-editor h4{margin:10px 0 6px;font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:#526170}
.vm-library{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px}
.vm-lib{border:2px solid transparent;background:none;padding:0;border-radius:12px;cursor:pointer;text-align:center;font:inherit;font-size:11px;color:#526170}
.vm-lib img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:10px}
.vm-lib:hover,.vm-lib:focus-visible{border-color:#1550b8}
.vm-upload{margin:10px 0;cursor:pointer}
.vm-words{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.vm-words .chip,.vw-card{cursor:pointer}
.vm-plan{margin-top:6px}
.vm-print-img{display:none}
.vt-app{display:block}
.vt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:18px;margin-top:12px}
.vt-card{background:#fff;border:1px solid #eee4d5;border-radius:18px;padding:14px;display:flex;flex-direction:column;gap:6px}
.vt-card h3{margin:8px 0 0;font-size:22px}
.vt-card p{margin:0;font-size:15px;color:#3e4a56}
.vt-card .tool-actions{margin-top:auto;padding-top:8px}
.vt-count{color:#526170}
.vw-cards{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.vw-card{border:2px dashed #b9c3d3;border-radius:10px;background:#fffdf8;padding:12px 16px;font:600 20px/1.2 'Fraunces','Fraunces Fallback',Georgia,serif;color:#172033;text-align:center}
.vw-cards.size-s .vw-card{font-size:15px;padding:8px 12px}.vw-cards.size-l .vw-card{font-size:30px;padding:16px 22px}
.vw-cards.style-script .vw-card{font-family:'Caveat',cursive;font-size:26px}.vw-cards.style-script.size-s .vw-card{font-size:20px}.vw-cards.style-script.size-l .vw-card{font-size:38px}
.vw-cards.style-bold .vw-card{font-family:'DM Sans','DM Sans Fallback',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.vw-cards.color-warm .vw-card{background:#fff1e3;color:#8a3d12;border-color:#f0b98f}.vw-cards.color-sage .vw-card{background:#eef5ea;color:#1f4a31;border-color:#a9c8a0}.vw-cards.color-blush .vw-card{background:#fdeeee;color:#7a2d4b;border-color:#e7b3c3}.vw-cards.color-mono .vw-card{background:#fff;color:#000;border-color:#777}
.vw-list{line-height:1.8;color:#3e4a56}
@media(max-width:900px){.vm-app{grid-template-columns:1fr}}
@media print{.vm-app .vm-stage>*:not(.vm-print-img),.vt-gallery>*:not(.vm-print-img){display:none!important}.vm-print-img{display:block;width:100%;height:auto}.vm-app .tool-form,.vt-app .tool-form{display:none!important}.vm-stage::after,.vt-gallery::after{display:none}.vw-card{print-color-adjust:exact;-webkit-print-color-adjust:exact;break-inside:avoid}.vw-cards{gap:6px}.vm-app,.vt-app{page:vb-landscape}}
@page vb-landscape{size:landscape}
@media print{.vm-app.vm-print-portrait{page:vb-portrait}}
@page vb-portrait{size:portrait}
.home-season{display:grid;grid-template-columns:1.1fr 1fr;gap:28px;align-items:center;margin:0 auto 40px;padding:28px 32px;border-radius:24px;background:#fff1e0}
.home-season h2{font:700 32px/1.12 'Fraunces','Fraunces Fallback',Georgia,serif;margin:6px 0 10px}
.home-season p{font-size:17px;line-height:1.55;color:#3e4a56;margin:0 0 16px}
.home-season .home-tool-links{margin-top:16px}
.home-season img{width:100%;height:auto;border-radius:18px}
@media(max-width:800px){.home-season{grid-template-columns:1fr;padding:22px}.home-season img{order:-1}}
.vm-examples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:14px 0 8px}
.vm-examples figure{margin:0}
.vm-examples img{display:block;width:100%;height:auto;border-radius:12px;box-shadow:0 4px 18px #17203320}
.vm-examples figcaption{font-size:14px;line-height:1.5;color:#3e4a56;margin-top:8px}
.vm-example-phone img{max-width:260px}
@media(max-width:640px){.vm-examples{grid-template-columns:1fr}}
.vm-app-flow{margin:16px 0 8px;padding:16px;border-radius:16px;background:#e7f0ff;border:1px solid #c9d6ea}
.vm-app-flow h3{margin:4px 0 8px;font-size:21px}
.vm-app-steps{margin:0 0 10px;padding-left:20px;font-size:15px;line-height:1.5}
.vm-app-list{list-style:none;margin:8px 0;padding:0;display:grid;gap:6px}
.vm-app-list li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;background:#fff;border-radius:12px;font-weight:600;font-size:15px}
.vm-app-list li span{min-width:0;overflow-wrap:anywhere}
.vm-app-list .button{flex:none;padding:8px 12px;font-size:14px}
.vm-bulk{border:1px dashed #c9d6ea;border-radius:14px;padding:10px 12px}
.vm-lib[hidden]{display:none}
.chip.is-on{background:#172033;color:#fff}
.vb-page{padding:24px 0 80px}
.vb-head{max-width:820px;margin:20px 0 22px}
.vb-head h1{font:600 clamp(36px,5vw,58px)/1.06 'Fraunces','Fraunces Fallback',Georgia,serif;letter-spacing:-.03em;margin:10px 0 14px}
.vb-figure{margin:0 0 24px}
.vb-figure img{display:block;width:100%;height:auto;border-radius:18px;box-shadow:0 8px 28px #17203326}
.vb-figure figcaption{font-size:14px;color:#3e4a56;margin-top:8px;line-height:1.5}
.vb-body{max-width:820px}
.vb-body p,.vb-body li{font-size:17px;line-height:1.7;color:#2f3a46}
.vb-ideas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.vb-ideas ul{padding-left:18px}
.vb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:18px;margin:12px 0 30px}
.vb-card{background:#fff;border:1px solid #eee4d5;border-radius:18px;overflow:hidden;padding-bottom:12px}
.vb-card img{display:block;width:100%;height:auto}
.vb-card h3{margin:12px 14px 4px;font-size:20px}
.vb-card h3 a{color:#172033;text-decoration:none}
.vb-card p{margin:0 14px;font-size:14px;line-height:1.5;color:#3e4a56}
.vb-app{margin:30px 0;padding:22px;border-radius:20px;background:#e7f0ff;border:1px solid #c9d6ea}
.vb-app h2{margin-top:4px}
.vb-usecases li{margin-bottom:8px}
.vb-theme-links{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.vb-theme-links a{display:inline-block;padding:7px 12px;border-radius:999px;background:#fff;border:1px solid #d9d2c5;text-decoration:none;color:#1550b8;font-weight:700;font-size:14px}
@media(max-width:700px){.vb-ideas{grid-template-columns:1fr}.vb-app{padding:16px}}
.vm-fit{margin:10px 0;padding:10px;border-radius:12px;background:#f7f4ee}
.vm-move{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.vm-move .chip{min-width:44px;min-height:40px}
.vb-sizes{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:-8px 0 24px;font-size:15px}
.vb-sizes strong{width:100%;font-size:14px;color:#3e4a56}
.vb-sizes a{padding:8px 12px;border-radius:999px;background:#fff;border:1px solid #c9d6ea;color:#1550b8;font-weight:700;text-decoration:none}
.vm-styles{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(160px,45%),1fr));gap:14px;margin:12px 0 24px}
.vm-styles figure{margin:0}
.vm-styles img{display:block;width:100%;height:auto;border-radius:12px;box-shadow:0 4px 16px #17203326}
.vm-styles figcaption{font-size:13px;line-height:1.45;color:#3e4a56;margin-top:6px}
/* Vision board maker: cleaner toolbar, compact app panel, success dialog */
.vm-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.vm-head h2{margin:0}
.vm-shuffle{border:0;border-radius:999px;background:#172033;color:#fff;font:700 15px/1 'DM Sans','DM Sans Fallback',sans-serif;padding:11px 18px;cursor:pointer;white-space:nowrap}
.vm-shuffle:hover{background:#1550b8}
.vm-toolbar{display:grid;grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 6px}
.vm-toolbar [hidden]{display:none}
.vm-toolbar .vm-save{width:100%;justify-content:center;min-height:46px}
.vm-tool{min-height:46px;border:1px solid #d9d2c5;border-radius:12px;background:#fff;color:#172033;font:700 14px/1.1 'DM Sans','DM Sans Fallback',sans-serif;cursor:pointer;padding:0 8px;white-space:nowrap}
.vm-tool:hover{border-color:#1550b8;color:#1550b8}
.vm-tiles{gap:6px}
.vm-app-flow{margin:14px 0 4px;padding:0;border-radius:14px;background:#eef4ff;border:1px solid #c9d6ea}
.vm-app-flow summary{list-style:none;display:flex;align-items:center;gap:10px;padding:12px 14px;cursor:pointer;font-size:15px;line-height:1.35}
.vm-app-flow summary::-webkit-details-marker{display:none}
.vm-app-badge{flex:none;width:26px;height:26px;border-radius:50%;background:#1550b8;color:#fff;display:grid;place-items:center;font-size:14px;font-weight:800}
.vm-app-chev{margin-left:auto;font-size:22px;color:#1550b8;transition:transform .2s}
.vm-app-flow[open] .vm-app-chev{transform:rotate(90deg)}
.vm-app-flow>*:not(summary){margin-left:14px;margin-right:14px}
.vm-app-flow .vm-app-list{margin-bottom:10px}
.vm-app-list li{padding:6px 8px 6px 12px;font-size:14px}
.vm-app-list .button{padding:7px 10px;font-size:13px;min-height:0}
.vm-done{border:0;border-radius:22px;padding:0;max-width:min(440px,92vw);box-shadow:0 20px 60px #17203355}
.vm-done::backdrop{background:rgba(23,32,51,.45)}
.vm-done-inner{position:relative;padding:24px 22px 20px;text-align:center}
.vm-done-x{position:absolute;top:8px;right:10px;border:0;background:none;font-size:26px;color:#6b7685;cursor:pointer}
.vm-done-emoji{font-size:40px;margin:0}
.vm-done h3{margin:6px 0 6px;font-size:24px}
.vm-done p{font-size:15px;line-height:1.5;color:#3e4a56;margin:0 0 10px}
.vm-done-next{background:#f7f4ee;border-radius:14px;padding:12px;margin:10px 0 14px;text-align:left}
.vm-done-links{display:flex;flex-wrap:wrap;gap:6px}
.vm-done-links .chip{text-decoration:none;color:#1550b8;background:#fff;border:1px solid #c9d6ea}
.vm-done-actions{display:flex;flex-direction:column;gap:6px;align-items:center}
.vm-done-actions .button{width:100%;justify-content:center}
@media(max-width:640px){.vm-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}.vm-toolbar .vm-save{grid-column:1/-1}.vm-head h2{font-size:22px}}
.vb-more{margin:10px 0}
.vb-more summary{cursor:pointer;font-weight:700;color:#1550b8;padding:6px 0}
.vb-app .tool-actions{display:flex;flex-wrap:wrap;gap:8px}
@media(max-width:640px){.vb-app .tool-actions .button{flex:1 1 100%;justify-content:center}.vb-app table td:last-child a{white-space:nowrap}}

.tool-head-compact{max-width:860px;margin:4px 0 18px}
.tool-head-compact h1{font-size:clamp(30px,3.6vw,44px);line-height:1.08;margin:6px 0 8px}
.tool-head-compact .tool-lede{font-size:16px;line-height:1.5;color:#3e4a56;max-width:760px}
.tool-figure{margin:0 0 28px}
.tool-figure .tool-art{max-height:360px;width:100%;object-fit:cover}
@media(max-width:760px){.tool-shell .breadcrumbs{margin-bottom:12px}.tool-head-compact{margin:0 0 14px}.tool-head-compact h1{font-size:28px}.tool-head-compact .tool-lede{font-size:15px}.tool-figure .tool-art{max-height:200px}}

/* ---- Vision board maker: the board first, one options panel at a time ---- */
.vm-app{grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start}
.vm-app.vm-drawer-closed{grid-template-columns:minmax(0,1fr)}
.vm-app.vm-drawer-closed .vm-drawer{display:none}
.vm-app .vm-stage{padding:14px 18px 16px}
.vm-head{display:flex;align-items:center;gap:12px;margin:0 0 12px;flex-wrap:wrap}
.vm-head h2{margin:0;font-size:20px;flex:none}
.vm-tabs{display:flex;gap:4px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}
.vm-tabs::-webkit-scrollbar{display:none}
.vm-tabs button{flex:none;border:1px solid transparent;border-radius:999px;background:none;padding:9px 14px;font:700 14px/1 'DM Sans','DM Sans Fallback',sans-serif;color:#4b5565;cursor:pointer;white-space:nowrap}
.vm-tabs button:hover{background:#f3eee5}
.vm-tabs button[aria-pressed="true"]{background:#e7f0ff;border-color:#c9d6ea;color:#1550b8}
.vm-head-actions{display:flex;gap:8px;align-items:center;margin-left:auto}
.vm-shuffle{padding:10px 16px;font-size:14px}
.vm-dl{display:flex;position:relative}
.vm-dl-main{border:0;border-radius:999px 0 0 999px;background:#1550b8;color:#fff;font:700 14px/1 'DM Sans','DM Sans Fallback',sans-serif;padding:11px 16px;cursor:pointer;white-space:nowrap}
.vm-dl-main:hover{background:#0f3f94}
.vm-dl-more>summary{list-style:none;cursor:pointer;background:#1550b8;color:#fff;border-left:1px solid #ffffff55;border-radius:0 999px 999px 0;padding:11px 12px 11px 10px;font:700 14px/1 'DM Sans','DM Sans Fallback',sans-serif}
.vm-dl-more>summary::-webkit-details-marker{display:none}
.vm-dl-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:20;width:260px;display:grid;gap:4px;padding:8px;background:#fff;border:1px solid #e3dac9;border-radius:14px;box-shadow:0 14px 30px #17203326}
.vm-dl-menu button{text-align:left;border:0;background:none;border-radius:10px;padding:11px 12px;font:600 14px/1.2 'DM Sans','DM Sans Fallback',sans-serif;color:#172033;cursor:pointer}
.vm-dl-menu button:hover{background:#f3eee5}
.vm-dl-menu button[hidden]{display:none}
.vm-dl-menu label{display:grid;gap:6px;padding:8px 12px 4px;font-size:12px;font-weight:700;color:#5b6475;border-top:1px solid #eee4d5;margin-top:4px}
.vm-dl-menu select{font:inherit;font-size:13px;padding:8px;border:1px solid #ddd3c4;border-radius:10px;background:#fffdf8}
.vm-canvas-wrap{display:flex;justify-content:center;background:#f5f1ea;border-radius:16px;padding:14px}
.vm-canvas{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100vh - 150px);margin:0;border-radius:10px;box-shadow:0 6px 24px #17203326}
.vm-status{text-align:center;font-size:13px}
.vm-drawer{position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto;padding:16px 18px 20px}
.vm-drawer-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 6px}
.vm-drawer-head h3{margin:0;font:700 20px/1.2 'Fraunces','Fraunces Fallback',Georgia,serif}
.vm-drawer-x{border:0;background:none;font-size:26px;line-height:1;color:#6b7685;cursor:pointer;width:40px;height:40px;border-radius:50%}
.vm-drawer-x:hover{background:#f3eee5}
.vm-app [data-vm-panel]:not(.is-active){display:none!important}
.vm-label{margin:14px 0 8px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#5b6475}
.vm-label .optional{text-transform:none;letter-spacing:0;font-weight:600}
.vm-style-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.vm-style-card{position:relative;display:grid;gap:4px;justify-items:center;padding:6px;border:2px solid transparent;border-radius:14px;cursor:pointer;font-size:12px;font-weight:700;text-align:center;line-height:1.2;color:#172033}
.vm-style-card input{position:absolute;opacity:0;pointer-events:none}
.vm-style-card img{width:100%;height:auto;aspect-ratio:9/16;object-fit:cover;border-radius:9px;box-shadow:0 2px 8px #17203322}
.vm-style-card:has(input:checked){border-color:#1550b8;background:#e7f0ff}
.vm-style-card:has(input:focus-visible){outline:3px solid #f2783c;outline-offset:2px}
.vm-layouts{gap:6px}
.vm-layouts .choice span{padding:8px 12px;font-size:13px}
.vm-size-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.vm-size-card{display:flex;align-items:center;gap:10px;text-align:left;border:1.5px solid #e3dac9;background:#fff;border-radius:12px;padding:10px;cursor:pointer;min-height:56px;font:inherit;color:#172033}
.vm-size-card strong{display:block;font-size:13px;line-height:1.2}
.vm-size-card small{display:block;font-size:11px;color:#6b7685;line-height:1.3}
.vm-size-shape{flex:none;display:block;border:2px solid #1550b8;border-radius:3px;background:#e7f0ff}
.vm-size-card[aria-pressed="true"]{border-color:#1550b8;background:#e7f0ff}
.vm-swatches{display:flex;flex-wrap:wrap;gap:8px}
.vm-swatch{width:40px;height:40px;border-radius:50%;border:2px solid #e3dac9;cursor:pointer;font:700 11px/1 'DM Sans','DM Sans Fallback',sans-serif;color:#4b5565;background:#fff}
.vm-swatch[aria-pressed="true"]{outline:3px solid #1550b8;outline-offset:2px}
.vm-visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.vm-upload-main{width:100%;justify-content:center;margin:6px 0 4px}
.vm-more{margin-top:14px;border-top:1px solid #eee4d5;padding-top:10px}
.vm-more summary{cursor:pointer;font-weight:700;color:#1550b8;padding:6px 0}
.vm-drawer .vm-editor{margin:10px 0}
.vm-drawer .vm-library{grid-template-columns:repeat(auto-fill,minmax(64px,1fr))}
.vm-exit,.vm-mobile-cta{display:none}
@media(max-width:1099px){
/* Page view: a big preview and two clear buttons; editing happens full screen. */
.vm-app,.vm-app.vm-drawer-closed{display:block}
.vm-app .vm-stage{padding:12px 12px 14px}
.vm-app .vm-drawer,.vm-app .vm-tabs{display:none}
.vm-head{flex-wrap:nowrap}
.vm-head h2{font-size:18px}
.vm-canvas-wrap{padding:10px;border-radius:14px}
.vm-canvas{max-height:70vh;max-height:70dvh}
.vm-mobile-cta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0 4px}
.vm-mobile-cta .button{min-height:48px;justify-content:center;padding:0 10px;margin:0}
/* Full-screen editor */
html.vm-lock,html.vm-lock body{overflow:hidden}
.vm-app.vm-full{position:fixed;inset:0;z-index:1000;margin:0;background:#fffdf8;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr) auto auto;grid-template-areas:"exit title actions" "canvas canvas canvas" "sheet sheet sheet" "tabs tabs tabs";padding:env(safe-area-inset-top) 0 0}
.vm-full .vm-stage,.vm-full .vm-sticky,.vm-full .vm-head{display:contents}
.vm-full .vm-exit{display:inline-flex;grid-area:exit;align-self:center;margin:8px 0 8px 10px;border:0;border-radius:999px;background:#e7f0ff;color:#1550b8;font:700 14px/1 'DM Sans','DM Sans Fallback',sans-serif;padding:11px 14px;cursor:pointer}
.vm-full h2{grid-area:title;align-self:center;margin:0 0 0 10px;font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vm-full .vm-head-actions{grid-area:actions;margin:8px 10px 8px 0}
.vm-full .vm-canvas-wrap{grid-area:canvas;min-height:0;height:100%;display:flex;align-items:center;justify-content:center;padding:4px 6px;margin:0;border-radius:0;background:#efe9df}
.vm-full .vm-canvas{max-height:100%;max-width:100%;width:auto;height:auto;border-radius:6px}
.vm-full .vm-drawer{display:block;grid-area:sheet;position:static;max-height:38vh;max-height:38dvh;overflow:auto;overscroll-behavior:contain;margin:0;padding:10px 14px 12px;border:0;border-top:1px solid #e3dac9;border-radius:18px 18px 0 0;box-shadow:0 -8px 20px #1720331a;background:#fff}
.vm-full.vm-sheet-closed .vm-drawer{display:none}
.vm-full .vm-drawer-head{display:none}
.vm-full .vm-tabs{display:flex;grid-area:tabs;gap:0;margin:0;padding:0 0 env(safe-area-inset-bottom);border-top:1px solid #e3dac9;background:#fffdf8;overflow:visible}
.vm-full .vm-tabs button{flex:1;border:0;border-radius:0;border-top:3px solid transparent;padding:13px 4px 14px;font-size:13px;white-space:normal;line-height:1.15;background:none}
.vm-full .vm-tabs button[aria-pressed="true"]{border-top-color:#1550b8;color:#1550b8;background:#f3f7ff}
.vm-full .vm-mobile-cta,.vm-full .vm-status,.vm-full .vm-app-flow{display:none}
.vm-full [data-vm-templates],.vm-full .vm-tiles,.vm-full [data-vm-lib-groups],.vm-full [data-vm-words]{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}
.vm-full [data-vm-templates]>*,.vm-full .vm-tiles>*,.vm-full [data-vm-lib-groups]>*,.vm-full [data-vm-words]>*{flex:none}
.vm-full .vm-style-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:92px;overflow-x:auto;scrollbar-width:none}
.vm-full .vm-library{grid-auto-flow:column;grid-template-rows:repeat(2,auto);grid-template-columns:none;grid-auto-columns:76px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}
.vm-full .vm-size-cards{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
}
@media(max-width:1099px) and (min-width:700px){.vm-canvas{max-height:72vh}.vm-full .vm-drawer{max-height:34vh}.vm-mobile-cta{max-width:520px;margin-inline:auto}}
@media(max-width:420px){.vm-dl-main{padding:10px 12px}.vm-shuffle{padding:9px 12px}.vm-head h2{font-size:17px}}
.vm-keep-mine{width:100%;justify-content:center;margin:8px 0;min-height:44px;font-size:14px}.vm-keep-mine[hidden]{display:none}
.vm-upload-one{width:100%;justify-content:center;margin:10px 0 4px;min-height:44px}
.vm-lib-wrap{margin:10px 0;border:1px solid #eee4d5;border-radius:12px;padding:0 10px}
.vm-lib-wrap>summary{cursor:pointer;font-weight:700;color:#1550b8;padding:11px 0;list-style-position:inside}
.vm-lib-wrap[open]{padding-bottom:10px}
.vm-lib-groups{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}
.vm-lib-groups>*{flex:none}
.vm-drawer .vm-editor{border:1px solid #c9d6ea;background:#fbfdff}
.vm-fit .chip[aria-pressed="true"]{background:#1550b8;border-color:#1550b8;color:#fff}
.vm-move-label{margin:10px 0 0;font-size:12px;font-weight:700;color:#5b6475}
.vm-swatches[hidden]{display:none}

/* While a tile is being edited, its panel shows only that tile's editor (Done returns to the list). */
.vm-panel[data-vm-panel="tiles"]:has(.vm-editor:not([hidden]))>:not(.vm-editor){display:none!important}
.vm-panel[data-vm-panel="tiles"]:has(.vm-editor:not([hidden])) .vm-editor{margin-top:0}
/* Vision board words: compact group chips so the sheet and Print are near the top */
.vw-app .choice-grid{display:flex;flex-wrap:wrap;gap:6px}
.vw-app .choice-grid .choice span{padding:8px 12px;font-size:14px;min-height:40px}
.vw-app .tool-actions{gap:8px}
@media(max-width:760px){.vw-app .tool-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.vw-app .tool-row select{padding:10px 6px;font-size:13px}.vw-app .tool-row .build-field{font-size:12px}.vw-app .tool-actions .button{flex:1 1 100%;justify-content:center}}
@media(max-width:760px){.vw-app .tool-form{display:flex;flex-direction:column}.vw-app .tool-form>h2{order:-2}.vw-app .tool-form>.tool-actions{order:-1;margin:4px 0 8px}}
/* Tools pass: 30-day habit tracker, 30-day challenge generator, SMART goals, reading challenge, habit stacking builder */
.ht-app{margin-bottom:50px}
.ht-habits{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.ht-habit,.ht-add{min-height:44px;max-width:100%;padding:0 16px;border-radius:999px;border:1.5px solid #ddd3c4;background:#fffdf8;color:#172033;font:inherit;font-size:14px;font-weight:700;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ht-habit[aria-pressed="true"]{border-color:#1550b8;background:#e7f0ff;color:#12367f;box-shadow:inset 0 0 0 1px #1550b8}
.ht-add{border-style:dashed;background:transparent;color:#1550b8}
.ht-habit:focus-visible,.ht-add:focus-visible{outline:3px solid #f2783c;outline-offset:2px}
.ht-fields{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,.8fr);gap:12px;margin-bottom:16px}
.ht-field{display:grid;gap:6px;font-size:13px;font-weight:700;color:#172033;min-width:0}
.ht-field input{width:100%;min-width:0;height:46px;border:1.5px solid #ddd3c4;border-radius:12px;background:#fffdf8;color:#172033;padding:0 12px;font:inherit;font-size:16px;font-weight:400}
.ht-field input:focus,.ht-review textarea:focus{border-color:#1550b8;outline:none}
.ht-sheet{background:#fffaf0;border:1px solid #eadfc9;border-radius:22px;padding:22px}
.ht-sheet-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px 20px;flex-wrap:wrap;margin-bottom:16px}
.ht-sheet-head>div{min-width:0}
.ht-sheet-head .eyebrow{margin:0 0 4px}
.ht-sheet-head h2{font:600 clamp(24px,3vw,32px)/1.12 'Fraunces','Fraunces Fallback',Georgia,serif;letter-spacing:-.03em;margin:0 0 4px;color:#172033;overflow-wrap:anywhere}
.ht-cue{margin:0;color:#53606b;font-size:15px}
.ht-stats{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;font-size:14px;color:#3e4a56}
.ht-stats strong{font:700 20px/1 'Fraunces','Fraunces Fallback',Georgia,serif;color:#1550b8}
.ht-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.ht-day{position:relative;display:grid;align-content:start;gap:2px;min-height:68px;padding:8px 10px;border:1.5px solid #e7dcc8;border-radius:12px;background:#fff;cursor:pointer;transition:background .15s,border-color .15s}
.ht-day input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.ht-num{font:700 18px/1.1 'Fraunces','Fraunces Fallback',Georgia,serif;color:#172033}
.ht-day small{font-size:12px;color:#607080;white-space:nowrap;overflow:hidden}
.ht-day::after{content:"";position:absolute;top:8px;right:8px;width:18px;height:18px;border:2px solid #b9c6da;border-radius:6px;display:grid;place-items:center;font-size:13px;font-weight:700;line-height:1}
.ht-day.is-today{border-color:#e4632e;box-shadow:inset 0 0 0 1px #e4632e}
.ht-day.is-done,.ht-day:has(input:checked){background:#1550b8;border-color:#1550b8}
.ht-day.is-done .ht-num,.ht-day.is-done small,.ht-day:has(input:checked) .ht-num,.ht-day:has(input:checked) small{color:#fff}
.ht-day.is-done::after,.ht-day:has(input:checked)::after{content:"✓";color:#fff;border-color:currentColor}
.ht-day:has(input:focus-visible){outline:3px solid #f2783c;outline-offset:2px}
.ht-review{display:grid;gap:6px;max-width:680px;margin-top:16px;font-size:13px;font-weight:700;color:#172033}
.ht-review textarea{width:100%;min-height:64px;border:1.5px solid #ddd3c4;border-radius:12px;background:#fff;color:#172033;padding:10px 12px;font:inherit;font-weight:400;resize:vertical}
.ht-print-foot{display:none}
.ht-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:16px}
.ht-actions .button{margin-top:0;width:auto}
.ht-actions .text-button{min-height:44px;text-decoration:underline}
.ht-actions .ht-remove{margin-left:auto;color:#a4461f}
.ht-note{max-width:760px}
.ht-note a{color:#1550b8}
.cg-own{margin-top:22px;padding-top:18px;border-top:1px dashed #ddd3c4}
.cg-progress,.rc-progress{margin:0 0 8px;font-size:14px;font-weight:700;color:#1550b8}
.cg-calendar li{position:relative;display:block;padding:0}
.cg-calendar label{display:grid;align-content:start;gap:2px;min-height:56px;height:100%;padding:8px 6px;border-radius:9px;cursor:pointer}
.cg-calendar input{position:absolute;top:7px;right:6px;width:18px;height:18px;margin:0;accent-color:#1550b8;cursor:pointer}
.cg-calendar li.is-done{background:#e7f0ff;border-color:#1550b8}
.cg-calendar li:has(input:focus-visible){outline:3px solid #f2783c;outline-offset:2px}
.smart-form-head{display:flex;justify-content:space-between;align-items:baseline;gap:4px 12px;flex-wrap:wrap}
.smart-form-head .text-button{min-height:44px;font-size:14px;text-decoration:underline}
.smart-milestones{list-style:none;margin:6px 0 14px;padding:0;display:grid;gap:8px}
.smart-milestones label{display:grid;grid-template-columns:86px minmax(0,1fr);gap:10px;align-items:center}
.smart-milestones label>span{font-size:14px;font-weight:700;color:#1550b8}
.smart-milestones input{width:100%;min-width:0;min-height:44px;border:1.5px solid #ddd3c4;border-radius:10px;background:#fffdf8;color:#172033;padding:8px 12px;font:inherit;font-size:15px}
.smart-milestones input:focus,.rc-title:focus{border-color:#1550b8;outline:none}
.print-blank-sheet{display:none}
.rc-list li{grid-template-columns:24px minmax(0,1fr);row-gap:2px}
.rc-list input[type="checkbox"]{width:22px;height:22px;margin:0;accent-color:#1550b8;cursor:pointer}
.rc-list .rc-prompt{cursor:pointer}
.rc-list li.is-done{background:#f3f8ff;border-color:#b9cdf0}
.rc-title{grid-column:2;width:100%;min-width:0;min-height:40px;border:0;border-bottom:1.5px solid #ddd3c4;background:transparent;color:#172033;padding:4px 2px;font:inherit;font-size:15px}
.rc-bingo{list-style:none;margin:10px 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.rc-bingo li{position:relative;min-height:112px;border:1.5px solid #ddd3c4;border-radius:10px;background:#fff}
.rc-bingo label{display:flex;flex-direction:column;justify-content:center;gap:4px;height:100%;padding:22px 6px 8px;text-align:center;font-size:13px;font-weight:600;line-height:1.25;color:#172033;cursor:pointer}
.rc-bingo input{position:absolute;top:6px;right:6px;width:18px;height:18px;margin:0;accent-color:#1550b8;cursor:pointer}
.rc-bingo small{font-size:11px;font-weight:700;color:#1550b8;overflow-wrap:anywhere}
.rc-bingo li.is-free{background:#fff0d5;border-color:#e4632e}
.rc-bingo li.is-done{background:#e7f0ff;border-color:#1550b8}
.rc-bingo li:has(input:focus-visible){outline:3px solid #f2783c;outline-offset:2px}
@media(max-width:860px){.tool-app[data-challenge] [data-challenge-output]{order:-1}}
@media(max-width:600px){
.ht-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.ht-field-name{grid-column:1/-1}
.ht-sheet{padding:14px 12px;border-radius:18px}
.ht-sheet-head h2{font-size:24px}
.ht-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.ht-day{min-height:56px;padding:6px;border-radius:10px}
.ht-num{font-size:16px}
.ht-day small{font-size:10.5px}
.ht-day::after{top:5px;right:5px;width:13px;height:13px;border-width:1.5px;border-radius:4px;font-size:10px}
.ht-actions .button{flex:1 1 100%}
.ht-actions .ht-remove{margin-left:0}
.tool-app[data-challenge] .tool-output,.tool-app[data-smart] .tool-output,.tool-app[data-rchallenge] .tool-output{padding:18px 12px;border-radius:18px}
.cg-calendar{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}
.cg-calendar input{top:5px;right:4px;width:16px;height:16px}
.smart-milestones label{grid-template-columns:1fr;gap:4px}
.rc-bingo{grid-template-columns:repeat(5,minmax(96px,1fr));overflow-x:auto;padding-bottom:6px}
.rc-bingo label{font-size:12px}
}
@media print{
.ht-habits,.ht-fields,.ht-actions,.ht-note,.ht-stats,.tracker-explainer{display:none!important}
.ht-app{margin:0}
.ht-sheet{border:0;border-radius:0;padding:0;background:#fff}
.ht-sheet-head{margin-bottom:12px}
.ht-sheet-head h2{font-size:30px}
.ht-cue{font-size:15px;color:#333}
.ht-grid{gap:6px}
.ht-day{min-height:104px;border-color:#999;break-inside:avoid}
.ht-day.is-today{border-color:#999;box-shadow:none}
.ht-day.is-done,.ht-day:has(input:checked),.cg-calendar li.is-done,.rc-bingo li.is-free,.rc-bingo li.is-done{print-color-adjust:exact;-webkit-print-color-adjust:exact}
.ht-day::after{width:20px;height:20px;border-color:#777}
.ht-review textarea{min-height:80px;border:1px solid #999;resize:none}
.ht-review textarea::placeholder{color:transparent}
.ht-print-foot{display:block;margin:8px 0 0;font-size:10px;color:#666;text-align:right}
.cg-progress,.rc-progress{display:none}
.cg-calendar label{min-height:112px}
.smart-milestones label{grid-template-columns:86px 1fr}
.smart-milestones input{min-height:0;border:0;border-bottom:1px solid #999;border-radius:0;background:none;padding:4px 0}
body.print-blank .tool-app>*:not(.print-blank-sheet){display:none!important}
body.print-blank .print-blank-sheet{display:block}
.print-blank-sheet h2{font:600 28px/1.1 'Fraunces','Fraunces Fallback',Georgia,serif;margin:0 0 12px}
.print-blank-sheet h3{font:700 15px/1.2 'Fraunces','Fraunces Fallback',Georgia,serif;margin:16px 0 4px}
.blank-intro{margin:0 0 10px;font-size:13px;color:#333}
.blank-lines{margin:0}
.blank-lines div{display:grid;grid-template-columns:44% 1fr;gap:10px;align-items:end;min-height:36px;border-bottom:1px solid #999}
.blank-lines dt{padding-bottom:4px;font-size:12px}
.blank-lines dd{margin:0}
.blank-rule{height:30px;border-bottom:1px solid #999}
.blank-fill{margin:0;font-size:13px;line-height:2.3}
.blank-milestones{margin:0;padding-left:20px}
.blank-milestones li{height:32px;padding-top:12px;border-bottom:1px solid #999;font-size:13px}
.blank-table{width:100%}
.blank-table th,.blank-table td{border:1px solid #999}
.blank-table td{height:28px}
.blank-foot{margin:10px 0 0;font-size:10px;color:#666;text-align:right}
.stack-blank-list{margin:0;padding-left:22px}
.stack-blank-list li{margin-bottom:16px;break-inside:avoid}
.stack-blank-list p{display:flex;align-items:flex-end;gap:8px;min-height:34px;margin:0;font-size:15px}
.stack-blank-list .stack-blank-small{min-height:30px;font-size:12px;color:#444}
.blank-fill-line{flex:1;min-width:60px;border-bottom:1px solid #999}
.rc-list:not([hidden]){display:block;columns:2;column-gap:18px}
.rc-list li{display:grid;grid-template-columns:14px minmax(0,1.35fr) minmax(0,1fr);gap:0 6px;align-items:end;padding:3px 0;border:0;border-bottom:1px solid #ccc;border-radius:0;background:none;font-size:10.5px;line-height:1.25;break-inside:avoid}
.rc-list input[type="checkbox"]{width:12px;height:12px;align-self:start}
.rc-list .rc-prompt{font-weight:600}
.rc-title{grid-column:auto;min-height:0;height:16px;padding:0;border-bottom:1px dotted #999;font-size:10.5px}
.rc-title::placeholder{color:transparent}
.rc-bingo{grid-template-columns:repeat(5,1fr);gap:0;overflow:visible;border:2px solid #172033}
.rc-bingo li{min-height:0;height:132px;border:1px solid #777;border-radius:0;break-inside:avoid}
.rc-bingo label{font-size:12.5px}
.rc-bingo-note{display:block}
}
/* ---- Daily routine planner and weekly meal planner (editable schedule, weekly grid) ---- */
.daily-app{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.daily-presets{margin:12px 0 2px}
.daily-presets .chip,.meal-filters .chip{min-height:44px}
.daily-setup .build-field input{min-height:48px}
.daily-reset{margin-top:6px;min-height:44px;padding:0 2px}
.daily-totals{margin:6px 0 0;font-size:15px;font-weight:600;color:#3b4456;line-height:1.5}
.daily-timeline{gap:5px}
.daily-app .daily-timeline .day-block{grid-template-columns:128px minmax(0,1fr) auto;align-items:center;padding:6px 6px 6px 12px;min-height:52px;border-left:6px solid #1550b8}
.daily-app .daily-timeline .day-block.is-anchor{background:#f6f1e8;border-left:6px solid #172033;min-height:44px}
.daily-app .daily-timeline .day-block.is-free{background:#fffdf8;border-left:6px dashed #c9d6ea}
.daily-timeline .day-block.cat-work{border-left-color:#8a96a6}.daily-timeline .day-block.cat-focus{border-left-color:#1550b8}.daily-timeline .day-block.cat-meal{border-left-color:#e4632e}.daily-timeline .day-block.cat-move{border-left-color:#3f8f5a}.daily-timeline .day-block.cat-home{border-left-color:#c98a12}.daily-timeline .day-block.cat-self{border-left-color:#7a45b2}.daily-timeline .day-block.cat-travel{border-left-color:#2b8a92}
.daily-timeline .day-block.is-overlap{background:#fff1e8;border-top-color:#f2b08f;border-right-color:#f2b08f;border-bottom-color:#f2b08f}
.day-name{display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere;line-height:1.35}
.day-name strong{font-weight:600}
.day-name small{font-size:13px;color:#5b6475}
.day-name .day-warn{color:#b23c17;font-weight:700}
.day-edit{min-width:58px;min-height:44px;padding:0 12px;border:1.5px solid #ddd3c4;border-radius:10px;background:#fffdf8;color:#1550b8;font-weight:700;cursor:pointer}
.day-edit:hover{border-color:#1550b8}
.day-edit:focus-visible,.meal-input:focus-visible,.meal-ing:focus-visible{outline:3px solid #f7a87c;outline-offset:1px}
.day-block.is-free .day-edit{border-style:dashed}
.day-editor{padding:12px 14px 14px;border-radius:14px;border:2px solid #1550b8;background:#fff}
.day-edit-form .build-field{margin-top:10px}
.day-edit-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.day-edit-form select{width:100%;min-height:48px;font:inherit;font-weight:400;padding:10px 12px;border:1.5px solid #ddd3c4;border-radius:12px;background:#fffdf8;color:#172033}
.day-edit-form input{min-height:48px}
.day-edit-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px}
.day-edit-actions .button{margin:0}
.day-delete{margin-left:auto;min-height:44px;color:#b23c17}
.daily-add{width:100%;margin-top:8px}
.daily-actions{margin-top:12px}
.daily-actions .button{flex:1 1 130px;margin:0;padding:0 14px}
.daily-habit-link{display:inline-block;margin-top:14px;color:#1550b8;font-weight:700;text-underline-offset:3px}
@media(max-width:860px){.daily-app{grid-template-columns:1fr}}
@media(max-width:640px){.daily-setup{padding:18px 16px}.daily-setup h2{font-size:21px}.daily-presets{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:10px -16px 0;padding:0 16px 4px}.daily-presets::-webkit-scrollbar{display:none}.daily-presets .chip{flex:none}.daily-anchors{grid-template-columns:repeat(2,minmax(0,1fr))}.daily-setup .build-field{margin-top:12px}.daily-output{padding:18px 12px}}
@media(max-width:640px){.daily-app .daily-timeline .day-block{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"time edit" "name edit";column-gap:10px;row-gap:1px}.daily-timeline .day-time{grid-area:time}.daily-timeline .day-name{grid-area:name}.daily-timeline .day-edit{grid-area:edit}.day-edit-row{grid-template-columns:repeat(2,minmax(0,1fr))}.day-edit-row>:last-child{grid-column:1/-1}.day-delete{margin-left:0}}
@media print{.daily-app .day-edit,.daily-add,.daily-actions,[data-daily-status],.daily-habit-link,.day-editor{display:none!important}.daily-timeline{gap:3px}.daily-app .daily-timeline .day-block{grid-template-columns:150px 1fr;min-height:0;padding:4px 10px;font-size:13px;break-inside:avoid}.daily-app .tool-output-head h2{font-size:28px}.daily-totals{font-size:12px}}
.meal-app{grid-template-columns:minmax(0,1.65fr) minmax(250px,1fr)}
.meal-planner{min-width:0}
.meal-top{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}
.meal-top h2{margin:0}
.meal-weekof{margin-top:0;font-size:14px}
.meal-weekof input{min-height:44px;padding:8px 12px}
.meal-planner .meal-show{margin-top:12px}
.meal-show .choice span{min-height:44px;min-width:0;padding:8px 16px}
.meal-fill{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-top:14px}
.meal-planner .meal-fill .button{margin:0}
.meal-cook{margin-top:0;font-size:14px}
.meal-cook select{min-height:49px}
.meal-filters{margin:12px 0 4px}
.meal-hint{margin-top:8px}
.meal-grid{margin-top:12px;display:grid;gap:6px}
.meal-row{display:grid;grid-template-columns:100px repeat(var(--meal-cols,1),minmax(0,1fr));gap:8px;align-items:start}
.meal-head span{font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#ee5d2b}
.meal-day{padding-top:6px;border-top:1px solid #eee4d5}
.meal-day-name{margin:12px 0 0;font:700 17px/1.2 'Fraunces','Fraunces Fallback',Georgia,serif}
.meal-cell{min-width:0}
.meal-cell-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.meal-input,.meal-ing{width:100%;min-height:46px;padding:10px 12px;border:1.5px solid #ddd3c4;border-radius:12px;background:#fffdf8;color:#172033;font:inherit}
.meal-input:focus,.meal-ing:focus{border-color:#1550b8}
.meal-ing{margin-top:6px;min-height:44px;font-size:14px}
.meal-cell-meta{margin:3px 2px 0;font-size:13px;line-height:1.4;color:#5b6475}
.meal-cell-meta:empty{display:none}
.meal-cell-meta a{color:#1550b8;font-weight:700;text-underline-offset:2px}
.meal-ing-toggle{padding:4px 0;font-size:13px}
.meal-browse{margin-top:16px;padding:0 14px;border:1px solid #eee4d5;border-radius:14px;background:#fffdf8}
.meal-browse summary{min-height:48px;display:flex;align-items:center;font-weight:700;color:#12367f;cursor:pointer}
.meal-browse-list{list-style:none;padding:0;margin:6px 0 14px;max-height:340px;overflow:auto}
.meal-browse-list li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-top:1px solid #f1ece3}
.meal-browse-list span{display:flex;flex-direction:column;min-width:0}
.meal-browse-list small{color:#5b6475}
.meal-planner .meal-browse-list .button{min-height:44px;margin:0;padding:0 16px;flex:none}
.meal-actions{margin-top:16px}
.meal-planner .meal-actions .button{margin:0}
.meal-actions .text-button{min-height:44px}
.meal-shop{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto}
.meal-list h3{margin:16px 0 6px;font-size:14px;letter-spacing:1px;text-transform:uppercase;color:#ee5d2b}
.meal-list label{display:flex;gap:10px;align-items:flex-start;padding:5px 0;line-height:1.4;cursor:pointer}
.meal-list input{width:20px;height:20px;flex:none;margin:1px 0 0}
.meal-list input:checked+span{text-decoration:line-through;color:#8a96a6}
.meal-print{display:none}
.meal-shop .text-button{min-height:44px}
@media(min-width:901px){.meal-app[data-cols="3"],.meal-app[data-cols="4"]{grid-template-columns:1fr}.meal-app[data-cols="3"] .meal-shop,.meal-app[data-cols="4"] .meal-shop{position:static;max-height:none}.meal-app[data-cols="3"] .meal-list,.meal-app[data-cols="4"] .meal-list{columns:3;column-gap:28px}.meal-list h3{break-after:avoid}.meal-list li{break-inside:avoid}}
@media(max-width:900px){.meal-app{grid-template-columns:1fr}.meal-shop{position:static;max-height:none}.meal-head{display:none}.meal-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:6px 10px}.meal-day{padding:4px 0 10px}.meal-day-name{grid-column:1/-1;margin:8px 0 2px}.meal-cell-label{position:static;width:auto;height:auto;overflow:visible;clip:auto;display:block;margin:0 0 4px;font-size:13px;font-weight:700;color:#3b4456}}
@media(max-width:900px){.meal-ing-toggle{min-height:44px}}
@media(max-width:560px){.meal-planner{padding:18px 14px}.meal-filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-left:-14px;margin-right:-14px;padding:0 14px 4px}.meal-filters::-webkit-scrollbar{display:none}.meal-filters .chip{flex:none}.meal-top{flex-wrap:nowrap}.meal-weekof input{width:150px}.meal-row{grid-template-columns:minmax(0,1fr)}.meal-planner .meal-fill .button,.meal-cook{width:100%}.meal-planner .meal-actions .button{flex:1 1 100%}.meal-show .choice span{padding:8px 12px}}
@media print{.meal-app>:not(.meal-print){display:none!important}.meal-print{display:block!important}.meal-print-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.meal-print-head h2{font:700 26px/1.1 'Fraunces','Fraunces Fallback',Georgia,serif;margin:0}.meal-print-head p{margin:0;font-size:13px}.meal-print-table{width:100%;border-collapse:collapse;table-layout:fixed;margin:10px 0 14px;font-size:12px}.meal-print-table th,.meal-print-table td{border:1px solid #999;padding:5px 6px;text-align:left;vertical-align:top;height:42px;overflow-wrap:anywhere}.meal-print-table thead th{height:auto}.meal-print-table thead th:first-child{width:92px}.meal-print-table.is-blank td{height:68px}.meal-print h3{font:700 17px/1.2 'Fraunces','Fraunces Fallback',Georgia,serif;margin:0 0 6px}.meal-print-list{columns:3;column-gap:18px;font-size:11px}.meal-print-section{break-inside:avoid;margin-bottom:6px}.meal-print-list h4{margin:0 0 2px;font-size:10px;letter-spacing:1px;text-transform:uppercase}.meal-print-list ul{list-style:none;padding:0;margin:0}.meal-print-list li{padding:1px 0}.meal-print-list li::before{content:"\25A1  "}.meal-print-list ul.is-blank li{height:24px;border-bottom:1px solid #999}.meal-print-list ul.is-blank li::before{content:none}.meal-print-foot{margin:10px 0 0;font-size:10px;text-align:right}}
/* Kids morning + bedtime routine charts, chore chart, morning routine generator: editable steps, cards, ink saver */
.chart-app{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);grid-template-rows:auto 1fr;grid-template-areas:"settings output" "steps output"}
.chart-app .chart-settings{grid-area:settings}
.chart-app .tool-output{grid-area:output}
.chart-app .chart-steps{grid-area:steps}
.chart-app .chart-steps h2{margin-bottom:2px}
.chart-app .chart-settings>.button{margin-top:12px}
.kit-toggle{margin-top:16px}
.kit-status{min-height:1.4em;margin:6px 0 0}
.kit-status:empty{min-height:0;margin:0}
.kit-steps{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}
.kit-step{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;padding:6px;border:1px solid #eee4d5;border-radius:14px;background:#fffdf8}
.kit-step-main{display:flex;align-items:center;gap:8px;flex:1 1 180px;min-width:0}
.kit-step-icon{flex:none;width:44px;height:44px;border:1.5px solid #ddd3c4;border-radius:12px;background:#fff;font-size:24px;line-height:1;padding:0;cursor:pointer}
.kit-step-icon[aria-expanded="true"]{border-color:#1550b8;box-shadow:inset 0 0 0 1px #1550b8}
.tool-app input.kit-step-label{flex:1 1 auto;width:auto;min-width:0;height:44px;padding:0 10px;border:1.5px solid transparent;border-radius:10px;background:transparent;font:inherit;font-weight:600;color:#172033}
.tool-app input.kit-step-label:hover{border-color:#ddd3c4}
.tool-app input.kit-step-label:focus{border-color:#1550b8;background:#fff;outline:none}
.kit-step-tools{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px;margin-left:auto}
.kit-mini{width:44px;height:44px;border:0;border-radius:10px;background:#e7f0ff;color:#12367f;font-size:18px;font-weight:700;line-height:1;padding:0;cursor:pointer}
.kit-mini:disabled{opacity:.35;cursor:default}
.kit-remove{background:#fff0e8;color:#b8431a}
.tool-app .kit-step-tools input.kit-step-time{width:112px;height:44px;padding:0 8px;border:1.5px solid #ddd3c4;border-radius:10px;background:#fff;font:inherit;font-size:15px;color:#172033}
.kit-points{display:inline-flex;align-items:center;gap:4px;font-size:14px;font-weight:700;color:#526170}
.tool-app .kit-points input.kit-step-points{width:60px;height:44px;padding:0 6px;border:1.5px solid #ddd3c4;border-radius:10px;background:#fff;font:inherit;color:#172033;text-align:center}
.kit-icons{flex-basis:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:4px;padding:4px 0 2px}
.kit-icon{height:44px;border:1.5px solid #ddd3c4;border-radius:10px;background:#fff;font-size:22px;line-height:1;padding:0;cursor:pointer}
.kit-icon[aria-pressed="true"]{border-color:#1550b8;background:#e7f0ff;box-shadow:inset 0 0 0 1px #1550b8}
.kit-step-icon:focus-visible,.kit-mini:focus-visible,.kit-icon:focus-visible,.kit-chip:focus-visible,.kit-ideas summary:focus-visible,.text-button:focus-visible{outline:3px solid #f2783c;outline-offset:2px}
.kit-ideas{margin-top:12px;border-top:1px solid #eee4d5;padding-top:4px}
.kit-ideas summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:700;color:#1550b8}
.kit-chips{display:flex;flex-wrap:wrap;gap:8px;padding:4px 0 8px}
.kit-chip{min-height:44px;padding:8px 12px;border:1.5px dashed #c9d6ea;border-radius:12px;background:#fff;font:inherit;font-size:14px;font-weight:600;color:#12367f;text-align:left;cursor:pointer}
.kit-chip:hover{border-style:solid;border-color:#1550b8}
.kit-add{margin-top:14px;padding:14px;border-radius:16px;background:#fff7ea;border:1px solid #f0ddbd}
.kit-add h3{font:700 18px/1.2 'Fraunces','Fraunces Fallback',Georgia,serif;margin:0}
.kit-add-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
.kit-add-row .build-field{margin-top:10px}
.tool-app .kit-add .kit-add-time input{width:130px}
.kit-add-legend{font-weight:600;margin:12px 0 0}
.tool-app .kit-add .button{margin-top:12px}
.kit-add-own{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;margin-top:4px}
.kit-add-own .build-field{margin-top:6px}
.tool-app .kit-add-own .button{margin:0;padding:0 16px}
.chores-person{min-width:0}.chores-person .kit-steps{margin-top:14px}
.kids-time{font:700 .8em/1 'DM Sans','DM Sans Fallback',sans-serif;color:#1550b8;margin-right:4px;white-space:nowrap}
.kids-sheet:not(.is-bw) .kids-list li:nth-child(6n+1),.kids-sheet:not(.is-bw) .kids-card:nth-child(6n+1){background:#e7f0ff;border-color:#d3e2fb}
.kids-sheet:not(.is-bw) .kids-list li:nth-child(6n+2),.kids-sheet:not(.is-bw) .kids-card:nth-child(6n+2){background:#fff0d5;border-color:#f0ddbd}
.kids-sheet:not(.is-bw) .kids-list li:nth-child(6n+3),.kids-sheet:not(.is-bw) .kids-card:nth-child(6n+3){background:#edf5c6;border-color:#dce8a8}
.kids-sheet:not(.is-bw) .kids-list li:nth-child(6n+4),.kids-sheet:not(.is-bw) .kids-card:nth-child(6n+4){background:#f4e8ff;border-color:#e1d1f3}
.kids-sheet:not(.is-bw) .kids-list li:nth-child(6n+5),.kids-sheet:not(.is-bw) .kids-card:nth-child(6n+5){background:#ffe8d9;border-color:#f5d0b8}
.kids-sheet:not(.is-bw) .kids-list li:nth-child(6n+6),.kids-sheet:not(.is-bw) .kids-card:nth-child(6n+6){background:#daf3e8;border-color:#c7e5d7}
.kids-cards{display:grid;gap:10px;margin-top:14px}
.kids-card-page{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.kids-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:150px;padding:22px 10px 14px;border:2px dashed #b9ab94;border-radius:16px;background:#fff;text-align:center}
.kids-card .kids-icon{font-size:52px}
.kids-card .kids-label{font-size:18px}
.kids-card-num{position:absolute;top:8px;left:12px;font-size:13px;font-weight:700;color:#e4632e}
.kids-sheet.is-bw .kids-icon,.chores-sheet.is-bw .kids-icon{filter:grayscale(1)}
.kids-sheet.is-bw .kids-list li,.kids-sheet.is-bw .kids-card{background:#fff;border-color:#222}
.kids-sheet.is-bw .kids-box,.kids-sheet.is-bw .kids-week td.kids-box::after,.chores-sheet.is-bw .kids-week td.kids-box::after{border-color:#111}
.kids-sheet.is-bw .kids-time,.kids-sheet.is-bw .kids-card-num{color:#111}
.chores-pts{margin-left:auto;padding:2px 8px;border-radius:999px;background:#fff0d5;font:700 13px/1.4 'DM Sans','DM Sans Fallback',sans-serif;color:#8a4a12;white-space:nowrap}
.chores-reward{margin:14px 0 0;padding:12px 16px;border-radius:14px;background:#fff0d5;font:700 20px/1.3 'Fraunces','Fraunces Fallback',Georgia,serif;color:#172033;text-align:center}
.chores-sheet.is-bw .chores-pts,.chores-sheet.is-bw .chores-reward{background:#fff;color:#111;border:1.5px solid #111}
.chores-sheet.is-bw .chores-person-row th{background:#eee}
.routine-tools{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:10px}
.tool-output .routine-tools .button{min-height:44px;padding:0 16px}
.routine-list.is-editing li{grid-template-columns:22px 70px minmax(0,1fr);align-items:center}
.routine-list.is-editing .routine-text{display:none}
.routine-edit{grid-column:3;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.tool-app .routine-edit input.kit-step-label{flex:1 1 160px;border-color:#ddd3c4;background:#fffdf8}
.routine-saved{font-size:13px}
@media(max-width:860px){.chart-app{grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-template-areas:"settings" "output" "steps"}}
@media(max-width:520px){.chart-app .tool-form,.chart-app .tool-output,[data-morning] .tool-output{padding:18px 16px}.kids-card{min-height:124px}.kids-card .kids-icon{font-size:42px}.kids-card .kids-label{font-size:16px}.routine-list.is-editing li{grid-template-columns:20px minmax(0,1fr)}.routine-edit{grid-column:1/-1}.kit-add-row,.kit-add-own{grid-template-columns:minmax(0,1fr)}.tool-app .kit-add .kit-add-time input{width:100%}.tool-app .kit-add-own .button{width:100%}.chores-reward{font-size:18px}}
@media print{.chart-app{display:block}.chart-app .chart-steps,.kit-status,.routine-tools,.routine-add,.routine-saved,.routine-edit{display:none!important}.routine-list.is-editing .routine-text{display:inline!important}.routine-list.is-editing li{grid-template-columns:22px 78px 1fr}.kids-list li,.kids-card,.kids-time,.chores-pts,.chores-reward{print-color-adjust:exact;-webkit-print-color-adjust:exact}.kids-sheet.is-long .kids-list{gap:4px}.kids-sheet.is-long .kids-list li{padding:6px 14px}.kids-sheet.is-long .kids-label{font-size:19px}.kids-sheet.is-long .kids-icon{font-size:28px}.kids-cards{display:block;margin-top:6px}.kids-card-page{gap:4mm;break-after:page}.kids-card-page:last-child{break-after:auto}.kids-card{min-height:0;height:72mm;break-inside:avoid;border-width:2px}.kids-card .kids-icon{font-size:84px}.kids-card .kids-label{font-size:26px}.tool-app[data-kids] .kids-sheet.is-cards .tool-output-head h2{font-size:18px}.chores-reward{font-size:22px}}
.chart-app .text-button,.routine-tools .text-button{min-height:44px}
@media(max-width:520px){.kit-step-tools{flex-wrap:nowrap;width:100%;margin-left:0}.tool-app .kit-step-tools input.kit-step-time{flex:1 1 auto;width:auto;min-width:0}.kit-points{flex:1 1 auto;justify-content:flex-start;min-width:0}.tool-app .kit-points input.kit-step-points{width:52px}.routine-list li{padding:10px}}
@media print{.chart-app,.tool-app[data-morning]{page:dh-letter}}
@page dh-letter{size:letter portrait;margin:12mm}
.kids-week td.kids-box,.kids-week tbody th{display:table-cell;vertical-align:middle}
.kids-week tbody th .kids-icon{display:inline-block;vertical-align:middle;margin-right:8px}
.kids-week tbody th .kids-label,.kids-week tbody th>span:not(.kids-icon):not(.chores-pts){vertical-align:middle}
.kids-week .chores-pts{display:inline-block;margin-left:8px;vertical-align:middle}
/* Chart tools on phones: the finished chart and its Print button come first, editing follows */
@media(max-width:860px){.tool-app.chart-app[data-chores]{display:flex;flex-direction:column}.tool-app.chart-app[data-chores]>.tool-output{order:-1}}
/* Meal planner on tablets and phones: each meal box uses the full width of its day */
@media(max-width:900px){.meal-row{grid-template-columns:repeat(var(--meal-cols,1),minmax(0,1fr))}}
@media(max-width:560px){.meal-row{grid-template-columns:minmax(0,1fr)}}
html[data-theme="dark"] .vm-size-card[aria-pressed="true"],html[data-theme="dark"] .vm-style-card:has(input:checked){border-color:#6f9cf0;background:#1d2b45;box-shadow:inset 0 0 0 1px #6f9cf0}
html[data-theme="dark"] .vm-size-shape{border-color:#88aef1;background:#1d2b45}
html[data-theme="dark"] .vm-swatch[aria-pressed="true"]{outline-color:#88aef1}
html[data-theme="dark"] .vm-fit .chip[aria-pressed="true"]{background:#3b6fd8;border-color:#3b6fd8;color:#fff}
html[data-theme="dark"] .vm-tabs button[aria-pressed="true"]{border-color:#6f9cf0}
/* Tool upgrades: Pomodoro timer, meditation timer, sleep calculator, screen time calculator, Eisenhower matrix, journal prompt finder, reading log */
[data-pomodoro] .text-button,[data-eisen] .text-button,[data-prompts] .text-button,[data-reading] .text-button{min-height:44px;display:inline-flex;align-items:center}
.pomodoro-modes button{min-height:44px}
.pomo-current{margin:4px auto 12px;max-width:360px;font-size:15px;line-height:1.4;color:#5b6475;overflow-wrap:anywhere}
.pomo-current.has-task{color:#172033;font-weight:700}
.pomo-today{margin:10px 0 0;font-size:14px;font-weight:700;color:#12367f}
.pomo-alerts{margin-top:16px;padding-top:14px;border-top:1px solid #eee4d5;display:grid;justify-items:center;gap:2px}
.pomo-small{min-height:44px;padding:0 16px;font-size:14px}
.pomo-side{display:grid;gap:22px;min-width:0}
.pomo-side h3{font:700 22px/1.2 'Fraunces','Fraunces Fallback',Georgia,serif;margin:0 0 10px}
.pomo-add{display:flex;gap:8px}
.pomo-add input{flex:1;min-width:0;min-height:46px;padding:0 14px;border:1.5px solid #ddd3c4;border-radius:12px;background:#fffdf8;color:#172033;font:inherit}
.pomo-add input:focus{border-color:#1550b8;outline:none}
.tool-form .pomo-add .button{margin-top:0;min-height:46px;padding:0 18px}
.pomo-tasks{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:6px}
.pomo-tasks:empty{display:none}
.pomo-task{display:flex;align-items:center;gap:4px;padding:0 0 0 12px;border:1px solid #eee4d5;border-radius:12px;background:#fffdf8}
.pomo-task.is-current{border-color:#1550b8;box-shadow:inset 0 0 0 1px #1550b8;background:#f1f6ff}
.pomo-task input[type=checkbox]{flex:none;width:22px;height:22px;margin:0;accent-color:#1550b8;cursor:pointer}
.pomo-task-text{flex:1;min-width:0;min-height:44px;padding:8px;border:0;background:none;text-align:left;font:inherit;font-size:15px;line-height:1.35;color:#172033;cursor:pointer;overflow-wrap:anywhere}
.pomo-task-text small{color:#526170;font-size:13px}
.pomo-task.is-done .pomo-task-text{text-decoration:line-through;color:#8a96a6}
.pomo-task-del,.log-del,.prompt-x{flex:none;width:44px;height:44px;border:0;background:none;font-size:22px;line-height:1;color:#8a96a6;cursor:pointer;border-radius:10px}
.pomo-task-del:hover,.log-del:hover,.prompt-x:hover{color:#b3261e}
.pomo-tasks-note{text-align:left}
.pomo-checks{align-items:center;margin-top:14px}
.med-stats{margin:12px 0 0;font-size:14px;font-weight:700;color:#12367f;text-align:center}
.med-custom{max-width:280px}
.med-checks{margin-top:14px}
.med-dim{position:fixed;inset:0;z-index:1000;width:100%;height:100%;margin:0;padding:24px;border:0;border-radius:0;background:black;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;cursor:pointer;font:inherit}
.med-dim:focus{outline:none}
.med-dim-time{font:600 clamp(56px,16vw,120px)/1 'Fraunces','Fraunces Fallback',Georgia,serif;font-variant-numeric:tabular-nums;color:rgb(112,120,134)}
.med-dim.hide-time .med-dim-time{visibility:hidden}
.med-dim-hint{font-size:13px;letter-spacing:.06em;color:rgb(84,90,102)}
html.med-dimmed,html.med-dimmed body{overflow:hidden}
.tool-form .sleep-now{width:100%;margin-top:14px}
.sleep-summary{font:600 22px/1.3 'Fraunces','Fraunces Fallback',Georgia,serif;color:#172033;margin:8px 0 2px}
.sleep-table tr.is-short td,.sleep-table tr.is-short td:nth-child(2){color:#8a5a3c}
.screen-headline{font:600 clamp(20px,2.4vw,24px)/1.3 'Fraunces','Fraunces Fallback',Georgia,serif;color:#172033;margin:10px 0 4px}
.screen-life{margin:14px 0;padding:14px 16px;border-radius:14px;background:#fff3e8}
.screen-life h3{font:700 20px/1.25 'Fraunces','Fraunces Fallback',Georgia,serif;margin:0 0 6px}
.screen-life p{margin:0 0 6px;line-height:1.55}
.screen-life .tool-note,.screen-age-hint{text-align:left}
.eisen-app{grid-template-columns:minmax(0,1fr)}
.eisen-hint{text-align:left;margin:4px 0 0}
.eisen-q li.eisen-item{display:grid;grid-template-columns:40px minmax(0,1fr) 44px;align-items:center;gap:0;border:1px solid #eee4d5;border-radius:10px;background:#fffdf8}
.eisen-check{justify-self:center;width:20px;height:20px;margin:0;accent-color:#1550b8;cursor:pointer}
.eisen-text{padding:10px 2px;font-size:15px;line-height:1.35;color:#172033;overflow-wrap:anywhere}
.eisen-item.is-done .eisen-text{text-decoration:line-through;color:#8a96a6}
.eisen-more{width:44px;height:44px;border:0;background:none;border-radius:10px;font-size:20px;line-height:1;color:#526170;cursor:pointer}
.eisen-more[aria-expanded=true]{background:#e7f0ff;color:#12367f}
.eisen-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:2px 8px 10px}
.eisen-actions-label{width:100%;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#526170}
.eisen-mini{min-height:40px;padding:0 12px;border:1px solid #ddd3c4;border-radius:10px;background:#fff;font:inherit;font-size:13px;font-weight:700;color:#172033;cursor:pointer}
.eisen-to.q1{border-left:4px solid #e4632e}.eisen-to.q2{border-left:4px solid #1550b8}.eisen-to.q3{border-left:4px solid #c9a227}.eisen-to.q4{border-left:4px solid #8a96a6}
.eisen-danger{color:#b3261e;border-color:#f0c4bf}
.eisen-edit{display:flex;gap:6px;padding:6px 0;min-width:0}
.eisen-edit input{flex:1;min-width:0;padding:8px 10px;border:1.5px solid #1550b8;border-radius:8px;background:#fff;color:#172033;font:inherit;font-size:15px}
.eisen-add{display:flex;gap:6px;margin-top:8px}
.eisen-add input{flex:1;min-width:0;min-height:44px;padding:0 12px;border:1.5px dashed #ddd3c4;border-radius:10px;background:#fffdf8;color:#172033;font:inherit;font-size:15px}
.eisen-add input:focus{border-style:solid;border-color:#1550b8;outline:none}
.eisen-add-btn{flex:none;min-height:44px;padding:0 14px;border:0;border-radius:10px;background:#e7f0ff;color:#12367f;font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.eisen-line{height:30px;border-bottom:1px solid #bbbbbb}
.eisen-narrow{display:none}
.eisen-foot{display:flex;flex-wrap:wrap;gap:4px 18px}
.eisen-sorter summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font:700 19px/1.25 'Fraunces','Fraunces Fallback',Georgia,serif;color:#172033}
.eisen-sorter[open] summary{margin-bottom:4px}
.prompt-card-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.prompt-card-top .eyebrow{margin:0}
.prompt-fav{flex:none;width:44px;height:44px;border:1.5px solid #ddd3c4;border-radius:50%;background:#fff;font-size:22px;line-height:1;color:#e4632e;cursor:pointer}
.prompt-fav[aria-pressed=true]{background:#ffe8d9;border-color:#e4632e}
.prompt-filters{margin-top:16px;padding:0 14px;border:1px solid #eee4d5;border-radius:14px;background:#fff}
.prompt-filters summary{min-height:48px;display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:700;list-style:none}
.prompt-filters summary::-webkit-details-marker{display:none}
.prompt-filters summary::after{content:"▾";margin-left:auto;color:#1550b8}
.prompt-filters[open] summary::after{content:"▴"}
.prompt-filters-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#526170}
.prompt-filters fieldset{margin:4px 0 14px}
.prompt-timer{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0}
.prompt-timer-label{font-size:14px;font-weight:700;color:#526170}
.prompt-chip{min-height:44px;padding:0 14px;border:1.5px solid #ddd3c4;border-radius:999px;background:#fffdf8;font:inherit;font-size:14px;font-weight:700;color:#172033;cursor:pointer}
.prompt-chip[aria-pressed=true]{border-color:#1550b8;background:#e7f0ff;color:#12367f}
.prompt-timer-time{font:600 24px/1 'Fraunces','Fraunces Fallback',Georgia,serif;font-variant-numeric:tabular-nums;color:#12367f}
.prompt-textarea{display:block;width:100%;min-height:190px;padding:14px;border:1.5px solid #ddd3c4;border-radius:14px;background:#fffdf8;color:#172033;font:inherit;font-size:16px;line-height:1.6;resize:vertical}
.prompt-textarea:focus{border-color:#1550b8;outline:none}
.prompt-write-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px}
.tool-form .prompt-write-actions .button{margin-top:0}
.prompt-write .tool-note{text-align:left}
.prompt-saved{margin-top:14px;padding-top:6px;border-top:1px solid #eee4d5}
.prompt-saved summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:700}
.prompt-entries{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:10px}
.prompt-entries li{padding:4px 4px 12px 12px;border-radius:12px;background:#fffaf2}
.prompt-entry-head{display:flex;justify-content:space-between;align-items:center;gap:8px}
.prompt-entries em{display:block;font-size:14px;color:#5b6475;padding-right:8px}
.prompt-entries p{margin:6px 0 0;padding-right:8px;white-space:pre-wrap;line-height:1.55;font-size:15px;overflow-wrap:anywhere}
.prompt-favs{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:6px}
.prompt-favs li{display:flex;align-items:center;gap:4px}
.prompt-fav-use{flex:1;min-width:0;min-height:44px;padding:10px 12px;border:1px solid #eee4d5;border-radius:10px;background:#fffdf8;text-align:left;font:inherit;font-size:15px;line-height:1.4;color:#172033;cursor:pointer}
.reading-app{grid-template-columns:minmax(0,1fr)}
.reading-layout{border:0;padding:0;margin:12px 0 0;min-width:0}
.reading-meta{display:flex;flex-wrap:wrap;gap:10px 24px;margin:14px 0 4px}
.reading-meta label{flex:1 1 200px;display:flex;align-items:baseline;gap:8px;font-weight:700;min-width:0}
.reading-meta input{flex:1;min-width:0;min-height:40px;padding:8px 2px;border:0;border-bottom:1.5px solid #ddd3c4;border-radius:0;background:transparent;color:#172033;font:inherit;font-weight:400}
.reading-meta input:focus{border-bottom-color:#1550b8;outline:none}
.reading-meta label[data-reading-kids-only]{flex:0 1 230px}
.reading-meta label[data-reading-kids-only] input{flex:0 0 5ch}
.log-edit td{padding:4px;vertical-align:middle}
.log-edit input,.log-edit select{width:100%;min-width:0;min-height:40px;padding:6px 8px;border:1px solid transparent;border-bottom-color:#ddd3c4;border-radius:8px;background:transparent;color:#172033;font:inherit;font-size:15px}
.log-edit input:focus,.log-edit select:focus{border-color:#1550b8;background:#fff;outline:none}
.log-edit input[type=date]{min-width:128px}
.log-edit input[type=number]{max-width:96px}
.log-edit th:first-child{width:34px}
.log-edit .log-x{width:44px;padding:0}
.log-filler{display:none}
.reading-row-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:8px 0 0}
.reading-row-actions .tool-note{margin:0;text-align:left}
.reading-total{margin:10px 0 0;font-weight:700;color:#12367f}
@media screen and (max-width:820px){
.table-scroll .log-edit{min-width:0}
.log-edit thead{display:none}
.log-edit,.log-edit tbody{display:block}
.log-edit tr{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px;margin:0 0 10px;padding:10px 44px 10px 12px;border:1px solid #eee4d5;border-radius:14px;background:#fff}
.log-edit tr.log-filler{display:none}
.log-edit td{display:block;padding:0;border:0;height:auto}
.log-edit td[data-label]::before{content:attr(data-label);display:block;margin-bottom:2px;font-size:12px;font-weight:700;color:#526170}
.log-edit td.log-wide{grid-column:1/-1}
.log-edit td.log-num{display:none}
.log-edit td.log-x{position:absolute;top:2px;right:0;width:44px}
.log-edit input,.log-edit select{border-color:#ddd3c4;background:#fffdf8}
.log-edit input[type=number]{max-width:none}
.log-edit input[type=date]{min-width:0}
.log-kids td:first-child{grid-column:1/-1}
}
@media(max-width:640px){.pomo-alerts .tool-note,.med-stats{font-size:13px}.eisen-mini{min-height:44px}.prompt-card-top .eyebrow{font-size:10px}.meditation-actions .button{min-width:0;flex:1 1 120px}.pomodoro-panel .meditation-face{width:min(224px,64vw);margin:14px auto 6px}.eisen-app .tool-output-head .tool-actions{flex-wrap:wrap}.eisen-app .tool-output-head .tool-actions .button{flex:1 1 auto;width:auto;min-height:44px;padding:0 12px;font-size:13px}.prompt-filters-label{display:none}.eisen-wide{display:none}.eisen-narrow{display:inline!important}.log-edit input,.log-edit select,.reading-meta input{min-height:44px}}
@media(max-width:520px){.sleep-fields,.screen-fields{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.sleep-fields>:last-child{grid-column:1/-1}.sleep-modes,.reading-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sleep-modes .choice span,.reading-modes .choice span{min-width:0;padding:10px 8px;font-size:14px}.screen-fields .build-field{font-size:15px}}
@media print{
.eisen-add,.eisen-more,.eisen-actions,.eisen-hint,.eisen-foot,[data-eisen-status],.eisen-sorter,.eisen-empty{display:none!important}
.eisen-q li.eisen-item{grid-template-columns:24px minmax(0,1fr);border:0;background:none}
.eisen-text{padding:2px 0}
.is-blank .eisen-q ul{gap:0}
.prompt-filters,.prompt-fav{display:none!important}
.screen-life{background:none;border:1px solid #999}
.screen-age-hint{display:none}
.reading-layout,.reading-row-actions,.log-x,.log-del{display:none!important}
.log-edit .log-filler{display:table-row}
.log-edit input,.log-edit select{border:0;padding:0;min-height:0;background:none;-webkit-appearance:none;appearance:none;font-size:12px;color:#000}
.log-edit .is-empty{visibility:hidden}
.log-edit input::-webkit-calendar-picker-indicator{display:none}
.reading-meta{margin:6px 0 10px}
.reading-meta input{border-bottom:1px solid #777;padding:2px}
.log-kids td{height:24px;padding:3px 6px}
.reading-total{font-weight:400}
}
/* Sleep calculator on phones: the three inputs share a row so the answer shows in the first screen */
@media(max-width:560px){[data-sleep] .tool-row.sleep-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.sleep-fields .build-field{font-size:12px}.sleep-fields input,.sleep-fields select{padding:10px 4px;font-size:14px;min-width:0}[data-sleep] #sleep-form-title{display:none}[data-sleep] .tool-form>.tool-note{display:none}}
@media(max-width:560px){[data-sleep] .tool-output{padding:16px}[data-sleep] .tool-output-head h2{font-size:19px}[data-sleep] .tool-output-head .button{min-height:40px;padding:0 12px;font-size:13px}[data-sleep] fieldset.build-field{margin-top:4px}}
@media(max-width:560px){[data-sleep] .tool-row.sleep-fields>:last-child{grid-column:auto}[data-sleep] .tool-row.sleep-fields{align-items:end}}
@media(max-width:560px){[data-screen] .tool-form h2,[data-screen] .tool-output-head h2{font-size:20px}[data-screen] .tool-form{padding:16px}[data-screen] .tool-form>.tool-note{font-size:12px;margin-top:6px}[data-screen] .tool-output{padding:16px}[data-screen] .tool-output-head .button{min-height:40px;padding:0 12px;font-size:13px}}
.pomo-lock{margin-top:10px;padding:10px 12px;border-radius:12px;background:#f7f4ee}
.pomo-lock[hidden],.pomo-lock label[hidden]{display:none}
.pomo-lock-choice span{font-size:14px}
.pomo-lock .tool-note{font-size:12.5px;line-height:1.45}
/* Related tool cards on tool pages and guides */
.tool-cards{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.tool-card{display:flex;flex-direction:column;gap:4px;height:100%;padding:14px 16px;border:1px solid #e3dac9;border-radius:14px;background:#fff;text-decoration:none;color:#172033;transition:border-color .15s,transform .15s}
.tool-card:hover{border-color:#1550b8;transform:translateY(-1px)}
.tool-card strong{font:700 16px/1.25 'Fraunces','Fraunces Fallback',Georgia,serif}
.tool-card span{font-size:14px;line-height:1.45;color:#4b5565}
.tool-card em{margin-top:auto;padding-top:4px;font-style:normal;font-weight:700;font-size:13px;color:#1550b8}
.tool-all-link{margin:14px 0 0;font-weight:700}.tool-all-link a{color:#1550b8}
.article-tools{margin:34px 0 10px;padding:18px 18px 20px;border-radius:18px;background:#f5f1ea}
.article-tools h2{margin:0 0 4px;font-size:22px}
@media print{.article-tools,.tool-next{display:none!important}}
/* U1 Pomodoro timer: preset chips, timer faces, full-screen focus mode, shortcut hints */
.pomo-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0 0 12px}
.pomo-presets button{min-height:52px;min-width:0;padding:6px 4px;border:1.5px solid #ddd3c4;border-radius:14px;background:#fffdf8;color:#172033;display:grid;gap:2px;place-content:center;font:inherit;line-height:1.15;cursor:pointer}
.pomo-presets strong{font-size:14px}
.pomo-presets span{font-size:12.5px;color:#526170;font-variant-numeric:tabular-nums;white-space:nowrap}
.pomo-presets button:hover{border-color:#1550b8}
.pomo-presets button[aria-pressed=true]{border-color:#1550b8;background:#e7f0ff;box-shadow:inset 0 0 0 1px #1550b8}
.pomo-presets button[aria-pressed=true] span{color:#12367f}
.pomo-zen-btn{padding:0 18px;gap:8px}
.pomo-zen-btn svg{flex:none}
.pomo-faces{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:4px;margin:10px 0 0}
.pomo-faces-label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#526170;margin-right:4px}
.pomo-faces button{min-height:44px;display:inline-flex;align-items:center;gap:7px;padding:0 12px;border:1.5px solid transparent;border-radius:99px;background:none;font:inherit;font-size:14px;font-weight:600;color:#526170;cursor:pointer}
.pomo-faces button[aria-checked=true]{border-color:#ddd3c4;background:#fffdf8;color:#172033}
.pomo-faces i{width:18px;height:18px;border-radius:50%;border:4px solid #1550b8;background:#ffffff}
.pomo-faces [data-face-choice=sage] i{border-color:#2f7a55;background:#eef5ec}
.pomo-faces [data-face-choice=apricot] i{border-color:#e0662f;background:#fff3e8}
.pomo-keys{margin:6px 0 0;font-size:13px;color:#526170}
.pomo-keys kbd,.tool-content kbd{display:inline-block;min-width:22px;padding:3px 6px;border:1px solid #d8cfc0;border-bottom-width:2px;border-radius:6px;background:#fffdf8;color:#172033;font:700 12px/1.2 'DM Sans','DM Sans Fallback',sans-serif;text-align:center}
@media(hover:none){.pomo-keys{display:none}}
.pomo-plan{margin:14px 0 0;padding-top:12px;border-top:1px solid #eee4d5;font-size:14px;line-height:1.5;color:#3b4651}
.pomo-plan a{color:#1550b8;font-weight:700;text-underline-offset:3px}
.pomodoro-panel[data-face=sage]{background:#eef5ec;border-color:#d5e5d3}
.pomodoro-panel[data-face=sage] .ring-track{stroke:#d5e5d3}
.pomodoro-panel[data-face=sage] .ring-progress{stroke:#2f7a55}
.pomodoro-panel[data-face=sage] .meditation-readout strong{color:#173d2b}
.pomodoro-panel[data-face=sage] .pomodoro-modes{background:#dcebd9}
[data-pomodoro].is-break .pomodoro-panel[data-face=sage] .ring-progress{stroke:#1550b8}
.pomodoro-panel[data-face=apricot]{background:#fff3e8;border-color:#f5dcc8}
.pomodoro-panel[data-face=apricot] .ring-track{stroke:#f5dcc8}
.pomodoro-panel[data-face=apricot] .ring-progress{stroke:#e0662f}
.pomodoro-panel[data-face=apricot] .meditation-readout strong{color:#4a2412}
.pomodoro-panel[data-face=apricot] .pomodoro-modes{background:#f8e4d3}
[data-pomodoro].is-break .pomodoro-panel[data-face=apricot] .ring-progress{stroke:#2f8a5b}
html.pomo-zen-open,html.pomo-zen-open body{overflow:hidden}
.pomodoro-panel.is-zen{position:fixed;inset:0;z-index:1000;max-width:none;width:100%;height:100%;margin:0;border:0;border-radius:0;box-shadow:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:24px 16px calc(24px + env(safe-area-inset-bottom));overflow:auto}
.pomodoro-panel.is-zen[data-face=paper]{background:#fffdf8}
.pomodoro-panel.is-zen>.pomo-presets,.pomodoro-panel.is-zen>.pomodoro-modes,.pomodoro-panel.is-zen>.pomo-today,.pomodoro-panel.is-zen>.pomo-faces,.pomodoro-panel.is-zen>.pomo-keys,.pomodoro-panel.is-zen>.pomo-alerts,.pomodoro-panel.is-zen>.pomo-plan,.pomodoro-panel.is-zen [data-pomodoro-reset]{display:none}
.pomodoro-panel.is-zen .meditation-face{width:min(60vh,86vw,560px);margin:0 auto 10px}
.pomodoro-panel.is-zen .meditation-readout strong{font-size:clamp(64px,min(14vh,19vw),150px)}
.pomodoro-panel.is-zen .meditation-readout span{font-size:clamp(15px,2.2vh,20px)}
.pomodoro-panel.is-zen .pomo-current{max-width:640px;font-size:clamp(17px,2.6vh,22px)}
.pomodoro-panel.is-zen .pomo-current:not(.has-task){display:none}
.pomodoro-panel.is-zen .meditation-actions{width:min(460px,100%)}
.pomodoro-panel.is-zen .meditation-actions .button{flex:1 1 0;min-height:54px}
.pomodoro-panel.is-zen [data-pomodoro-status]{font-size:14px}
.pomo-plan a{display:inline-flex;align-items:center;min-height:44px}
@media(min-width:861px){
.tool-shell[data-tool=pomodoro-timer] .breadcrumbs{margin-bottom:28px}
.tool-shell[data-tool=pomodoro-timer] .tool-head{margin-bottom:18px}
.pomodoro-panel .meditation-face{width:216px;margin:10px auto 4px}
.pomodoro-panel .pomo-current{margin-bottom:10px}
.pomodoro-panel .meditation-readout strong{font-size:52px}
}
@media(max-width:640px){
.tool-output.pomodoro-panel{padding:18px 12px}
.pomo-presets strong{white-space:nowrap}
.pomo-presets{gap:5px;margin-bottom:10px}
.pomo-presets button{min-height:48px;border-radius:12px;padding:5px 2px}
.pomo-presets strong{font-size:12.5px}
.pomo-presets span{font-size:11.5px}
.pomodoro-panel .meditation-actions{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) 52px;gap:8px}
.pomodoro-panel .meditation-actions .button{min-width:0;width:100%;padding:0 10px}
.pomodoro-panel .meditation-actions [data-pomodoro-reset]{grid-column:1/-1;justify-self:center}
.pomodoro-panel .pomo-zen-btn{padding:0}
.pomo-zen-btn:not([aria-pressed=true]) span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.pomodoro-panel.is-zen .meditation-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
.pomodoro-panel.is-zen .meditation-face{width:min(52vh,84vw)}
}
@media(max-width:360px){.pomo-presets strong{font-size:11.5px;white-space:normal}.pomo-presets span{font-size:11px}}
/* U3 SMART goals: definition and acronym first, worksheet designs, letter-by-letter breakdown, example filter */
.smart-define{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:14px 30px;align-items:center;margin:0 0 22px;padding:20px 24px;border-radius:22px;background:#fff0d5;border:1px solid #f0ddbd}
.smart-define h2{font:700 24px/1.2 'Fraunces','Fraunces Fallback',Georgia,serif;margin:0 0 6px}
.smart-define p{margin:0;font-size:16px;line-height:1.55}
.smart-define-jump{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:#1550b8;font-weight:700;text-decoration:none}
.smart-define-jump:hover{text-decoration:underline;text-underline-offset:4px}
.smart-acronym{width:100%;border-collapse:collapse;font-size:15px}
.smart-acronym thead th{padding:0 8px 6px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#7a5a2e;text-align:left}
.smart-acronym tbody th,.smart-acronym td{padding:5px 8px;text-align:left;vertical-align:middle;border-bottom:1px solid #f0ddbd}
.smart-acronym tbody tr:last-child>*{border-bottom:0}
.smart-acronym tbody th{width:46px}
.smart-acronym td:nth-child(2){font-weight:700;white-space:nowrap}
.smart-acronym td:last-child{color:#3b4651}
.smart-letter{display:inline-grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;background:#1550b8;color:#ffffff;font:700 15px/1 'DM Sans','DM Sans Fallback',sans-serif}
.smart-acronym .smart-letter[data-letter=m],.tool-app[data-sheet=colorful] .smart-letter[data-letter=m]{background:#c9521f}
.smart-acronym .smart-letter[data-letter=a],.tool-app[data-sheet=colorful] .smart-letter[data-letter=a]{background:#2f7a55}
.smart-acronym .smart-letter[data-letter=r],.tool-app[data-sheet=colorful] .smart-letter[data-letter=r]{background:#7a45b2}
.smart-acronym .smart-letter[data-letter=t],.tool-app[data-sheet=colorful] .smart-letter[data-letter=t]{background:#9a6a06}
.tool-app[data-sheet=minimal] .smart-letter{background:none;color:#172033;border:1.5px solid #172033}
.smart-designs{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin:6px 0 8px}
.smart-designs-label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#526170;margin-right:4px}
.smart-designs button{min-height:44px;display:inline-flex;align-items:center;gap:8px;padding:0 12px 0 8px;border:1.5px solid transparent;border-radius:12px;background:none;font:inherit;font-size:14px;font-weight:600;color:#526170;cursor:pointer}
.smart-designs button[aria-checked=true]{border-color:#1550b8;background:#e7f0ff;color:#12367f}
.smart-designs i{width:22px;height:28px;border-radius:3px;border:1px solid #cfc4b2;background:#ffffff linear-gradient(#1550b8,#1550b8) 3px 5px/3px 18px no-repeat}
.smart-designs [data-sheet-choice=minimal] i{background:#ffffff linear-gradient(#9aa3ad,#9aa3ad) 4px 7px/13px 1px no-repeat,linear-gradient(#9aa3ad,#9aa3ad) 4px 13px/13px 1px no-repeat,linear-gradient(#9aa3ad,#9aa3ad) 4px 19px/13px 1px no-repeat}
.smart-designs [data-sheet-choice=colorful] i{border-color:#f0ddbd;background:#fff0d5 linear-gradient(90deg,#1550b8 0 20%,#c9521f 20% 40%,#2f7a55 40% 60%,#7a45b2 60% 80%,#9a6a06 80%) 3px 4px/15px 5px no-repeat}
.smart-breakdown{margin:6px 0 12px;display:grid}
.smart-breakdown div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:10px;align-items:center;padding:7px 0;border-bottom:1px solid #eee4d5}
.smart-breakdown dt{display:flex;align-items:center;gap:10px;font-weight:700}
.smart-breakdown dd{margin:0;overflow-wrap:anywhere}
.smart-plan-cta{margin-top:16px;padding:16px;border-radius:16px;background:#e7f0ff}
.smart-plan-cta p{margin:0 0 10px;font-size:15px;line-height:1.5;color:#12367f}
.tool-app[data-sheet=minimal] .smart-goal{font:600 20px/1.45 'DM Sans','DM Sans Fallback',sans-serif;border:0;border-top:2px solid #172033;border-bottom:1px solid #dddddd;border-radius:0;padding:14px 0;background:none}
.tool-app[data-sheet=minimal] .smart-sheet h3{font:700 12px/1.3 'DM Sans','DM Sans Fallback',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#526170}
.tool-app[data-sheet=minimal] .smart-breakdown div{border-bottom-color:#e6e6e6}
.tool-app[data-sheet=colorful] .smart-sheet{background:#fffaf2;border-color:#f0ddbd}
.tool-app[data-sheet=colorful] .smart-goal{background:#fff0d5;border-color:#f0ddbd;border-left-color:#e4632e}
.tool-app[data-sheet=colorful] .smart-sheet h3{color:#b24618}
.tool-app[data-sheet=colorful] .smart-breakdown div{border-bottom-color:#f0ddbd}
.smart-sheet .tool-output-head .text-button{min-height:44px}
.smart-filter{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 6px}
.smart-filter[hidden]{display:none}
.smart-filter .chip{min-height:44px;padding:0 16px;font:inherit;font-size:14px;font-weight:600;color:#172033}
.smart-filter .chip[aria-pressed=true]{border-color:#1550b8;background:#1550b8;color:#ffffff}
.smart-examples tr[hidden]{display:none}
@media(max-width:860px){.smart-define{grid-template-columns:1fr}.smart-define-jump{display:none}}
@media(max-width:700px){
.smart-define{gap:8px;margin:0 0 16px;padding:14px 12px 8px;border-radius:18px}
.smart-define h2{font-size:20px;margin-bottom:4px}
.smart-define p{font-size:15px;line-height:1.5}
.smart-define p,.smart-define-jump,.smart-acronym thead{display:none}
.smart-acronym{font-size:14px}
.smart-acronym tbody th{width:36px;padding:4px 6px 4px 0}
.smart-acronym td{padding:4px 6px}
.smart-acronym td:last-child{padding-right:0}
.smart-letter{width:28px;height:28px;font-size:14px}
.smart-breakdown div{grid-template-columns:1fr;gap:4px}
.smart-designs button{padding:0 8px 0 6px;gap:6px}
}
@media(max-width:360px){.smart-acronym{font-size:13px}.smart-acronym td:nth-child(2){white-space:normal}}
@media print{
.smart-define,.smart-designs,.smart-plan-cta,.smart-filter{display:none!important}
.smart-letter,.tool-app[data-sheet=colorful] .smart-goal,.tool-app[data-sheet=colorful] .tool-output-head,.tool-app[data-sheet=colorful] .print-blank-sheet .eyebrow,.tool-app[data-sheet=colorful] .blank-table th,.tool-app[data-sheet=colorful] .smart-sheet .tool-table th{print-color-adjust:exact;-webkit-print-color-adjust:exact}
.smart-breakdown div{grid-template-columns:150px 1fr;padding:5px 0;border-bottom-color:#bbb;break-inside:avoid}
.smart-letter{width:24px;height:24px;font-size:12px}
.tool-app[data-sheet=classic] .smart-letter{background:#fff;color:#172033;border:1.5px solid #172033}
.tool-app[data-sheet=minimal] .smart-sheet h2,.tool-app[data-sheet=minimal] .print-blank-sheet h2{font:700 26px/1.1 'DM Sans','DM Sans Fallback',sans-serif;letter-spacing:-.02em}
.tool-app[data-sheet=minimal] .print-blank-sheet h3{font:700 11px/1.3 'DM Sans','DM Sans Fallback',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#555;margin-top:18px}
.tool-app[data-sheet=minimal] .blank-lines div,.tool-app[data-sheet=minimal] .blank-rule,.tool-app[data-sheet=minimal] .blank-milestones li{border-bottom-color:#c8c8c8}
.tool-app[data-sheet=minimal] .blank-table th,.tool-app[data-sheet=minimal] .blank-table td{border:0;border-bottom:1px solid #c8c8c8;background:none}
.tool-app[data-sheet=minimal] .smart-sheet .tool-table th{background:none;border-bottom:1.5px solid #333}
.tool-app[data-sheet=minimal] .print-blank-sheet .eyebrow{color:#777}
.tool-app[data-sheet=colorful] .tool-output-head{background:#fff0d5;border-radius:12px;padding:10px 14px}
.tool-app[data-sheet=colorful] .smart-goal{background:#fff0d5}
.tool-app[data-sheet=colorful] .smart-sheet .tool-table th,.tool-app[data-sheet=colorful] .blank-table th{background:#e7f0ff;color:#12367f}
.tool-app[data-sheet=colorful] .print-blank-sheet .eyebrow{display:inline-block;padding:4px 10px;border-radius:99px;background:#e4632e;color:#fff}
.tool-app[data-sheet=colorful] .print-blank-sheet h2,.tool-app[data-sheet=colorful] .print-blank-sheet h3,.tool-app[data-sheet=colorful] .smart-sheet h3{color:#b24618}
.tool-app[data-sheet=colorful] .blank-lines div,.tool-app[data-sheet=colorful] .blank-rule,.tool-app[data-sheet=colorful] .blank-milestones li{border-bottom-color:#d9b98a}
.tool-app[data-sheet=colorful] .blank-table th,.tool-app[data-sheet=colorful] .blank-table td{border-color:#d9b98a}
.tool-app[data-sheet=colorful] .print-blank-sheet dt[data-letter]::before{content:attr(data-letter);display:inline-grid;place-items:center;width:18px;height:18px;margin-right:6px;border-radius:50%;background:#1550b8;color:#fff;font-size:10px;font-weight:700;print-color-adjust:exact;-webkit-print-color-adjust:exact}
.tool-app[data-sheet=colorful] .print-blank-sheet dt[data-letter=M]::before{background:#c9521f}
.tool-app[data-sheet=colorful] .print-blank-sheet dt[data-letter=A]::before{background:#2f7a55}
.tool-app[data-sheet=colorful] .print-blank-sheet dt[data-letter=R]::before{background:#7a45b2}
.tool-app[data-sheet=colorful] .print-blank-sheet dt[data-letter=T]::before{background:#9a6a06}
.smart-sheet h3 .optional,.smart-sheet [data-smart-status]{display:none}
.tool-app[data-sheet=minimal] .smart-milestones label>span{color:#333}
}
/* 2027 calendar (/calendar/<year>/): options panel, year sheet in five designs, one-page print and 12 month pages.
   The sheet is a print preview, so it keeps its paper colors in dark mode (see KEEP_SELECTORS in content/darkcss.py). */
.cal-app{display:grid;grid-template-columns:292px minmax(0,1fr);gap:22px;align-items:start;margin-bottom:46px}
.cal-controls{position:sticky;top:14px;display:grid;gap:14px;padding:18px;border-radius:20px;background:#fff;border:1px solid #eee4d5;box-shadow:0 14px 34px #17203312;min-width:0}
.cal-field{border:0;margin:0;padding:0;min-width:0}
.cal-field legend,.cal-habit-name>span{display:block;font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#526170;margin:0 0 7px;padding:0}
.cal-design-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.cal-design{position:relative;display:grid;justify-items:center;gap:4px;cursor:pointer;font-size:11.5px;font-weight:700;line-height:1.15;text-align:center;color:#3e4a56;min-width:0}
.cal-design input,.cal-seg input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.cal-swatch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:1fr 1fr;gap:3px;width:100%;height:44px;padding:5px;border-radius:10px;border:2px solid #e3dccf;box-sizing:border-box;background:#fff}
.cal-swatch i{border-radius:3px;min-width:0}
.cal-design input:checked+.cal-swatch{border-color:#1550b8;box-shadow:0 0 0 2px #1550b8}
.cal-design input:checked~.cal-design-name{color:#12367f}
.cal-design input:focus-visible+.cal-swatch,.cal-seg input:focus-visible+span{outline:3px solid #e4632e;outline-offset:2px}
.cal-swatch-warm{background:#fffdf8}.cal-swatch-warm i:nth-child(1){background:#e7f0ff}.cal-swatch-warm i:nth-child(2){background:#fff0d5}.cal-swatch-warm i:nth-child(3){background:#e4632e;border-radius:50%}
.cal-swatch-classic i{border:1px solid #9a9a9a;border-radius:0}.cal-swatch-classic i:nth-child(3){background:#fbe0e0;border-color:#b3261e}
.cal-swatch-minimal i{background:#eef1f5}.cal-swatch-minimal i:nth-child(3){background:#1550b8;border-radius:50%;transform:scale(.55)}
.cal-swatch-bold i:nth-child(1){background:#1550b8}.cal-swatch-bold i:nth-child(2){background:#e4632e}.cal-swatch-bold i:nth-child(3){background:#1f8a5b}
.cal-swatch-inksaver i{border:1.5px solid #000000;border-radius:0}
.cal-swatch i:nth-child(n+4){display:none}
.cal-swatch::after{content:"";grid-column:1/-1;border-top:2px solid #cfd6df;align-self:center}
.cal-field-row{display:grid;gap:12px}
.cal-seg{display:grid;grid-template-columns:1fr 1fr;border-radius:12px;background:#f4efe6;padding:3px;gap:3px}
.cal-seg label{position:relative;min-width:0}
.cal-seg span{display:flex;align-items:center;justify-content:center;min-height:40px;border-radius:9px;font-size:14px;font-weight:700;color:#3e4a56;cursor:pointer;text-align:center;padding:0 4px}
.cal-seg input:checked+span{background:#fff;color:#12367f;box-shadow:0 1px 4px #17203326}
.cal-seg b{font-weight:inherit}
.cal-orient{display:inline-block;flex:none;box-sizing:border-box;width:16px;height:12px;margin-right:7px;border:2px solid currentColor;border-radius:2px}
.cal-orient.is-tall{width:12px;height:16px}
@media(min-width:901px){.cal-actions{order:-2}.cal-status{order:-1}.cal-actions+.cal-status,.cal-designs{margin-top:2px}}
.cal-toggles{display:grid;gap:8px}
.cal-toggle{display:flex;gap:10px;align-items:center;min-height:44px;padding:8px 12px;border-radius:12px;background:#f4efe6;cursor:pointer;font-weight:700;font-size:14px;line-height:1.25}
.cal-toggle input{width:20px;height:20px;accent-color:#1550b8;flex:none;margin:0}
.cal-toggle small{display:block;font-weight:500;font-size:12px;color:#526170}
.cal-habit-name{display:grid;gap:0}
.cal-habit-name[hidden]{display:none}
.cal-habit-name input{font:inherit;padding:10px 12px;border:1.5px solid #ddd3c4;border-radius:12px;background:#fffdf8;min-height:44px;width:100%;box-sizing:border-box;color:#172033}
.cal-actions{display:grid;gap:8px}
.cal-actions .button{width:100%;min-height:46px;margin:0;padding:0 10px;white-space:nowrap}
.cal-image{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}
.cal-image-shape select{height:46px;border:1px solid #c9d6ea;border-radius:12px;background:#fff;font:inherit;font-size:13px;font-weight:600;padding:0 4px;color:#172033;max-width:118px}
.cal-status{margin:0;font-size:13px;line-height:1.45;color:#526170}
.cal-status:empty{display:none}
.cal-stage{min-width:0}
.cal-months-print{display:none}

/* The sheet: design tokens, then shared layout */
.cal-sheet,.cal-months-print{--bg:#fffdf8;--ink:#172033;--muted:#6b7683;--we:#b04a1f;--head:#e4632e;--off:#e4632e;--off-ink:#ffffff;--ring:#e4632e;--box:transparent;--box-bd:transparent;--radius:14px;--title:'Fraunces','Fraunces Fallback',Georgia,serif;--mname:#172033;--wefill:#fbf5ec;--line:#b9b2a6}
.cal-sheet[data-design="classic"],.cal-months-print[data-design="classic"]{--bg:#ffffff;--ink:#111111;--muted:#555555;--we:#111111;--head:#111111;--off:#fbe0e0;--off-ink:#b3261e;--ring:#b3261e;--box-bd:#b8b8b8;--radius:0;--mname:#111111;--wefill:#f1f1f1;--line:#9a9a9a}
.cal-sheet[data-design="minimal"],.cal-months-print[data-design="minimal"]{--bg:#ffffff;--ink:#20242a;--muted:#8a939d;--we:#9aa3ad;--head:#9aa3ad;--off:#1550b8;--off-ink:#ffffff;--ring:#1550b8;--radius:0;--title:'DM Sans','DM Sans Fallback',system-ui,sans-serif;--mname:#20242a;--wefill:#ffffff;--line:#d5dae0}
.cal-sheet[data-design="bold"],.cal-months-print[data-design="bold"]{--bg:#ffffff;--ink:#172033;--muted:#5b6673;--we:#172033;--off-ink:#ffffff;--radius:10px;--title:'DM Sans','DM Sans Fallback',system-ui,sans-serif;--wefill:#f6f7f9;--line:#b7bec8}
.cal-sheet[data-design="inksaver"],.cal-months-print[data-design="inksaver"]{--bg:#ffffff;--ink:#000000;--muted:#000000;--we:#000000;--head:#000000;--off:transparent;--off-ink:#000000;--ring:#000000;--box-bd:#000000;--radius:0;--mname:#000000;--wefill:#ffffff;--line:#000000}
.cal-sheet[data-design="warm"] .cal-month:nth-child(6n+1){--box:#e7f0ff}.cal-sheet[data-design="warm"] .cal-month:nth-child(6n+2){--box:#fff0d5}.cal-sheet[data-design="warm"] .cal-month:nth-child(6n+3){--box:#edf5c6}.cal-sheet[data-design="warm"] .cal-month:nth-child(6n+4){--box:#f4e8ff}.cal-sheet[data-design="warm"] .cal-month:nth-child(6n+5){--box:#ffe8d9}.cal-sheet[data-design="warm"] .cal-month:nth-child(6n){--box:#daf3e8}
.cal-sheet[data-design="bold"] .cal-month:nth-child(6n+1),.cal-months-print[data-design="bold"] .cal-mpage:nth-child(6n+1){--m:#1550b8}.cal-sheet[data-design="bold"] .cal-month:nth-child(6n+2),.cal-months-print[data-design="bold"] .cal-mpage:nth-child(6n+2){--m:#e4632e}.cal-sheet[data-design="bold"] .cal-month:nth-child(6n+3),.cal-months-print[data-design="bold"] .cal-mpage:nth-child(6n+3){--m:#1f8a5b}.cal-sheet[data-design="bold"] .cal-month:nth-child(6n+4),.cal-months-print[data-design="bold"] .cal-mpage:nth-child(6n+4){--m:#7a45b2}.cal-sheet[data-design="bold"] .cal-month:nth-child(6n+5),.cal-months-print[data-design="bold"] .cal-mpage:nth-child(6n+5){--m:#d6336c}.cal-sheet[data-design="bold"] .cal-month:nth-child(6n),.cal-months-print[data-design="bold"] .cal-mpage:nth-child(6n){--m:#0f7c8c}
.cal-sheet[data-design="bold"] .cal-month,.cal-months-print[data-design="bold"] .cal-mpage{--head:var(--m);--off:var(--m);--ring:var(--m)}

.cal-sheet{background:var(--bg);color:var(--ink);border-radius:18px;border:1px solid #eee4d5;box-shadow:0 14px 34px #17203312;padding:22px 24px 16px;print-color-adjust:exact;-webkit-print-color-adjust:exact;min-width:0}
.cal-sheet-head{display:flex;align-items:baseline;gap:6px 16px;margin:0 0 14px;flex-wrap:wrap}
.cal-sheet-year{font:700 46px/1 var(--title);margin:0;letter-spacing:-.03em;color:var(--mname,var(--ink))}
.cal-sheet[data-design="bold"] .cal-sheet-year{font-weight:800;letter-spacing:-.04em}
.cal-sheet-sub{margin:0;display:flex;gap:4px 14px;flex-wrap:wrap;align-items:center;font-size:13px;font-weight:700;color:var(--muted)}
.cal-sheet-note:empty{display:none}
.cal-sheet-note::before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--off,#e4632e);box-shadow:inset 0 0 0 1.5px var(--ring,#e4632e);margin-right:6px;vertical-align:-1px}
.cal-sheet[data-design="bold"] .cal-sheet-note::before{background:#1550b8;box-shadow:none}
.cal-sheet[data-design="classic"] .cal-sheet-note::before{border-radius:0}
.cal-sheet .cal-year-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.cal-sheet[data-orient="portrait"] .cal-year-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.cal-sheet .cal-month{background:var(--box);border:1px solid var(--box-bd);border-radius:var(--radius);padding:9px 8px 7px;min-width:0;scroll-margin-top:16px}
.cal-sheet .cal-month-name{font:600 18px/1.2 var(--title);margin:0 0 4px;color:var(--mname,var(--ink));letter-spacing:-.01em}
.cal-sheet[data-design="classic"] .cal-month-name{text-align:center;text-transform:uppercase;letter-spacing:.12em;font-size:14px;font-weight:700;border-bottom:1px solid #111111;padding-bottom:4px}
.cal-sheet[data-design="minimal"] .cal-month-name{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:800;margin-bottom:6px}
.cal-sheet[data-design="bold"] .cal-month-name{background:var(--m);color:#ffffff;font-size:16px;font-weight:800;padding:5px 9px;border-radius:8px;margin-bottom:5px}
.cal-sheet[data-design="inksaver"] .cal-month-name{text-align:center;font-size:16px}
.cal-sheet .cal-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:12.5px;text-align:center;color:var(--ink)}
.cal-sheet .cal-table th{font-size:10px;font-weight:800;color:var(--head);padding:2px 0 3px}
.cal-sheet .cal-table abbr{text-decoration:none;border:0;cursor:default}
.cal-sheet .cal-table td{padding:1px 0;height:23px;font-variant-numeric:tabular-nums;font-weight:500}
.cal-sheet[data-design="classic"] .cal-table td{border:1px solid #c4c4c4;height:22px}
.cal-sheet[data-design="classic"] .cal-table td.is-we{background:var(--wefill)}
.cal-sheet .cal-d{display:inline-grid;place-items:center;width:1.75em;height:1.75em;border-radius:50%;line-height:1}
.cal-sheet[data-design="classic"] .cal-d{border-radius:0}
.cal-sheet .cal-table td.is-we{color:var(--we)}
.cal-sheet[data-design="minimal"] .cal-table td.is-we .cal-d{font-weight:400}
.cal-sheet[data-holidays="on"] .cal-table td.is-off .cal-d{background:var(--off);color:var(--off-ink);font-weight:800}
.cal-sheet[data-holidays="on"][data-design="classic"] .cal-table td.is-off{background:var(--off)}
.cal-sheet[data-holidays="on"][data-design="inksaver"] .cal-table td.is-off .cal-d{box-shadow:inset 0 0 0 2px #000000}
.cal-sheet[data-holidays="on"] .cal-table td.is-date .cal-d{box-shadow:inset 0 0 0 1.5px var(--ring)}
.cal-sheet[data-holidays="on"][data-design="inksaver"] .cal-table td.is-date .cal-d{box-shadow:none;outline:1.5px dashed #000000;outline-offset:-2px}
.cal-sheet .cal-strip{display:none;margin-top:5px}
.cal-sheet[data-habit="on"] .cal-strip{display:block}
.cal-sheet .cal-strip-label{display:block;font-size:10px;font-weight:800;letter-spacing:.04em;color:var(--muted);margin:0 0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-sheet .cal-strip-boxes{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));gap:2px}
.cal-sheet .cal-strip-boxes i{display:block;aspect-ratio:1;border:1px solid var(--head);border-radius:2px;background:#ffffff}
.cal-sheet[data-design="minimal"] .cal-strip-boxes i{border-color:#b9c0c8}
.cal-sheet-foot{margin-top:14px;display:flex;justify-content:space-between;align-items:flex-end;gap:14px;font-size:11px;line-height:1.5;color:var(--muted)}
.cal-sheet-foot p{margin:0}
.cal-sheet-foot .cal-foot-holidays strong{color:var(--ink)}
.cal-sheet[data-holidays="off"] .cal-foot-holidays{visibility:hidden}
.cal-sheet-foot .cal-foot-credit{white-space:nowrap}

.cal-content .cal-holiday-table td:first-child{font-weight:700}
.cal-plan{margin:40px 0 0}

@media(max-width:1080px){.cal-app{grid-template-columns:260px minmax(0,1fr)}.cal-sheet .cal-year-grid,.cal-sheet[data-orient="portrait"] .cal-year-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){
  .cal-app{grid-template-columns:1fr;gap:14px}
  .cal-controls{position:static;padding:14px;gap:10px;border-radius:18px}
  .cal-field legend,.cal-habit-name>span{font-size:10.5px;margin-bottom:5px}
  .cal-swatch{height:38px}
  .cal-field-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .cal-seg span{min-height:40px;font-size:13px}
  .cal-toggles{grid-template-columns:1fr 1fr}
  .cal-habit-name{grid-column:1/-1}
  .cal-toggle{font-size:13px;padding:8px 10px}
  .cal-toggle small{display:none}
  .cal-actions{grid-template-columns:1fr 1fr}
  .cal-image{grid-column:1/-1}
}
@media(max-width:640px){
  .cal-page .tool-head-compact .tool-lede{font-size:14.5px;line-height:1.45}
  .cal-field-row{gap:6px}
  .cal-seg{padding:2px;gap:2px}
  .cal-seg span{font-size:12.5px;padding:0 2px}
  .cal-seg b{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  .cal-orient{margin:0}
  .cal-design{font-size:10.5px}
  .cal-sheet{padding:14px 10px 12px;border-radius:14px}
  .cal-sheet-year{font-size:34px}
  .cal-sheet .cal-year-grid,.cal-sheet[data-orient="portrait"] .cal-year-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .cal-sheet .cal-month{padding:7px 5px 5px}
  .cal-sheet .cal-month-name{font-size:16px}
  .cal-sheet .cal-table{font-size:11px}
  .cal-sheet .cal-table td{height:20px}
  .cal-sheet-foot{flex-direction:column;align-items:flex-start;font-size:10.5px}
}
@media(max-width:360px){.cal-sheet .cal-table{font-size:10.5px}.cal-sheet .cal-d{width:1.6em;height:1.6em}.cal-seg span{font-size:12px}.cal-actions .button{padding:0 8px;font-size:13px}}

/* Printing: named pages only (never an unscoped @page), so other pages keep their own sizes */
@page cal-letter-landscape{size:letter landscape;margin:10mm}
@page cal-letter-portrait{size:letter portrait;margin:10mm}
@page cal-a4-landscape{size:A4 landscape;margin:10mm}
@page cal-a4-portrait{size:A4 portrait;margin:10mm}
@media print{
  body:has(.cal-page)>:not(main){display:none!important}
  .cal-page{width:auto;max-width:none;margin:0;padding:0}
  .cal-page>:not(.cal-app):not(.cal-months-print){display:none!important}
  .cal-app{display:block;margin:0}
  .cal-controls{display:none!important}
  .cal-sheet{border:0;border-radius:0;box-shadow:none;padding:0;display:flex;flex-direction:column;height:var(--ph);overflow:hidden;break-inside:avoid}
  .cal-sheet[data-paper="letter"][data-orient="landscape"],.cal-months-print[data-paper="letter"][data-orient="landscape"] .cal-mpage{page:cal-letter-landscape;--ph:194mm}
  .cal-sheet[data-paper="letter"][data-orient="portrait"],.cal-months-print[data-paper="letter"][data-orient="portrait"] .cal-mpage{page:cal-letter-portrait;--ph:257mm}
  .cal-sheet[data-paper="a4"][data-orient="landscape"],.cal-months-print[data-paper="a4"][data-orient="landscape"] .cal-mpage{page:cal-a4-landscape;--ph:188mm}
  .cal-sheet[data-paper="a4"][data-orient="portrait"],.cal-months-print[data-paper="a4"][data-orient="portrait"] .cal-mpage{page:cal-a4-portrait;--ph:275mm}
  .cal-sheet-head{margin:0 0 3mm}
  .cal-sheet-year{font-size:26pt}
  .cal-sheet-sub{font-size:9pt}
  .cal-sheet .cal-year-grid,.cal-sheet[data-orient] .cal-year-grid{flex:1;min-height:0;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:3.5mm}
  .cal-sheet[data-orient="portrait"] .cal-year-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr))}
  .cal-sheet .cal-month{display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:2mm 2.5mm 1.5mm}
  .cal-sheet .cal-month-name{font-size:12pt;margin-bottom:1mm}
  .cal-sheet[data-design="classic"] .cal-month-name,.cal-sheet[data-design="minimal"] .cal-month-name{font-size:9.5pt}
  .cal-sheet[data-design="bold"] .cal-month-name{font-size:11pt;padding:1mm 2mm}
  .cal-sheet .cal-table{flex:1 1 auto;height:100%;font-size:9pt}
  .cal-sheet .cal-table th{font-size:7pt;padding:0 0 .5mm}
  .cal-sheet .cal-table td,.cal-sheet[data-design="classic"] .cal-table td{height:auto;padding:0}
  .cal-sheet .cal-d{width:5.4mm;height:5.4mm}
  .cal-sheet .cal-strip{margin-top:1mm}
  .cal-sheet .cal-strip-label{font-size:6.5pt;margin-bottom:.6mm}
  .cal-sheet .cal-strip-boxes i{aspect-ratio:auto;height:2.6mm}
  .cal-sheet-foot{margin-top:2.5mm;font-size:7.5pt;flex-direction:row}
  html.cal-printing-months .cal-app{display:none!important}
  html.cal-printing-months .cal-months-print{display:block}
  .cal-months-print{color:var(--ink);print-color-adjust:exact;-webkit-print-color-adjust:exact}
  .cal-months-print .cal-mpage{display:flex;flex-direction:column;height:var(--ph);overflow:hidden;break-after:page;background:var(--bg)}
  .cal-months-print .cal-mpage:last-child{break-after:auto}
  .cal-months-print .cal-mhead{display:flex;align-items:baseline;justify-content:space-between;gap:6mm;margin:0 0 3mm;padding:0 0 2mm;border-bottom:.5mm solid var(--head)}
  .cal-months-print[data-design="bold"] .cal-mhead{background:var(--m);color:#ffffff;border:0;border-radius:3mm;padding:2.5mm 4mm}
  .cal-months-print[data-design="warm"] .cal-mhead{border-bottom-color:#e4632e}
  .cal-months-print .cal-mname{font:700 30pt/1 var(--title);margin:0;letter-spacing:-.02em}
  .cal-months-print[data-design="classic"] .cal-mname,.cal-months-print[data-design="minimal"] .cal-mname{text-transform:uppercase;letter-spacing:.1em;font-size:22pt}
  .cal-months-print .cal-myear{font:700 18pt/1 var(--title);margin:0;opacity:.75}
  .cal-months-print .cal-mtable{flex:1 1 auto;min-height:0;width:100%;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:auto repeat(var(--rows,5),minmax(0,1fr));border-top:.3mm solid var(--line);border-left:.3mm solid var(--line)}
  .cal-months-print .cal-mtable thead,.cal-months-print .cal-mtable tbody,.cal-months-print .cal-mtable tr{display:contents}
  .cal-months-print .cal-mtable th,.cal-months-print .cal-mtable td{display:block;min-width:0;overflow:hidden}
  .cal-months-print .cal-mtable th{border-right:.3mm solid transparent;border-bottom:.3mm solid var(--line)}
  .cal-months-print .cal-mtable td{border-width:0 .3mm .3mm 0!important}
  .cal-months-print .cal-mtable th{font-size:8pt;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--head);padding:0 1.5mm 1.5mm;text-align:left}
  .cal-months-print .cal-mtable td{border:.3mm solid var(--line);vertical-align:top;padding:1.2mm 1.5mm;font-size:12pt;font-weight:600}
  .cal-months-print .cal-mtable td.is-blank{background:transparent}
  .cal-months-print .cal-mtable td.is-we{background:var(--wefill);color:var(--we)}
  .cal-months-print[data-design="minimal"] .cal-mtable td{border-width:0 0 .3mm}
  .cal-months-print .cal-d{display:inline-grid;place-items:center;min-width:6.4mm;height:6.4mm;border-radius:50%}
  .cal-months-print[data-holidays="on"] td.is-off .cal-d{background:var(--off);color:var(--off-ink)}
  .cal-months-print[data-holidays="on"][data-design="classic"] td.is-off{background:var(--off)}
  .cal-months-print[data-holidays="on"][data-design="classic"] td.is-off .cal-d{background:transparent}
  .cal-months-print[data-holidays="on"][data-design="inksaver"] td.is-off .cal-d{box-shadow:inset 0 0 0 .5mm #000000}
  .cal-months-print[data-holidays="on"] td.is-date .cal-d{box-shadow:inset 0 0 0 .35mm var(--ring)}
  .cal-months-print .cal-hname{display:block;margin-top:.8mm;font-size:6.5pt;font-weight:700;line-height:1.15;color:var(--ink)}
  .cal-months-print[data-holidays="off"] .cal-hname{display:none}
  .cal-months-print .cal-mstrip{display:none;margin-top:3mm}
  .cal-months-print[data-habit="on"] .cal-mstrip{display:block}
  .cal-months-print .cal-mstrip-label,.cal-months-print .cal-mnotes-label{font-size:9pt;font-weight:800;margin:0 0 1.2mm}
  .cal-months-print .cal-mstrip-boxes{display:grid;grid-template-columns:repeat(31,minmax(0,1fr));gap:.8mm}
  .cal-months-print .cal-mstrip-boxes span{height:6.5mm;border:.3mm solid var(--head);border-radius:.8mm;font-size:5.5pt;line-height:1;padding:.4mm .5mm;color:var(--muted)}
  .cal-months-print .cal-mnotes{margin-top:3mm}
  .cal-months-print .cal-mnotes i{display:block;height:7mm;border-bottom:.3mm solid var(--line)}
  .cal-months-print .cal-mfoot{margin:1.5mm 0 0;font-size:7pt;text-align:right;color:var(--muted)}
}
/* Wave 5 C1 Winter Arc tracker (/tools/winter-arc/) and L3 fall bucket list printable (/tools/fall-bucket-list/) */
.wa-app,.fb-app{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.wa-head h2{margin:0}.wa-dates{margin:2px 0 0;font-size:14px;color:#5b6475}
.wa-phase{margin:12px 0 0;font-weight:700;color:#12367f;line-height:1.5}.wa-phase .text-button{font-size:15px;padding:0}
.wa-bar{height:10px;margin-top:12px;border-radius:99px;background:#eee4d5;overflow:hidden}.wa-bar span{display:block;height:100%;width:0;border-radius:inherit;background:#1550b8;transition:width .3s}
.wa-progress p{margin:6px 0 0;font-size:14px;color:#3b4456}.wa-progress[hidden]{display:none}
.wa-day{margin-top:14px;padding:14px;border-radius:16px;background:#f7f4ee;scroll-margin-top:90px}
.wa-day h3{margin:0 0 10px;font:700 16px/1.3 'DM Sans','DM Sans Fallback',system-ui,sans-serif}
.wa-rules{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.wa-rule{display:flex;gap:12px;align-items:center;min-height:48px;padding:8px 12px;border-radius:12px;background:#fff;border:1.5px solid #eee4d5;cursor:pointer}
.wa-rule input{flex:none;width:24px;height:24px;margin:0;accent-color:#1550b8}
.wa-rule span{display:grid;gap:2px;line-height:1.3}.wa-rule small{font-size:12.5px;color:#5b6475}
.wa-rule:has(input:checked){border-color:#1550b8;background:#e7f0ff}.wa-rule:has(input:disabled){cursor:default}
.wa-grid{list-style:none;padding:0;margin:14px 0 0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.wa-wd{text-align:center;font-size:11px;font-weight:700;color:#5b6475}
.wa-pad{min-height:40px}
.wa-cell{display:grid;place-items:center;width:100%;min-height:40px;padding:2px;border-radius:9px;border:1.5px solid #e6dfd2;background:#fffdf8;color:#172033;font:600 12px/1 'DM Sans','DM Sans Fallback',system-ui,sans-serif;cursor:pointer}
.wa-num{white-space:nowrap;font-size:11.5px}
.wa-cell.is-full{background:#1550b8;border-color:#1550b8;color:#fff}
.wa-cell.is-partial{background:#cfe0fb;border-color:#9dbbf0}
.wa-cell.is-today{box-shadow:inset 0 0 0 2px #e4632e}
.wa-cell.is-selected{outline:3px solid #f2783c;outline-offset:1px}
.wa-cell:disabled{opacity:.5;cursor:default}
.wa-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px}.wa-legend>span{display:inline-flex;align-items:center;gap:6px}
.wa-key{display:inline-block;width:13px;height:13px;border-radius:4px;border:1.5px solid #e6dfd2;background:#fffdf8}.wa-key:first-child{margin-left:0}.wa-key.is-full{background:#1550b8;border-color:#1550b8}.wa-key.is-partial{background:#cfe0fb;border-color:#9dbbf0}
.wa-app-link{margin-top:14px}
.wa-chips,.fb-chips{display:flex;flex-wrap:wrap;gap:8px}
.wa-chips+.wa-chips:not(:empty){margin-top:8px}
.wa-chip span{min-height:44px;padding:8px 12px;font-size:14px}
.wa-chip input:disabled+span{opacity:.45;cursor:not-allowed}
.wa-own,.fb-own{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.wa-own .button,.fb-own .button{margin:0;min-height:48px}
.wa-own-chip{display:inline-flex;align-items:center;gap:2px;padding:0 0 0 12px;border-radius:14px;background:#e7f0ff;border:1.5px solid #1550b8;color:#12367f;font-weight:600;font-size:14px}
.wa-remove,.fb-remove{flex:none;width:44px;height:44px;border:0;border-radius:12px;background:none;color:#5b6475;font-size:22px;line-height:1;cursor:pointer}.wa-remove:hover,.fb-remove:hover{color:#c2410c}
.print-preview{grid-column:1/-1;border:1px solid #eee4d5;border-radius:18px;background:#fff;padding:0 18px}
.print-preview>summary{min-height:48px;display:flex;align-items:center;font-weight:700;color:#1550b8;cursor:pointer}
.print-preview[open]{padding-bottom:18px}
.wa-print,.fb-print{max-width:760px;margin:0 auto;padding:22px;border:1px solid #eee4d5;border-radius:6px;background:#fff;color:#172033;font-family:'DM Sans','DM Sans Fallback',system-ui,sans-serif}
.wa-p-kicker,.fb-p-kicker{margin:0;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#1550b8}
.wa-p-head h2,.fb-p-head h2{margin:2px 0;font:700 30px/1.1 'Fraunces','Fraunces Fallback',Georgia,serif;color:inherit}
.wa-p-dates{margin:0 0 8px;font-size:12px}
.wa-p-rules{columns:2;column-gap:20px;margin:0 0 10px;padding-left:18px;font-size:11.5px;line-height:1.45}.wa-p-rules span{color:#5b6475}
.wa-p-grid{width:100%;border-collapse:collapse;table-layout:fixed}
.wa-p-grid th{padding:3px;font-size:10px;letter-spacing:1px;text-transform:uppercase}
.wa-p-grid td{height:var(--wa-row,44px);padding:3px 4px;border:1px solid #9a9a9a;vertical-align:top}
.wa-p-grid td.is-pad{background:#f5f5f5}
.wa-p-date{display:block;font-size:10px;font-weight:700}
.wa-p-boxes{display:flex;flex-wrap:wrap;gap:3px;margin-top:3px}
.wa-p-boxes i{display:block;width:13px;height:13px;border:1px solid #777;border-radius:3px;font:normal 700 7px/12px 'DM Sans','DM Sans Fallback',sans-serif;text-align:center;color:#999}
.wa-p-boxes i.is-done{background:#172033;border-color:#172033;color:#fff}
.wa-p-foot,.fb-p-foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:12px;font-size:11px;color:#444}
.wa-design-bold .wa-p-head{margin:-4px -4px 10px;padding:12px 16px;background:#172033;color:#fff}
.wa-design-bold .wa-p-kicker{color:#f2783c}.wa-design-bold .wa-p-head h2{font-size:34px;text-transform:uppercase;letter-spacing:.5px}
.wa-design-bold .wa-p-grid td{border:2px solid #172033}.wa-design-bold .wa-p-grid th{background:#f2783c;color:#172033}
.wa-design-bold .wa-p-boxes i{border:1.5px solid #172033}.wa-design-bold .wa-p-boxes i.is-done{background:#e4632e;border-color:#e4632e}
.wa-design-cozy{background:#fbf5ec;color:#4a2e1f}
.wa-design-cozy .wa-p-head{text-align:center}.wa-design-cozy .wa-p-kicker{color:#c8552b}.wa-design-cozy .wa-p-head h2{font-style:italic;font-weight:600}
.wa-design-cozy .wa-p-grid{border-collapse:separate;border-spacing:4px}.wa-design-cozy .wa-p-grid td{border:1px solid #d8c3a5;border-radius:8px;background:#fff}.wa-design-cozy .wa-p-grid td.is-pad{background:none;border:0}
.wa-design-cozy .wa-p-rules span{color:#7a5a45}.wa-design-cozy .wa-p-boxes i{border-color:#b08d6c;border-radius:50%}.wa-design-cozy .wa-p-boxes i.is-done{background:#c8552b;border-color:#c8552b}
.fb-progress{margin:8px 0 0;font-weight:700;color:#12367f}
.fb-list{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:6px}
.fb-list li{display:flex;align-items:center;gap:4px;padding-left:12px;border-radius:12px;background:#fffdf8;border:1.5px solid #eee4d5}
.fb-list li.is-done{background:#fff0d5;border-color:#f2c48e}
.fb-list label{flex:1;display:flex;align-items:center;gap:12px;min-height:46px;cursor:pointer;line-height:1.35}
.fb-list input{flex:none;width:22px;height:22px;margin:0;accent-color:#e4632e}
.fb-list li.is-done span{text-decoration:line-through;text-decoration-color:#e4632e;text-decoration-thickness:2px}
.fb-presets .choice span{min-width:0;padding:10px 12px;font-size:14px}
.fb-start{border:0;padding:0;margin:14px 0 0;min-width:0}.fb-start legend{padding:0;margin-bottom:8px}.fb-presets{gap:6px}.fb-presets .choice span{min-height:44px;padding:8px 12px}
.fb-more{margin-top:16px;border-top:1px solid #eee4d5}.fb-more>summary{min-height:48px;display:flex;align-items:center;font-weight:700;color:#1550b8;cursor:pointer}
.fb-group{border:0;padding:0;margin:10px 0 0}.fb-group legend{padding:0;margin-bottom:6px;font-size:13px;font-weight:700}
.fb-chip{position:relative;cursor:pointer}.fb-chip input{position:absolute;opacity:0;inset:0}
.fb-chip span{display:flex;align-items:center;min-height:44px;padding:6px 12px;border:1.5px solid #ddd3c4;border-radius:12px;background:#fffdf8;font-size:13.5px;line-height:1.3}
.fb-chip input:checked+span{border-color:#e4632e;background:#fff0d5}.fb-chip input:checked+span::before{content:"✓";font-weight:700;color:#c2410c;margin-right:6px}
.fb-chip input:focus-visible+span{outline:3px solid #f2783c;outline-offset:2px}.fb-chip input:disabled+span{opacity:.45}
.fb-p-head{text-align:center;margin-bottom:14px}
.fb-p-list{list-style:none;padding:0;margin:0;columns:2;column-gap:28px}
.fb-p-list li{display:flex;align-items:center;gap:10px;break-inside:avoid;padding:6px 0;border-bottom:1px dashed #c9c1b3;font-size:14px;line-height:1.3}
.fb-p-list i{flex:none;display:grid;place-items:center;width:18px;height:18px;border:1.5px solid #555;border-radius:4px;font:normal 700 13px/1 'DM Sans','DM Sans Fallback',sans-serif}
.fb-print.is-long .fb-p-list li{padding:4px 0;font-size:12.5px}
.fb-p-list li::after{content:"";flex:none;align-self:flex-end;width:72px;margin-left:auto;border-bottom:1px solid currentColor;opacity:.3}.fb-print.is-long .fb-p-list li::after{width:40px}
.fb-design-pumpkin{background:#fff6ea;color:#4a2412}.fb-design-pumpkin .fb-p-kicker{color:#e4632e}.fb-design-pumpkin .fb-p-list li{border-bottom-color:#f0c9a4}.fb-design-pumpkin .fb-p-list i{border-color:#e4632e;color:#e4632e;border-radius:50%}
.fb-design-minimal .fb-p-head{text-align:left;border-bottom:2px solid #172033;padding-bottom:8px}.fb-design-minimal .fb-p-kicker{color:#172033}
.fb-design-leaves{background:#f6f1e1;color:#2f3a22}.fb-design-leaves .fb-p-kicker{color:#b5461f}.fb-design-leaves .fb-p-head h2{font-style:italic}.fb-design-leaves .fb-p-list li{border-bottom:1px solid #cfc59f}.fb-design-leaves .fb-p-list i{border-color:#5f6b48;color:#b5461f}
@media(max-width:860px){.wa-app,.fb-app{grid-template-columns:1fr}}
@media(max-width:560px){.wa-output,.fb-output{padding:16px}.wa-head .tool-actions,.fb-output .tool-actions{width:100%}.wa-head .tool-actions .button,.fb-output .tool-actions .button{flex:1;padding:0 10px;min-height:44px;margin:0}.wa-grid{gap:3px}.wa-cell{min-height:38px;border-radius:7px}.wa-num{font-size:10.5px}.wa-day{padding:10px}.print-preview{padding:0 10px}.wa-print,.fb-print{padding:12px}.wa-p-rules,.fb-p-list{columns:1}.wa-p-boxes i{width:9px;height:9px;font-size:0}}
@media print{
.wa-app>:not(.print-preview),.fb-app>:not(.print-preview),.print-preview>summary{display:none!important}
.print-preview{display:block;border:0;padding:0;margin:0;background:none}
.wa-print,.fb-print{max-width:none;border:0;padding:0;border-radius:0;print-color-adjust:exact;-webkit-print-color-adjust:exact}
.wa-p-rules{columns:2}.fb-p-list{columns:2}.wa-p-boxes i{width:13px;height:13px;font-size:7px}
.wa-p-grid tr{break-inside:avoid}
.fb-design-pumpkin,.fb-design-leaves,.wa-design-cozy{padding:10px 14px}
.fb-p-head h2{font-size:40px}
.fb-print:not(.is-long) .fb-p-list{columns:auto}.fb-print:not(.is-long) .fb-p-list li{padding:7px 0;font-size:16px}
.wa-p-boxes{flex-wrap:nowrap}.wa-p-boxes i{flex:0 1 13px;min-width:8px}
}
/* Meditation breathing */
.med-switch{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:4px;max-width:440px;padding:4px;border-radius:16px;background:#f4efe6;border:1px solid #eee4d5}
.med-switch button{min-height:44px;border:0;border-radius:12px;background:transparent;color:#3e4a56;font-weight:700;font-size:15px}
.med-switch button[aria-selected=true]{background:#fff;color:#12367f;box-shadow:0 2px 8px #1720331a}
.med-switch button:focus-visible{outline:3px solid #f2783c;outline-offset:2px}
.med-app [hidden]{display:none!important}
.breath-stage{position:relative;width:min(280px,74vw);aspect-ratio:1;margin:10px auto 4px}
.breath-guide{position:absolute;inset:0;border-radius:50%;border:2px dashed #d7cdbd;display:grid;place-items:center}
.breath-panel[data-pattern=box] .breath-guide{border-radius:18%}
.breath-shape{position:absolute;inset:6%;border-radius:50%;background:radial-gradient(circle at 38% 34%,#dbe8ff 0,#a9c4f2 62%,#7fa6e8 100%);transform:scale(.42);transform-origin:center;will-change:transform}
.breath-panel[data-pattern=box] .breath-shape{border-radius:18%}
.breath-panel[data-phase=hold] .breath-shape,.breath-panel[data-phase=rest] .breath-shape{background:radial-gradient(circle at 38% 34%,#fff0d5 0,#ffd3b0 62%,#f5a877 100%)}
.breath-readout{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:2px;text-align:center;pointer-events:none}
.breath-readout strong{font:600 clamp(24px,7vw,32px)/1.1 'Fraunces','Fraunces Fallback',Georgia,serif;color:#172033}
.breath-count{font:600 clamp(40px,12vw,56px)/1 'Fraunces','Fraunces Fallback',Georgia,serif;color:#12367f;font-variant-numeric:tabular-nums;min-height:1em}
.breath-progress{margin:6px 0 2px;font-size:14px;color:#526170;font-variant-numeric:tabular-nums}
.breath-presets{margin-bottom:6px}
.breath-panel .tool-note{text-align:center}
.breath-custom-note{margin:6px 0 0}
.breath-panel [data-breath-reset]{min-height:44px;padding:0 12px}
.breath-panel .pomo-zen-btn:not([aria-pressed=true]) span{position:static;width:auto;height:auto;overflow:visible;clip:auto}
.breath-safety{margin:28px 0;padding:18px 20px;border-radius:18px;background:#fff0d5;border:1px solid #f3dcb4}
.breath-safety h2{font:700 20px/1.25 'Fraunces','Fraunces Fallback',Georgia,serif;margin:0 0 6px}
.breath-safety p{margin:0;line-height:1.6}
.breath-panel.is-zen{position:fixed;inset:0;z-index:1000;max-width:none;width:100%;height:100%;margin:0;border:0;border-radius:0;box-shadow:none;background:#fffdf8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:24px 16px calc(24px + env(safe-area-inset-bottom));overflow:auto}
.breath-panel.is-zen>.breath-presets,.breath-panel.is-zen [data-breath-reset],.breath-panel.is-zen>[data-breath-status]{display:none}
.breath-panel.is-zen .breath-stage{width:min(62vh,86vw,560px);margin:0 auto 8px}
.breath-panel.is-zen .breath-readout strong{font-size:clamp(28px,4.5vh,44px)}
.breath-panel.is-zen .breath-count{font-size:clamp(56px,11vh,110px)}
.breath-panel.is-zen .meditation-actions{width:min(460px,100%)}
.breath-panel.is-zen .meditation-actions .button{flex:1 1 0;min-height:54px}
@media(prefers-reduced-motion:reduce){.breath-shape{transform:scale(.72)!important}}
@media(max-width:640px){.med-switch{max-width:none}.med-switch button{font-size:14px}.breath-stage{width:min(236px,66vw);margin:6px auto 2px}.breath-panel .meditation-actions{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:8px}.breath-panel .meditation-actions .button{min-width:0;width:100%;padding:0 10px}.breath-panel .meditation-actions [data-breath-reset]{grid-column:1/-1;justify-self:center}.breath-custom{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media print{.med-switch,.breath-safety{display:none!important}}
/* Tools hub */
.hub-head{max-width:820px;margin-bottom:18px}
.hub-head h1{font:700 clamp(32px,4vw,48px)/1.05 'Fraunces','Fraunces Fallback',Georgia,serif;letter-spacing:-1.2px;margin:8px 0 12px}
.hub-head .tool-lede{font-size:17px;color:#3e4a56}
.hub-controls{display:grid;gap:12px;margin:0 0 6px}
.hub-search{display:flex;align-items:center;gap:8px;width:min(100%,560px);padding:4px 6px 4px 14px;border:1.5px solid #ddd3c4;border-radius:16px;background:#fff}
.hub-search[hidden]{display:none}
.hub-search:focus-within{border-color:#1550b8;box-shadow:0 0 0 3px #1550b826}
.hub-search input{flex:1;min-width:0;height:44px;border:0;outline:0;background:transparent;color:#172033;font-size:16px}
.hub-search input::-webkit-search-cancel-button{display:none}
.hub-clear{min-height:44px;padding:0 10px;text-decoration:underline}
.hub-clear[hidden]{display:none}
.hub-jump{display:flex;flex-wrap:wrap;gap:8px}
.hub-jump a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:99px;border:1.5px solid #ddd3c4;background:#fffdf8;color:#172033;font-size:14px;font-weight:700;text-decoration:none;white-space:nowrap}
.hub-jump a:hover{border-color:#1550b8;color:#12367f}
.hub-jump a:first-child{background:#fff0d5;border-color:#f3cf9c}
.tools-hub .tools-library-heading .text-link{min-height:44px}
.hub-count{min-height:1em;margin:4px 0 0;font-size:14px;color:#526170}
.hub-group{margin:26px 0 8px;scroll-margin-top:16px}
.hub-group[hidden],.hub-item[hidden],.hub-empty[hidden]{display:none}
.hub-group-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin-bottom:12px}
.hub-group-head p{margin:0;color:#526170;font-size:15px}
.hub-group-title{font:700 26px/1.2 'Fraunces','Fraunces Fallback',Georgia,serif;margin:0}
.hub-popular .hub-group-title{margin-bottom:12px}
.hub-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:12px}
.hub-card{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;align-items:center;align-content:start;height:100%;padding:10px 14px 10px 10px;border:1px solid #e3dac9;border-radius:16px;background:#fff;color:#172033;text-decoration:none;transition:border-color .15s,transform .15s,box-shadow .15s}
.hub-card:hover{border-color:#1550b8;transform:translateY(-2px);box-shadow:0 8px 18px #1720331a}
.hub-thumb{display:block;width:96px;aspect-ratio:3/2;border-radius:11px;overflow:hidden;background:#f4efe6}
.hub-thumb img{width:100%;height:100%;object-fit:cover}
.hub-thumb-mark{display:grid;place-items:center;width:100%;height:100%;background:#fff0d5}
.hub-thumb-mark img{width:34px;height:34px}
.hub-card-body{display:grid;gap:3px;min-width:0}
.hub-card-body strong{font:700 17px/1.25 'Fraunces','Fraunces Fallback',Georgia,serif}
.hub-card-body span{font-size:14px;line-height:1.45;color:#4b5565}
.hub-grid-popular{grid-template-columns:repeat(auto-fill,minmax(min(200px,100%),1fr))}
.hub-item.is-big .hub-card{grid-template-columns:1fr;align-items:start;padding:10px 10px 14px;background:#fffaf1;border-color:#f0dfc2}
.hub-item.is-big .hub-thumb{width:100%;aspect-ratio:16/9}
.hub-item.is-big .hub-card-body{padding:0 4px}
.hub-empty{margin:18px 0;padding:16px 18px;border-radius:14px;background:#f4efe6}
.hub-empty a{color:#1550b8;font-weight:700}
.tools-hub .app-hook{margin:40px 0 10px}
.hub-faqs{max-width:820px}
@media(max-width:640px){.hub-head .tool-lede{font-size:15px;line-height:1.5}.hub-jump{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px 4px}.hub-jump::-webkit-scrollbar{display:none}.hub-jump a{flex:none}.hub-grid-popular{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.hub-item.is-big .hub-card-body span{font-size:13px}.hub-item.is-big .hub-card-body strong{font-size:15.5px}.hub-card{grid-template-columns:80px minmax(0,1fr);gap:12px}.hub-thumb{width:80px}.hub-group-title{font-size:23px}}
@media print{.hub-controls,.hub-count{display:none!important}}
/* App hook */
.app-hook{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:18px;align-items:center;margin:0 0 44px;padding:20px 24px;border-radius:22px;background:#e7f0ff;border:1px solid #cfdcf5}
.app-hook-icon{width:56px;height:56px;border-radius:14px;box-shadow:0 4px 12px #17203322}
.app-hook-kicker{margin:0 0 4px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#b04a1f}
.app-hook-title{font:700 22px/1.2 'Fraunces','Fraunces Fallback',Georgia,serif;letter-spacing:-.02em;margin:0 0 4px;color:#172033}
.app-hook-text{margin:0;font-size:15px;line-height:1.5;color:#3e4a56;max-width:620px}
.app-hook-button{white-space:nowrap}
.tool-plan-link{margin:16px 0 0;font-size:15px}
.tool-plan-link a{color:#1550b8;font-weight:700}
@media(max-width:760px){.app-hook{grid-template-columns:44px minmax(0,1fr);gap:12px 14px;padding:16px}.app-hook-icon{width:44px;height:44px;border-radius:11px}.app-hook-title{font-size:19px}.app-hook-text{font-size:14px}.app-hook-button{grid-column:1/-1;width:100%;min-height:48px;white-space:normal;text-align:center}}
@media print{.app-hook{display:none!important}}

/* Online timer (/timer/) */
.tm-page .tool-head{margin-bottom:18px}
.tm-app{max-width:780px;margin:0 0 40px}
.tm-panel{background:#ffffff;border:1px solid #eee4d5;border-radius:24px;padding:22px 22px 18px;box-shadow:0 10px 30px #173f9812;display:flex;flex-direction:column;align-items:stretch}
.tm-face{position:relative;width:min(270px,64vw,40vh);aspect-ratio:1;margin:0 auto 14px}
.tm-ring,.tm-disk{width:100%;height:100%;transform:rotate(-90deg);display:block}
.tm-ring circle{fill:none;stroke-width:9}
.tm-ring-track{stroke:#eee4d5}
.tm-ring-bar{stroke:#1550b8;stroke-linecap:round;transition:stroke-dashoffset .2s linear,stroke .4s}
.tm-panel[data-stage=close] .tm-ring-bar{stroke:#e4632e}
.tm-disk{display:none}
.tm-disk-bg{fill:#f6f1e8;stroke:#eee4d5;stroke-width:4}
.tm-disk-wedge{fill:none;stroke-width:96;stroke:#2f8a5b;transition:stroke-dashoffset .2s linear,stroke .6s}
.tm-panel[data-stage=half] .tm-disk-wedge{stroke:#f2b63c}
.tm-panel[data-stage=close] .tm-disk-wedge{stroke:#e4632e}
.tm-disk-pin{fill:#172033}
.tm-readout{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:6px}
.tm-readout strong{font:600 clamp(48px,15vw,74px)/1 'Fraunces','Fraunces Fallback',Georgia,serif;color:#172033;font-variant-numeric:tabular-nums;letter-spacing:-1px}
.tm-panel[data-long=true] .tm-readout strong{font-size:clamp(36px,11vw,54px)}
.tm-readout span{font-size:14px;font-weight:700;color:#526170;text-transform:uppercase;letter-spacing:.1em}
.tm-panel[data-state=ringing] .tm-readout span,.tm-panel[data-state=done] .tm-readout span{color:#c2410c}
.tm-panel[data-state=ringing] .tm-face{animation:tm-pulse 1s ease-in-out infinite}
@keyframes tm-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
@media (prefers-reduced-motion:reduce){.tm-panel[data-state=ringing] .tm-face{animation:none}.tm-ring-bar,.tm-disk-wedge{transition:none}}
.tm-panel.is-kids .tm-ring{display:none}
.tm-panel.is-kids .tm-disk{display:block;height:auto;aspect-ratio:1}
.tm-panel.is-kids .tm-face{aspect-ratio:auto}
.tm-panel.is-kids .tm-readout{position:static;margin-top:10px;gap:2px}
.tm-panel.is-kids .tm-readout strong{font-size:clamp(34px,9vw,46px)}
.tm-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.tm-actions .button{min-height:50px;padding:0 18px}
.tm-start{min-width:170px;font-size:17px}
.tm-panel[data-state=ringing] .tm-start{background:#e4632e;color:#ffffff}
.tm-full-btn{gap:8px}
.tm-status{margin:12px 0 0;text-align:center;font-size:14px;color:#526170;min-height:20px}
.tm-set{margin:18px 0 0;padding-top:16px;border-top:1px solid #eee4d5}
.tm-set label{display:block;font-weight:700;font-size:14px;margin:0 0 6px}
.tm-set-row{display:flex;gap:8px}
.tm-set-row input{flex:1 1 auto;min-width:0;min-height:48px;padding:10px 14px;border:1.5px solid #ddd3c4;border-radius:12px;background:#fffdf8;color:#172033;font-size:17px}
.tm-set-row input:focus{border-color:#1550b8;outline:none}
.tm-set-row input[aria-invalid=true]{border-color:#c2410c}
.tm-set-row .button{min-height:48px;padding:0 20px}
.tm-hint{margin:6px 0 0;font-size:13px;color:#5b6475}
.tm-hint.is-error{color:#c2410c;font-weight:700}
.tm-presets{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0}
.tm-presets a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:66px;padding:0 14px;border:1.5px solid #ddd3c4;border-radius:999px;background:#fffdf8;color:#172033;font-weight:700;font-size:14px;text-decoration:none;font-variant-numeric:tabular-nums}
.tm-presets a:hover{border-color:#1550b8}
.tm-presets a.is-on{border-color:#1550b8;background:#e7f0ff;color:#12367f;box-shadow:inset 0 0 0 1px #1550b8}
.tm-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:16px 0 0;padding-top:14px;border-top:1px solid #eee4d5}
.tm-field{display:grid;gap:6px;font-size:14px;font-weight:700}
.tm-field select{min-height:44px;padding:0 12px;border:1.5px solid #ddd3c4;border-radius:12px;background:#fffdf8;color:#172033;font-weight:600}
.tm-volume input{width:100%;min-height:44px;accent-color:#1550b8}
.tm-check{display:flex;align-items:center;gap:10px;min-height:44px;font-weight:600;font-size:15px;cursor:pointer}
.tm-check input{width:22px;height:22px;accent-color:#1550b8;flex:none}
.tm-check small{font-weight:500;color:#5b6475}
.tm-option-buttons{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:4px 18px}
.tm-option-buttons .text-button{min-height:44px;text-decoration:underline;text-underline-offset:3px}
.tm-options>.tm-hint{grid-column:1/-1;margin-top:-6px}
.tm-keys{margin:12px 0 0;font-size:13px;color:#5b6475;text-align:center}
.tm-keys kbd{display:inline-block;min-width:22px;padding:2px 6px;border:1px solid #d8cfc0;border-bottom-width:2px;border-radius:6px;background:#fffdf8;color:#172033;font:700 12px/1.2 'DM Sans','DM Sans Fallback',sans-serif}
@media(hover:none){.tm-keys{display:none}}
/* The short-answer label keeps its small caps inside tool content (.tool-content h2 would win otherwise) */
.tool-content .direct-answer h2{margin:0 0 8px;font:700 13px/1.2 'DM Sans','DM Sans Fallback',sans-serif;letter-spacing:1.6px;text-transform:uppercase}
.tm-fits{padding-left:20px}
.tm-fits li{margin:0 0 10px;line-height:1.6}
.tm-plan{margin:28px 0}
.tm-length-table td:first-child{white-space:nowrap;font-weight:700}
html.tm-full-open,html.tm-full-open body{overflow:hidden}
.tm-panel.is-full{position:fixed;inset:0;z-index:1000;border:0;border-radius:0;box-shadow:none;background:#fffdf8;justify-content:center;align-items:center;padding:20px 16px calc(20px + env(safe-area-inset-bottom));overflow:auto}
.tm-panel.is-full>.tm-set,.tm-panel.is-full>.tm-presets,.tm-panel.is-full>.tm-options,.tm-panel.is-full>.tm-keys{display:none}
.tm-panel.is-full .tm-face{width:min(64vh,88vw,620px);margin-bottom:18px}
.tm-panel.is-full .tm-readout strong{font-size:clamp(64px,min(15vh,20vw),170px)}
.tm-panel.is-full[data-long=true] .tm-readout strong{font-size:clamp(48px,min(11vh,14vw),130px)}
.tm-panel.is-full.is-kids .tm-face{width:min(56vh,86vw,560px)}
.tm-panel.is-full.is-kids .tm-readout strong{font-size:clamp(40px,7vh,72px)}
.tm-panel.is-full .tm-actions{width:min(560px,100%)}
@media(max-width:600px){
  .tm-panel{padding:16px 14px 14px;border-radius:20px}
  .tm-page .tool-head{margin:4px 0 12px}
  .tm-page .tool-head .eyebrow{display:none}
  .tm-page .tool-lede{font-size:15px}
  .tm-face{margin-bottom:10px}
  .tm-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .tm-actions .tm-start{grid-column:1/-1;min-width:0}
  .tm-actions .button{padding:0 8px;min-width:0}
  .tm-full-btn span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .tm-panel.is-full .tm-full-btn span{position:static;width:auto;height:auto;clip:auto}
  .tm-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  .tm-presets a{min-width:0;padding:0 4px;font-size:13px}
  .tm-options{grid-template-columns:1fr}
}
@media(max-width:600px) and (max-height:600px){.tm-page .tool-lede{display:none}}
@media print{.tm-app{display:none}}

/* Weekly planner */
/* /tools/weekly-planner/: options panel, a fill-in sheet in three layouts and five designs, one-page print and blank print.
   The sheet is a print preview, so it keeps its paper colors in dark mode (see KEEP_SELECTORS in content/darkcss.py). */
.wk-app{display:grid;grid-template-columns:282px minmax(0,1fr);gap:22px;align-items:start;margin-bottom:46px}
.wk-controls{position:sticky;top:14px;display:grid;gap:12px;padding:16px;border-radius:20px;background:#fff;border:1px solid #eee4d5;box-shadow:0 14px 34px #17203312;min-width:0}
.wk-field{border:0;margin:0;padding:0;min-width:0}
.wk-field legend,.wk-legend{display:block;font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#526170;margin:0 0 6px;padding:0}
.wk-seg{display:grid;grid-template-columns:1fr 1fr;border-radius:12px;background:#f4efe6;padding:3px;gap:3px}
.wk-seg-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.wk-seg label{position:relative;min-width:0}
.wk-seg input,.wk-design input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.wk-seg span{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:44px;border-radius:9px;font-size:14px;font-weight:700;line-height:1.1;color:#3e4a56;cursor:pointer;text-align:center;padding:2px 4px}
.wk-seg small{font-size:10.5px;font-weight:600;color:#6b7683}
.wk-seg input:checked+span{background:#fff;color:#12367f;box-shadow:0 1px 4px #17203326}
.wk-seg input:focus-visible+span,.wk-design input:focus-visible+.wk-swatch{outline:3px solid #e4632e;outline-offset:2px}
.wk-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.wk-actions .button{width:100%;min-height:46px;margin:0;padding:0 10px;white-space:nowrap}
.wk-status{margin:0;font-size:13px;line-height:1.45;color:#526170}
.wk-status:empty{display:none}
.wk-more{border-top:1px solid #eee4d5;padding-top:4px}
.wk-more summary{display:flex;align-items:center;min-height:44px;font-weight:700;font-size:14px;color:#12367f;cursor:pointer;list-style:none}
.wk-more summary::-webkit-details-marker{display:none}
.wk-more summary::after{content:"+";margin-left:auto;font-size:20px;font-weight:600}
.wk-more[open] summary::after{content:"−"}
.wk-more-body{display:grid;gap:12px;padding-top:4px}
.wk-design-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.wk-design{position:relative;display:grid;justify-items:center;gap:4px;cursor:pointer;font-size:11px;font-weight:700;line-height:1.15;text-align:center;color:#3e4a56;min-width:0}
.wk-swatch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;width:100%;height:44px;padding:5px;border-radius:10px;border:2px solid #e3dccf;box-sizing:border-box;background:#fff}
.wk-swatch i{border-radius:3px;min-width:0}
.wk-design input:checked+.wk-swatch{border-color:#1550b8;box-shadow:0 0 0 2px #1550b8}
.wk-swatch-warm{background:#fffdf8}.wk-swatch-warm i:nth-child(1){background:#e7f0ff}.wk-swatch-warm i:nth-child(2){background:#fff0d5}.wk-swatch-warm i:nth-child(3){background:#edf5c6}
.wk-swatch-classic i{border:1px solid #111111;border-radius:0;border-top-width:3px}
.wk-swatch-pastel i:nth-child(1){background:#fde8ef}.wk-swatch-pastel i:nth-child(2){background:#f4e8ff}.wk-swatch-pastel i:nth-child(3){background:#daf3e8}
.wk-swatch-bold i{background:#ffffff;border:1px solid #d5dae0;border-top:6px solid #1550b8}.wk-swatch-bold i:nth-child(2){border-top-color:#e4632e}.wk-swatch-bold i:nth-child(3){border-top-color:#1f8a5b}
.wk-swatch-inksaver i{border:1.5px solid #000000;border-radius:0}
.wk-field-row{display:grid;gap:12px}
.wk-weekof-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}
.wk-weekof-row input,.wk-hours select,.wk-image select{height:44px;border:1px solid #c9d6ea;border-radius:12px;background:#fff;color:#172033;font:inherit;font-size:14px;padding:0 8px;min-width:0;width:100%;box-sizing:border-box}
.wk-weekof-row .button{min-height:44px;margin:0;padding:0 12px;font-size:13px;white-space:nowrap}
.wk-hours[hidden]{display:none}
.wk-hours-row{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.wk-hours-row label{display:grid;gap:2px;font-size:12px;font-weight:700;color:#526170}
.wk-hours-row .wk-seg{grid-column:1/-1}
.wk-image{display:grid}
.wk-presets{display:flex;flex-wrap:wrap;gap:6px}
.wk-presets .chip{min-height:44px;font-size:14px}
.wk-more-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}
.wk-more-actions .button{min-height:44px;margin:0}
.wk-more-actions .text-button{min-height:44px;text-decoration:underline}
.wk-hint{margin:0;font-size:12.5px;color:#526170}
.wk-stage{min-width:0}
.wk-next{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;margin-top:16px;padding:16px 18px;border-radius:18px;background:#e7f0ff}
.wk-next p{margin:0;flex:1 1 320px;font-size:15px;line-height:1.5;color:#26344a}
.wk-next .button{margin:0}

/* The sheet: design tokens, weekday colors, then shared layout */
.wk-sheet{--bg:#fffdf8;--ink:#172033;--muted:#6b7683;--line:#ddd3c4;--accent:#e4632e;--box:#1550b8;--card:#ffffff;--card-bd:#eee4d5;--radius:12px;--title:'Fraunces','Fraunces Fallback',Georgia,serif;--wkbg:#fff6e6;--hd-ink:var(--ink);color-scheme:light}
.wk-sheet [data-wd="0"]{--tint:#fde8ef;--band:#d6336c}.wk-sheet [data-wd="1"]{--tint:#e7f0ff;--band:#1550b8}.wk-sheet [data-wd="2"]{--tint:#fff0d5;--band:#e4632e}.wk-sheet [data-wd="3"]{--tint:#edf5c6;--band:#1f8a5b}.wk-sheet [data-wd="4"]{--tint:#f4e8ff;--band:#7a45b2}.wk-sheet [data-wd="5"]{--tint:#daf3e8;--band:#0f7c8c}.wk-sheet [data-wd="6"]{--tint:#ffe8d9;--band:#172033}
.wk-sheet[data-design="classic"]{--bg:#ffffff;--ink:#111111;--muted:#555555;--line:#9a9a9a;--accent:#111111;--box:#111111;--card-bd:#111111;--radius:0;--wkbg:#ffffff}
.wk-sheet[data-design="pastel"]{--bg:#ffffff;--ink:#2b3440;--muted:#6b7683;--line:#c9cfd8;--accent:#7a45b2;--box:#7a45b2;--card-bd:transparent;--radius:16px;--title:'DM Sans','DM Sans Fallback',system-ui,sans-serif;--wkbg:#f4f5f7}
/* Header fill per weekday: custom properties that use var() must be set where --tint/--band exist */
.wk-sheet [data-wd]{--hd:var(--tint)}
.wk-sheet[data-design="classic"] [data-wd],.wk-sheet[data-design="pastel"] [data-wd],.wk-sheet[data-design="inksaver"] [data-wd]{--hd:transparent}
.wk-sheet[data-design="bold"] [data-wd]{--hd:var(--band)}
.wk-sheet[data-design="pastel"] .wk-day{--card:var(--tint)}
.wk-sheet[data-design="bold"]{--bg:#ffffff;--ink:#172033;--muted:#5b6673;--line:#c3cad3;--accent:#1550b8;--box:#1550b8;--card-bd:#d5dae0;--radius:10px;--title:'DM Sans','DM Sans Fallback',system-ui,sans-serif;--wkbg:#f4f6f9;--hd-ink:#ffffff}
.wk-sheet[data-design="bold"] .wk-day{--accent:var(--band);--box:var(--band)}
.wk-sheet[data-design="inksaver"]{--bg:#ffffff;--ink:#000000;--muted:#000000;--line:#000000;--accent:#000000;--box:#000000;--card-bd:#000000;--radius:0;--wkbg:#ffffff}

.wk-sheet{background:var(--bg);color:var(--ink);border-radius:18px;border:1px solid #eee4d5;box-shadow:0 14px 34px #17203312;padding:18px 20px 12px;print-color-adjust:exact;-webkit-print-color-adjust:exact;min-width:0}
.wk-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 14px;align-items:center;margin:0 0 12px}
.wk-sheet .wk-title{font:700 30px/1.15 var(--title);letter-spacing:-.02em;border:0;border-bottom:1px dashed transparent;background:transparent;color:var(--ink);padding:2px 0;min-width:0;width:100%;border-radius:0}
.wk-sheet .wk-title:hover{border-bottom-color:var(--line)}
.wk-sheet[data-design="bold"] .wk-title{font-weight:800}
.wk-when{display:flex;align-items:center;gap:4px}
.wk-sheet .wk-nav{flex:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:24px;line-height:1;cursor:pointer;padding:0 0 3px}
.wk-sheet .wk-nav:hover{border-color:var(--box);color:var(--box)}
.wk-range{margin:0;min-width:148px;text-align:center;font-size:14px;font-weight:800;line-height:1.25;color:var(--ink)}
.wk-weekno{display:block;font-size:11px;font-weight:700;color:var(--muted)}
.wk-range-blank{display:none}
.wk-focus{grid-column:1/-1;display:flex;align-items:center;gap:10px;min-width:0}
.wk-focus>span{flex:none;font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.wk-sheet .wk-in{display:block;width:100%;min-width:0;box-sizing:border-box;height:28px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);font:500 13px/1.2 'DM Sans','DM Sans Fallback',system-ui,sans-serif;padding:3px 2px}
.wk-sheet .wk-focus .wk-in{font-weight:700;font-size:14px}
.wk-sheet .wk-in:focus,.wk-sheet textarea:focus{outline:2px solid var(--box);outline-offset:1px;border-radius:3px}
.wk-sheet .wk-lined{background:repeating-linear-gradient(transparent 0 21px,var(--line) 21px 22px)}
.wk-sheet textarea{appearance:none;-webkit-appearance:none;display:block;width:100%;box-sizing:border-box;resize:none;border:0;border-radius:0;color:var(--ink);font:500 12.5px/22px 'DM Sans','DM Sans Fallback',system-ui,sans-serif;padding:0 2px;background:transparent;height:44px;overflow:hidden}
.wk-sheet .wk-notes{height:66px}
.wk-sheet input[type="checkbox"]{appearance:none;-webkit-appearance:none;flex:none;width:15px;height:15px;margin:0;border:1.5px solid var(--box);border-radius:3px;background:transparent center/85% no-repeat;cursor:pointer}
.wk-sheet input[type="checkbox"]:checked{background-color:var(--box);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3.2 3L13 4.5' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.wk-sheet[data-design="inksaver"] input[type="checkbox"]:checked,.wk-sheet[data-design="classic"] input[type="checkbox"]:checked{background-color:transparent;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3.2 3L13 4.5' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.wk-sheet input[type="checkbox"]:focus-visible{outline:2px solid #e4632e;outline-offset:2px}
.wk-sheet .wk-daynav{display:none}

/* Planner and Minimal: day boxes plus a week box */
.wk-body{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.wk-sheet .wk-day{background:var(--card);border:1px solid var(--card-bd);border-radius:var(--radius);padding:6px 9px 9px;min-width:0}
.wk-sheet .wk-dayname{display:flex;justify-content:space-between;align-items:baseline;gap:6px;margin:0 0 2px;padding:4px 7px;border-radius:calc(var(--radius) * .6);background:var(--hd);color:var(--hd-ink);font:700 16px/1.2 var(--title)}
.wk-sheet[data-design="classic"] .wk-dayname{padding:3px 0 4px;border-bottom:2px solid #111111;text-transform:uppercase;letter-spacing:.08em;font-size:13px}
.wk-sheet[data-design="inksaver"] .wk-dayname{padding:3px 0;border-bottom:1.5px solid #000000}
.wk-sheet[data-design="pastel"] .wk-dayname{padding:3px 0;font-size:15px;font-weight:800}
.wk-sheet .wk-date{font:700 11px/1 'DM Sans','DM Sans Fallback',system-ui,sans-serif;color:var(--muted);white-space:nowrap}
.wk-sheet[data-design="bold"] .wk-dayname .wk-date{color:#ffffff}
.wk-sheet .wk-label{margin:5px 0 0;font-size:9.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.wk-sheet .wk-top,.wk-sheet .wk-todo,.wk-sheet .wk-lines,.wk-sheet .wk-ticks{list-style:none;padding:0;margin:0}
.wk-sheet .wk-top{counter-reset:wk}
.wk-sheet .wk-top li,.wk-sheet .wk-todo li{display:flex;align-items:center;gap:5px;min-width:0}
.wk-sheet .wk-top li::before{counter-increment:wk;content:counter(wk);flex:none;width:9px;font-size:11px;font-weight:800;color:var(--accent)}
.wk-sheet .wk-check{display:inline-grid;place-items:center;flex:none;width:18px;height:28px;cursor:pointer}
.wk-sheet .wk-week{background:var(--wkbg);border:1px solid var(--card-bd);border-radius:var(--radius);padding:8px 10px 10px;min-width:0}
.wk-sheet[data-design="classic"] .wk-week,.wk-sheet[data-design="inksaver"] .wk-week{border-style:dashed}
.wk-sheet .wk-habit-name{font-weight:700}
.wk-sheet .wk-ticks{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;margin:4px 0 2px}
.wk-sheet .wk-tick{display:grid;justify-items:center;align-content:center;gap:2px;min-height:44px;cursor:pointer;font-size:10px;font-weight:800;color:var(--muted)}
.wk-sheet .wk-tick input[type="checkbox"]{width:20px;height:20px;border-radius:5px}
.wk-sheet[data-layout="minimal"] .wk-dayname{margin-bottom:4px}
.wk-sheet[data-layout="minimal"] .wk-lines .wk-in{height:30px}

/* Schedule: an hourly grid, then the week box in two columns */
.wk-sheet[data-layout="hourly"] .wk-body{display:block}
.wk-grid-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.wk-sheet .wk-grid{width:100%;min-width:620px;border-collapse:collapse;table-layout:fixed;color:var(--ink)}
.wk-sheet .wk-grid th,.wk-sheet .wk-grid td{border-bottom:1px solid var(--line);padding:0}
.wk-sheet .wk-grid thead th{padding:4px 2px 5px;text-align:center;font:700 13px/1.15 var(--title);background:var(--hd);color:var(--hd-ink);border:0;border-left:3px solid var(--bg)}
.wk-sheet .wk-grid thead th .wk-date{display:block;margin-top:1px}
.wk-sheet[data-design="bold"] .wk-grid thead .wk-date{color:#ffffff}
.wk-sheet[data-design="classic"] .wk-grid thead th,.wk-sheet[data-design="inksaver"] .wk-grid thead th{border-bottom:2px solid #000000;border-left:0;text-transform:uppercase;font-size:11.5px;letter-spacing:.06em}
.wk-sheet .wk-grid thead th:first-child{background:transparent;border:0}
.wk-sheet .wk-grid .wk-time{width:50px;text-align:right;padding:0 6px 0 0;font:700 10.5px/1 'DM Sans','DM Sans Fallback',system-ui,sans-serif;color:var(--muted);white-space:nowrap;background:transparent}
.wk-sheet .wk-grid td{border-left:1px solid var(--line)}
.wk-sheet .wk-grid tr:has(+ tr.is-half) td,.wk-sheet .wk-grid tr:has(+ tr.is-half) th{border-bottom-style:dotted}
.wk-sheet .wk-grid tr.is-half .wk-time{font-weight:600;font-size:9.5px}
.wk-sheet .wk-grid .wk-in{border:0;height:27px;font-size:12px;padding:2px 4px}
.wk-sheet .wk-grid .wk-in:not(:placeholder-shown){background:var(--tint);font-weight:600;border-radius:3px}
.wk-sheet[data-design="classic"] .wk-grid .wk-in:not(:placeholder-shown),.wk-sheet[data-design="inksaver"] .wk-grid .wk-in:not(:placeholder-shown){background:transparent;font-weight:700}
.wk-sheet[data-layout="hourly"] .wk-week{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px 18px;margin-top:10px}
.wk-sheet .wk-credit{margin:8px 0 0;text-align:right;font-size:10.5px;color:var(--muted)}

@media(max-width:1080px){.wk-app{grid-template-columns:250px minmax(0,1fr)}.wk-design-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){
  .wk-app{grid-template-columns:1fr;gap:12px}
  .wk-controls{position:static;padding:12px;gap:10px;border-radius:18px}
  .wk-design-list{grid-template-columns:repeat(5,minmax(0,1fr))}
  .wk-field-row{grid-template-columns:1fr 1fr;gap:10px}
  .wk-body{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px),(pointer:coarse){
  .wk-sheet .wk-in{height:44px;font-size:16px}
  .wk-sheet .wk-grid .wk-in{height:44px;font-size:14px}
  .wk-sheet .wk-check{width:44px;height:44px;margin-left:-13px;margin-right:-10px}
  .wk-sheet input[type="checkbox"]{width:20px;height:20px}
  .wk-sheet textarea{font-size:16px;line-height:28px;height:56px}
  .wk-sheet .wk-lined{background:repeating-linear-gradient(transparent 0 27px,var(--line) 27px 28px)}
  .wk-sheet .wk-notes{height:84px}
}
@media screen and (max-width:700px){
  .wk-controls{gap:8px}
  .wk-field legend,.wk-legend{font-size:10.5px;margin-bottom:4px}
  .wk-seg span{font-size:13px}
  .wk-field-row{grid-template-columns:1fr}
  .wk-design{font-size:10px}
  .wk-swatch{height:38px}
  .wk-sheet{padding:12px 10px 10px;border-radius:14px}
  .wk-head{gap:4px 6px;margin-bottom:8px}
  .wk-sheet .wk-title{font-size:22px;height:44px}
  .wk-when{gap:2px}
  .wk-range{min-width:0;font-size:12.5px}
  .wk-weekno{display:none}
  .wk-focus{gap:8px}
  .wk-sheet .wk-daynav{display:flex;gap:4px;overflow-x:auto;margin:0 0 10px;padding-bottom:2px}
  .wk-sheet .wk-daybtn{flex:1 0 auto;min-width:44px;min-height:44px;padding:0 4px;border-radius:10px;border:1px solid var(--line);background:#ffffff;color:var(--ink);font:700 13px/1 'DM Sans','DM Sans Fallback',system-ui,sans-serif;cursor:pointer}
  .wk-sheet .wk-daybtn[aria-pressed="true"]{background:#1550b8;border-color:#1550b8;color:#ffffff}
  .wk-body{grid-template-columns:1fr}
  .wk-sheet[data-focus="one"] .wk-day:not(.is-current){display:none}
  .wk-sheet[data-focus="one"] .wk-grid [data-wd]:not(.is-current){display:none}
  .wk-sheet[data-focus="one"] .wk-grid{min-width:0}
  .wk-sheet[data-focus="one"] .wk-grid .wk-time{width:60px}
  .wk-sheet[data-layout="hourly"] .wk-week{grid-template-columns:1fr}
  .wk-next{padding:14px}
  .wk-next .button{width:100%}
}
@media screen and (max-width:360px){
  .wk-head{grid-template-columns:1fr}
  .wk-when{justify-content:space-between}
  .wk-range{flex:1}
  .wk-focus{flex-direction:column;align-items:stretch;gap:0}
}

/* Printing: named pages only (never an unscoped @page), so other pages keep their own sizes */
@page wk-letter-landscape{size:letter landscape;margin:10mm}
@page wk-letter-portrait{size:letter portrait;margin:10mm}
@page wk-a4-landscape{size:A4 landscape;margin:10mm}
@page wk-a4-portrait{size:A4 portrait;margin:10mm}
@media print{
  body:has(.wk-app)>:not(main){display:none!important}
  main:has(.wk-app){width:auto;max-width:none;margin:0;padding:0}
  main:has(.wk-app)>:not(.wk-app){display:none!important}
  .wk-app{display:block;margin:0}
  .wk-controls,.wk-next,.wk-sheet .wk-daynav,.wk-sheet .wk-nav{display:none!important}
  .wk-sheet{border:0;border-radius:0;box-shadow:none;padding:0;display:flex;flex-direction:column;height:var(--ph);overflow:hidden;break-inside:avoid}
  .wk-sheet[data-paper="letter"][data-orient="landscape"]{page:wk-letter-landscape;--ph:194mm}
  .wk-sheet[data-paper="letter"][data-orient="portrait"]{page:wk-letter-portrait;--ph:257mm}
  .wk-sheet[data-paper="a4"][data-orient="landscape"]{page:wk-a4-landscape;--ph:188mm}
  .wk-sheet[data-paper="a4"][data-orient="portrait"]{page:wk-a4-portrait;--ph:275mm}
  .wk-sheet ::placeholder{color:transparent}
  .wk-head{margin:0 0 3mm;gap:1mm 6mm}
  .wk-sheet .wk-title{font-size:20pt;height:auto;padding:0}
  .wk-range{font-size:10pt;min-width:0;text-align:right}
  .wk-weekno{font-size:7.5pt}
  .wk-sheet .wk-in{height:auto;min-height:0;font-size:8.5pt;padding:0 .5mm}
  .wk-sheet .wk-focus .wk-in{font-size:9.5pt}
  .wk-sheet .wk-label{font-size:6.5pt;margin-top:1mm}
  .wk-sheet .wk-dayname{font-size:11pt;padding:.8mm 2mm}
  .wk-sheet .wk-date{font-size:7.5pt}
  .wk-body{flex:1 1 auto;min-height:0;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:3mm}
  .wk-sheet[data-orient="portrait"] .wk-body{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr))}
  .wk-sheet .wk-day,.wk-sheet .wk-week{display:flex!important;flex-direction:column;min-height:0;overflow:hidden;padding:1.5mm 2.5mm 2mm}
  .wk-sheet .wk-grid [data-wd]{display:table-cell!important}
  .wk-sheet .wk-top,.wk-sheet .wk-todo,.wk-sheet .wk-lines{display:flex;flex-direction:column;flex:1 1 0;min-height:0}
  .wk-sheet .wk-top{flex-grow:3}.wk-sheet .wk-todo{flex-grow:4}.wk-sheet .wk-lines{flex-grow:7}
  .wk-sheet .wk-top li,.wk-sheet .wk-todo li,.wk-sheet .wk-lines li{flex:1 1 0;min-height:0;display:flex;align-items:stretch}
  .wk-sheet .wk-top li::before{align-self:center}
  .wk-sheet .wk-top .wk-in,.wk-sheet .wk-todo .wk-in,.wk-sheet .wk-lines .wk-in{flex:1;height:auto;align-self:stretch}
  .wk-sheet .wk-check{height:auto;width:4mm;margin:0}
  .wk-sheet input[type="checkbox"]{width:3mm;height:3mm;border-width:.3mm}
  .wk-sheet .wk-lined{background:linear-gradient(transparent 4.4mm,var(--line) 4.4mm) 0 0/100% 4.6mm repeat-y;min-height:0}
  .wk-sheet textarea,.wk-sheet .wk-notes{font-size:8pt;line-height:4.6mm;height:100%;min-height:0}
  .wk-sheet .wk-dnotes-box{flex:2.2 1 0}
  .wk-sheet .wk-wnotes{display:flex;flex-direction:column;flex:1 1 0;min-height:0}
  .wk-sheet .wk-wnotes .wk-lined{flex:1 1 0}
  .wk-sheet .wk-tick{min-height:0;font-size:6.5pt}
  .wk-sheet .wk-tick input[type="checkbox"]{width:4.5mm;height:4.5mm}
  /* Portrait Planner and Minimal: one row per day, sections side by side, so lines stay tall enough to write on */
  .wk-sheet[data-orient="portrait"]:not([data-layout="hourly"]) .wk-body{grid-template-columns:1fr;grid-template-rows:repeat(8,minmax(0,1fr));gap:2mm}
  .wk-sheet[data-orient="portrait"]:not([data-layout="hourly"]) .wk-day{display:grid!important;grid-template-columns:25mm minmax(0,1fr) minmax(0,1fr) minmax(0,.8fr);grid-template-rows:auto minmax(0,1fr);gap:0 4mm;padding:1.5mm 2.5mm}
  .wk-sheet[data-orient="portrait"]:not([data-layout="hourly"]) .wk-dayname{grid-column:1;grid-row:1/3;flex-direction:column;justify-content:flex-start;gap:1mm;margin:0;align-self:stretch}
  .wk-sheet[data-orient="portrait"] .wk-day>.wk-label:nth-of-type(1){grid-column:2;grid-row:1}
  .wk-sheet[data-orient="portrait"] .wk-day>.wk-top{grid-column:2;grid-row:2}
  .wk-sheet[data-orient="portrait"] .wk-day>.wk-label:nth-of-type(2){grid-column:3;grid-row:1}
  .wk-sheet[data-orient="portrait"] .wk-day>.wk-todo{grid-column:3;grid-row:2}
  .wk-sheet[data-orient="portrait"] .wk-day>.wk-label:nth-of-type(3){grid-column:4;grid-row:1}
  .wk-sheet[data-orient="portrait"] .wk-day>.wk-dnotes-box{grid-column:4;grid-row:2}
  .wk-sheet[data-orient="portrait"][data-layout="minimal"] .wk-day{grid-template-columns:25mm minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
  .wk-sheet[data-orient="portrait"][data-layout="minimal"] .wk-lines{grid-column:2;grid-row:1;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(4,minmax(0,1fr));column-gap:5mm}
  .wk-sheet[data-orient="portrait"]:not([data-layout="hourly"]) .wk-week{display:grid!important;grid-template-columns:1fr 1fr;gap:0 6mm}
  .wk-sheet[data-layout="hourly"] .wk-body{display:flex;flex-direction:column}
  .wk-sheet .wk-grid-wrap{flex:1 1 auto;min-height:0;overflow:hidden}
  .wk-sheet .wk-grid{min-width:0;height:100%}
  .wk-sheet .wk-grid thead th{font-size:9pt;padding:.8mm .5mm}
  .wk-sheet .wk-grid .wk-time{width:12mm;font-size:7pt;padding-right:1.5mm}
  .wk-sheet .wk-grid .wk-in{height:auto;font-size:7.5pt;line-height:1.1;padding:0 1mm}
  .wk-sheet[data-step="30"] .wk-grid .wk-in{font-size:7pt}
  .wk-sheet[data-layout="hourly"] .wk-week{flex:none;height:26mm;display:grid!important;grid-template-columns:1fr 1fr;gap:1mm 6mm;margin-top:2.5mm}
  .wk-sheet[data-layout="hourly"] .wk-wnotes{height:100%}
  .wk-sheet .wk-credit{margin:1.5mm 0 0;font-size:7pt}
  html.wk-blank .wk-sheet .wk-in,html.wk-blank .wk-sheet textarea{color:transparent!important}
  html.wk-blank .wk-sheet .wk-grid .wk-in{background:transparent!important}
  html.wk-blank .wk-sheet input[type="checkbox"]{background-color:transparent!important;background-image:none!important}
  html.wk-blank .wk-sheet .wk-date,html.wk-blank .wk-sheet [data-wk-range],html.wk-blank .wk-sheet .wk-weekno{display:none!important}
  html.wk-blank .wk-sheet .wk-range-blank{display:inline}
}

/* Bored guide picker */
/* /guides/what-to-do-when-bored/: one idea card, four filters and a printable checklist of every idea. */
.bp,.article-body section.bp{margin:28px 0;padding:20px;border-radius:22px;background:#e7f0ff;border:1px solid #d3e1f7}
.article-body .bp .bp-group{border:0;padding:0}
.article-body .bp p.bp-idea{font:600 22px/1.3 'Fraunces','Fraunces Fallback',Georgia,serif;color:#172033;margin:0 0 10px}
.article-body .bp p.bp-count{font-size:13px;line-height:1.4;margin:8px 0 0}
.bp-head .eyebrow{color:#12367f;margin:0}
.bp-head h2{font:600 26px/1.15 'Fraunces','Fraunces Fallback',Georgia,serif;letter-spacing:-.02em;margin:6px 0 14px}
.bp-card{background:#fffdf8;border-radius:16px;padding:18px 18px 14px;box-shadow:0 8px 24px #17203314}
.bp-idea{font:600 22px/1.3 'Fraunces','Fraunces Fallback',Georgia,serif;color:#172033;margin:0 0 10px;min-height:2.6em}
.bp-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px;padding:0}
.bp-tags span{display:inline-block;padding:4px 10px;border-radius:99px;background:#fff0d5;color:#8a3f12;font-size:12.5px;font-weight:700}
.bp-tags span:nth-child(2){background:#daf3e8;color:#1f5f45}.bp-tags span:nth-child(3){background:#f4e8ff;color:#5b3190}.bp-tags span:nth-child(4){background:#e7f0ff;color:#12367f}
.bp-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px}
.bp-actions .button{min-height:46px;margin:0}
.bp-actions .text-link{display:inline-flex;align-items:center;min-height:44px;color:#1550b8;font-weight:700}
.bp-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0 0}
.bp-filters label{display:grid;gap:3px;min-width:0}
.bp-filters label>span{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#3e4a56}
.bp-filters select{height:44px;min-width:0;width:100%;border:1px solid #c9d6ea;border-radius:12px;background:#fff;color:#172033;font:inherit;font-size:14px;padding:0 8px}
.bp-count{margin:8px 0 0;font-size:13px;color:#3e4a56}
.bp-list{margin-top:10px;border-top:1px solid #c9d6ea;padding-top:4px}
.bp-list summary{display:flex;align-items:center;min-height:44px;font-weight:700;color:#12367f;cursor:pointer}
.bp-print{background:#fffdf8;border-radius:14px;padding:14px 16px;margin:6px 0 12px}
.bp-print-title{font:600 20px/1.2 'Fraunces','Fraunces Fallback',Georgia,serif;margin:0 0 10px;color:#172033}
.bp-groups{columns:2;column-gap:28px}
.bp-group{break-inside:avoid-column;margin:0 0 14px}
.bp-group h3{font:700 13px/1.2 'DM Sans','DM Sans Fallback',system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#b24618;margin:0 0 6px}
.bp-group ul{list-style:none;margin:0;padding:0}
.bp-group li{display:flex;gap:8px;align-items:baseline;font-size:14px;line-height:1.4;color:#26344a;padding:3px 0;break-inside:avoid}
.bp-group small{flex:none;margin-left:auto;padding-left:6px;font-size:11px;font-weight:700;color:#6b7683;white-space:nowrap}
.bp-box{flex:none;width:11px;height:11px;border:1.5px solid #1550b8;border-radius:3px;transform:translateY(1px)}
.bp-print-foot{margin:6px 0 0;font-size:11px;color:#6b7683;text-align:right}
@media(max-width:700px){
  .bp,.article-body section.bp{padding:16px 12px;margin:22px -4px;border-radius:18px}
  .article-body .bp p.bp-idea{font-size:19px}
  .bp-head h2{font-size:22px}
  .bp-idea{font-size:19px}
  .bp-actions .button{width:100%}
  .bp-filters{grid-template-columns:1fr 1fr}
  .bp-groups{columns:1}
}
@media print{
  html.bp-printing body *:not(:has(.bp-print)):not(.bp-print):not(.bp-print *){display:none!important}
  html.bp-printing body,html.bp-printing main,html.bp-printing .article-shell,html.bp-printing article,html.bp-printing .article-body,html.bp-printing .bp,html.bp-printing .bp-list{margin:0!important;padding:0!important;border:0!important;background:#ffffff!important;box-shadow:none!important;max-width:none!important;width:auto!important}
  html.bp-printing{background:#ffffff}
  html.bp-printing .bp-print{padding:0;margin:0;background:#ffffff}
  html.bp-printing .bp-print-title{font-size:18pt;margin-bottom:3mm}
  html.bp-printing .bp-groups{columns:3;column-gap:6mm}
  html.bp-printing .bp-group{break-inside:auto;border:0!important;padding:0!important;margin:0 0 3mm!important}
  html.bp-printing .bp-group h3{break-after:avoid;margin:0 0 1mm;font-size:8.5pt}
  html.bp-printing .bp-group li{font-size:8pt;line-height:1.25;padding:.4mm 0;gap:1.5mm}
  html.bp-printing .bp-group small{font-size:6.5pt}
  html.bp-printing .bp-box{width:2.4mm;height:2.4mm;border-width:.3mm}
  html.bp-printing .bp-box{print-color-adjust:exact;-webkit-print-color-adjust:exact}
}
/* Online timer on wide screens: a big dial on the left, setup on the right, like the Pomodoro page */
@media(min-width:1000px){
.tm-app{max-width:none}
.tm-panel:not(.is-full){display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-areas:"face set" "face presets" "face options" "actions options" "status keys";column-gap:40px;align-items:start;padding:30px 34px 24px}
.tm-panel:not(.is-full) .tm-face{grid-area:face;width:min(400px,52vh);margin:0 auto;align-self:center}
.tm-panel:not(.is-full) .tm-readout strong{font-size:clamp(74px,7vw,104px)}
.tm-panel:not(.is-full) .tm-actions{grid-area:actions;margin-top:18px}
.tm-panel:not(.is-full) .tm-status{grid-area:status}
.tm-panel:not(.is-full) .tm-set{grid-area:set;margin-top:0;padding-top:0;border-top:0}
.tm-panel:not(.is-full) .tm-presets{grid-area:presets}
.tm-panel:not(.is-full) .tm-options{grid-area:options}
.tm-panel:not(.is-full) .tm-keys{grid-area:keys;text-align:left;align-self:end}
}
/* Breathing label stays readable when the shape is small: a soft pill behind the word */
.breath-readout strong{padding:2px 12px;border-radius:999px;background:#ffffffd9}
html[data-theme="dark"] .breath-readout strong{background:#0f1726d9;color:#e8edf6}

/* To-do list */
/* /tools/to-do-list/: tabs for several lists, a sheet in four layouts and five designs, options beside it (below on phones),
   one-page print and a blank template. The sheet is a print preview, so it keeps its paper colors in dark mode
   (see KEEP_SELECTORS in content/darkcss.py). */
.td-app{display:grid;grid-template-columns:minmax(0,1fr) 282px;gap:22px;align-items:start;margin-bottom:46px}
.td-stage{min-width:0}
.td-tabs{display:flex;gap:6px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:thin}
.td-tab{flex:none;min-height:44px;padding:0 16px;border-radius:12px;border:1px solid #e3dccf;background:#fff;color:#3e4a56;font-size:14px;font-weight:700;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}
.td-tabs .td-tab[aria-pressed="true"]{background:#1550b8;border-color:#1550b8;color:#ffffff}
.td-tab-new{border-style:dashed;color:#1550b8;background:transparent}
.td-tab[hidden]{display:none}
.td-tab:focus-visible{outline:3px solid #e4632e;outline-offset:2px}
.td-controls{position:sticky;top:14px;display:grid;gap:12px;padding:16px;border-radius:20px;background:#fff;border:1px solid #eee4d5;box-shadow:0 14px 34px #17203312;min-width:0}
.td-field{border:0;margin:0;padding:0;min-width:0}
.td-field legend,.td-legend{display:block;font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#526170;margin:0 0 6px;padding:0}
.td-seg{display:grid;grid-template-columns:1fr 1fr;border-radius:12px;background:#f4efe6;padding:3px;gap:3px}
.td-seg label{position:relative;min-width:0}
.td-seg input,.td-design input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.td-seg span{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:48px;border-radius:9px;font-size:14px;font-weight:700;line-height:1.1;color:#3e4a56;cursor:pointer;text-align:center;padding:3px 4px}
.td-seg small{font-size:10.5px;font-weight:600;color:#6b7683;margin-top:2px}
.td-seg input:checked+span{background:#fff;color:#12367f;box-shadow:0 1px 4px #17203326}
.td-seg input:focus-visible+span,.td-design input:focus-visible+.td-swatch{outline:3px solid #e4632e;outline-offset:2px}
.td-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.td-actions .button{width:100%;min-height:46px;margin:0;padding:0 10px;white-space:nowrap}
.td-status{margin:0;font-size:13px;line-height:1.45;color:#526170}
.td-status:empty{display:none}
.td-design-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.td-design{position:relative;display:grid;justify-items:center;gap:4px;cursor:pointer;font-size:11px;font-weight:700;line-height:1.15;text-align:center;color:#3e4a56;min-width:0}
.td-swatch{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:3px;width:100%;height:44px;padding:5px 6px;border-radius:10px;border:2px solid #e3dccf;box-sizing:border-box;background:#fff}
.td-swatch i{border-radius:3px;min-height:0;border-left:7px solid #1550b8;background:#f4efe6}
.td-design input:checked+.td-swatch{border-color:#1550b8;box-shadow:0 0 0 2px #1550b8}
.td-swatch-warm{background:#fffdf8}.td-swatch-warm i{background:#fff0d5;border-left-color:#1550b8}
.td-swatch-classic i{background:#ffffff;border:0;border-bottom:1.5px solid #111111;border-radius:0}
.td-swatch-pastel i:nth-child(1){background:#f4e8ff;border-left-color:#7a45b2}.td-swatch-pastel i:nth-child(2){background:#e7f0ff;border-left-color:#7a45b2}.td-swatch-pastel i:nth-child(3){background:#daf3e8;border-left-color:#7a45b2}
.td-swatch-bold i{background:#1550b8;border-left:0}.td-swatch-bold i:nth-child(2){background:#e4632e}.td-swatch-bold i:nth-child(3){background:#1f8a5b}
.td-swatch-inksaver i{background:#ffffff;border:1.5px solid #000000;border-radius:0}
.td-more{border-top:1px solid #eee4d5;padding-top:4px}
.td-more summary{display:flex;align-items:center;min-height:44px;font-weight:700;font-size:14px;color:#12367f;cursor:pointer;list-style:none}
.td-more summary::-webkit-details-marker{display:none}
.td-more summary::after{content:"+";margin-left:auto;font-size:20px;font-weight:600}
.td-more[open] summary::after{content:"−"}
.td-more-body{display:grid;gap:12px;padding-top:4px}
.td-more-body .button{min-height:44px;margin:0}
.td-image{display:grid}
.td-image select,.td-add-to{height:48px;border:1px solid #c9d6ea;border-radius:12px;background:#fff;color:#172033;font:inherit;font-size:15px;padding:0 8px;min-width:0;width:100%;box-sizing:border-box}
.td-image select{height:44px;font-size:14px}
.td-list-actions{display:flex;flex-wrap:wrap;gap:0 14px;border-top:1px solid #eee4d5;padding-top:4px}
.td-list-actions .text-button{min-height:44px;text-decoration:underline;font-size:14px}
.td-list-actions .text-button:disabled{color:#8b95a1;cursor:default;text-decoration:none}
.td-hint{margin:0;font-size:12.5px;color:#526170}
.td-keys{margin:10px 2px 0;font-size:13px;color:#526170}
.td-toast{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:30;display:flex;align-items:center;gap:14px;max-width:calc(100% - 32px);padding:6px 6px 6px 16px;border-radius:14px;background:#172033;color:#ffffff;font-size:14px;box-shadow:0 12px 30px #17203340}
.td-toast[hidden]{display:none}
.td-toast span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.td-undo{flex:none;min-height:44px;padding:0 16px;border:0;border-radius:10px;background:#ffd166;color:#172033;font-weight:800}

/* The sheet: design tokens, then layout */
.td-sheet{--bg:#fffdf8;--ink:#172033;--muted:#6b7683;--line:#ddd3c4;--accent:#e4632e;--box:#1550b8;--head:#fff0d5;--head-ink:#172033;--card:transparent;--radius:12px;--title:'Fraunces','Fraunces Fallback',Georgia,serif;color-scheme:light}
.td-sheet[data-design="classic"]{--bg:#ffffff;--ink:#111111;--muted:#555555;--line:#9a9a9a;--accent:#111111;--box:#111111;--head:transparent;--radius:0}
.td-sheet[data-design="pastel"]{--bg:#ffffff;--ink:#2b3440;--muted:#6b7683;--line:#cfd6df;--accent:#7a45b2;--box:#7a45b2;--head:transparent;--head-ink:#7a45b2;--radius:16px;--title:'DM Sans','DM Sans Fallback',system-ui,sans-serif}
.td-sheet[data-design="bold"]{--bg:#ffffff;--ink:#172033;--muted:#5b6673;--line:#c3cad3;--accent:#1550b8;--box:#1550b8;--head:#1550b8;--head-ink:#ffffff;--radius:10px;--title:'DM Sans','DM Sans Fallback',system-ui,sans-serif}
.td-sheet[data-design="inksaver"]{--bg:#ffffff;--ink:#000000;--muted:#000000;--line:#000000;--accent:#000000;--box:#000000;--head:transparent;--radius:0}
.td-sheet[data-design="pastel"] .td-group:nth-child(8n+1){--card:#f4e8ff}.td-sheet[data-design="pastel"] .td-group:nth-child(8n+2){--card:#e7f0ff}.td-sheet[data-design="pastel"] .td-group:nth-child(8n+3){--card:#daf3e8}.td-sheet[data-design="pastel"] .td-group:nth-child(8n+4){--card:#fde8ef}.td-sheet[data-design="pastel"] .td-group:nth-child(8n+5){--card:#fff0d5}.td-sheet[data-design="pastel"] .td-group:nth-child(8n+6){--card:#edf5c6}.td-sheet[data-design="pastel"] .td-group:nth-child(8n+7){--card:#ffe8d9}.td-sheet[data-design="pastel"] .td-group:nth-child(8n){--card:#f4e8ff}
.td-sheet[data-design="bold"] .td-group:nth-child(8n+2){--head:#e4632e;--box:#e4632e}.td-sheet[data-design="bold"] .td-group:nth-child(8n+3){--head:#1f8a5b;--box:#1f8a5b}.td-sheet[data-design="bold"] .td-group:nth-child(8n+4){--head:#7a45b2;--box:#7a45b2}.td-sheet[data-design="bold"] .td-group:nth-child(8n+5){--head:#d6336c;--box:#d6336c}.td-sheet[data-design="bold"] .td-group:nth-child(8n+6){--head:#0f7c8c;--box:#0f7c8c}.td-sheet[data-design="bold"] .td-group:nth-child(8n+7){--head:#172033;--box:#172033}.td-sheet[data-design="bold"] .td-group:nth-child(8n){--head:#5b6673;--box:#5b6673}

.td-sheet{background:var(--bg);color:var(--ink);border-radius:18px;border:1px solid #eee4d5;box-shadow:0 14px 34px #17203312;padding:16px 18px 10px;print-color-adjust:exact;-webkit-print-color-adjust:exact;min-width:0}
.td-head{display:flex;align-items:baseline;justify-content:space-between;gap:4px 14px;flex-wrap:wrap;margin:0 0 8px}
.td-sheet .td-title{flex:1 1 200px;min-height:44px;font:700 30px/1.15 var(--title);letter-spacing:-.02em;border:0;border-bottom:1px dashed transparent;background:transparent;color:var(--ink);padding:2px 0;min-width:0;width:100%;border-radius:0}
.td-sheet .td-title:hover{border-bottom-color:var(--line)}
.td-sheet .td-title:focus{outline:2px solid var(--box);outline-offset:2px;border-radius:3px}
.td-meta{margin:0;font-size:13px;font-weight:700;color:var(--muted)}
.td-date-line{display:none}
.td-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:0 0 12px}
.td-add.has-target{grid-template-columns:minmax(0,1fr) minmax(0,170px) auto}
.td-sheet .td-add-in{height:48px;min-width:0;width:100%;box-sizing:border-box;border:1.5px solid var(--box);border-radius:12px;background:#ffffff;color:#172033;font:500 16px/1.2 'DM Sans','DM Sans Fallback',system-ui,sans-serif;padding:0 14px}
.td-sheet .td-add-in::placeholder{color:#6b7683}
.td-sheet .td-add-in:focus{outline:3px solid #e4632e;outline-offset:1px}
.td-add-to[hidden]{display:none}
.td-add-btn{min-height:48px;margin:0;padding:0 20px}
.td-body{display:grid;gap:10px}
.td-sheet[data-layout="day"] .td-body{grid-template-columns:repeat(2,minmax(0,1fr))}
.td-group{min-width:0;background:var(--card);border-radius:var(--radius)}
.td-sheet[data-design="pastel"] .td-group{padding:6px 10px 8px}
.td-gname{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin:0 0 2px;padding:5px 10px;border-radius:calc(var(--radius) * .6);background:var(--head);color:var(--head-ink);font:700 16px/1.2 var(--title);letter-spacing:-.01em}
.td-sheet[data-design="classic"] .td-gname,.td-sheet[data-design="inksaver"] .td-gname{padding:4px 0;border-bottom:2px solid #000000;text-transform:uppercase;letter-spacing:.08em;font-size:13px}
.td-sheet[data-design="pastel"] .td-gname{padding:3px 0;font-weight:800}
.td-gcount{font:700 12px/1 'DM Sans','DM Sans Fallback',system-ui,sans-serif;opacity:.8}
.td-sheet[data-layout="simple"] .td-gname{display:none}
.td-ghint{margin:2px 10px 0;font-size:12.5px;color:var(--muted)}
.td-sheet .td-items,.td-sheet .td-blank{list-style:none;margin:0;padding:0}
.td-blank{display:none}
.td-item{display:grid;grid-template-columns:44px 44px minmax(0,1fr) 44px;align-items:start;border-bottom:1px solid var(--line);position:relative}
.td-item.is-dragging{z-index:5;background:var(--bg);box-shadow:0 10px 24px #17203330;border-radius:8px;opacity:.95}
.td-item.drop-before{box-shadow:inset 0 3px 0 #e4632e}
.td-item.drop-after{box-shadow:inset 0 -3px 0 #e4632e}
.td-group.drop-into{outline:2px dashed #e4632e;outline-offset:2px}
.td-sheet .td-handle{width:44px;height:44px;display:grid;place-items:center;border:0;background:transparent;color:var(--muted);cursor:grab;touch-action:none;padding:0;border-radius:8px}
.td-sheet .td-handle svg{width:10px;height:18px;fill:currentColor}
.td-sheet .td-handle:hover{color:var(--box)}
.td-sheet .td-handle:focus-visible,.td-sheet .td-del:focus-visible{outline:2px solid #e4632e;outline-offset:-2px}
.td-check{display:grid;place-items:center;width:44px;height:44px;cursor:pointer}
.td-sheet .td-check input{appearance:none;-webkit-appearance:none;width:22px;height:22px;margin:0;border:2px solid var(--box);border-radius:6px;background:transparent center/85% no-repeat;cursor:pointer}
.td-sheet .td-check input:checked{background-color:var(--box);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3.2 3L13 4.5' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.td-sheet[data-design="classic"] .td-check input,.td-sheet[data-design="inksaver"] .td-check input{border-radius:0}
.td-sheet[data-design="classic"] .td-check input:checked,.td-sheet[data-design="inksaver"] .td-check input:checked{background-color:transparent;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3.2 3L13 4.5' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.td-sheet .td-check input:focus-visible{outline:2px solid #e4632e;outline-offset:2px}
.td-sheet .td-text{display:block;width:100%;min-width:0;box-sizing:border-box;min-height:44px;resize:none;overflow:hidden;field-sizing:content;border:0;border-radius:0;background:transparent;color:var(--ink);font:500 16px/22px 'DM Sans','DM Sans Fallback',system-ui,sans-serif;padding:11px 4px;margin:0}
.td-sheet .td-text:focus{outline:2px solid var(--box);outline-offset:-2px;border-radius:6px}
.td-item.is-done .td-text{color:var(--muted);text-decoration:line-through;text-decoration-thickness:1.5px}
.td-sheet .td-del{width:44px;height:44px;display:grid;place-items:center;border:0;background:transparent;color:var(--muted);cursor:pointer;padding:0;border-radius:8px}
.td-sheet .td-del svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.td-sheet .td-del:hover{color:#c2410c}
.td-empty{min-height:40px;display:flex;align-items:center;padding:0 10px;font-size:13px;color:var(--muted);font-style:italic;border-bottom:1px dashed var(--line)}
.td-sheet[data-layout="frog"] .td-group[data-g="frog"] .td-text,.td-sheet[data-layout="135"] .td-group[data-g="big"] .td-text{font-weight:700;font-size:17px}
.td-credit{margin:8px 0 0;text-align:right;font-size:10.5px;color:var(--muted)}
.td-sheet.is-dense .td-text{font-size:15px}

@media(max-width:1080px){.td-app{grid-template-columns:minmax(0,1fr) 250px}.td-design-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){
  .td-app{grid-template-columns:1fr;gap:14px}
  .td-controls{position:static;padding:12px;gap:10px;border-radius:18px}
  .td-seg{grid-template-columns:repeat(4,minmax(0,1fr))}
  .td-more .td-seg{grid-template-columns:1fr 1fr}
  .td-design-list{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media(max-width:700px){
  .td-sheet{padding:12px 10px 8px;border-radius:16px}
  .td-sheet .td-title{font-size:25px}
  .td-add.has-target{grid-template-columns:minmax(0,1fr) auto}
  .td-add.has-target .td-add-in{grid-column:1/-1}
  .td-sheet[data-layout="day"] .td-body{grid-template-columns:1fr}
  .td-keys{display:none}
}
@media(max-width:480px){.td-controls>.td-field .td-seg{grid-template-columns:1fr 1fr}.td-item{grid-template-columns:44px 44px minmax(0,1fr) 44px}}
@media(pointer:coarse){.td-keys{display:none}}

/* Printing: named pages only (never an unscoped @page), so other pages keep their own sizes */
@page td-letter{size:letter portrait;margin:12mm}
@page td-a4{size:A4 portrait;margin:12mm}
@media print{
  html:has(.td-app),body:has(.td-app){background:#ffffff!important}
  body:has(.td-app)>:not(main){display:none!important}
  main:has(.td-app){width:auto;max-width:none;margin:0;padding:0}
  main:has(.td-app)>:not(.td-app){display:none!important}
  .td-app{display:block;margin:0}
  .td-controls,.td-tabs,.td-add,.td-toast,.td-keys,.td-sheet .td-handle,.td-sheet .td-del,.td-ghint,.td-empty{display:none!important}
  .td-sheet{border:0;border-radius:0;box-shadow:none;padding:0;display:flex;flex-direction:column;height:var(--ph);overflow:hidden;break-inside:avoid}
  .td-sheet[data-paper="letter"]{page:td-letter;--ph:250mm}
  .td-sheet[data-paper="a4"]{page:td-a4;--ph:268mm}
  .td-head{margin:0 0 4mm;padding-bottom:2mm;border-bottom:.6mm solid var(--accent)}
  .td-sheet .td-title{font-size:24pt;padding:0;height:auto;min-height:0;flex:1 1 0;width:auto}
  .td-meta{flex:none}
  .td-meta{font-size:9pt}
  .td-date-line{display:inline;margin-left:6mm}
  .td-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:3mm}
  .td-sheet[data-layout="day"] .td-body{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(4,minmax(0,1fr));gap:3mm 6mm}
  .td-group{display:flex;flex-direction:column;min-height:0;overflow:hidden}
  .td-sheet[data-layout="simple"] .td-group,.td-sheet[data-layout="frog"] .td-group[data-g="rest"],.td-sheet[data-layout="135"] .td-group[data-g="later"]{flex:1 1 auto}
  .td-gname{font-size:11pt;padding:1mm 2.5mm;margin-bottom:.5mm}
  .td-gcount{font-size:8pt}
  .td-items{flex:none}
  .td-blank{display:flex!important;flex-direction:column;flex:1 1 auto;min-height:0}
  .td-item,.td-blank li{display:grid;grid-template-columns:7mm minmax(0,1fr);align-items:center;min-height:8.5mm;border-bottom:.25mm solid var(--line);overflow:hidden}
  .td-blank li{flex:none;height:8.5mm}
  .td-sheet[data-layout="simple"] .td-blank li,.td-sheet[data-layout="frog"] [data-g="rest"] .td-blank li,.td-sheet[data-layout="135"] [data-g="later"] .td-blank li{flex:1 1 0;height:auto;min-height:5.5mm;max-height:10mm}
  .td-blank li::before{content:"";width:3.8mm;height:3.8mm;box-sizing:border-box;border:.35mm solid var(--box);border-radius:.8mm;margin-left:.8mm}
  .td-sheet[data-design="classic"] .td-blank li::before,.td-sheet[data-design="inksaver"] .td-blank li::before{border-radius:0}
  .td-check{width:7mm;height:auto;justify-items:start;padding-left:.8mm}
  .td-sheet .td-check input{width:3.8mm;height:3.8mm;border-width:.35mm;border-radius:.8mm}
  .td-sheet .td-text{min-height:0;max-height:11mm;padding:.8mm 1mm;font-size:10.5pt;line-height:1.3}
  .td-sheet[data-layout="frog"] .td-group[data-g="frog"] .td-item,.td-sheet[data-layout="frog"] .td-group[data-g="frog"] .td-blank li,.td-sheet[data-layout="135"] .td-group[data-g="big"] .td-item,.td-sheet[data-layout="135"] .td-group[data-g="big"] .td-blank li{min-height:14mm;max-height:none}
  .td-sheet[data-layout="frog"] .td-group[data-g="frog"] .td-text,.td-sheet[data-layout="135"] .td-group[data-g="big"] .td-text{font-size:13pt}
  .td-sheet.is-dense .td-item{min-height:6mm}
  .td-sheet.is-cols .td-items{display:block;columns:2;column-gap:6mm}
  .td-sheet.is-cols .td-item{break-inside:avoid}
  .td-sheet.is-dense .td-text{font-size:9pt;padding:.3mm 1mm;max-height:5.6mm}
  .td-sheet[data-layout="day"] .td-item,.td-sheet[data-layout="day"] .td-blank li{min-height:7mm}
  .td-credit{margin:2mm 0 0;font-size:7pt}
  html.td-blank .td-meta [data-td-count]{display:none}
}

/* Eisenhower upgrade */
/* /tools/eisenhower-matrix/: definition box and quadrant key, axis labels, three designs, drag and drop,
   examples by role, and a one-page landscape print (named pages only). */
.eisen-define{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:12px 30px;align-items:center;margin:0 0 20px;padding:20px 24px;border-radius:22px;background:#fff0d5;border:1px solid #f0ddbd}
.eisen-define h2{font:700 24px/1.2 'Fraunces','Fraunces Fallback',Georgia,serif;margin:0 0 6px}
.eisen-define p{margin:0 0 8px;font-size:16px;line-height:1.55}
.eisen-define .eisen-define-q{font-size:14.5px;color:#3b4651;margin:0}
.eisen-define-jump{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:#1550b8;font-weight:700;text-decoration:none}
.eisen-define-jump:hover{text-decoration:underline;text-underline-offset:4px}
.eisen-key{width:100%;border-collapse:collapse;font-size:15px}
.eisen-key thead th{padding:0 8px 6px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#7a5a2e;text-align:left}
.eisen-key tbody th,.eisen-key td{padding:6px 8px;text-align:left;vertical-align:middle;border-bottom:1px solid #f0ddbd}
.eisen-key tbody tr:last-child>*{border-bottom:0}
.eisen-key tbody th{font-weight:700;white-space:nowrap}
.eisen-key td:last-child{color:#3b4651}
.eisen-badge{display:inline-grid;place-items:center;flex:none;width:24px;height:24px;margin-right:4px;border-radius:50%;background:#e4632e;color:#ffffff;font:700 13px/1 'DM Sans','DM Sans Fallback',sans-serif;vertical-align:1px}
.eisen-badge.q2{background:#1550b8}.eisen-badge.q3{background:#9a6a06}.eisen-badge.q4{background:#6b7683}
.eisen-q h3 .eisen-badge{width:22px;height:22px;font-size:12px}
.eisen-app .tool-output-head .tool-actions .button{min-height:44px}
.eisen-designs{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin:4px 0 2px}
.eisen-designs-label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#526170;margin-right:4px}
.eisen-designs button{min-height:44px;display:inline-flex;align-items:center;gap:8px;padding:0 12px 0 8px;border:1.5px solid transparent;border-radius:12px;background:none;font:inherit;font-size:14px;font-weight:600;color:#526170;cursor:pointer}
.eisen-designs button[aria-checked=true]{border-color:#1550b8;background:#e7f0ff;color:#12367f}
.eisen-designs i{width:30px;height:22px;border-radius:3px;border:1px solid #cfc4b2;background:#ffffff linear-gradient(90deg,#e4632e 0 50%,#1550b8 50%) 2px 2px/24px 3px no-repeat;box-sizing:border-box}
.eisen-designs [data-design-choice=minimal] i{background:#ffffff linear-gradient(#111111,#111111) 50% 50%/1px 16px no-repeat,linear-gradient(#111111,#111111) 50% 50%/24px 1px no-repeat}
.eisen-designs [data-design-choice=colorful] i{border-color:#f0ddbd;background:linear-gradient(90deg,#fde4d6 0 50%,#e1ecff 50%) 0 0/100% 50% no-repeat,linear-gradient(90deg,#fff1c2 0 50%,#eceff3 50%) 0 100%/100% 50% no-repeat}
.eisen-print-date{display:none}
.eisen-axis{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#526170}
@media(min-width:641px){
.eisen-board{display:grid;grid-template-columns:22px minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto auto;gap:6px 10px;margin-top:10px}
.eisen-board .eisen-grid{display:contents}
.eisen-axis-top{grid-row:1;text-align:center}
.eisen-axis-u{grid-column:2}.eisen-axis-nu{grid-column:3}
.eisen-axis-side{grid-column:1;writing-mode:vertical-rl;transform:rotate(180deg);text-align:center;align-self:center}
.eisen-axis-i{grid-row:2}.eisen-axis-ni{grid-row:3}
.eisen-board .eisen-q.q1{grid-area:2/2}.eisen-board .eisen-q.q2{grid-area:2/3}.eisen-board .eisen-q.q3{grid-area:3/2}.eisen-board .eisen-q.q4{grid-area:3/3}
}
@media(max-width:640px){.eisen-axis{display:none}}
.eisen-q.is-drop{outline:3px dashed #1550b8;outline-offset:2px}
.eisen-item[draggable=true]{cursor:grab}
.eisen-item.is-dragging{opacity:.45}
/* Minimal: black lines, no cards */
.eisen-app[data-design=minimal] .eisen-q{border:0;border-radius:0;background:transparent;padding:12px 14px}
.eisen-app[data-design=minimal] .eisen-q.q1,.eisen-app[data-design=minimal] .eisen-q.q3{border-right:2px solid #172033}
.eisen-app[data-design=minimal] .eisen-q.q1,.eisen-app[data-design=minimal] .eisen-q.q2{border-bottom:2px solid #172033}
.eisen-app[data-design=minimal] .eisen-board{gap:6px 0}
.eisen-app[data-design=minimal] .eisen-q h3{font:700 17px/1.2 'DM Sans','DM Sans Fallback',sans-serif;letter-spacing:-.01em}
.eisen-app[data-design=minimal] .eisen-q .eisen-badge{background:#172033}
.eisen-app[data-design=minimal] .eisen-q li.eisen-item{background:transparent;border-color:#dddddd}
@media(max-width:640px){.eisen-app[data-design=minimal] .eisen-q.q1,.eisen-app[data-design=minimal] .eisen-q.q3{border-right:0}.eisen-app[data-design=minimal] .eisen-q{border-bottom:2px solid #172033;padding:12px 2px}.eisen-app[data-design=minimal] .eisen-q.q4{border-bottom:0}}
/* Colorful: a tinted box per quadrant */
.eisen-app[data-design=colorful] .eisen-q{border-top-width:8px}
.eisen-app[data-design=colorful] .eisen-q.q1{background:#fde4d6;border-color:#f6c3a8;border-top-color:#e4632e}
.eisen-app[data-design=colorful] .eisen-q.q2{background:#e1ecff;border-color:#b9cff3;border-top-color:#1550b8}
.eisen-app[data-design=colorful] .eisen-q.q3{background:#fff1c2;border-color:#eed98a;border-top-color:#c9a227}
.eisen-app[data-design=colorful] .eisen-q.q4{background:#eceff3;border-color:#cfd5dd;border-top-color:#8a96a6}
.eisen-app[data-design=colorful] .eisen-q li.eisen-item{background:#ffffff}
.eisen-paper summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-size:14px;font-weight:700;color:#12367f}
.eisen-paper-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.eisen-paper select{min-height:44px}
/* Examples by role */
.eisen-filter{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 10px}
.eisen-filter[hidden]{display:none}
.eisen-filter .chip{min-height:44px;padding:0 16px;font:inherit;font-size:14px;font-weight:600;color:#172033}
.eisen-filter .chip[aria-pressed=true]{border-color:#1550b8;background:#1550b8;color:#ffffff}
.eisen-examples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 20px}
.eisen-ex{padding:16px 18px;border-radius:18px;background:#fff;border:1px solid #eee4d5;min-width:0}
.eisen-ex[hidden]{display:none}
.eisen-ex h3{margin:0 0 4px;font:700 19px/1.25 'Fraunces','Fraunces Fallback',Georgia,serif}
.eisen-ex>p{margin:0 0 10px;font-size:14.5px;line-height:1.5;color:#3b4651}
.eisen-ex-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.eisen-ex-q{padding:8px 10px;border-radius:10px;background:#fffdf8;border:1px solid #eee4d5;border-top:4px solid #e4632e;min-width:0}
.eisen-ex-q.q2{border-top-color:#1550b8}.eisen-ex-q.q3{border-top-color:#c9a227}.eisen-ex-q.q4{border-top-color:#8a96a6}
.eisen-ex-name{margin:0 0 4px;font-size:13px;font-weight:800;color:#172033}
.eisen-ex-name .eisen-badge{width:18px;height:18px;font-size:10px}
.eisen-ex-q ul{margin:0;padding-left:16px;font-size:13.5px;line-height:1.4;overflow-wrap:anywhere}
.eisen-ex-q li+li{margin-top:3px}
.eisen-ex-load{margin-top:10px;min-height:44px}
.eisen-ex-load[hidden]{display:none}
@media(max-width:860px){.eisen-define{grid-template-columns:1fr}.eisen-define-jump{display:none}.eisen-examples{grid-template-columns:1fr}}
@media(max-width:700px){
.eisen-define{gap:6px;margin:0 0 14px;padding:14px 12px 8px;border-radius:18px}
.eisen-define h2{font-size:20px;margin-bottom:2px}
.eisen-define p{font-size:14.5px;line-height:1.5;margin-bottom:4px}
.eisen-define .eisen-define-q,.eisen-key thead{display:none}
.eisen-key{font-size:14px}
.eisen-key tbody th,.eisen-key td{padding:4px 5px}
.eisen-key tbody th{padding-left:0}
.eisen-key td:last-child{padding-right:0}
.eisen-designs button{padding:0 8px 0 6px;gap:6px}
.eisen-paper-body{grid-template-columns:1fr}
}
@media(max-width:360px){.eisen-key{font-size:13px}.eisen-key .eisen-badge{width:20px;height:20px;font-size:11px}}
@media(max-width:400px){.eisen-ex-grid{grid-template-columns:1fr}}
@page eisen-letter{size:letter landscape;margin:10mm}
@page eisen-a4{size:A4 landscape;margin:10mm}
@media print{
  body:has(.eisen-app)>:not(main){display:none!important}
  main:has(.eisen-app){width:auto;max-width:none;margin:0;padding:0}
  main:has(.eisen-app)>:not(.eisen-app){display:none!important}
  .eisen-app{display:block;margin:0}
  .eisen-app>:not(.eisen-sheet){display:none!important}
  .eisen-sheet{page:eisen-letter;--ph:192mm;height:var(--ph);display:flex;flex-direction:column;overflow:hidden;border:0;border-radius:0;box-shadow:none;padding:0;background:#fff;break-inside:avoid}
  .eisen-app[data-paper=a4] .eisen-sheet{page:eisen-a4;--ph:186mm}
  .eisen-sheet .tool-actions,.eisen-designs,.eisen-paper,.eisen-hint,.eisen-foot,[data-eisen-status]{display:none!important}
  .eisen-sheet .tool-output-head{margin:0}
  .eisen-sheet .tool-output-head h2{font-size:22pt;margin:0}
  .eisen-print-date{display:flex;justify-content:space-between;margin:1mm 0 2mm;font-size:9pt;color:#526170}
  .eisen-print-credit{font-size:7.5pt}
  .eisen-board{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:7mm minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) minmax(0,1fr);gap:1.5mm 3mm;margin:0}
  .eisen-board .eisen-grid{display:contents}
  .eisen-axis{display:block;font-size:8pt}
  .eisen-axis-top{grid-row:1;text-align:center}
  .eisen-axis-u{grid-column:2}.eisen-axis-nu{grid-column:3}
  .eisen-axis-side{grid-column:1;writing-mode:vertical-rl;transform:rotate(180deg);text-align:center;align-self:center}
  .eisen-axis-i{grid-row:2}.eisen-axis-ni{grid-row:3}
  .eisen-board .eisen-q.q1{grid-area:2/2}.eisen-board .eisen-q.q2{grid-area:2/3}.eisen-board .eisen-q.q3{grid-area:3/2}.eisen-board .eisen-q.q4{grid-area:3/3}
  .eisen-sheet .eisen-q{min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:3mm 4mm;break-inside:avoid;print-color-adjust:exact;-webkit-print-color-adjust:exact}
  .eisen-sheet .eisen-q h3{font-size:14pt;margin:0 0 1.5mm}
  .eisen-sheet .eisen-q h3 small{font-size:7pt}
  .eisen-sheet .eisen-q ul{gap:.8mm}
  .eisen-sheet .eisen-q li.eisen-item{display:grid;grid-template-columns:5mm minmax(0,1fr);border:0;background:none;min-height:0}
  .eisen-sheet .eisen-text{font-size:10.5pt;padding:.3mm 0}
  .eisen-sheet .eisen-check{width:3.5mm;height:3.5mm}
  .eisen-badge{print-color-adjust:exact;-webkit-print-color-adjust:exact}
  .eisen-app.is-blank .eisen-q ul{flex:1 1 auto;display:block;background:repeating-linear-gradient(to bottom,transparent 0,transparent 32px,#c4c4c4 32px,#c4c4c4 34px)}
  .eisen-app[data-design=minimal] .eisen-board{gap:1.5mm 0}
  .eisen-app[data-design=minimal] .eisen-q.q1,.eisen-app[data-design=minimal] .eisen-q.q3{border-right:.6mm solid #111111}
  .eisen-app[data-design=minimal] .eisen-q.q1,.eisen-app[data-design=minimal] .eisen-q.q2{border-bottom:.6mm solid #111111}
  .eisen-app[data-design=classic] .eisen-q{border:.3mm solid #999999;border-top:1.6mm solid #e4632e}
  .eisen-app[data-design=classic] .eisen-q.q2{border-top-color:#1550b8}.eisen-app[data-design=classic] .eisen-q.q3{border-top-color:#c9a227}.eisen-app[data-design=classic] .eisen-q.q4{border-top-color:#8a96a6}
}
@media screen{
.eisen-sheet{display:flex;flex-direction:column}
.eisen-sheet>.tool-output-head{order:0}.eisen-sheet>.eisen-board{order:1}.eisen-sheet>[data-eisen-status]{order:2}.eisen-sheet>.eisen-hint{order:3}.eisen-sheet>.eisen-designs{order:4;margin-top:8px}.eisen-sheet>.eisen-foot{order:5}.eisen-sheet>.eisen-paper{order:6}
}
@media(max-width:700px){
.eisen-define .eisen-define-text p{display:none}
.eisen-app .tool-output-head h2{margin-bottom:8px}
}

/* Daily planner upgrade */
/* /tools/daily-routine-planner/: a first-screen design picker with print actions, the routine builder (above),
   and a fill-in planner page in three designs. The page is a print preview, so .dp-sheet and .dp-thumb keep
   their paper colors in dark mode (KEEP_SELECTORS in content/darkcss.py). */
.dp-quick{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);grid-template-areas:"text designs" "actions designs" "status status";gap:10px 26px;align-items:center;margin:0 0 22px;padding:18px 22px;border-radius:22px;background:#fff0d5;border:1px solid #f0ddbd}
.dp-quick-text{grid-area:text}
.dp-quick h2{font:700 23px/1.2 'Fraunces','Fraunces Fallback',Georgia,serif;margin:0 0 4px}
.dp-quick p{margin:0;font-size:15px;line-height:1.5;color:#3b4651}
.dp-designs{grid-area:designs;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.dp-designs button{display:grid;justify-items:center;gap:6px;min-height:44px;padding:8px 6px;border:2px solid #e3d3b6;border-radius:14px;background:#fffdf8;font:inherit;font-size:13.5px;font-weight:700;line-height:1.2;color:#3e4a56;cursor:pointer;text-align:center}
.dp-designs button[aria-checked=true]{border-color:#1550b8;background:#e7f0ff;color:#12367f;box-shadow:0 0 0 1px #1550b8}
.dp-designs button:focus-visible{outline:3px solid #e4632e;outline-offset:2px}
.dp-thumb{display:grid;gap:3px;width:52px;height:66px;padding:6px 5px;border-radius:4px;background:#ffffff;border:1px solid #cfc4b2;box-sizing:border-box}
.dp-thumb b{display:block;border-radius:1px}
.dp-thumb-hourly{grid-template-columns:1fr 1fr;grid-template-rows:6px 1fr 1fr}
.dp-thumb-hourly b:nth-child(1){grid-column:1/-1;background:#e4632e}
.dp-thumb-hourly b:nth-child(2){grid-row:2/4;background:repeating-linear-gradient(#ffffff 0 4px,#9aa7b8 4px 5px)}
.dp-thumb-hourly b:nth-child(3){grid-row:2/4;background:linear-gradient(#1550b8,#1550b8) 0 0/100% 3px no-repeat,repeating-linear-gradient(#ffffff 0 5px,#d0c6b5 5px 6px)}
.dp-thumb-priorities{grid-template-rows:6px 16px 1fr}
.dp-thumb-priorities b:nth-child(1){background:#e4632e}
.dp-thumb-priorities b:nth-child(2){background:repeating-linear-gradient(#ffffff 0 4px,#1550b8 4px 5px)}
.dp-thumb-priorities b:nth-child(3){background:repeating-linear-gradient(90deg,#ffffff 0 3px,transparent 3px),repeating-linear-gradient(#ffffff 0 5px,#9aa7b8 5px 6px)}
.dp-thumb-minimal{grid-template-rows:4px 1fr}
.dp-thumb-minimal b:nth-child(1){background:#172033}
.dp-thumb-minimal b:nth-child(2){background:repeating-linear-gradient(#ffffff 0 5px,#b9b9b9 5px 6px)}
.dp-thumb-minimal b:nth-child(3){display:none}
.dp-quick-actions{grid-area:actions;display:flex;flex-wrap:wrap;gap:8px}
.dp-quick-actions .button,.dp-options-actions .button{min-height:46px;margin:0;padding:0 16px;white-space:nowrap}
.dp-status{grid-area:status;font-size:13.5px;color:#526170}
.dp-status:empty{display:none}
.dp-jump{display:none}
/* The planner page and its options */
.dp-app{display:grid;grid-template-columns:260px minmax(0,1fr);gap:22px;align-items:start;margin:0 0 46px}
.dp-options{position:sticky;top:14px;display:grid;gap:12px;padding:18px;border-radius:20px;background:#fff;border:1px solid #eee4d5;box-shadow:0 14px 34px #17203312;min-width:0}
.dp-options h2{font:700 21px/1.2 'Fraunces','Fraunces Fallback',Georgia,serif;margin:0}
.dp-options-note{margin:0;font-size:13.5px;line-height:1.45;color:#526170}
.dp-options-row{display:grid;gap:10px}
.dp-options-row .build-field{margin:0}
.dp-options-row input,.dp-options-row select{min-height:44px;width:100%;box-sizing:border-box}
.dp-field{margin:0;padding:0;border:0;min-width:0}
.dp-legend{display:block;padding:0;margin:0 0 8px;font-size:inherit;font-weight:600}
.dp-seg{display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:3px;border-radius:12px;background:#f4efe6;min-width:0}
.dp-options-row select{height:44px;border:1px solid #c9d6ea;border-radius:12px;background:#fff;color:#172033;font:inherit;font-size:14px;padding:0 8px}
.dp-seg label{position:relative;min-width:0}
.dp-seg input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.dp-seg span{display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:9px;font-size:14px;font-weight:700;color:#3e4a56;cursor:pointer}
.dp-seg input:checked+span{background:#fff;color:#12367f;box-shadow:0 1px 4px #17203326}
.dp-seg input:focus-visible+span{outline:3px solid #e4632e;outline-offset:2px}
.dp-options-actions{display:grid;gap:8px}
.dp-options-actions .text-button{min-height:44px;justify-self:start}
.dp-sheet{position:relative;min-width:0;padding:30px 34px 22px;border-radius:6px;background:#ffffff;color:#172033;border:1px solid #e3dccf;box-shadow:0 18px 40px #17203318}
.dp-head{display:flex;align-items:flex-end;justify-content:space-between;gap:6px 20px;flex-wrap:wrap;padding-bottom:10px;margin-bottom:14px;border-bottom:3px solid #e4632e}
.dp-sheet .dp-title{flex:1 1 220px;min-width:0;min-height:44px;padding:0;border:0;background:transparent;color:#172033;font:700 32px/1.1 'Fraunces','Fraunces Fallback',Georgia,serif}
.dp-date{margin:0;font-size:15px;font-weight:600;color:#526170}
.dp-date-blank{display:none}
.dp-body{display:grid;gap:16px 26px}
.dp-box{min-width:0}
.dp-sheet .dp-label{margin:0 0 4px;font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#1550b8}
.dp-sheet .dp-in{width:100%;min-height:44px;box-sizing:border-box;padding:0 2px;border:0;border-bottom:1px solid #d9cfbf;border-radius:0;background:transparent;color:#172033;font:inherit;font-size:15.5px}
.dp-sheet .dp-in:focus,.dp-sheet .dp-title:focus,.dp-sheet .dp-lined:focus{outline:2px solid #1550b8;outline-offset:1px}
.dp-sheet ol,.dp-sheet ul{list-style:none;margin:0;padding:0}
.dp-top ol{counter-reset:dp}
.dp-top li{display:grid;grid-template-columns:26px minmax(0,1fr);align-items:center;counter-increment:dp}
.dp-top li::before{content:counter(dp);font:700 18px/1 'Fraunces','Fraunces Fallback',Georgia,serif;color:#e4632e}
.dp-sheet .dp-top .dp-in{font-weight:700}
.dp-todo li{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center}
.dp-check{display:grid;place-items:center;width:34px;height:44px;cursor:pointer}
.dp-check input{width:18px;height:18px;margin:0;accent-color:#1550b8}
.dp-sheet .dp-lined{display:block;width:100%;box-sizing:border-box;resize:vertical;padding:0 2px;border:0;border-radius:0;background:transparent repeating-linear-gradient(to bottom,transparent 0,transparent 31px,#d9cfbf 31px,#d9cfbf 32px);color:#172033;font:inherit;font-size:15.5px;line-height:32px}
.dp-hours li{display:grid;grid-template-columns:62px minmax(0,1fr);align-items:center;gap:8px;min-height:34px;border-bottom:1px solid #e6ddd0}
.dp-hour{font-size:12.5px;font-weight:700;color:#526170;white-space:nowrap}
.dp-hour-items{font-size:14px;line-height:1.3;color:#172033;overflow-wrap:anywhere}
.dp-credit{margin:12px 0 0;font-size:11px;color:#8a96a6;text-align:right}
/* Designs */
.dp-sheet[data-design=hourly] .dp-body{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-template-areas:"focus focus" "sched top" "sched todo" "sched notes"}
.dp-sheet[data-design=priorities] .dp-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"focus focus" "top top" "todo notes"}
.dp-sheet[data-design=minimal] .dp-body{grid-template-areas:"focus" "lines"}
.dp-focus{grid-area:focus}.dp-sched{grid-area:sched}.dp-top{grid-area:top}.dp-todo{grid-area:todo}.dp-notes{grid-area:notes}.dp-lines{grid-area:lines}
.dp-sheet[data-design=hourly] .dp-lines,.dp-sheet[data-design=priorities] .dp-lines,.dp-sheet[data-design=priorities] .dp-sched,.dp-sheet[data-design=minimal] .dp-sched,.dp-sheet[data-design=minimal] .dp-top,.dp-sheet[data-design=minimal] .dp-todo,.dp-sheet[data-design=minimal] .dp-notes{display:none}
.dp-sheet[data-design=hourly] .dp-todo li:nth-child(n+7){display:none}
.dp-sheet[data-design=priorities] .dp-top .dp-in{font-size:18px;min-height:50px}
.dp-sheet[data-design=priorities] .dp-notes .dp-lined{min-height:320px}
.dp-sheet[data-design=minimal] .dp-head{border-bottom:2px solid #172033}
.dp-sheet[data-design=minimal] .dp-title{font:700 28px/1.1 'DM Sans','DM Sans Fallback',sans-serif;letter-spacing:-.02em}
.dp-sheet[data-design=minimal] .dp-label{color:#555555}
.dp-sheet[data-design=minimal] .dp-focus .dp-in{font-size:18px;font-weight:700;border-bottom:2px solid #172033}
.dp-sheet[data-design=minimal] .dp-lines .dp-lined{min-height:448px}
@media(max-width:980px){.dp-quick{grid-template-columns:1fr;grid-template-areas:"text" "designs" "actions" "status"}.dp-app{grid-template-columns:1fr}.dp-options{position:static}.dp-options-row{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}.dp-options-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.dp-options-actions .text-button{justify-self:center}}
@media(max-width:700px){
.dp-quick{gap:10px;padding:14px 12px;border-radius:18px;margin-bottom:16px}
.dp-quick h2{font-size:20px}
.dp-quick p{font-size:14px}
.dp-designs{gap:6px}
.dp-designs button{padding:6px 4px;font-size:12.5px}
.dp-thumb{width:40px;height:50px;padding:4px}
.dp-quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.dp-quick-actions [data-dp-print]{grid-column:1/-1}
.dp-quick-actions .button{padding:0 8px;font-size:14px}
.dp-jump{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:#1550b8;font-weight:700;text-decoration:none;justify-self:start}
.dp-options-row{grid-template-columns:1fr 1fr}
.dp-options-row>.build-field:first-child{grid-column:1/-1}
.dp-options-actions{grid-template-columns:1fr 1fr}
.dp-options-actions [data-dp-print]{grid-column:1/-1}
.dp-sheet{padding:18px 14px 14px}
.dp-sheet .dp-title{font-size:25px}
.dp-sheet[data-design=hourly] .dp-body,.dp-sheet[data-design=priorities] .dp-body{grid-template-columns:minmax(0,1fr);grid-template-areas:"focus" "top" "sched" "todo" "notes"}
.dp-sheet[data-design=priorities] .dp-notes .dp-lined{min-height:160px}
}
@page dp-letter{size:letter portrait;margin:10mm}
@page dp-a4{size:A4 portrait;margin:10mm}
@media print{
  body:has(.dp-app)>:not(main){display:none!important}
  main:has(.dp-app){width:auto;max-width:none;margin:0;padding:0}
  main:has(.dp-app)>:not(.dp-app){display:none!important}
  .dp-app{display:block;margin:0}
  .dp-app>:not(.dp-sheet){display:none!important}
  .dp-sheet{page:dp-letter;--ph:254mm;height:var(--ph);display:flex;flex-direction:column;overflow:hidden;padding:0;border:0;border-radius:0;box-shadow:none;break-inside:avoid}
  .dp-sheet[data-paper=a4]{page:dp-a4;--ph:272mm}
  .dp-sheet ::placeholder{color:transparent}
  .dp-head{margin-bottom:4mm;padding-bottom:2.5mm}
  .dp-sheet .dp-title{min-height:0;height:auto;font-size:24pt}
  .dp-date{font-size:11pt}
  .dp-body{flex:1 1 auto;min-height:0;gap:5mm 7mm}
  .dp-sheet[data-design=hourly] .dp-body{grid-template-rows:auto auto auto minmax(0,1fr)}
  .dp-sheet[data-design=priorities] .dp-body{grid-template-rows:auto auto minmax(0,1fr)}
  .dp-sheet[data-design=minimal] .dp-body{grid-template-rows:auto minmax(0,1fr)}
  .dp-box{display:flex;flex-direction:column;min-height:0;overflow:hidden}
  .dp-sheet .dp-label{font-size:8pt;margin-bottom:1mm;print-color-adjust:exact;-webkit-print-color-adjust:exact}
  .dp-sheet .dp-in{min-height:0;height:8mm;font-size:11pt;padding:0 .5mm}
  .dp-sheet[data-design=priorities] .dp-top .dp-in{min-height:0;height:10mm;font-size:13pt}
  .dp-check{height:8mm;width:7mm}
  .dp-sheet[data-design=priorities] .dp-todo ul{flex:1 1 auto;min-height:0;display:grid;grid-template-rows:repeat(10,minmax(0,1fr))}
  .dp-sheet[data-design=priorities] .dp-todo li{min-height:0;align-items:end}
  .dp-check input{width:3.6mm;height:3.6mm}
  .dp-todo li{grid-template-columns:7mm minmax(0,1fr)}
  .dp-sheet .dp-lined{flex:1 1 auto;min-height:0!important;height:auto;resize:none;overflow:hidden;font-size:11pt;line-height:30px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 29px,#bbbbbb 29px,#bbbbbb 30px);print-color-adjust:exact;-webkit-print-color-adjust:exact}
  .dp-hours{flex:1 1 auto;min-height:0;display:grid;grid-template-rows:repeat(var(--dp-rows,17),minmax(0,1fr))}
  .dp-hours li{min-height:0;grid-template-columns:15mm minmax(0,1fr);border-bottom:.3mm solid #bbbbbb}
  .dp-hour{font-size:9pt}
  .dp-hour-items{font-size:10pt;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  .dp-credit{margin:2mm 0 0;font-size:7pt}
  .dp-head,.dp-top li::before{print-color-adjust:exact;-webkit-print-color-adjust:exact}
  .dp-blank .dp-sheet .dp-in,.dp-blank .dp-sheet .dp-lined{color:transparent}
  .dp-blank .dp-hour-items,.dp-blank [data-dp-date-text]{display:none}
  .dp-blank .dp-date-blank{display:inline}
  .dp-blank .dp-check input{appearance:none;-webkit-appearance:none;border:.3mm solid #555555;border-radius:.6mm;background:#ffffff}
}
.daily-habit-link{display:inline-flex;align-items:center;min-height:44px}

/* Steps to miles */
.steps-form .steps-modes-set,.steps-form .steps-pace-set{margin-top:0}
.steps-modes,.steps-paces{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.steps-paces{grid-template-columns:repeat(3,minmax(0,1fr))}
.steps-modes .choice span,.steps-paces .choice span{min-width:0;min-height:46px;padding:8px 10px;justify-content:center;text-align:center;font-size:15px}
.steps-main .build-field{margin-top:12px}
.steps-big input{font:600 30px/1.1 'Fraunces','Fraunces Fallback',Georgia,serif;padding:10px 14px;letter-spacing:-.02em}
.steps-distance{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:10px;align-items:end}
.steps-distance select{height:56px}
.steps-answer{margin:12px 0 4px;padding:14px 16px;border-radius:16px;background:#fff4ea;border:1px solid #f6d9c2}
.steps-answer-main{font:600 21px/1.3 'Fraunces','Fraunces Fallback',Georgia,serif;color:#172033;margin:0}
.steps-answer-main strong{color:#1550b8;font-size:1.3em;white-space:nowrap}
.steps-answer-sub{margin:4px 0 0;font-size:14px;color:#3e4a56}
.steps-form .steps-pace-set{margin-top:14px}
.steps-body{align-items:end}
.steps-body .build-field{margin-top:12px}
.steps-height>span{font-weight:600}
.steps-pair{display:flex;gap:8px}
.steps-pair label{flex:1 1 0;display:flex;align-items:center;gap:6px;min-width:0;font-weight:500;color:#526170}
.steps-pair input{flex:1 1 auto;min-width:0}
.steps-measured{margin-top:14px;border-top:1px solid #eee4d5;padding-top:4px}
.steps-measured summary{display:flex;align-items:center;min-height:44px;font-weight:700;color:#12367f;cursor:pointer}
.steps-measured .build-field{margin-top:8px}
.steps-chart th small{display:block;font-weight:500;font-size:12px;color:#526170}
.steps-chart td,.steps-chart th{white-space:nowrap}
.steps-mine td:first-child,.steps-chart td:first-child{font-weight:700}
[data-steps] .stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
[data-steps] .stat strong{font-size:24px}
@media(max-width:560px){
  .steps-form{padding:16px}
  .steps-form>.tool-note{font-size:12px}
  .steps-answer-main{font-size:19px}
  .steps-big input{font-size:26px;padding:8px 12px}
  .steps-body{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps-body .steps-height{grid-column:1/-1}
  [data-steps] .tool-output{padding:16px}
  [data-steps] .tool-output-head h2{font-size:20px}
  [data-steps] .tool-output-head .button{min-height:44px;padding:0 12px;font-size:13px}
  .steps-chart td,.steps-chart th{padding:8px 6px;font-size:14px}
  [data-steps] .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  [data-steps] .stat strong{font-size:22px}
}
@media(max-width:360px){.steps-modes .choice span,.steps-paces .choice span{font-size:13px;padding:6px}}

/* Reading speed test */
.tool-app.rs-app{grid-template-columns:minmax(0,1fr);max-width:860px}
.rs-card{padding:24px;border-radius:24px;background:#fff;border:1px solid #eee4d5;box-shadow:0 14px 34px #17203312}
.rs-card h2{font:700 26px/1.2 'Fraunces','Fraunces Fallback',Georgia,serif;margin:0 0 10px}
.rs-pick{border:0;padding:0;margin:0;min-width:0}
.rs-pick legend{font-weight:700;padding:0;margin-bottom:8px}
.rs-passages{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:8px}
.rs-choice span{flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-height:60px;padding:10px 14px}
.rs-choice small{font-weight:500;font-size:13px;color:#526170}
.rs-kind{font-style:normal}
.rs-step{margin:12px 0 0;font-size:15px;line-height:1.5}
.rs-card .rs-start{margin-top:14px;min-height:56px;width:100%;max-width:380px;font-size:17px}
.rs-passage{max-width:66ch;margin:0 auto}
.rs-passage .eyebrow{color:#b24618}
.rs-passage h2{font-size:28px;margin:4px 0 14px}
.rs-passage p:not(.eyebrow){font:400 19px/1.7 Georgia,'Times New Roman',serif;color:#172033;margin:0 0 1em}
.rs-done-bar{position:sticky;bottom:0;display:flex;align-items:center;gap:14px;margin:8px -24px -24px;padding:12px 24px calc(12px + env(safe-area-inset-bottom));background:#fffdf8f2;border-top:1px solid #eee4d5;border-radius:0 0 24px 24px;backdrop-filter:blur(6px)}
.rs-done{min-height:52px;flex:0 1 320px;font-size:16px}
.rs-timer-note{font-size:13px;color:#526170}
.rs-timer-note::before{content:"";display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;background:#e4632e;vertical-align:middle}
.rs-quiz .eyebrow{color:#b24618}
.rs-q{border:0;padding:0;margin:18px 0 0;min-width:0}
.rs-q legend{font-weight:700;padding:0;margin-bottom:8px;line-height:1.4}
.rs-option{display:flex;align-items:center;gap:10px;min-height:48px;padding:8px 12px;margin:6px 0;border:1.5px solid #ddd3c4;border-radius:12px;background:#fffdf8;cursor:pointer;line-height:1.35}
.rs-option input{flex:none;width:20px;height:20px;margin:0;accent-color:#1550b8}
.rs-option:has(input:checked){border-color:#1550b8;background:#e7f0ff;color:#12367f}
.rs-option:has(input:focus-visible){outline:3px solid #f2783c;outline-offset:2px}
.rs-quiz .button{margin-top:18px;min-height:52px}
.rs-quiz-error{color:#b3261e;font-weight:600;margin:12px 0 0}
.rs-result-card{padding:20px;border-radius:18px;background:#fffdf8;border:1px solid #eee4d5}
.rs-result-card .eyebrow{color:#b24618}
.rs-wpm{margin:0;display:flex;align-items:baseline;flex-wrap:wrap;gap:10px}
.rs-wpm strong{font:600 clamp(56px,9vw,76px)/1 'Fraunces','Fraunces Fallback',Georgia,serif;color:#1550b8;letter-spacing:-.03em}
.rs-wpm span{font-size:17px;font-weight:600;color:#3e4a56}
.rs-stats{margin:14px 0 6px}
.rs-stats .stat strong{font-size:26px}
.rs-scale{position:relative;height:14px;margin:22px 0 6px;border-radius:99px;background:#efe7da}
.rs-scale-band{position:absolute;top:0;bottom:0;border-radius:99px;background:#cfe0ff}
.rs-scale-avg{position:absolute;top:-5px;width:3px;height:24px;margin-left:-1px;border-radius:2px;background:#1550b8}
.rs-scale-mark{position:absolute;top:-5px;width:24px;height:24px;margin-left:-12px;border-radius:50%;background:#e4632e;border:3px solid #fff;box-shadow:0 2px 6px #17203340}
.rs-scale-labels{display:flex;justify-content:space-between;font-size:12px;color:#526170}
.rs-verdict{font-size:17px;font-weight:600;line-height:1.45;margin:14px 0 0;color:#172033}
.rs-actions{margin-top:16px}
.rs-actions .button{min-height:48px}
.rs-review{margin:14px 0 0;padding-left:22px}
.rs-review li{margin:0 0 10px;line-height:1.5}
.rs-review li.is-right::marker{color:#2f7d32}
.rs-review li.is-wrong::marker{color:#b3261e}
.rs-review strong{display:block}
.rs-history{margin-top:22px;border-top:1px solid #eee4d5;padding-top:12px}
.rs-history-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.rs-history-head h3{font:700 20px/1.2 'Fraunces','Fraunces Fallback',Georgia,serif;margin:0}
.rs-history .rs-clear{min-height:44px;padding:0 14px;font-size:13px}
.rs-history-table td,.rs-history-table th{padding:8px;font-size:14px}
@media(max-width:560px){
  .rs-card{padding:14px 16px 16px;border-radius:18px}
  .rs-card h2{font-size:22px}
  .rs-stage[data-rs-stage=pick]>h2{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  .rs-choice span{flex-direction:row;align-items:center;justify-content:space-between;gap:8px;min-height:46px;padding:6px 12px}
  .rs-choice strong{font-size:15px}
  .rs-choice small{flex:none;font-size:12px}
  .rs-kind{display:none}
  .rs-pick legend{margin-bottom:6px}
  .rs-passages{gap:6px}
  .rs-card .rs-start{margin-top:12px}
  .rs-card .rs-start{max-width:none}
  .rs-passage p:not(.eyebrow){font-size:18px;line-height:1.65}
  .rs-done-bar{margin:8px -16px -16px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));border-radius:0 0 18px 18px}
  .rs-done{flex:1 1 auto}
  .rs-result-card{padding:16px}
  .rs-actions .button{flex:1 1 100%}
  .rs-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rs-stats .stat{padding:10px}
  .rs-stats .stat strong{font-size:20px}
  .rs-stats .stat span{font-size:12px}
}
@media print{.rs-actions,.rs-done-bar,.rs-history .rs-clear{display:none!important}.rs-card{box-shadow:none;border:0}}
/* Core values finder */
/* /tools/core-values-finder/: keep → narrow to 10 → top 5 with a sticky step bar, a values card in three designs,
   a one-page result print and a one-page full list. The card and printouts keep their colours in dark mode (darkcss KEEP_SELECTORS). */
.cv-app{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}
.cv-steps{min-width:0;padding:22px 22px 0;border-radius:24px;background:#fff;border:1px solid #eee4d5;box-shadow:0 14px 34px #17203312}
.cv-kicker{margin:0;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#b24618}
.cv-stephead h2{font:700 25px/1.2 'Fraunces','Fraunces Fallback',Georgia,serif;margin:4px 0 6px;color:#172033}
.cv-help{margin:0;font-size:15px;line-height:1.5;color:#3e4a56}
.cv-search{display:block;margin-top:12px}.cv-search[hidden]{display:none}
.cv-search input{width:100%;min-height:46px;padding:0 14px;border:1.5px solid #ddd3c4;border-radius:12px;background:#fffdf8;font:inherit;font-size:16px;color:#172033}
.cv-search input:focus{border-color:#1550b8;outline:none}
.cv-pool[hidden],.cv-group[hidden],.cv-chip[hidden],.cv-empty[hidden],.cv-result[hidden],.cv-bar [hidden]{display:none}
.cv-group{border:0;padding:0;margin:14px 0 0;min-width:0}
.cv-group legend{padding:0;margin-bottom:8px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#5b6475}
.cv-chips{display:flex;flex-wrap:wrap;gap:6px}
.cv-chip{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:6px 14px;border:1.5px solid #ddd3c4;border-radius:999px;background:#fffdf8;color:#172033;font:600 14.5px/1.2 'DM Sans','DM Sans Fallback',system-ui,sans-serif;cursor:pointer}
.cv-chip:hover{border-color:#1550b8}
.cv-chip[aria-pressed="true"]{background:#1550b8;border-color:#1550b8;color:#fff}
.cv-chip[aria-pressed="true"]::before{content:"✓";font-weight:800}
.cv-chip:has(.cv-rank:not(:empty))::before{content:none}
.cv-chip:disabled{opacity:.4;cursor:not-allowed}
.cv-chip:focus-visible{outline:3px solid #f2783c;outline-offset:2px}
.cv-rank{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#f2783c;color:#172033;font-size:12px;font-weight:800}
.cv-rank:empty{display:none}
.cv-bar{position:sticky;bottom:0;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:18px -22px 0;padding:12px 22px;border-top:1px solid #eee4d5;background:#fffdf8;border-radius:0 0 24px 24px}
.cv-bar .button{margin:0;min-height:48px;width:auto}
.cv-count{flex:1;min-width:0;margin:0;font-size:14px;font-weight:700;color:#12367f}
.cv-next:disabled{opacity:.45;cursor:not-allowed}
.cv-bar.is-done{position:static}
.cv-ranked{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:10px}
.cv-ranked-item{padding:12px;border-radius:16px;background:#f7f4ee;border:1px solid #eee4d5}
.cv-ranked-head{display:flex;align-items:center;gap:8px}
.cv-ranked-num{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#1550b8;color:#fff;font-weight:800}
.cv-ranked-name{flex:1;min-width:0;display:grid;gap:1px}
.cv-ranked-name strong{font:700 19px/1.2 'Fraunces','Fraunces Fallback',Georgia,serif;color:#172033}
.cv-ranked-name small{font-size:13px;color:#5b6475}
.cv-move{flex:none;width:44px;height:44px;border:1.5px solid #ddd3c4;border-radius:12px;background:#fff;color:#1550b8;font-size:18px;font-weight:800;cursor:pointer}
.cv-move:disabled{opacity:.35;cursor:default}
.cv-line{display:grid;gap:4px;margin-top:10px;font-size:12.5px;font-weight:700;color:#5b6475}
.cv-line input{width:100%;min-height:46px;padding:0 12px;border:1.5px solid #ddd3c4;border-radius:12px;background:#fff;font:400 16px/1.3 'DM Sans','DM Sans Fallback',system-ui,sans-serif;color:#172033}
.cv-line input:focus{border-color:#1550b8;outline:none}
.cv-rest{margin:12px 0 0;font-weight:700;color:#12367f;line-height:1.5}.cv-rest:empty{display:none}
.cv-side{min-width:0;position:sticky;top:90px;display:grid;gap:12px}
.cv-actions .button{margin:0}
.cv-list-btn{justify-self:start;min-height:44px}
.cv-options{padding:16px 18px;border-radius:18px;background:#fff;border:1px solid #eee4d5}
.cv-options .build-field{margin-top:0}.cv-options .build-field+.build-field{margin-top:12px}
.cv-options fieldset{border:0;padding:0;min-width:0}.cv-options legend{padding:0;margin-bottom:8px;font-weight:600}
.cv-options .choice span{min-height:44px;padding:8px 14px;font-size:14px}
.cv-options .tool-note .text-button{min-height:44px}
.cv-card{padding:22px;border-radius:20px;background:#fffdf8;border:1px solid #eee4d5;color:#172033;box-shadow:0 14px 34px #17203312}
.cv-card .cv-card-kicker{margin:0;font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#1550b8}
.cv-card .cv-card-title{font:700 26px/1.15 'Fraunces','Fraunces Fallback',Georgia,serif;margin:4px 0 12px;color:inherit}
.cv-card-list{margin:0;padding:0;list-style:none;counter-reset:cv;display:grid;gap:10px}
.cv-card-list li{counter-increment:cv;display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:10px;row-gap:1px}
.cv-card-list li::before{content:counter(cv);grid-row:span 2;display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#1550b8;color:#fff;font:800 14px/1 'DM Sans','DM Sans Fallback',sans-serif}
.cv-card-list strong{font:700 18px/1.25 'Fraunces','Fraunces Fallback',Georgia,serif}
.cv-card-list span{font-size:13.5px;line-height:1.35;color:#5b6475}
.cv-card .cv-card-note{margin:12px 0 0;font-size:13px;color:#5b6475}
.cv-card.is-example .cv-card-list{opacity:.8}
.cv-design-bold.cv-card{background:#172033;border-color:#172033;color:#fffdf8}
.cv-design-bold.cv-card .cv-card-kicker{color:#f2783c}.cv-design-bold.cv-card .cv-card-list li::before{background:#f2783c;color:#172033}
.cv-design-bold.cv-card .cv-card-list span,.cv-design-bold.cv-card .cv-card-note{color:#c9d2e3}
.cv-design-soft.cv-card{background:#fbefe4;border-color:#f0d9c4;color:#4a2e1f}
.cv-design-soft.cv-card .cv-card-kicker{color:#c8552b}.cv-design-soft.cv-card .cv-card-title{font-style:italic;font-weight:600}
.cv-design-soft.cv-card .cv-card-list li::before{background:#c8552b;border-radius:50%}
.cv-design-soft.cv-card .cv-card-list span,.cv-design-soft.cv-card .cv-card-note{color:#7a5a45}
.cv-list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:0 28px}
.cv-list-grid h3{margin:20px 0 6px}
.cv-list-grid dl{margin:0}.cv-list-grid dl>div{padding:5px 0;border-bottom:1px solid #eee4d5;line-height:1.4}
.cv-list-grid dt{display:inline;font-weight:700}.cv-list-grid dt::after{content:" – ";font-weight:400;color:#5b6475}
.cv-list-grid dd{display:inline;margin:0;color:#3e4a56}
.cv-print-area{display:none}
.cv-print{background:#fff;color:#172033;font-family:'DM Sans','DM Sans Fallback',system-ui,sans-serif}
.cv-print .cv-p-head{text-align:center;padding-bottom:14px;border-bottom:2px solid #172033;margin-bottom:18px}
.cv-print .cv-p-kicker{margin:0;font-size:11px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:#1550b8}
.cv-print .cv-p-head h2{margin:4px 0;font:700 40px/1.1 'Fraunces','Fraunces Fallback',Georgia,serif;color:inherit}
.cv-print .cv-p-date{margin:0;font-size:12px;color:#5b6475}
.cv-print .cv-p-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.cv-print .cv-p-list li{display:grid;grid-template-columns:52px minmax(0,1fr);gap:14px;align-items:start;padding:14px 16px;border:1.5px solid #d9d2c5;border-radius:14px;break-inside:avoid}
.cv-print .cv-p-num{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:#1550b8;color:#fff;font:800 24px/1 'DM Sans','DM Sans Fallback',sans-serif}
.cv-print .cv-p-list h3{margin:0;font:700 26px/1.1 'Fraunces','Fraunces Fallback',Georgia,serif;color:inherit}
.cv-print .cv-p-meaning{margin:2px 0 0;font-size:13px;color:#5b6475}
.cv-print .cv-p-line{margin:8px 0 0;font-size:15px;line-height:1.35}
.cv-print .cv-p-rest{margin:18px 0 0;font-size:14px;font-weight:700}
.cv-print .cv-p-check p{margin:14px 0 0;font-size:14px}
.cv-print .cv-p-foot{display:flex;justify-content:space-between;gap:12px;margin-top:22px;font-size:11px;color:#444}
.cv-print.cv-design-bold .cv-p-head{padding:18px;border:0;border-radius:12px;background:#172033;color:#fff}
.cv-print.cv-design-bold .cv-p-kicker{color:#f2783c}.cv-print.cv-design-bold .cv-p-date{color:#c9d2e3}
.cv-print.cv-design-bold .cv-p-head h2{text-transform:uppercase;letter-spacing:.5px}
.cv-print.cv-design-bold .cv-p-num{background:#f2783c;color:#172033}.cv-print.cv-design-bold .cv-p-list li{border:2px solid #172033}
.cv-print.cv-design-soft{padding:14px 18px;background:#fbefe4;color:#4a2e1f}
.cv-print.cv-design-soft .cv-p-head{border-bottom-color:#c8552b}.cv-print.cv-design-soft .cv-p-kicker{color:#c8552b}.cv-print.cv-design-soft .cv-p-head h2{font-style:italic;font-weight:600}
.cv-print.cv-design-soft .cv-p-list li{background:#fff;border-color:#f0d9c4}.cv-print.cv-design-soft .cv-p-num{background:#c8552b;border-radius:50%}
.cv-print.cv-design-soft .cv-p-meaning,.cv-print.cv-design-soft .cv-p-date{color:#7a5a45}
.cv-print .cv-pl-head{text-align:center;margin-bottom:10px}
.cv-print .cv-pl-head h2{margin:2px 0;font:700 28px/1.1 'Fraunces','Fraunces Fallback',Georgia,serif}
.cv-print .cv-pl-head p{margin:0;font-size:12px}
.cv-print .cv-pl-groups{columns:4;column-gap:18px}
.cv-print .cv-pl-groups section{break-inside:avoid;margin-bottom:8px}
.cv-print .cv-pl-groups h3{margin:0 0 3px;font:800 8.5pt/1.2 'DM Sans','DM Sans Fallback',sans-serif;text-transform:uppercase;letter-spacing:.04em;color:#b24618}
.cv-print .cv-pl-groups ul{list-style:none;margin:0;padding:0}
.cv-print .cv-pl-groups li{display:flex;align-items:center;gap:5px;font-size:9pt;line-height:1.3}
.cv-print .cv-pl-groups i{flex:none;width:9px;height:9px;border:1px solid #555;border-radius:2px}
.cv-print-list .cv-p-foot{display:block;margin-top:8px;font-size:9pt;color:#555;text-align:right}
@media(max-width:860px){.cv-app{grid-template-columns:1fr}.cv-side{position:static}}
@media(max-width:560px){.cv-steps{padding:16px 14px 0}.cv-bar{margin:14px -14px 0;padding:10px 14px}.cv-stephead h2{font-size:21px}.cv-chip{padding:6px 12px;font-size:14px}.cv-bar .button{padding:0 14px}.cv-count{font-size:13px}.cv-actions .button{flex:1;padding:0 10px}.cv-card{padding:18px}.cv-move{width:44px}}
@media(max-width:420px){.cv-count{flex-basis:100%}.cv-next{flex:1}}
@media print{
.tool-shell:has(.cv-app),.tool-shell:has(.gc-app){width:auto;max-width:none;padding:0;margin:0}
.cv-app,.gc-app{margin:0}
.cv-app{display:block}
.cv-print .cv-pl-head h2{font-size:22px}.cv-print .cv-pl-head p{font-size:10px}
.cv-print .cv-pl-groups section{margin-bottom:6px}
.cv-print .cv-pl-groups li{font-size:8.2pt;line-height:1.2}
.cv-app>:not(.cv-print-area){display:none!important}
.cv-print-area{display:block}
.cv-print-list,html.cv-printing-list .cv-print-result{display:none}
html.cv-printing-list .cv-print-list{display:block}
.cv-print{print-color-adjust:exact;-webkit-print-color-adjust:exact}
}
/* Gratitude challenge */
/* /tools/gratitude-challenge/: today's prompt with a tick and a short answer, a 30-day calendar, and three printables
   (challenge calendar, daily and weekly journal pages) in three designs. Printouts keep their colours in dark mode. */
.gc-app{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.gc-head h2{margin:0}.gc-dates{margin:2px 0 0;font-size:14px;color:#5b6475}
.gc-phase{margin:12px 0 0;font-weight:700;color:#12367f;line-height:1.5}.gc-phase .text-button{font-size:15px;padding:0;min-height:44px}
.gc-bar{height:10px;margin-top:12px;border-radius:99px;background:#eee4d5;overflow:hidden}.gc-bar span{display:block;height:100%;width:0;border-radius:inherit;background:#e4632e;transition:width .3s}
.gc-progress p{margin:6px 0 0;font-size:14px;color:#3b4456}.gc-progress[hidden],.gc-note[hidden]{display:none}
.gc-today{margin-top:14px;padding:16px;border-radius:18px;background:#fff0d5;border:1px solid #f2d3a8;scroll-margin-top:90px}
.gc-today.is-done{background:#e7f0ff;border-color:#c9d9f5}
.gc-day-label{margin:0;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#b24618}
.gc-prompt{margin:6px 0 12px;font:600 22px/1.3 'Fraunces','Fraunces Fallback',Georgia,serif;color:#172033}
.gc-done{display:flex;align-items:center;gap:12px;min-height:48px;padding:6px 14px;border-radius:12px;background:#fff;border:1.5px solid #eee4d5;font-weight:700;cursor:pointer}
.gc-done input{flex:none;width:24px;height:24px;margin:0;accent-color:#1550b8}
.gc-done:has(input:checked){border-color:#1550b8}.gc-done:has(input:disabled){cursor:default;color:#5b6475}
.gc-note{display:grid;gap:6px;margin-top:10px;font-size:13px;font-weight:700;color:#3e4a56}
.gc-note textarea{width:100%;min-height:64px;padding:10px 12px;border:1.5px solid #ddd3c4;border-radius:12px;background:#fff;color:#172033;font:400 16px/1.4 'DM Sans','DM Sans Fallback',system-ui,sans-serif;resize:vertical}
.gc-note textarea:focus{border-color:#1550b8;outline:none}
.gc-nav{margin:4px 0 0}.gc-nav:empty{display:none}.gc-nav .text-button{min-height:44px}
.gc-grid{list-style:none;padding:0;margin:14px 0 0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.gc-wd{text-align:center;font-size:11px;font-weight:700;color:#5b6475}
.gc-pad{min-height:48px}
.gc-cell{display:grid;place-items:center;align-content:center;gap:2px;width:100%;min-height:48px;padding:3px 2px;border-radius:10px;border:1.5px solid #e6dfd2;background:#fffdf8;color:#172033;font:700 14px/1 'DM Sans','DM Sans Fallback',system-ui,sans-serif;cursor:pointer}
.gc-date{font-size:9.5px;font-weight:600;color:#5b6475;white-space:nowrap}
.gc-cell.is-done{background:#e4632e;border-color:#e4632e;color:#fff}.gc-cell.is-done .gc-date{color:#fff4ea}
.gc-cell.is-today{box-shadow:inset 0 0 0 2px #1550b8}
.gc-cell.is-selected{outline:3px solid #1550b8;outline-offset:1px}
.gc-cell:disabled{opacity:.55;cursor:default}
.gc-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px}.gc-legend>span{display:inline-flex;align-items:center;gap:6px}
.gc-key{display:inline-block;width:13px;height:13px;border-radius:4px;border:1.5px solid #e6dfd2;background:#fffdf8}.gc-key.is-done{background:#e4632e;border-color:#e4632e}.gc-key.is-today{box-shadow:inset 0 0 0 2px #1550b8}
.gc-setup .tool-note .text-button{min-height:44px}
.gc-journal-buttons{display:flex;flex-wrap:wrap;gap:8px}.gc-journal-buttons .button{flex:1;margin:0;min-height:46px}
.gc-preview-pick{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.gc-preview-pick .button{margin:0;min-height:44px;width:auto}
.gc-preview-pick .button[aria-pressed="true"]{background:#1550b8;border-color:#1550b8;color:#fff}
.gc-prompt-list li{margin:4px 0}
.gc-print{max-width:760px;margin:0 auto;padding:22px;border:1px solid #eee4d5;border-radius:6px;background:#fff;color:#172033;font-family:'DM Sans','DM Sans Fallback',system-ui,sans-serif}
.gc-print .gc-p-head{text-align:center;margin-bottom:12px}
.gc-print .gc-p-kicker{margin:0;font-size:11px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:#1550b8}
.gc-print .gc-p-head h2{margin:2px 0;font:700 30px/1.1 'Fraunces','Fraunces Fallback',Georgia,serif;color:inherit}
.gc-print .gc-p-sub{margin:0;font-size:11.5px;color:#5b6475}
.gc-print .gc-p-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.gc-print .gc-p-grid li{min-height:112px;padding:7px 8px;border:1px solid #b9b2a6;border-radius:8px;break-inside:avoid}
.gc-print .gc-p-top{display:flex;align-items:center;gap:6px}
.gc-print .gc-p-day{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#1550b8}
.gc-print .gc-p-date{font-size:9.5px;color:#5b6475}
.gc-print .gc-p-box{margin-left:auto;display:grid;place-items:center;width:15px;height:15px;border:1.5px solid #555;border-radius:4px;font:normal 800 11px/1 'DM Sans','DM Sans Fallback',sans-serif}
.gc-print .gc-p-grid li.is-done .gc-p-box{background:#172033;border-color:#172033;color:#fff}
.gc-print .gc-p-q{margin:5px 0 0;font-size:11px;line-height:1.3}
.gc-print .gc-p-foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:12px;font-size:11px;color:#444}
.gc-print .gc-p-line{display:block;height:24px;border-bottom:1px solid #b9b2a6}
.gc-print .gc-p-entry{padding:10px 0 14px;border-bottom:2px dashed #cfc7b8}
.gc-print .gc-p-entry+.gc-p-entry{border-bottom:0}
.gc-print .gc-p-entry-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:12px}
.gc-print .gc-p-mood{color:#5b6475}
.gc-print .gc-p-entry h3{margin:10px 0 2px;font:700 16px/1.2 'Fraunces','Fraunces Fallback',Georgia,serif;color:inherit}
.gc-print .gc-p-three{margin:0;padding-left:20px;font-size:12px}
.gc-print .gc-p-row h4,.gc-print .gc-p-bottom h4{margin:10px 0 0;font-size:12px;font-weight:800}
.gc-print .gc-p-week{display:grid;border-top:1.5px solid #172033}
.gc-print .gc-p-wrow{display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px;align-items:start;padding:4px 0 8px;border-bottom:1px solid #d9d2c5}
.gc-print .gc-p-wday{padding-top:10px;font:700 14px/1.2 'Fraunces','Fraunces Fallback',Georgia,serif}
.gc-print .gc-p-bottom{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:6px}
.gc-print.gc-design-warm{background:#fff6ea;color:#4a2412}
.gc-print.gc-design-warm .gc-p-kicker,.gc-print.gc-design-warm .gc-p-day,.gc-print.gc-design-warm .gc-p-wday{color:#c8552b}
.gc-print.gc-design-warm .gc-p-head h2{font-style:italic}
.gc-print.gc-design-warm .gc-p-grid li{background:#fff;border-color:#f0c9a4}
.gc-print.gc-design-warm .gc-p-box{border-color:#e4632e;border-radius:50%}
.gc-print.gc-design-warm .gc-p-grid li.is-done .gc-p-box{background:#e4632e;border-color:#e4632e}
.gc-print.gc-design-warm .gc-p-line{border-bottom-color:#f0c9a4}.gc-print.gc-design-warm .gc-p-week{border-top-color:#c8552b}
.gc-print.gc-design-ink .gc-p-kicker,.gc-print.gc-design-ink .gc-p-day{color:#111}
.gc-print.gc-design-ink .gc-p-head{text-align:left;border-bottom:2px solid #111;padding-bottom:6px}
.gc-print.gc-design-ink .gc-p-grid li{border-color:#777;border-radius:0}
.gc-print.gc-design-ink .gc-p-line{border-bottom-color:#999}
@media(max-width:860px){.gc-app{grid-template-columns:1fr}}
@media(max-width:560px){.gc-output{padding:16px}.gc-head .tool-actions{width:100%}.gc-head .tool-actions .button{flex:1;padding:0 10px;min-height:44px;margin:0}.gc-grid{gap:3px}.gc-cell{min-height:46px;border-radius:8px}.gc-date{font-size:8.5px}.gc-today{padding:12px}.gc-prompt{font-size:19px}.gc-print{padding:12px}.gc-print .gc-p-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gc-print .gc-p-bottom{grid-template-columns:1fr}.gc-print .gc-p-wrow{grid-template-columns:72px minmax(0,1fr)}}
/* Phones: five days per row in challenge order (no weekday padding), so every day stays a 44 px target */
@media(max-width:560px){.gc-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.gc-wd,.gc-pad{display:none}.gc-cell{min-height:50px}.gc-date{font-size:10px}}
@media print{
.gc-app>:not(.print-preview){display:none!important}
.gc-app .print-preview>summary,.gc-preview-pick{display:none!important}
.gc-print{max-width:none;border:0;padding:0;border-radius:0;print-color-adjust:exact;-webkit-print-color-adjust:exact}
.gc-print.gc-design-warm{padding:8px 12px}
.gc-print .gc-p-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.gc-print .gc-p-grid li{min-height:0;height:31mm}
.gc-print .gc-p-line{height:7mm}
.gc-print.gc-page-weekly .gc-p-line{height:10mm}
.gc-print .gc-p-bottom{grid-template-columns:1fr 1fr}
.gc-print .gc-p-wrow{grid-template-columns:96px minmax(0,1fr)}
}
/* Lead tool: the tool a guide is about, one tap from the short answer */
.lead-tool{display:grid;grid-template-columns:1fr auto;gap:2px 16px;align-items:center;margin:0 0 24px;padding:14px 18px;border:1px solid #cfdcf5;border-radius:16px;background:#fff;text-decoration:none;color:#172033}
.lead-tool:hover{border-color:#1550b8}
.lead-tool-kicker{grid-column:1;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#b04a1f}
.lead-tool strong{grid-column:1;font:700 19px/1.25 'Fraunces','Fraunces Fallback',Georgia,serif}
.lead-tool span:not(.lead-tool-kicker){grid-column:1;font-size:14px;line-height:1.45;color:#3e4a56}
.lead-tool em{grid-column:2;grid-row:1/4;font-style:normal;font-weight:700;color:#fff;background:#1550b8;border-radius:999px;padding:10px 16px;white-space:nowrap}
@media(max-width:560px){.lead-tool{grid-template-columns:1fr}.lead-tool em{grid-column:1;grid-row:auto;justify-self:start;margin-top:8px}}
@media print{.lead-tool{display:none}}
/* To-do rows keep their columns before the script adds the handle and delete buttons, so the list does not jump (CLS) */
@media screen{.td-item>.td-handle{grid-column:1}.td-item>.td-check{grid-column:2}.td-item>.td-text{grid-column:3}.td-item>.td-del{grid-column:4}}
/* Space the script fills after load is reserved up front, so nothing below it jumps (CLS) */
.wa-phase{min-height:1.5em}
@media(max-width:560px){.wa-phase{min-height:3em}}
.chores-sheet .table-scroll{min-height:214px}
