@import url('https://fonts.googleapis.com/css2?family=Cal+Sans:wght@400&family=Inter:wght@400;500;600;700&display=swap');
:root{--red:#db291f;--dark:#2d1716;--soft:#f9f4f1;--line:#e8dad5}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:'Inter',sans-serif;color:var(--dark);background:#fff}button,input,select{font:inherit}button{cursor:pointer;text-align:center}body{overflow:hidden}.shell{height:100dvh;min-height:650px;display:flex;flex-direction:column;overflow:hidden}.top{height:90px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:40px;padding:0 5.2vw;flex:none}.brand{display:flex;align-items:center;gap:12px;color:var(--dark);text-decoration:none;font-family:'Cal Sans';font-size:11px;line-height:1.05;font-weight:700;letter-spacing:.08em}.brand-mark{display:grid;place-items:center;width:43px;height:43px;background:var(--red);color:#fff;font-size:25px;border-radius:11px;transform:rotate(-8deg);box-shadow:5px 6px 0 #f7c0ba}.brand-mark span{font-size:15px;margin-left:-3px}.top nav{display:flex;align-items:center;gap:30px;margin:auto}.top nav button{border:0;background:none;color:#7d6d68;padding:8px 0;font-size:12px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;white-space:nowrap}.top nav button.active{color:var(--red);box-shadow:0 2px var(--red)}.top-actions{display:flex;gap:12px;align-items:center}.plain{border:0;background:none;font-size:13px;font-weight:700;color:var(--dark)}.pill{border:1px solid var(--dark);background:#fff;border-radius:999px;padding:11px 17px;font-size:12px;font-weight:700;white-space:nowrap}main{flex:1;min-height:0;display:flex;flex-direction:column;padding:30px 5.2vw 24px}.eyebrow,.kicker,.micro,.bottom-note{font-size:11px;font-weight:700;letter-spacing:.17em}.eyebrow{display:flex;align-items:center;gap:13px;color:var(--red)}.red-dot{width:8px;height:8px;background:var(--red);border-radius:50%}.rule{height:1px;background:var(--line);flex:1}.eyebrow #counter{color:#867a75}.hero{min-height:0;flex:1;display:grid;grid-template-columns:43% 57%;align-items:center}.copy{position:relative;z-index:2}.kicker{color:var(--red);margin:0 0 22px}.copy h1{font-family:'Cal Sans',sans-serif;letter-spacing:-.045em;line-height:.92;font-weight:700;font-size:clamp(60px,7.7vw,132px);margin:0 0 28px}.copy h1 em{font-style:normal;color:var(--red)}.lead{color:#736763;font-size:clamp(16px,1.35vw,20px);line-height:1.55;max-width:420px;margin:0 0 32px}.hero-actions{display:flex;align-items:center;gap:22px}.primary{border:0;background:var(--red);color:#fff;padding:18px 22px;border-radius:5px;font-size:14px;font-weight:700;box-shadow:6px 7px 0 #f4c1bb;white-space:nowrap}.primary:disabled{opacity:.5;cursor:not-allowed}.micro{color:#9c8f88;font-size:9px}.bottom{border-top:1px solid var(--line);height:62px;display:flex;align-items:flex-end;justify-content:space-between;flex:none}.pager{display:flex;align-items:center;gap:17px}.pager button{background:#fff;border:1px solid var(--line);width:38px;height:38px;border-radius:50%;font-size:17px}.pager button:hover{border-color:var(--red);color:var(--red)}#slide-dots{display:flex;gap:6px}.dot{display:block;width:7px;height:7px;background:#d8c9c4;border-radius:50%}.dot.active{width:22px;border-radius:8px;background:var(--red)}.bottom-note{display:flex;gap:60px;color:#a2948d;font-size:9px}.modal[hidden]{display:none}.modal{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:18px}.modal-backdrop{position:absolute;inset:0;background:#24110fd9;backdrop-filter:blur(8px)}.modal-panel{position:relative;background:#fff;max-width:680px;width:100%;max-height:calc(100dvh - 36px);overflow:auto;border-radius:18px;padding:34px;box-shadow:0 30px 80px #13060455}.close{position:absolute;right:17px;top:14px;background:none;border:0;font-size:30px;color:#705e59}.modal-panel h2{font-family:'Cal Sans';font-size:36px;letter-spacing:-.05em;margin:6px 0 12px}.muted{color:#776c67;line-height:1.5}.form-row{display:flex;gap:12px}.field{display:flex;flex-direction:column;gap:7px;flex:1;font-size:12px;font-weight:700;color:#715e58;margin:15px 0}.field input,.field select{border:1px solid #decfca;padding:13px;border-radius:7px;width:100%;background:#fff;color:var(--dark)}.form-button{width:100%;margin:10px 0}.error{color:#a91111;font-size:13px;min-height:18px}.timer-display{font-family:'Cal Sans';font-size:clamp(64px,15vw,112px);letter-spacing:-.045em;text-align:center;color:var(--red);margin:18px 0}.timer-stage{text-align:center;color:#987e75;font-size:12px;font-weight:700;letter-spacing:.18em}.timer-actions{display:flex;justify-content:center;gap:10px}.timer-actions button{min-width:110px}.secondary{border:1px solid var(--line);border-radius:5px;background:#fff;padding:14px 18px;font-weight:700}.session-row,.tool-row{border-top:1px solid var(--line);padding:15px 0;display:flex;justify-content:space-between;gap:14px}.session-row strong,.tool-row strong{display:block}.session-row small,.tool-row small{color:#8d7c76}.history-list{max-height:320px;overflow:auto}.admin-link{color:#b3938a;font-size:11px;text-decoration:none}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.admin-grid section{min-width:0}.admin-grid h3{margin:20px 0 8px}.tool-row button{border:0;background:none;color:var(--red);font-weight:700}@keyframes bob{50%{transform:rotateY(-24deg) rotateX(14deg) rotateZ(9deg) translateY(-13px)}}@media(max-width:850px){.top{height:72px;padding:0 5vw;gap:12px}.top nav{max-width:35vw;overflow:auto;gap:12px}.top nav button{font-size:10px}.plain{display:none}.pill{padding:9px;font-size:11px}.pill span{display:none}main{padding:20px 5vw}.hero{grid-template-columns:1fr 1fr}.copy h1{font-size:clamp(52px,8vw,80px)}.micro{display:none}.scene{min-height:280px}.clock{width:35vw}.bottom-note{display:none}}@media(max-width:600px){.shell{min-height:0}.top nav{display:none}.hero{display:flex;flex-direction:column;justify-content:center}.copy{text-align:center;order:2}.kicker{margin-bottom:12px}.copy h1{font-size:clamp(52px,12vw,78px);margin-bottom:12px}.copy h1 br{display:none}.lead{font-size:14px;margin:0 auto 16px}.hero-actions{justify-content:center}.primary{padding:14px 18px}.scene{order:1;min-height:0;height:39vh;width:100%}.clock{width:min(42vw,220px)}.fc1{left:5%;top:13%}.fc2{right:0;bottom:16%}.bottom{height:50px;align-items:center;justify-content:center}.modal-panel{padding:24px}.admin-grid{grid-template-columns:1fr}}@media(max-height:720px){.top{height:68px}main{padding-top:12px}.copy h1{font-size:clamp(52px,6.8vw,96px)}.lead{margin-bottom:20px}.bottom{height:42px}.scene{min-height:250px}} 

/* Rounded toolkit carousel */
:root{--red:#db291f;--dark:#322725;--line:#eadedb}body{background:#fff;font-family:'Inter',sans-serif}.shell{min-height:0;padding:26px 4vw 0}.top{height:64px;min-height:64px;max-width:1040px;width:100%;margin:0 auto;border:0;border-radius:999px;padding:7px 9px 7px 17px;gap:20px;background:linear-gradient(135deg,#ef473c,#c51e16);box-shadow:inset 0 2px 3px #ff968c,0 5px 0 #9e2019,0 9px 22px #ac24151c}.brand{color:#fff;font-family:inherit;font-size:10px;letter-spacing:.03em;gap:10px}.brand-mark{background:#fff;color:var(--red);border-radius:50%;transform:none;box-shadow:inset 0 -3px 4px #e7b6b0;width:42px;height:42px}.top nav{gap:8px;overflow-x:auto;max-width:45%;scrollbar-width:none}.top nav button{font-family:inherit;font-size:12px;letter-spacing:0;text-transform:none;color:#ffccc7;padding:10px 15px;border-radius:999px}.top nav button.active{color:#fff;background:#ffffff24;box-shadow:none}.plain{color:#fff;font-weight:500;white-space:nowrap}.pill{padding:15px 22px;border:0;box-shadow:inset 0 -3px 3px #d9ccc9;color:var(--dark);font-size:13px}.top-actions{gap:18px}main{padding:0;min-height:0}.section-heading{text-align:center;padding:clamp(24px,5vh,58px) 0 clamp(20px,4vh,42px)}.section-tag{display:inline-block;font-size:10px;letter-spacing:.12em;color:#a85950;background:#fbf2f0;border-radius:999px;padding:9px 15px;margin:0 0 12px}.section-heading h1{font-size:clamp(30px,4.1vw,62px);line-height:1.05;letter-spacing:-.025em;font-weight:500;margin:0}.carousel{flex:1;min-height:0;display:flex;align-items:center;gap:26px;max-width:1320px;width:100%;margin:0 auto}.hero{height:100%;max-height:520px;min-height:0;flex:1;display:grid;grid-template-columns:1fr 1fr;align-items:stretch;background:#f5f3f2;border-radius:clamp(32px,7vw,100px);padding:8px;gap:0;overflow:hidden}.tool-art{position:relative;min-height:0;display:flex;flex-direction:column;justify-content:space-between;border-radius:clamp(28px,6.5vw,94px);padding:35px 38px;color:#fff;background:radial-gradient(ellipse at 25% 10%,#f45a4d 0,#da281e 45%,#aa180f 100%);box-shadow:inset 0 3px 8px #ffa298,inset 0 -8px 16px #7c0c0a75,0 0 0 1px #dfafa8;overflow:hidden}.art-label{font-size:10px;letter-spacing:.13em;opacity:.8}.art-number{font-family:'Cal Sans',sans-serif;font-size:clamp(90px,16vw,250px);line-height:.85;font-weight:500;letter-spacing:-.025em;color:#ffddd7;text-shadow:0 2px 0 #fff7f266,0 9px 13px #7d100a66;margin-left:-8px}.art-bottom{display:flex;flex-direction:column;gap:10px}.art-bottom>span:first-child{font-family:'Cal Sans',sans-serif;font-size:clamp(21px,2.2vw,34px);letter-spacing:-.02em}.art-status{font-size:9px;letter-spacing:.13em;color:#ffc5be}.copy{display:flex;flex-direction:column;justify-content:center;padding:32px clamp(24px,3.2vw,48px)}.kicker{font-size:10px;letter-spacing:.1em;margin:0 0 22px;font-weight:500}.copy h2{font-family:inherit;font-size:clamp(28px,2.8vw,42px);font-weight:500;letter-spacing:-.02em;line-height:1.05;margin:0 0 14px;max-width:400px}.lead{font-size:15px;line-height:1.5;max-width:370px;margin:0 0 18px;color:#7a706d}.primary{border-radius:999px;padding:15px 24px;font-weight:500;box-shadow:inset 0 2px 2px #ff938a,0 3px 0 #ad2019;display:inline-flex;align-items:center;justify-content:center}.tool-benefits{display:flex;gap:18px;margin-top:clamp(16px,2.5vh,30px)}.tool-benefits div{flex:1;min-width:0}.tool-benefits strong{display:block;font-size:clamp(15px,1.4vw,21px);letter-spacing:-.02em;font-weight:500;white-space:nowrap}.tool-benefits span{display:block;font-size:10px;margin-top:5px;color:#837773;line-height:1.4}.carousel-arrow{flex:none;border:0;border-radius:50%;width:44px;height:44px;background:radial-gradient(circle at 40% 20%,#ee5d51,#b81d13);color:white;font-size:32px;line-height:1;display:grid;place-items:center;box-shadow:inset 0 2px 4px #ffb2a8,0 3px 6px #ad20192a}.bottom{border:0;height:74px;align-items:center;color:#988884;font-size:10px;gap:12px}.pager{font-size:10px;color:#a15d54}.modal-panel{border-radius:32px}.secondary{border-radius:999px}.modal-panel h2{font-family:'Cal Sans',sans-serif;font-weight:500}button:focus-visible,a:focus-visible{outline:3px solid #f3978e;outline-offset:4px}
@media(max-width:850px){.shell{padding:18px 3vw 0}.top{gap:10px}.top nav{max-width:38%}.plain{display:none}.carousel{gap:12px}.carousel-arrow{width:34px;height:34px;font-size:25px}.copy{padding:24px}.tool-art{padding:30px}.tool-benefits{gap:12px}.bottom>span:last-child{display:none}}
@media(max-width:600px){.shell{padding:12px 14px 0}.top{height:58px;min-height:58px;padding:5px 7px 5px 12px;gap:7px}.brand>span:last-child{display:none}.brand-mark{width:36px;height:36px}.top nav{display:flex;max-width:none;flex:1;gap:4px}.top nav button{font-size:10px;padding:9px 8px}.top-actions{gap:0}.pill{padding:12px;font-size:11px}.section-heading{padding:28px 0 22px}.section-heading h1{font-size:32px}.section-tag{font-size:8px;margin-bottom:10px}.carousel{position:relative;gap:0;padding:0 0 40px}.hero{display:grid;grid-template-columns:1fr;height:100%;max-height:none;border-radius:36px;padding:6px;grid-template-rows:30% 70%}.tool-art{border-radius:31px;padding:20px 25px;display:grid;grid-template-columns:1fr auto;align-items:center}.art-label{display:none}.art-number{font-size:76px;grid-column:2;grid-row:1;margin:0}.art-bottom{grid-column:1;grid-row:1;gap:6px}.art-bottom>span:first-child{font-size:22px}.art-status{font-size:7px}.copy{order:initial;text-align:left;padding:20px 23px;justify-content:center}.copy h2{font-size:30px;margin-bottom:12px}.kicker{font-size:9px;margin-bottom:10px}.lead{font-size:13px;margin:0 0 15px;max-width:none}.hero-actions{justify-content:flex-start}.primary{padding:12px 20px;font-size:12px}.tool-benefits{margin-top:22px;gap:12px}.tool-benefits strong{font-size:16px}.tool-benefits span{font-size:9px}.carousel-arrow{position:absolute;bottom:0;width:30px;height:30px}.carousel-arrow:first-child{left:calc(50% - 40px)}.carousel-arrow:last-child{right:calc(50% - 40px)}.bottom{height:42px;justify-content:space-between;font-size:8px}.pager{font-size:8px;gap:10px}}
@media(max-height:680px){.section-heading{padding:20px 0 18px}.section-heading h1{font-size:32px}.tool-benefits{margin-top:20px}.copy{padding-top:18px;padding-bottom:18px}.kicker{margin-bottom:12px}.lead{margin-bottom:16px}.bottom{height:42px}.art-number{font-size:clamp(80px,13vw,180px)}}

.brand-mark img{display:block;width:34px;height:34px;object-fit:contain}.brand-mark{flex-shrink:0}@media(max-width:600px){.brand-mark img{width:30px;height:30px}}

.brand-mark{display:flex;align-items:center;justify-content:center}.brand-mark img{width:26px;height:26px;transform:translateY(-2px)}@media(max-width:600px){.brand-mark img{width:23px;height:23px;transform:translateY(-1.5px)}}

/* Weekly habit tracker */
.habit-content{display:grid;gap:14px}.partner-card,.habit-form,.habit-card,.habit-empty{border:1px solid var(--line);border-radius:18px;background:#fff;padding:17px 19px}.partner-card{display:grid;grid-template-columns:1fr 1fr;gap:18px;background:#fbf6f4}.partner-card strong{font-size:14px}.partner-card .muted{font-size:12px;margin:7px 0 0}.partner-card form{display:grid;grid-template-columns:1fr auto;align-items:end;gap:8px}.partner-card .field{margin:0}.partner-card .field input{padding:10px 12px}.partner-card form .secondary{padding:11px 15px}.inline-message{grid-column:1/-1;min-height:15px;margin:0;color:#766a65;font-size:11px}.habit-form .field{margin:0 0 12px}.field-label{display:block;font-size:12px;font-weight:700;color:#715e58;margin-bottom:9px}.day-selector,.habit-bubbles{display:flex;align-items:center;gap:9px}.day-selector{margin-bottom:13px}.day-bubble{position:relative;display:inline-grid;place-items:center;flex:0 0 39px;width:39px;height:39px;padding:0;border:1px solid #ead8d3;border-radius:50%;background:linear-gradient(150deg,#fff,#f7efed);color:#796b66;font-size:11px;font-weight:700;box-shadow:inset 0 1px 2px #fff,0 2px 4px #3b1a1012;transition:transform .14s ease,background .14s ease,color .14s ease,border-color .14s ease}.day-bubble:hover:not(:disabled){transform:translateY(-2px)}.day-bubble.day-choice.selected,.day-bubble.completed{border-color:#bc241c;background:radial-gradient(circle at 35% 20%,#f16c61,#cf2c22 68%,#ad1c15);color:#fff;box-shadow:inset 0 2px 3px #ffb3aa80,0 3px 0 #a91d16,0 5px 8px #9d211a21}.day-bubble.scheduled{border-color:#e29b94;color:#bd2b22}.day-bubble.completed{color:#fff}.day-bubble.missed{border-color:#e29b94;background:#fff0ee;color:#b22a20}.day-bubble:disabled{opacity:.35;cursor:default}.week-heading{display:flex;align-items:center;justify-content:space-between;margin:6px 2px 0}.week-heading strong{font-size:14px}.week-heading span,.habit-card-head small{font-size:11px;color:#8e7f7a}.habit-list{display:grid;gap:9px}.habit-card{padding:14px 16px}.habit-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.habit-card-head h3{font-size:15px;font-weight:600;margin:0 0 4px}.habit-remove{border:0;background:none;color:#a85249;font-size:11px;padding:6px}.habit-bubbles{justify-content:space-between;gap:6px}.habit-empty{font-size:12px;line-height:1.5;color:#81736e;background:#fbf8f7}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px){.modal-panel{padding:23px 17px}.modal-panel h2{font-size:29px}.partner-card{grid-template-columns:1fr;gap:12px;padding:14px}.partner-card form{grid-template-columns:1fr auto}.habit-form{padding:14px}.day-selector,.habit-bubbles{gap:5px}.day-bubble{flex-basis:34px;width:34px;height:34px;font-size:10px}.habit-card{padding:13px 11px}.habit-card-head h3{font-size:14px}}


h1,h2,h3,h4,h5,h6{font-family:'Cal Sans',sans-serif}.modal-panel h2{font-family:'Cal Sans',sans-serif}

/* Daily posting tracker */
.posting-selects{display:grid;grid-template-columns:1fr 1fr;gap:12px}.posting-selects .field[hidden]{display:none}.posting-selects select{width:100%;min-width:0}.posting-note{margin:0 0 14px;color:#81736e;font-size:12px;line-height:1.5}.posting-meta{display:block;margin-bottom:4px}.posting-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.posting-day{min-width:0;display:flex;flex-direction:column;align-items:center;gap:7px;padding:10px 3px 8px;border:1px solid #ead8d3;border-radius:12px;background:#fff;text-align:center;cursor:pointer}.posting-day-name{font-size:11px;font-weight:700;color:#5d4944}.posting-day input{appearance:none;width:25px;height:25px;margin:0;border:2px solid #d4bdb6;border-radius:6px;background:#fff;display:grid;place-items:center;cursor:pointer}.posting-day input:checked{background:var(--red);border-color:var(--red)}.posting-day input:checked:after{content:'✓';color:#fff;font-size:17px;font-weight:700;line-height:1}.posting-day input:focus-visible{outline:3px solid #e87269;outline-offset:2px}.posting-day-date{font-size:9px;color:#8e7f7a}.posting-day-status{font-size:9px;font-weight:700;white-space:nowrap}.posting-day.today{border-color:var(--red);background:#fff7f5}.posting-day.today .posting-day-status{color:var(--red)}.posting-day.completed{background:#fff4f2;border-color:#ebb6b0}.posting-day.completed .posting-day-status{color:#b9251c}.posting-day.missed{background:#e9e9e9;border-color:#d0d0d0;color:#777;cursor:default}.posting-day.missed input{background:#ddd;border-color:#c4c4c4;cursor:default}.posting-day.missed .posting-day-status{color:#666}.posting-day.upcoming,.posting-day.before{background:#faf8f7;color:#a99f9b;cursor:default}.posting-day.upcoming input,.posting-day.before input{background:#f4f1ef;cursor:default}.posting-day.upcoming .posting-day-status,.posting-day.before .posting-day-status{color:#9f9490}@media(max-width:600px){.posting-selects{gap:8px}.posting-week{gap:3px}.posting-day{padding:8px 1px 6px;gap:5px}.posting-day input{width:20px;height:20px}.posting-day input:checked:after{font-size:14px}.posting-day-status{font-size:8px;white-space:normal;line-height:1.1}.posting-day-date{font-size:8px}}
