:root{--bg:#f7f4ef;--ink:#1f1d1a;--mute:#6f6a62;--line:#e4ded4;--card:#fffdf9;--acc:#4f6b55;--accs:#e7ede6;--serif:"Iowan Old Style","Palatino Linotype",Georgia,serif;--sans:-apple-system,"Segoe UI",Inter,Helvetica,Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit}.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
header.top{border-bottom:1px solid var(--line)}header.top .wrap{display:flex;align-items:center;justify-content:space-between;height:60px}
.logo{font-family:var(--serif);font-size:22px;letter-spacing:-.01em;text-decoration:none}.logo span{color:var(--acc)}
nav a{font-size:14px;color:var(--mute);text-decoration:none;margin-left:20px}nav .hide-m{display:none}
@media(min-width:760px){nav .hide-m{display:inline}}
h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:-.015em;margin:0}
.eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--acc);font-weight:600}
.hero{padding:40px 0 24px}.hero h1{font-size:clamp(34px,6vw,56px);line-height:1.05;max-width:760px;margin:10px 0 14px}
.hero p{color:var(--mute);max-width:560px;margin:0 0 20px;font-size:17px}
.search{display:flex;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:6px;max-width:520px}
.search input{flex:1;border:0;background:none;padding:10px 14px;font:inherit;outline:none}
.btn{border:0;background:var(--ink);color:#fff;border-radius:999px;padding:10px 18px;font:600 14px var(--sans);cursor:pointer;text-decoration:none;display:inline-block}
.btn.ghost{background:none;color:var(--ink);border:1px solid var(--ink)}
.chips{display:flex;gap:8px;overflow-x:auto;padding:18px 0 4px;scrollbar-width:none}
.chip{flex:none;border:1px solid var(--line);background:var(--card);border-radius:999px;padding:7px 14px;font-size:14px;text-decoration:none}
.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.news{display:grid;gap:14px;background:var(--accs);border-radius:18px;padding:20px;margin:22px 0}
.news h3{font-size:22px}.news p{margin:4px 0 0;color:var(--mute);font-size:14px}
.news form{display:flex;gap:8px;flex-wrap:wrap}.news input{flex:1;min-width:180px;border:1px solid var(--line);border-radius:999px;padding:10px 14px;font:inherit;background:#fff}
.news small{display:block;color:var(--mute);font-size:12px;margin-top:6px;width:100%}
@media(min-width:760px){.news{grid-template-columns:1fr 1.1fr;align-items:center;padding:24px 28px}}
.sec-h{display:flex;justify-content:space-between;align-items:baseline;margin:30px 0 14px}.sec-h h2{font-size:26px}.sec-h a{font-size:14px;color:var(--mute)}
.grid{display:grid;gap:14px;grid-template-columns:1fr 1fr}@media(min-width:760px){.grid{grid-template-columns:repeat(3,1fr)}}
.rcard{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px;text-decoration:none;display:flex;flex-direction:column;min-height:190px;transition:transform .15s}
.rcard:hover{transform:translateY(-2px)}
.mono{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:19px;color:#fff;margin-bottom:auto}
.rcard h3{font-size:19px;margin-top:16px}.rcard p{font-size:13px;color:var(--mute);margin:4px 0 10px}
.tags{display:flex;gap:6px;flex-wrap:wrap}.tag{font-size:11px;border-radius:999px;padding:3px 8px;background:var(--bg);color:var(--mute)}
.soon{font-size:11px;color:var(--mute);margin-top:8px}
.au{display:grid;gap:14px;margin:30px 0}@media(min-width:760px){.au{grid-template-columns:repeat(3,1fr)}}
.au div{border-top:2px solid var(--ink);padding-top:12px}.au h3{font-size:18px}.au p{font-size:14px;color:var(--mute);margin:6px 0 0}
footer{border-top:1px solid var(--line);margin-top:40px;padding:24px 0 40px;font-size:13px;color:var(--mute)}footer p{margin:6px 0;max-width:760px}
/* routine page */
.phero{padding:28px 0 8px;display:grid;gap:18px}@media(min-width:860px){.phero{grid-template-columns:1.5fr 1fr;align-items:end}}
.phero h1{font-size:clamp(32px,5.5vw,52px);line-height:1.05;margin:8px 0}.phero p{color:var(--mute);margin:0}
.meta{font-size:13px;color:var(--mute);margin-top:12px}.meta b{color:var(--ink);font-weight:600}
.badge{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;display:flex;gap:16px;align-items:center}
.badge .mono{width:72px;height:72px;font-size:28px;margin:0;flex:none}.badge ul{margin:0;padding:0;list-style:none;font-size:14px}.badge li{padding:2px 0}.badge li b{display:inline-block;width:78px;color:var(--mute);font-weight:500}
.note{font-size:13px;background:var(--card);border:1px solid var(--line);border-left:3px solid var(--acc);border-radius:10px;padding:10px 14px;margin:16px 0;color:var(--mute)}
.tabs{display:flex;gap:6px;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:4px;width:max-content;margin:18px 0}
.tabs a{font-size:14px;padding:7px 14px;border-radius:999px;text-decoration:none}.tabs a.on{background:var(--ink);color:#fff}
.layout{display:grid;gap:28px}@media(min-width:960px){.layout{grid-template-columns:1fr 320px}}
.tl{list-style:none;margin:0;padding:0;position:relative}
.tl:before{content:"";position:absolute;left:58px;top:6px;bottom:6px;width:1px;background:var(--line)}
.tl li{display:grid;grid-template-columns:50px 1fr;gap:16px;padding:0 0 18px;position:relative}
.tl time{font-size:12px;font-weight:600;color:var(--mute);padding-top:3px;text-align:right}
.tl li:after{content:"";position:absolute;left:54px;top:7px;width:9px;height:9px;border-radius:50%;background:var(--bg);border:2px solid var(--acc)}
.tl .it{padding-left:12px}.tl h3{font-family:var(--sans);font-size:16px;font-weight:600}
.tl p{margin:3px 0;font-size:14px;color:var(--mute)}.tl .why b{color:var(--ink);font-weight:600}
.src{font-size:12px;color:var(--acc)}.src a{color:var(--acc)}
.au-tip{font-size:12px;background:var(--accs);border-radius:8px;padding:6px 10px;margin-top:6px;color:#2f4535}
.phase{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin:8px 0 12px;font-weight:600}
.busy{background:var(--ink);color:#f3efe8;border-radius:18px;padding:22px}.busy h2{font-size:24px}.busy ol{margin:12px 0 0;padding-left:20px}.busy li{margin:8px 0;font-size:14px}.busy li b{color:#fff}.busy p{font-size:13px;color:#bdb6aa}
.side{display:grid;gap:16px;align-content:start}
.box{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px}.box h3{font-size:18px;margin-bottom:8px}
.disc{font-size:12px;color:var(--mute)}
.tools{display:grid;gap:12px;grid-template-columns:1fr 1fr}@media(min-width:760px){.tools{grid-template-columns:repeat(4,1fr)}}
.tool{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;flex-direction:column}
.tool .ic{height:70px;border-radius:10px;background:var(--bg);display:grid;place-items:center;font-size:26px;margin-bottom:10px}
.tool h4{margin:0;font-size:14px}.tool p{font-size:12px;color:var(--mute);margin:4px 0 10px;flex:1}.tool a{font-size:13px;font-weight:600;color:var(--acc)}
.sponsor{border:1px dashed #cfc7ba;border-radius:16px;padding:16px;font-size:14px}.sponsor .eyebrow{color:var(--mute)}
.warn{background:#fbf3e6;border:1px solid #ecdcbf;border-radius:16px;padding:16px;font-size:13px;color:#5d4a2c}.warn h3{font-size:17px;color:var(--ink);margin-bottom:6px}.warn p{margin:6px 0}
.srcs{font-size:13px}.srcs li{margin:6px 0}

/* category palette */
:root{--sleep:#5a3b5d;--training:#5f6530;--nutrition:#a67a22;--supplements:#2d5e62;--testing:#9b4a2b;--recovery:#3d4a63;--mind:#2b2926}
.c-sleep{--cat:var(--sleep)}.c-training{--cat:var(--training)}.c-nutrition{--cat:var(--nutrition)}.c-supplements{--cat:var(--supplements)}.c-testing{--cat:var(--testing)}.c-recovery{--cat:var(--recovery)}.c-mind{--cat:var(--mind)}
.pill{display:inline-flex;align-items:center;gap:6px;background:var(--cat,var(--ink));color:#fff;border-radius:6px;padding:6px 11px;font:600 13px/1 var(--sans);text-decoration:none;flex:none;letter-spacing:.01em}
.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.75)}
.pill.sm{font-size:11px;padding:4px 8px;gap:5px}.pill.sm:before{width:5px;height:5px}
.pill.all{background:var(--card);color:var(--ink);border:1px solid var(--line)}.pill.all:before{background:var(--ink)}
.tl li[class*=c-]:after{background:var(--cat);border-color:var(--cat)}
.tl li .pill{margin-top:6px}
.busy li{list-style:none;display:flex;gap:10px;align-items:flex-start}.busy ol{padding-left:0}.busy .pill{margin-top:1px}
.tool .ic{background:var(--cat);color:#fff}.tool .pill{align-self:flex-start;margin-bottom:8px}
.legend{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 0}

.legal{max-width:820px}.legal h3{font-size:18px;color:var(--ink);margin-bottom:6px}.legal p{margin:6px 0;font-size:12.5px}main .legal p{font-size:15px;color:var(--ink)}
.topnote{background:#fbf3e6;border:1px solid #ecdcbf;border-radius:10px;padding:10px 14px;font-size:14px;color:#5d4a2c;margin:14px 0 0}

.ab-grid{display:grid;gap:22px;margin-top:10px}@media(min-width:760px){.ab-grid{grid-template-columns:1fr 1fr;gap:28px 40px}}
.ab-grid>div{border-top:2px solid var(--ink);padding-top:12px}.ab-grid h3{font-size:21px;margin-bottom:6px}
.ab-grid p,.ab-grid li{font-size:15px;color:var(--mute)}.ab-grid ul{margin:0;padding-left:18px}.ab-grid li{margin:5px 0}.ab-grid b{color:var(--ink)}

footer.mini{font-size:12px;color:var(--mute);padding:18px 0 28px;margin-top:36px}footer.mini a{color:var(--mute)}
.fine{font-size:12px;color:var(--mute);margin:10px 0 0}.fine.top{margin-top:14px}

.ph{width:56px;height:56px;border-radius:50%;object-fit:cover;margin-bottom:auto;background:var(--line)}
.ph.lg{width:96px;height:96px;margin:0}.phwrap{margin:0;flex:none}
.credits{font-size:11px;color:var(--mute);margin:12px 0 0;line-height:1.5}.credits a{color:var(--mute)}

a.aff{color:inherit;text-decoration:underline;text-decoration-color:var(--acc);text-decoration-thickness:1.5px;text-underline-offset:3px}
a.aff:after{content:" ↗";font-size:.8em;color:var(--acc)}
.gear{margin-top:10px;border:1px solid var(--line);border-left:3px solid var(--cat);background:var(--card);border-radius:10px;padding:10px 12px}
.g-h{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--cat);font-weight:700;margin-bottom:4px}
.g-row{display:flex;gap:10px;align-items:center;justify-content:space-between}.g-row b{display:block;font-size:14px}.g-row span{display:block;font-size:12.5px;color:var(--mute)}
.g-btn{flex:none;font-size:12px;font-weight:600;text-decoration:none;border:1px solid var(--ink);border-radius:6px;padding:6px 10px;color:var(--ink);white-space:nowrap}.g-btn:after{content:" →"}
.g-btn:hover{background:var(--ink);color:#fff}
.g-alt{font-size:12.5px;color:var(--mute);margin-top:6px;padding-top:6px;border-top:1px dashed var(--line)}.g-alt span{color:var(--ink);font-weight:600}
.shoplist{list-style:none;margin:0;padding:0;background:var(--card);border:1px solid var(--line);border-radius:14px}
.shoplist li{display:grid;grid-template-columns:52px 1fr auto;gap:10px;align-items:center;padding:11px 14px;border-top:1px solid var(--line)}.shoplist li:first-child{border-top:0}
.s-t{font-size:12px;font-weight:600;color:var(--mute)}.s-n b{display:block;font-size:14px;margin-top:3px}.s-n em{font-style:normal;font-size:12px;color:var(--mute)}

.brand{display:flex;flex-direction:column;text-decoration:none;line-height:1.1}.brand .logo{line-height:1.1}
.tagline{font-size:11px;color:var(--mute);letter-spacing:.02em;margin-top:2px}
@media(min-width:760px){.brand{flex-direction:row;align-items:baseline;gap:12px}.tagline{font-size:12px;padding-left:12px;border-left:1px solid var(--line)}}
.search input{min-width:0}.search .btn{flex:none}
button.pill{border:0;cursor:pointer;font-family:var(--sans)}button.pill.on{outline:2px solid var(--ink);outline-offset:2px}.pill.all.on{background:var(--ink);color:#fff}.pill.all.on:before{background:#fff}
.tl time small{display:block;font-weight:400;font-size:10px;opacity:.8}
.mono.lg{width:72px;height:72px;font-size:28px;margin:0;flex:none}
[hidden]{display:none!important}
/* categories added */
:root{--habits:#5c5470;--diet:#8a5a3c;--beauty:#a35d6a}
.c-habits{--cat:var(--habits)}.c-diet{--cat:var(--diet)}.c-beauty{--cat:var(--beauty)}
/* mobile readability + tap targets */
.tl p,.rcard p,.busy li,.ab-grid p,.ab-grid li,.legal p,.au p,.hero p{font-size:16px}
.tl h3{font-size:17px}.g-row span,.g-alt,.s-n em{font-size:14px}.src{font-size:14px}
.chips{-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;padding-bottom:8px}
.chips .pill{min-height:44px;padding:0 14px;scroll-snap-align:start}
nav a,.tabs a,footer.mini a,.sec-h a{display:inline-flex;align-items:center;min-height:44px}
nav a{padding:0 4px}.tabs a{padding:0 14px}
.g-btn{min-height:44px;display:inline-flex;align-items:center}
.search input,.search .btn{min-height:44px}
.legend .pill{min-height:32px}a.pill{min-height:44px}
.srcs a,.side li a{display:inline-block;padding:6px 0}
.brand{min-height:44px;justify-content:center}
.srcs a,.side li a{display:inline-flex;align-items:center;min-height:44px;padding:0}
main .legal p{font-size:16px}
@media(max-width:759px){.phero{padding-top:12px;gap:12px}.phero h1{font-size:30px;margin:6px 0}.badge{padding:12px;gap:12px}.badge .ph.lg,.badge .mono.lg{width:56px;height:56px;font-size:22px}.badge ul{display:grid;grid-template-columns:1fr 1fr;gap:2px 12px;font-size:13px}.badge li b{display:block;width:auto;font-size:11px}.tabs{margin:12px 0}.fine.top{margin-top:8px}}
.sponsor p{font-size:16px}
.chips{padding-left:4px;padding-top:6px}
#image-credits{margin-top:32px;font-size:12px;color:var(--mute)}#image-credits h3{font-size:14px;margin-bottom:6px}#image-credits ul{padding-left:16px;margin:0}#image-credits li{margin:4px 0;line-height:1.5}#image-credits a{color:var(--mute);display:inline;min-height:0}
.ph{box-shadow:0 0 0 2px var(--card),0 0 0 3px var(--line)}
/* routine template v2 */
.rp{max-width:820px}
.sec{margin-top:36px}.sec>h2{font-size:26px;margin-bottom:14px}
.rhero{display:grid;gap:16px;margin-top:14px;align-items:center}
.hero-ph{width:100%;max-width:360px;aspect-ratio:1;border-radius:20px;object-fit:cover;box-shadow:0 1px 0 var(--line)}
.hero-ph.mono{display:grid;place-items:center;font-size:72px;color:#fff;margin:0;height:auto}
@media(max-width:759px){.hero-ph{max-width:none;max-height:300px;aspect-ratio:4/3}}
@media(min-width:760px){.rhero{grid-template-columns:300px 1fr;gap:32px}.hero-ph{max-width:300px}}
.rh-text h1{font-size:clamp(30px,5vw,46px);line-height:1.05;margin:8px 0 10px}.lede{color:var(--mute);margin:0;font-size:17px}
.trust{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:12px;font-size:13px;color:var(--ink);font-weight:600}.trust span{display:inline-flex;align-items:center;gap:6px}.trust span:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--acc)}
.glance{margin-top:22px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px}
.g-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}
.g-stats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(min-width:760px){.g-stats{grid-template-columns:repeat(4,1fr)}}
.g-stats li{background:var(--bg);border-radius:10px;padding:10px}.g-stats b{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);font-weight:600}.g-stats span{font-size:15px;font-weight:600}
.g-sub{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);font-weight:700;margin:14px 0 4px}
.g-gear{list-style:none;margin:0;padding:0}.g-gear li{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding:2px 0}.g-gear li:first-child{border-top:0}
.g-gear .dot{width:10px;height:10px;border-radius:3px;background:var(--cat);flex:none}.gg-n{flex:1;font-size:15px}
.g-btn.sm{padding:0 12px}
.featured{margin-top:36px;border-radius:18px;padding:20px;background:var(--cat);color:#fff}.featured .pill{background:rgba(255,255,255,.18)}
.f-tag{display:flex;align-items:center;gap:8px;font-size:13px;opacity:.95}.featured h3{font-size:24px;margin:10px 0 4px;color:#fff}.featured p{margin:0 0 14px;font-size:16px;opacity:.92}
.f-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.btn.shop{background:#fff;color:var(--ink);min-height:44px;display:inline-flex;align-items:center}.f-alt{font-size:14px;opacity:.92}
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:var(--card)}
table.steps{width:100%;border-collapse:collapse;font-size:15px}.steps th{text-align:left;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);padding:10px 12px;border-bottom:1px solid var(--line)}
.steps td{padding:10px 12px;border-top:1px solid var(--line);vertical-align:top}.steps tr:first-child td{border-top:0}.t-t{white-space:nowrap;color:var(--mute);font-size:13px;font-weight:600}.t-c{margin-top:4px}.t-s a{color:var(--acc);font-size:14px}
.shopbox{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px}.shopbox .sec-h{margin-top:0}.shopbox .shoplist{border:0;background:none}
.rp .busy{margin-top:36px}
.rp .tabs{width:auto;max-width:100%;overflow-x:auto;scrollbar-width:none}.rp .tabs a{flex:none}
@media(max-width:759px){.hero-ph{max-height:220px;aspect-ratio:16/10;object-position:50% 30%;border-radius:16px}.hero-ph.mono{font-size:56px}.rh-text h1{font-size:30px}.lede{font-size:16px}}
@media(max-width:759px){.hero-ph{width:132px;max-height:none;aspect-ratio:1;border-radius:18px}.hero-ph.mono{width:132px;font-size:44px}}
.books{list-style:none;margin:0;padding:0;display:grid;gap:12px}@media(min-width:760px){.books{grid-template-columns:1fr 1fr}}
.book{display:flex;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px}
.cover{flex:none;width:84px;height:122px;border-radius:4px 8px 8px 4px;color:#fff;padding:10px 8px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:inset 6px 0 0 rgba(0,0,0,.18),0 2px 6px rgba(0,0,0,.12)}
.cv-t{font-family:var(--serif);font-size:13px;line-height:1.15;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.cv-a{font-size:9.5px;opacity:.85;letter-spacing:.03em}
.b-body{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.b-body b{font-size:16px;line-height:1.25}.b-a{font-size:14px;color:var(--mute)}.b-body p{font-size:15px;margin:6px 0 8px;color:var(--mute)}.b-src{color:var(--acc)}
.g-books{font-size:15px;margin:4px 0 0}.g-books a{color:var(--acc)}
.b-body p{font-size:16px}
@media(max-width:759px){.rhero{grid-template-columns:96px 1fr;gap:6px 14px;align-items:center}.rh-text{display:contents}.hero-ph,.hero-ph.mono{grid-row:1/3;grid-column:1;width:96px;border-radius:16px}.hero-ph.mono{font-size:34px;height:96px}.rhero .legend{grid-column:2;align-self:end}.rhero h1{grid-column:2;align-self:start;font-size:26px;margin:2px 0 0}.lede,.trust{grid-column:1/-1}.lede{margin-top:8px}.glance{margin-top:16px}}
.g-books{font-size:16px}
.hero-ph{align-self:center;height:auto;aspect-ratio:1/1}
@media(max-width:759px){.hero-ph,.hero-ph.mono{height:96px;width:96px;align-self:center}}

/* ===== PLAYFUL THEME ===== */
:root{--bg:#fff7e0;--ink:#1d1d1d;--card:#fff;--line:#1d1d1d;--mute:#4a4a4a;--acc:#6c5cff;--yel:#ffb800;--serif:'Nunito',system-ui,sans-serif;--sans:'Nunito',system-ui,sans-serif;--b:3px solid #1d1d1d;--sh:5px 5px 0 #1d1d1d;--shs:3px 3px 0 #1d1d1d}
:root{--sleep:#6c5cff;--training:#ff6b3d;--nutrition:#2fc46b;--supplements:#0f766e;--testing:#1d1d1d;--recovery:#22b8d6;--mind:#9333ea;--habits:#ffb800;--diet:#d01f55;--beauty:#ff8fc2}
[class*=c-]{--ct:#fff}.c-training,.c-nutrition,.c-recovery,.c-habits,.c-beauty{--ct:#1d1d1d}
body{background:var(--bg);font-family:var(--sans);font-weight:600;color:var(--ink)}
h1,h2,h3,h4{font-family:var(--sans);font-weight:900;letter-spacing:-.01em}
a{color:inherit}
.eyebrow,.kick{font:900 12px var(--sans);text-transform:uppercase;letter-spacing:.12em;color:var(--acc)}
header.top{border:0;background:none}header.top .wrap{min-height:64px}
.logo{font:900 23px var(--sans);letter-spacing:-.01em;color:var(--ink)}.logo i{font-style:normal}
.tagline{color:var(--mute);font-weight:700}
header.top nav a{background:var(--ink);color:#fff;border-radius:99px;padding:0 16px;font-weight:800;font-size:14px;margin-left:8px}
/* pills = stickers */
.pill{background:var(--cat,#fff);color:var(--ct,#1d1d1d);border:2.5px solid var(--ink);border-radius:12px;box-shadow:2px 2px 0 var(--ink);font:900 13px/1 var(--sans);padding:6px 11px;transform:rotate(var(--r,0deg))}
.pill:before{display:none}.pill.sm{font-size:11.5px;padding:4px 9px;border-width:2px}
*:nth-child(3n+1)>.pill,.pill:nth-child(3n+1){--r:-2deg}.pill:nth-child(3n+2){--r:1.5deg}.pill:nth-child(3n){--r:-1deg}
.pill.all{background:#fff;color:var(--ink);border:2.5px solid var(--ink)}.pill.all:before{display:none}
.chips{gap:10px;padding:16px 4px 10px}.chips .pill{min-height:44px;padding:0 16px;font-size:14px}.chips .pill.on{background:var(--ink);color:#fff;box-shadow:3px 3px 0 var(--yel)}
/* heroes */
.bhero{padding:4px 0 6px}.bhero>.wrap{position:relative;overflow:hidden;background:var(--acc);color:#fff;border:var(--b);border-radius:28px;box-shadow:var(--sh);padding:28px 22px 22px;margin:6px 14px 0;width:auto;max-width:1092px}
@media(min-width:1140px){.bhero>.wrap{margin:6px auto 0}}
.bhero[class*=c-]>.wrap{background:var(--cat);color:var(--ct)}
.blob{position:absolute;right:-34px;top:-34px;width:130px;height:130px;background:var(--yel);border-radius:50%;border:3px solid var(--ink)}
.bhero .kick{display:inline-block;background:var(--yel);color:var(--ink);border:2.5px solid var(--ink);border-radius:10px;padding:4px 10px;transform:rotate(-2deg);box-shadow:2px 2px 0 var(--ink);position:relative}
.bhero h1{font-size:clamp(40px,11vw,72px);line-height:1;margin:6px 0 12px;position:relative;max-width:14ch}
.bhero .sub{font-size:17px;margin:0;opacity:.95;max-width:36ch;position:relative}
.bhero .search{background:#fff;border:var(--b);border-radius:18px;padding:5px;margin-top:20px;max-width:560px;box-shadow:var(--shs)}
.bhero .search input{color:var(--ink);font:700 16px var(--sans)}
.btn{background:var(--ink);color:#fff;border-radius:14px;font:900 15px var(--sans);border:0}
.bhero .search .btn{background:var(--yel);color:var(--ink);border:2.5px solid var(--ink)}
.bhero .chips{margin:4px -22px -8px;padding:14px 22px 14px}
.bhero .chips .pill:not(.on){}
/* section heads */
.sec-h{margin:30px 0 12px}.sec-h h2{font-size:26px}.sec-h .disc{font:800 13px var(--sans);background:#fff;border:2.5px solid var(--ink);border-radius:99px;padding:3px 10px;color:var(--ink)}
.disc{color:var(--mute)}
/* cards */
.grid{grid-template-columns:1fr;gap:18px}@media(min-width:760px){.grid{grid-template-columns:repeat(3,1fr)}}
.rcard{display:flex;flex-direction:column;padding:0;background:#fff;border:var(--b);border-radius:24px;box-shadow:var(--sh);overflow:hidden;min-height:0;transition:transform .12s,box-shadow .12s}
.rcard:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--ink)}
.duo{position:relative;background:var(--c,#eee)}.duo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 25%}
.duo.mono{display:grid;place-items:center;color:#fff;font:900 44px var(--sans)}
.cph{height:210px;border-bottom:var(--b)}
.cb{padding:14px 16px 16px}.ctop{display:flex;justify-content:space-between;align-items:center}
.ct,.noring{font:800 12px var(--sans);color:var(--mute)}
.rcard h3{font-size:23px;margin:6px 0 2px}.rcard p{font-size:16px;margin:4px 0 12px;color:var(--ink)}
.tags{gap:6px}
.ring{color:var(--ink);display:block;flex:none}
.ringkey{display:flex;gap:10px;align-items:center;font-size:16px;margin:20px 0;background:#fff;border:var(--b);border-radius:18px;padding:12px 14px;box-shadow:var(--shs)}
.au div{background:#fff;border:var(--b);border-radius:20px;padding:16px;box-shadow:var(--shs)}.au h3{font-size:20px}.au p{color:var(--ink)}
/* routine page */
.rp{max-width:860px;padding:0 14px}
.rhero{display:flex;gap:16px;align-items:center;background:var(--cat,var(--acc));color:var(--ct,#fff);border:var(--b);border-radius:28px;box-shadow:var(--sh);padding:20px;margin-top:6px}
.rhero .rph{flex:none;width:96px;height:96px;border-radius:50%;border:3px solid var(--ink);overflow:hidden;background:#fff;box-shadow:3px 3px 0 var(--ink)}
.rhero .rph img.hero-ph{width:100%;height:100%;max-width:none;max-height:none;aspect-ratio:auto;border-radius:0;box-shadow:none;object-position:50% 25%}
.rhero .rph.mono{font-size:34px}
.rh-text{min-width:0}.rh-text .kick{color:inherit;opacity:.85;margin:0 0 4px;font-size:11px}
.rh-text h1{font-size:clamp(28px,7.5vw,44px);line-height:1.02;margin:0 0 8px}
.lede{color:inherit;font-size:16px;margin:0;opacity:.95}
.rhero .legend{margin-top:10px}.rhero .legend .pill{min-height:36px}
@media(min-width:760px){.rhero .rph{width:150px;height:150px}.rhero{padding:26px}}
@media(max-width:759px){.rhero{flex-wrap:wrap}.rh-text{flex:1 1 180px}.rhero .lede,.rhero .legend{}}
.fine{color:var(--mute)}.fine.top{margin:16px 2px 0}
.keytimes ul{list-style:none;margin:16px -14px 0;padding:4px 14px 10px;display:flex;gap:10px;overflow-x:auto;scrollbar-width:none}
.keytimes li{flex:none;background:#fff;border:var(--b);border-radius:16px;padding:8px 14px;box-shadow:var(--shs)}
.keytimes span{display:block;font-size:13px;color:var(--mute);order:-1}.keytimes li{display:flex;flex-direction:column}
.keytimes b{font:900 20px var(--sans)}.keytimes b small{font-size:13px;margin-left:3px}
.dayring{margin-top:22px;background:#fff;border:var(--b);border-radius:24px;box-shadow:var(--sh);padding:18px;display:grid;gap:8px;justify-items:center;text-align:center}
.dayring .eyebrow{display:inline-block;background:var(--yel);color:var(--ink);border:2.5px solid var(--ink);border-radius:10px;padding:4px 10px;transform:rotate(-2deg)}
.dayring p{margin:6px 0;font-size:16px}.dr-key{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.dayring.none{display:block;text-align:left}
.ring.big{max-width:100%;height:auto}.ring.big>circle:first-child{stroke:var(--ink);stroke-opacity:1;stroke-width:4;stroke-dasharray:8 7}
.ring .rl{font:900 12px var(--sans);fill:var(--ink)}.ring.big a circle:last-child{stroke:var(--ink);stroke-width:3}
.ring a:hover circle:last-child,.ring a:focus circle:last-child{r:12}
@media(min-width:760px){.dayring{grid-template-columns:1fr 280px;text-align:left;justify-items:start;align-items:center}.dr-key{justify-content:flex-start}}
:target{scroll-margin-top:16px}.tl li:target .it{box-shadow:5px 5px 0 var(--yel);outline:0}
.glance{background:#fff;border:var(--b);border-radius:24px;box-shadow:var(--sh)}
.g-stats li{background:var(--bg);border:2.5px solid var(--ink);border-radius:14px}
.g-gear li{border-color:#e7dcc0}.g-gear .dot{border:2px solid var(--ink);border-radius:50%;width:14px;height:14px}
.tabs{border:var(--b);border-radius:99px;background:#fff;box-shadow:var(--shs);padding:3px}.tabs a{border-radius:99px;font-weight:900}
.sec>h2{font-size:26px}
/* timeline */
.phase{font:900 20px var(--sans);text-transform:none;letter-spacing:0;color:var(--ink);margin:22px 0 8px}
.tl{margin-left:28px;border-left:4px dashed var(--ink);padding:4px 0 0}.tl:before,.tl li:after{display:none}
.tl li{display:block;position:relative;padding:0 0 16px 22px}
.tl time{position:absolute;left:-30px;top:10px;min-width:56px;padding:5px 8px;text-align:center;background:var(--cat);color:var(--ct);border:2.5px solid var(--ink);border-radius:99px;font:900 12px/1.1 var(--sans);transform:translateX(-0px);max-width:76px;z-index:1}
.tl time small{display:block;font-size:9px;opacity:.85}
.tl .it{margin-left:30px;background:#fff;border:var(--b);border-radius:20px;padding:12px 14px}
.tl h3{font:900 18px/1.2 var(--sans);margin:8px 0 4px}.tl p{color:var(--ink)}.tl .why b{font-weight:900}
.src,.src a{color:var(--acc);font-weight:700}
.gear{background:var(--bg);border:2.5px solid var(--ink);border-left-width:2.5px;border-radius:14px;margin-top:10px}
.g-h{color:var(--ink);font-weight:900}
.g-btn,.btn.shop{background:var(--yel);color:var(--ink);border:2.5px solid var(--ink);border-radius:12px;box-shadow:2px 2px 0 var(--ink);font:900 14px var(--sans);text-decoration:none}
.g-btn:before{content:"🛒 "}.g-btn:hover{background:#ffcd3c;color:var(--ink)}
.featured{border:var(--b);border-radius:24px;box-shadow:var(--sh);background:var(--cat);color:var(--ct)}.featured h3{color:inherit}.featured .pill{background:#fff;color:var(--ink)}
.busy{background:var(--acc);color:#fff;border:var(--b);border-radius:24px;box-shadow:var(--sh)}.busy h2{color:#fff}.busy .eyebrow{color:#fff!important;opacity:.9}.busy li{color:#fff}
.tbl-wrap{border:var(--b);border-radius:20px;box-shadow:var(--shs)}.steps td{border-color:#e7dcc0}
.shopbox{background:#fff;border:var(--b);border-radius:24px;box-shadow:var(--sh)}.shoplist li{border-color:#e7dcc0}
.book{border:var(--b);border-radius:20px;box-shadow:var(--shs)}.cover{border:2.5px solid var(--ink);border-radius:6px 10px 10px 6px;box-shadow:none}
.sponsor{border:3px dashed var(--ink);border-radius:20px}
.note{border:2.5px solid var(--ink);border-radius:16px;background:#fff}
.srcs a{color:var(--acc);font-weight:700}
footer.mini{border:0;color:var(--mute)}footer.mini a{color:var(--mute)}
.about .hero h1,main>.hero h1,main h1{font-size:clamp(34px,8vw,56px);line-height:1.04}
.ab-grid>div{background:#fff;border:var(--b);border-radius:20px;padding:16px;box-shadow:var(--shs)}
.legal{background:#fff;border:var(--b);border-radius:20px;padding:16px 18px;box-shadow:var(--shs)}
#image-credits{margin-top:24px}
.tl .it{margin-left:18px}.bhero .chips .c-sleep:not(.on){background:#fff;color:#4b3fd1}
/* compact cards */
.rcard{display:grid;grid-template-columns:72px 1fr;gap:14px;align-items:start;padding:14px}
.cph{width:72px;height:72px;border:3px solid var(--ink);border-radius:50%;overflow:hidden;box-shadow:2px 2px 0 var(--ink);background:#fff}
.cph img{object-position:50% 40%}.cph.mono{font-size:24px}
.cb{padding:0}.rcard h3{font-size:20px;margin:4px 0 2px}.rcard p{margin:2px 0 10px}
.ctop{gap:8px;justify-content:flex-start}.ctop .ct{order:-1}
.grid{gap:14px}
.rhero .rph img.hero-ph{object-position:50% 40%}
/* tabs fit */
.rp .tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;overflow:visible;border-radius:22px;width:auto}
.rp .tabs a{padding:0 12px;flex:0 1 auto}
/* quiet gear */
.gear{background:transparent;border:2px dashed #b9ad97;box-shadow:none;padding:9px 12px;border-radius:14px}
.gear .g-h{font-size:10.5px;color:var(--mute)}.gear .g-row b{font-size:15px}.gear .g-row span{font-size:14px}
.g-link{display:inline-flex;align-items:center;min-height:44px;color:var(--acc);font-weight:800;font-size:15px;text-decoration:underline;text-underline-offset:3px}
.g-link:after{content:none}
/* quiet gear */
.gear{background:transparent;border:2px dashed #b9ad97;box-shadow:none;padding:9px 12px;border-radius:14px}
.gear .g-h{font-size:10.5px;color:var(--mute)}.gear .g-row b{font-size:15px}.gear .g-row span{font-size:14px}
.g-link{display:inline-flex;align-items:center;min-height:44px;color:var(--acc);font-weight:800;font-size:15px;text-decoration:underline;text-underline-offset:3px}
/* supplements */
.supps{border:2px solid #0f766e;border-radius:18px;padding:18px 16px;background:#f0fbf9}
.supps h2{color:#0f766e}
.sp-g{margin:14px 0}
.sp-list{list-style:none;padding:0;margin:0 0 6px;display:flex;flex-wrap:wrap;gap:8px}
.sp-list li{background:#fff;border:1.5px solid #0f766e;border-radius:999px;padding:4px 12px;font-size:16px;font-weight:700;color:#0b4f4a}
.sp-sells{font-size:16px;color:#333;margin:10px 0 4px}
.sp-note{font-size:16px;margin:4px 0 0}
sup.ref{font-size:12px;line-height:0;margin-left:2px}
sup.ref a{display:inline-block;min-width:24px;min-height:24px;line-height:24px;text-align:center;border-radius:12px;background:#efe9ff;color:#3b2fb0;text-decoration:none;font-weight:800}
.srcbox{margin:24px 16px;border:2px solid #1d1d1d;border-radius:16px;padding:12px 16px;background:#fff}
.srcbox summary{font-weight:800;font-size:18px;cursor:pointer;min-height:44px;display:flex;align-items:center}
.srcbox .srcs li{font-size:16px;margin:8px 0;word-break:break-word}
.sp-d{font-size:16px;color:#555}
sup.ref a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin:-14px -8px -14px -6px;line-height:1;border-radius:0;background:radial-gradient(circle,#efe9ff 12px,transparent 13px);vertical-align:middle}
/* signup */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.signup{position:relative;background:#6c5cff;color:#fff;border:3px solid #1d1d1d;border-radius:24px;box-shadow:6px 6px 0 #1d1d1d;padding:30px 18px 20px;margin:28px 16px}
.grid .signup{margin:12px 0}
.signup h2{color:#fff;font-size:26px;line-height:1.15;margin:0 0 8px;font-weight:900}
.su-sub{font-size:17px;margin:0 0 14px;color:#f1eeff}
.su-tag{position:absolute;top:-16px;left:16px;background:#ffb800;color:#1d1d1d;border:2px solid #1d1d1d;border-radius:999px;padding:4px 12px;font-weight:900;font-size:16px;transform:rotate(-3deg);box-shadow:2px 2px 0 #1d1d1d}
.su-row{display:flex;flex-direction:column;gap:10px}
.su-row input{min-height:52px;font:inherit;font-size:17px;padding:0 16px;border:2px solid #1d1d1d;border-radius:14px;color:#1d1d1d}
.su-row button{min-height:52px;font:inherit;font-weight:900;font-size:17px;background:#ffb800;color:#1d1d1d;border:2px solid #1d1d1d;border-radius:14px;box-shadow:3px 3px 0 #1d1d1d;cursor:pointer}
.su-topics{border:0;padding:0;margin:14px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.su-topics legend{font-size:16px;font-weight:800;margin-bottom:8px;color:#fff}
.su-chip{position:relative}
.su-chip input{position:absolute;opacity:0;inset:0}
.su-chip span{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;border:2px solid #1d1d1d;background:#fff;color:#1d1d1d;font-weight:800;font-size:16px}
.su-chip input:checked+span{background:var(--chip);color:var(--ct,#fff)}
.su-chip input:focus-visible+span{outline:3px solid #ffb800;outline-offset:2px}
.su-chip.c-sleep{--chip:#6c5cff}.su-chip.c-training{--chip:#ff6b3d;--ct:#1d1d1d}.su-chip.c-nutrition{--chip:#2fc46b;--ct:#1d1d1d}.su-chip.c-habits{--chip:#ffb800;--ct:#1d1d1d}.su-chip.c-beauty{--chip:#ff8fc2;--ct:#1d1d1d}.su-chip.c-mind{--chip:#9333ea}
.su-chip.c-sleep input:checked+span,.su-chip.c-mind input:checked+span{color:#fff}
.su-priv{font-size:16px;margin:12px 0 0;color:#f1eeff}
.su-priv a{color:#fff;font-weight:800;display:inline-flex;align-items:center;min-height:44px}
.su-err{font-size:16px;background:#fff;color:#b00020;border-radius:10px;padding:6px 10px;margin:8px 0 0}
.su-ok{font-size:20px;font-weight:900;background:#fff;color:#1d1d1d;border-radius:14px;padding:14px;margin:6px 0 0}
.su-strip{background:#1d1d1d;box-shadow:none;border-radius:0;margin:32px 0 0;border:0;padding:20px 16px}
.su-strip h2{font-size:20px}
@media(min-width:700px){.su-row{flex-direction:row}.su-row input{flex:1}.su-row button{padding:0 24px}}
.su-chip{display:inline-flex}.su-chip input{width:100%;height:100%;margin:0;top:0;left:0}
.duo.mono{background:var(--c)}.rhero .duo.mono{background:#fff;color:var(--c)}
.trythis{position:relative;margin:26px 16px 10px;background:#ffb800;border:3px solid #1d1d1d;border-radius:20px;box-shadow:5px 5px 0 #1d1d1d;padding:24px 16px 10px;transform:rotate(-1deg)}
.trythis p{margin:0;font-size:18px;font-weight:800;color:#1d1d1d;line-height:1.35}
.tt-tag{position:absolute;top:-15px;left:14px;background:#1d1d1d;color:#fff;border-radius:999px;padding:4px 12px;font-weight:900;font-size:16px;transform:rotate(2deg)}
.tt-step{display:inline-flex;align-items:center;min-height:44px;font-size:16px;font-weight:800;color:#1d1d1d}
/* topics */
.tchips{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 24px}
.tchip{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:2px solid #1d1d1d;border-radius:999px;background:#fff;color:#1d1d1d;font-weight:800;font-size:16px;text-decoration:none;box-shadow:3px 3px 0 #1d1d1d}
.tchip:nth-child(7n+1){background:#ffb800}.tchip:nth-child(7n+2){background:#ff8fc2}.tchip:nth-child(7n+3){background:#ff6b3d}.tchip:nth-child(7n+4){background:#22b8d6}.tchip:nth-child(7n+5){background:#2fc46b}.tchip:nth-child(7n+6){background:#c9c2ff}.tchip:nth-child(7n){background:#fff}
.tchip.on{outline:3px solid #6c5cff;outline-offset:2px}
.thero{background:#ffb800}
.tgrid{display:grid;gap:14px;margin:18px 0 28px}
@media(min-width:760px){.tgrid{grid-template-columns:1fr 1fr}}
.tcard{display:flex;gap:14px;align-items:center;background:#fff;border:3px solid #1d1d1d;border-radius:20px;box-shadow:5px 5px 0 #1d1d1d;padding:12px 14px;text-decoration:none;color:#1d1d1d;min-height:96px}
.tcard .cph{width:72px;height:72px;flex:none;border-radius:50%;overflow:hidden;border:3px solid #1d1d1d}
.tcard .cph img{width:100%;height:100%;object-fit:cover}
.tc-b{display:flex;flex-direction:column;gap:2px}
.tc-b b{font-size:18px;font-weight:900}
.tc-t{font-size:16px;font-weight:800;color:var(--cat,#6c5cff)}
.tc-s{font-size:16px}
.tlist{list-style:none;padding:0;display:grid;gap:12px;margin:18px 0}
.tlist a{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:56px;padding:12px 16px;border:3px solid #1d1d1d;border-radius:18px;background:#fff;box-shadow:4px 4px 0 #1d1d1d;color:#1d1d1d;text-decoration:none;font-size:17px}
.tlist span{font-size:16px;color:#555;white-space:nowrap}
.topics-home{margin:8px 0}
/* votes */
.cwrap{position:relative}
.cwrap>.rcard,.cwrap>.tcard{height:100%;padding-right:64px}
.vote{position:absolute;top:10px;right:10px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:0;min-width:48px;min-height:52px;padding:4px 6px;border:2px solid #1d1d1d;border-radius:14px;background:#fff;color:#1d1d1d;font:inherit;font-weight:900;font-size:16px;cursor:pointer;box-shadow:2px 2px 0 #1d1d1d}
.vote .v-ic{font-size:18px;line-height:1;color:#d01f55}
.vote[aria-pressed="true"]{background:#ff8fc2}
.vote[aria-pressed="true"] .v-ic{color:#1d1d1d}
.vote:focus-visible,.sb:focus-visible{outline:3px solid #6c5cff;outline-offset:2px}
.vote-big{position:static;flex-direction:row;gap:8px;min-height:52px;padding:0 18px;font-size:17px;box-shadow:3px 3px 0 #1d1d1d}
.vote-big .v-ic{font-size:22px}
.rvote{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:18px 16px 0}
.rv-note{font-size:16px;color:#555}
.sortbar{display:flex;align-items:center;gap:8px;margin:10px 0 14px}
.sb-l{font-weight:800;font-size:16px}
.sb{min-height:44px;padding:0 16px;border:2px solid #1d1d1d;border-radius:999px;background:#fff;font:inherit;font-weight:800;font-size:16px;color:#1d1d1d;cursor:pointer}
.sb[aria-pressed="true"]{background:#1d1d1d;color:#fff}
/* What they use */
.wtu{background:#fff;border:var(--b);border-radius:24px;box-shadow:var(--sh);padding:18px 16px}
.wtu h2{color:var(--ink)}.wtu-lede{font-size:16px;color:var(--mute);margin:4px 0 12px}
.wtu-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.wtu-item{background:var(--bg);border:2.5px solid var(--ink);border-radius:18px;box-shadow:var(--shs);padding:14px;display:flex;flex-direction:column;gap:12px}
.wtu-body{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.wtu-body>b{font-size:18px;font-weight:900}
.wtu-note{font-size:16px;color:var(--ink)}.wtu-alt{font-size:16px;color:var(--mute)}.wtu-alt b{color:var(--ink)}
.wtu-shop{align-self:flex-start;display:inline-flex;align-items:center;min-height:44px;padding:0 20px;background:#ff6b3d;color:#fff;border:2.5px solid var(--ink);border-radius:999px;box-shadow:3px 3px 0 var(--ink);font:900 16px var(--sans);text-decoration:none}
.wtu-shop:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--ink)}
.wtu-shop.pending{background:#fff;color:var(--mute);border-style:dashed;box-shadow:none;cursor:default}.wtu-shop.pending:hover{transform:none}
.wtu-sub{display:flex;align-items:center;gap:10px;margin:22px 0 4px}.wtu-sub h3{font-size:20px;font-weight:900}
.wtu .sp-list li{border:2px solid var(--ink)}
@media(min-width:760px){.wtu-item{flex-direction:row;align-items:center;justify-content:space-between}.wtu-shop{align-self:center;flex:none}}
/* ===== BLEND: soft base + playful accents ===== */
:root{--bg:#f2f1ed;--ink:#3a3633;--mute:#77706a;--line:#dcd7cf;--card:#fbfaf7;--acc:#8f82e8;--soft:#e9e4fb;--pink:#f6dde6;--yel:#f3c969;--b:1px solid #dcd7cf;--sh:0 1px 2px rgba(58,54,51,.04),0 6px 18px rgba(58,54,51,.05);--shs:none;--sans:'Nunito',system-ui,sans-serif;
--sleep:#8f82e8;--training:#f08a62;--nutrition:#6cc28d;--supplements:#4f9a92;--testing:#5b5550;--recovery:#6cc2d6;--mind:#ab84e0;--habits:#f3c969;--diet:#d9708f;--beauty:#f2a9c8}
body{background:var(--bg);color:var(--ink);font-weight:500}
h1,h2,h3,h4{font-weight:800;color:var(--ink);letter-spacing:-.02em}
.logo{font-weight:800;text-transform:lowercase;letter-spacing:-.02em}
.sec>h2,.sec-h h2,.wtu h2{text-transform:lowercase;font-weight:800}
header.top nav a{background:transparent;color:var(--ink);border:1px solid var(--line);font-weight:700}
.eyebrow,.kick{color:var(--mute);font-weight:800}
/* pills: keep colour, drop the sticker treatment */
.pill{border:0;box-shadow:none;transform:none;border-radius:999px;font-weight:800}
.pill.all,.chips .pill{background:var(--card);border:1px solid var(--line)}
.chips .pill[class*=c-]{background:var(--cat)}
.chips .pill.on{background:var(--ink);color:#fff;box-shadow:none}
/* buttons: outlined by default */
.btn{background:transparent;color:var(--ink);border:1px solid var(--ink);border-radius:999px;font-weight:800}
.btn.shop{background:transparent;color:var(--ink);border:1px solid var(--ink);box-shadow:none}
/* hero: one soft purple panel, single sticker */
.bhero>.wrap{background:var(--soft);color:var(--ink);border:0;box-shadow:none;border-radius:28px}
.bhero[class*=c-]>.wrap{background:var(--soft);color:var(--ink)}
.blob{background:#f6dde6;border:0;opacity:.9}
.bhero h1,.bhero .sub{color:var(--ink)}
.bhero .kick{background:var(--yel);border:0;box-shadow:none;color:var(--ink)}
.bhero .search{border:1px solid var(--line);box-shadow:none;background:#fff}
.bhero .search .btn{background:var(--ink);color:#fff;border:0}
.thero{background:none}
.sec-h .disc{border:1px solid var(--line);background:transparent;font-weight:700;color:var(--mute)}
/* cards */
.rcard,.tcard,.tlist a,.au div,.ab-grid>div,.legal,.ringkey,.keytimes li,.dayring,.glance,.tbl-wrap,.shopbox,.book,.note,.wtu,.srcbox,.featured{border:1px solid var(--line);box-shadow:var(--sh);background:var(--card);border-radius:22px}
.keytimes li,.tlist a,.ringkey{box-shadow:none}
.rcard:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(58,54,51,.08)}
.cph{border-bottom:1px solid var(--line)}
.tcard .cph{border:0}
.tcard{color:var(--ink)}
.rcard p,.tl p,.wtu-note{color:var(--ink)}
.cover{border:0}
.sponsor{border:1px dashed var(--line)}
/* topic chips: soft tints, outlined */
.tchip{border:1px solid var(--line);box-shadow:none;background:var(--card)!important;color:var(--ink);font-weight:700}
.tchip.on{outline:2px solid var(--acc)}
/* routine hero: soft tint of the category */
.rhero{background:var(--soft);color:var(--ink);border:0;box-shadow:none}
.rhero[class*=c-]{background:color-mix(in srgb,var(--cat) 22%,#fbfaf7)}
.rhero .rph{border:3px solid #fff;box-shadow:0 4px 14px rgba(58,54,51,.1)}
.rh-text .kick{color:var(--mute);opacity:1}
.rhero .legend .pill{color:var(--ct)}
/* tabs */
.tabs{border:1px solid var(--line);box-shadow:none;background:var(--card)}.tabs a{font-weight:700}
/* day ring stays playful but softer */
.dayring .eyebrow{background:var(--yel);border:0}
.ring.big>circle:first-child{stroke:var(--mute);stroke-width:2.5}
.ring.big a circle:last-child{stroke:#fff;stroke-width:2.5}
/* timeline */
.tl{border-left:2px dashed var(--line)}
.tl time{border:0;box-shadow:none}
.tl .it{border:1px solid var(--line);background:var(--card);border-radius:18px}
.tl li:target .it{box-shadow:0 0 0 3px var(--soft)}
.gear{border:1px dashed var(--line)}
.g-stats li{border:1px solid var(--line);background:var(--bg)}
.g-gear .dot{border:0}
/* busy version: calm charcoal-lilac panel */
.busy{background:#4a4458;border:0;box-shadow:var(--sh)}
/* sources */
.src,.src a,.g-link{color:#6b5fc9}
sup.ref a{background:radial-gradient(circle,var(--soft) 12px,transparent 13px);color:#5a4fb8}
/* signup: soft pink panel */
.signup{background:var(--pink);color:var(--ink);border:0;box-shadow:none}
.signup h2,.su-topics legend{color:var(--ink)}.su-sub,.su-priv{color:var(--mute)}.su-priv a{color:var(--ink)}
.su-tag{background:var(--card);border:1px solid var(--line);box-shadow:none;transform:none;color:var(--ink)}
.su-row input{border:1px solid var(--line)}
.su-row button{background:var(--ink);color:#fff;border:0;box-shadow:none;border-radius:999px}
.su-chip span{border:1px solid var(--line);color:var(--ink)}
.su-strip{background:var(--pink)}
/* try this week: the one tilted sticker on routine pages */
.trythis{background:#fbf1d6;border:1px solid #efdfb2;box-shadow:none;transform:none}
.trythis p,.tt-step{color:var(--ink)}
.tt-tag{background:var(--yel);color:var(--ink);transform:rotate(-3deg)}
/* votes */
.vote{border:1px solid var(--line);background:var(--card);color:var(--ink);box-shadow:none}
.vote .v-ic{color:#d9708f}
.vote[aria-pressed="true"]{background:var(--pink);border-color:#e8b9c9}
.vote[aria-pressed="true"] .v-ic{color:#c2456e}
.vote-big{box-shadow:none}
.sb{border:1px solid var(--line);background:var(--card);color:var(--ink)}
.sb[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
/* what they use: calm product cards */
.wtu-item{background:#fff;border:1px solid var(--line);box-shadow:none;border-radius:18px}
.wtu-shop{background:#f08a62;color:#fff;border:0;box-shadow:none}
.wtu-shop:hover{transform:none;background:#e57749;box-shadow:none}
.wtu-shop.pending{background:transparent;color:var(--mute);border:1px dashed #c9c2b8}
.wtu .sp-list li,.sp-list li{border:1px solid var(--line);background:#fff;color:var(--ink)}
.supps{border:1px solid var(--line);background:var(--card)}
.srcbox summary{font-weight:700}
[class*=c-]{--ct:#2e2a27}.chips .pill.on{color:#fff}
.rcard .duo,.rcard .cph,.tcard .cph{border-color:#fff!important;box-shadow:0 2px 8px rgba(58,54,51,.12)}
header.top nav{display:flex;flex-wrap:nowrap;gap:6px}header.top nav a{margin-left:0;white-space:nowrap}
.tagline{font-weight:600}
/* ===== RHODE FULL: white + cream + taupe monochrome ===== */
:root{--bg:#fff;--card:#f1f0ed;--card2:#dddedc;--ink:#67645e;--ink2:#67645e;--sec:#84827e;--mute:#acaaa5;--line:#dddedc;--acc:#67645e;--soft:#f1f0ed;--pink:#f1f0ed;--yel:#f1f0ed;--mint:#67645e;
--ring:inset 0 0 0 1px #67645e;--ease:cubic-bezier(.76,0,.24,1);
--sans:'Inter',system-ui,-apple-system,sans-serif;--display:'Archivo Black','Arial Black',system-ui,sans-serif;--serif:var(--display);--b:0;--sh:none;--shs:none;--r:12px;
--sleep:#f1f0ed;--training:#f1f0ed;--nutrition:#f1f0ed;--supplements:#f1f0ed;--testing:#f1f0ed;--recovery:#f1f0ed;--mind:#f1f0ed;--habits:#f1f0ed;--diet:#f1f0ed;--beauty:#f1f0ed}
[class*=c-]{--ct:#67645e;--cat:#f1f0ed}
html,body{background:#fff;color:var(--ink);font:400 16px/1.5 var(--sans);-webkit-font-smoothing:antialiased}
*{border-color:transparent}
h1,h2,h3,h4{font-family:var(--sans);color:var(--ink);letter-spacing:0}
a{color:inherit}
/* display statements */
.bhero h1,.sec>h2,.sec-h h2,.wtu h2,#books h2,.rh-text h1,.signup h2,.trythis p,.busy h2,.phero h1,main h1,.keytimes b{font-family:var(--display)!important;font-weight:400!important;text-transform:lowercase;letter-spacing:-.04em;color:var(--ink);overflow-wrap:anywhere}
.bhero h1{font-size:clamp(46px,13vw,96px);line-height:.9;max-width:none}
.rh-text h1{font-size:clamp(36px,10vw,64px);line-height:.92}
.sec>h2,.sec-h h2,.wtu h2,#books h2{font-size:clamp(32px,9vw,52px);line-height:.95}
.signup h2{font-size:clamp(30px,8vw,44px);line-height:.95}
.trythis p{font-size:clamp(28px,8vw,40px);line-height:1}
.keytimes b{font-size:28px}.keytimes b small{font-family:var(--sans);font-size:12px}
/* UI labels */
.eyebrow,.kick,.phase,.g-sub,.wtu-sub h3,.rh-text .kick,.tt-tag,.su-tag,.sec-h .disc,.ct,.noring,.tc-t,.sb-l,.srcbox summary,.tabs a,.g-top .disc,.keytimes span,.g-stats b,.dayring .eyebrow{font:700 12px/1.2 var(--sans)!important;text-transform:uppercase;letter-spacing:.06em;color:var(--sec)!important;background:none!important;border:0!important;box-shadow:none!important;transform:none!important;padding:0;position:static}
.rcard h3,.tc-b b,.wtu-body>b,.tl h3{font:700 17px/1.25 var(--sans)!important;text-transform:uppercase;letter-spacing:.02em;color:var(--ink)!important}
p,li,.lede,.rcard p,.tc-s,.wtu-note,.tl p{color:var(--ink)}
.fine,.disc,.rv-note,.wtu-lede,.wtu-alt,.sp-d,.su-priv{color:var(--sec)}
/* header: sticky translucent white */
header.top{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.9);padding:0;border:0;backdrop-filter:none}
header.top .wrap{background:none;border-radius:0;min-height:60px;padding:0 16px;max-width:1200px;display:flex;align-items:center;justify-content:space-between}
.logo{font:700 22px var(--sans)!important;letter-spacing:-.04em;text-transform:lowercase;color:var(--ink)}.logo i{display:none}
.tagline{display:none!important}
header.top nav{display:flex;gap:4px;flex-wrap:nowrap}
header.top nav a{background:none!important;border:0;box-shadow:none;color:var(--ink);font:700 13px var(--sans);text-transform:uppercase;letter-spacing:.04em;min-height:44px;display:inline-flex;align-items:center;padding:0 10px;margin:0;white-space:nowrap}
header.top nav a:hover{color:#000}
@media(max-width:600px){header.top nav .hide-m{display:none!important}}
/* pills & buttons: 40px radius, inset ring */
.pill,.chips .pill,.pill.all,.tchip,.sb,.vote,.su-chip span,.tabs a,.btn,.btn.shop,.wtu-shop,.su-row button,.tt-step,.rhero .legend .pill,.g-btn{border:0!important;border-radius:40px!important;box-shadow:var(--ring)!important;background:transparent!important;color:var(--ink)!important;transform:none!important;transition:all .3s var(--ease)}
.pill{font:700 11px/1 var(--sans);text-transform:uppercase;letter-spacing:.06em;padding:7px 12px}
.chips .pill,.tchip,.sb,.su-chip span,.tabs a{font:700 13px var(--sans)!important;text-transform:uppercase;letter-spacing:.04em;min-height:44px;padding:0 18px;display:inline-flex;align-items:center}
.chips .pill.on,.tchip.on,.sb[aria-pressed="true"],.su-chip input:checked+span,.tabs a.on{background:var(--ink)!important;color:#fff!important}
.chips .pill:hover,.tchip:hover,.sb:hover,.su-chip span:hover{background:#dddedc!important}
.chips .pill.on:hover,.sb[aria-pressed="true"]:hover{background:#000!important}
/* primary CTAs: taupe fill white label */
.btn,.btn.shop,.bhero .search .btn,.su-row button,.wtu-shop{background:var(--ink)!important;color:#fff!important;font:600 13px var(--sans)!important;text-transform:uppercase;letter-spacing:.06em;min-height:44px;padding:0 22px}
.btn:hover,.su-row button:hover,a.wtu-shop:hover{background:#000!important;box-shadow:inset 0 0 0 1px #000!important}
.wtu-shop.pending{background:transparent!important;color:var(--mute)!important;box-shadow:inset 0 0 0 1px #acaaa5!important;cursor:default}
.wtu-shop.pending:hover{background:transparent!important}
/* tags on cards: plain uppercase text */
.tags .pill{box-shadow:none!important;padding:3px 0!important;margin-right:10px;color:var(--sec)!important}
.wtu-body .pill,.sp-list li,.wtu-sub .pill{box-shadow:none!important}
.wtu-body .pill{padding:0!important;color:var(--sec)!important}
/* surfaces */
.bhero>.wrap,.bhero[class*=c-]>.wrap,.rhero,.rhero[class*=c-],.rcard,.tcard,.tlist a,.au div,.ab-grid>div,.legal,.dayring,.glance,.book,.note,.wtu,.srcbox,.busy,.signup,.trythis,.featured,.ringkey,.supps,.sponsor,.tl .it,.su-strip,.tbl-wrap{background:var(--card)!important;border:0!important;box-shadow:none!important;border-radius:var(--r)!important;color:var(--ink)!important;transform:none!important}
.grid,.tgrid{gap:16px}
.blob{display:none}
.bhero>.wrap{padding:44px 20px 24px}
.bhero .sub{color:var(--ink)!important;font-size:16px}
.bhero .search{background:#fff!important;border:0!important;border-radius:40px!important;box-shadow:var(--ring)!important;padding:4px}
.bhero .search input{color:var(--ink);font:400 16px var(--sans)}
.keytimes li,.g-stats li,.wtu-item,.gear,.sp-list li,.tl time{background:#fff!important;border:0!important;box-shadow:none!important;border-radius:var(--r)!important;color:var(--ink)!important}
.tl time{border-radius:40px!important;box-shadow:var(--ring)!important;font:700 11px var(--sans)!important}
.tl{border-left:1px solid #dddedc!important}
.tl li:target .it{box-shadow:var(--ring)!important}
.rcard:hover,.tcard:hover{background:#dddedc!important}
.rcard .duo,.rcard .cph,.tcard .cph,.rhero .rph{border:0!important;box-shadow:none!important}
.rhero .rph{border-radius:12px}
.duo.mono,.rhero .duo.mono{background:#dddedc!important;color:var(--ink)!important}
.cph{border-bottom:0!important}
.cover{filter:grayscale(1) brightness(1.3) sepia(.15);border:0!important;box-shadow:none!important}
.busy li b,.busy h2,.busy li{color:var(--ink)!important}
/* try this week */
.trythis{padding:28px 20px 16px;margin:20px 16px 10px}
.tt-tag{display:block;margin-bottom:12px}
.tt-step{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;margin-top:12px;font:600 13px var(--sans);text-transform:uppercase;letter-spacing:.06em;text-decoration:none}
/* day ring */
.ring.big>circle:first-child{stroke:#acaaa5!important;stroke-width:1!important;stroke-dasharray:none!important}
.ring circle{stroke:#67645e}
.ring a circle:last-child,.ring circle[fill]:not([fill=none]){fill:#67645e!important;stroke:#f1f0ed!important}
.ring .rl{font:700 10px var(--sans)!important;fill:var(--sec)!important}
.ring:not(.big) circle{stroke:#67645e!important}
/* votes */
.vote{font:700 13px var(--sans)!important;background:#fff!important}
.vote .v-ic,.vote[aria-pressed="true"] .v-ic{color:inherit!important}
.vote[aria-pressed="true"]{background:var(--ink)!important;color:#fff!important}
.vote-big{text-transform:uppercase;letter-spacing:.04em}
/* signup */
.su-row input{border:0!important;border-radius:40px!important;box-shadow:var(--ring);background:#fff;color:var(--ink)}
.su-topics legend{color:var(--ink)!important;font:700 12px var(--sans);text-transform:uppercase;letter-spacing:.06em}
.su-priv a{color:var(--ink)!important}
/* what they use */
.wtu{padding:22px 16px}.wtu-item{padding:16px}
.wtu-sub{margin:24px 0 6px}
.sp-list li{color:var(--ink)!important;font-weight:500}
/* sources */
.src,.src a,.g-link,.g-books a,.srcs a{color:var(--ink)!important;font-weight:400}
sup.ref a{background:radial-gradient(circle,#dddedc 11px,transparent 12px)!important;color:var(--ink)!important;font-weight:700}
/* misc */
.sec-h{align-items:flex-end;gap:12px}
:target,section[id]{scroll-margin-top:72px}
.cb,.rcard,.tcard{min-width:0}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,.su-chip input:focus-visible+span{outline:0!important;box-shadow:0 0 0 2px #fff,0 0 0 4px #67645e!important}
footer,footer.mini,footer a{color:var(--sec)!important}
/* ===== RHODE BOLD TEXT: darker type, taupe kept for rings/CTAs ===== */
html,body{color:#2b2825}
.bhero h1,.sec>h2,.sec-h h2,.wtu h2,#books h2,.rh-text h1,.signup h2,.trythis p,.busy h2,.phero h1,main h1,.keytimes b{color:#1a1918!important}
p,li,.lede,.rcard p,.tc-s,.wtu-note,.tl p,.bhero .sub,.busy li,.busy li b,.legal p,.su-sub,.su-topics legend,.wtu-alt b,.tl .why b{color:#2b2825!important}
.rcard h3,.tc-b b,.wtu-body>b,.tl h3,.logo,header.top nav a,.src,.src a,.g-link,.srcs a,.tt-step{color:#2b2825!important;font-weight:700}
.chips .pill:not(.on),.tchip:not(.on),.sb:not([aria-pressed="true"]),.su-chip input:not(:checked)+span,.tabs a:not(.on),.vote:not([aria-pressed="true"]),.rhero .legend .pill,.tt-step{color:#2b2825!important;font-weight:700!important}
.eyebrow,.kick,.rh-text .kick,.tt-tag,.su-tag,.sec-h .disc,.ct,.noring,.tc-t,.sb-l,.srcbox summary,.g-top .disc,.keytimes span,.g-stats b,.dayring .eyebrow,.phase,.g-sub,.wtu-sub h3{color:#67645e!important}
.tags .pill,.wtu-body .pill{color:#67645e!important}
/* ===== BEETL PAPER CANVAS: page #fbf8f0, elevated surfaces white ===== */
:root{--bg:#fbf8f0;--card:#ffffff}
html,body{background:#fbf8f0!important}
header.top{background:rgba(251,248,240,.9)!important}
.bhero>.wrap,.bhero[class*=c-]>.wrap,.rhero,.rhero[class*=c-],.rcard,.tcard,.tlist a,.au div,.ab-grid>div,.legal,.dayring,.glance,.book,.note,.wtu,.srcbox,.busy,.signup,.trythis,.featured,.ringkey,.supps,.sponsor,.tl .it,.su-strip,.tbl-wrap{background:#fff!important}
.rcard:hover,.tcard:hover{background:#f1f0ed!important}
.keytimes li,.g-stats li,.wtu-item,.gear,.sp-list li{background:#fbf8f0!important}
.bhero .search,.su-row input,.vote,.chips .pill:not(.on),.tchip:not(.on),.sb:not([aria-pressed="true"]),.su-chip input:not(:checked)+span{background:#fbf8f0!important}
.duo.mono,.rhero .duo.mono{background:#f1f0ed!important}
/* ===== WARM IVORY CARDS on #fbf8f0 ===== */
:root{--card:#f6f2e8}
.bhero>.wrap,.bhero[class*=c-]>.wrap,.rhero,.rhero[class*=c-],.rcard,.tcard,.tlist a,.au div,.ab-grid>div,.legal,.dayring,.glance,.book,.note,.wtu,.srcbox,.busy,.signup,.trythis,.featured,.ringkey,.supps,.sponsor,.tl .it,.su-strip,.tbl-wrap{background:#f6f2e8!important}
.rcard:hover,.tcard:hover{background:#f1ece2!important}
.keytimes li,.g-stats li,.wtu-item,.gear,.sp-list li{background:#fbf8f0!important}
.bhero .search,.su-row input,.vote,.chips .pill:not(.on),.tchip:not(.on),.sb:not([aria-pressed="true"]),.su-chip input:not(:checked)+span{background:#fbf8f0!important}
.duo.mono,.rhero .duo.mono{background:#ece6da!important}
.tl time{background:#fbf8f0!important}
.logo-img{display:block;height:24px;width:auto;max-width:44vw}header.top .brand{display:inline-flex;align-items:center;min-height:44px}@media(min-width:760px){.logo-img{height:28px}}
/* logo v2 flow */
header.top .wrap{min-height:64px;padding:0 20px;gap:24px}
header.top .brand{display:inline-flex;align-items:center;min-height:44px;padding:2px 0 0;flex:none;text-decoration:none}
.logo-img{display:block;height:23px;width:auto;max-width:48vw}
header.top nav{gap:2px;margin-right:-10px}
@media(min-width:760px){header.top .wrap{min-height:72px;padding:0 32px}.logo-img{height:28px}header.top nav{gap:8px}}
