:root{--purple:#492773;--ink:#35224a;--muted:#725c86;--lavender:#e5d8fa;--mint:#c3ead9;--coral:#fd8069;--paper:#fffcf6;--line:#d5c6e5;font-family:Arial,Helvetica,sans-serif;background:var(--lavender);color:var(--ink)}*{box-sizing:border-box}body{margin:0;background-image:radial-gradient(#805ea718 .8px,transparent .8px);background-size:13px 13px}a{color:inherit}button,input{font:inherit}button{cursor:pointer}button,input,a{touch-action:manipulation}:focus-visible{outline:3px solid #9c321e;outline-offset:4px}.skip{position:absolute;left:20px;top:-80px;z-index:10;background:var(--purple);color:white;padding:15px}.skip:focus{top:10px}.topbar{height:98px;max-width:1480px;margin:auto;padding:0 clamp(24px,5vw,80px);display:flex;align-items:center;gap:25px;border-bottom:1px solid #c3addb}.brand{font-size:55px;letter-spacing:-4px;font-weight:900;text-decoration:none;display:flex;align-items:center;gap:8px}.brand>span{font-size:38px;color:var(--purple);line-height:1}.brand-note{font:9px/1.5 monospace;letter-spacing:1px}.local-label{font:9px monospace;letter-spacing:1px;margin-left:auto;display:flex;align-items:center;gap:9px}.local-label i{width:7px;height:7px;border-radius:50%;background:#426e5e}main{max-width:1380px;margin:auto;padding:0 clamp(24px,5vw,70px)}.intro{padding:30px 0 32px}.intro-top{display:flex;justify-content:space-between;gap:20px;align-items:center}.eyebrow,#date{font:9px/1.7 monospace;letter-spacing:1.2px;color:var(--muted)}#date{font-size:9px}.intro-heading{display:flex;align-items:center;justify-content:space-between;gap:25px}h1{font-size:clamp(33px,4.7vw,68px);letter-spacing:-3px;line-height:1.08;margin:24px 0 18px;font-weight:800}h1>span{color:var(--purple)}h1 em{font-family:Georgia,serif;font-weight:400;position:relative;white-space:nowrap}h1 em:after{content:'';position:absolute;bottom:-6px;height:7px;left:0;right:0;border-bottom:3px solid var(--coral);border-radius:50%;transform:rotate(-2deg)}.intro>p{font-size:13px;color:var(--muted);margin:4px 0}.sticker{width:130px;height:130px;background:var(--coral);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(10deg);flex-shrink:0;box-shadow:5px 6px 0 #b79bd55c;margin-right:25px}.sticker span{font:bold 11px/1.4 monospace;letter-spacing:1px;text-align:center}.sticker b{font-size:42px;font-weight:400;line-height:1.1}.desk{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}.workspace{background:var(--paper);border:1px solid #c6b2db;border-radius:22px;padding:30px;box-shadow:0 8px 0 #d4c3eb;min-width:0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:24px}.section-heading .eyebrow{font-size:8px}h2{font-size:26px;letter-spacing:-1px;font-weight:600;margin:6px 0 0}h2>span{color:var(--coral)}#count{font:9px monospace;border-radius:50px;padding:10px 13px;background:var(--lavender);white-space:nowrap}form{display:flex;gap:8px;background:#f0e9f7;border:1px solid #d2c2e2;border-radius:12px;padding:7px}input{min-width:0;flex:1;border:0;background:none;color:var(--ink);padding:13px 9px;font-size:16px}input::placeholder{color:#7d688d}form button{border:0;background:var(--purple);color:white;width:47px;height:47px;flex-shrink:0;border-radius:9px;font-size:28px;transition:background .2s,transform .2s}form button:hover{background:#743ca3;transform:rotate(4deg)}.filters{display:flex;gap:8px;border-bottom:1px solid var(--line);padding-bottom:15px;margin:24px 0 0}.filters button{border:0;background:none;color:var(--muted);padding:10px 13px;font-size:11px;border-radius:7px;transition:background .2s}.filters [aria-pressed=true]{background:var(--mint);color:#274b3e;font-weight:bold}.filters button:hover{background:#ede3f7}ul{list-style:none;margin:0;padding:0}li{display:flex;gap:14px;align-items:center;padding:20px 0;min-height:76px;border-bottom:1px dashed var(--line)}li input[type=checkbox]{appearance:none;width:23px;height:23px;border:1.5px solid #b19ac8;border-radius:7px;padding:0;flex:none;cursor:pointer;background:white;position:relative}li input:checked{background:var(--mint);border-color:#4f7b65}li input:checked:after{content:'✓';position:absolute;inset:0;display:grid;place-items:center;font-size:18px;color:#305641}li label{flex:1;font-size:14px;line-height:1.6;overflow-wrap:anywhere;cursor:pointer}li.done label{text-decoration:line-through;color:#7d7089}li button{border:0;background:transparent;color:#8a739e;width:36px;height:36px;border-radius:8px;font-size:22px;flex-shrink:0}li button:hover{color:#8c2a19;background:#ffe1d8}#status{color:var(--muted);font-size:10px;line-height:1.7;margin:24px 0 0}#empty{font:italic 22px/1.5 Georgia;padding:28px 10px;text-align:center}.breathing-room{min-width:0}.progress-card{padding:26px;background:var(--mint);border:1px solid #8dbda9;border-radius:22px;overflow:hidden}.progress-card>.eyebrow{color:#3b6757;font-size:8px}.flower{height:160px;position:relative;width:160px;margin:20px auto 24px}.flower i{position:absolute;width:53px;height:86px;background:var(--purple);border-radius:50%;left:53px;top:0;transform-origin:27px 80px;transform:rotate(calc(var(--i)*45deg))}.flower i:nth-child(1){--i:0}.flower i:nth-child(2){--i:1}.flower i:nth-child(3){--i:2}.flower i:nth-child(4){--i:3}.flower i:nth-child(5){--i:4}.flower i:nth-child(6){--i:5}.flower i:nth-child(7){--i:6}.flower i:nth-child(8){--i:7}.flower b{position:absolute;width:60px;height:60px;top:50px;left:50px;display:grid;place-items:center;background:#ffd575;border:3px solid var(--mint);border-radius:50%;color:var(--purple);font-size:33px;font-weight:400}.progress-card h2{font-size:28px;line-height:1.1;color:#294e40;margin-top:0}.progress-row{margin-top:20px;color:#355f4e;font-size:10px;line-height:1.6;display:grid;gap:10px}progress{width:100%;height:7px;border:0;border-radius:10px;overflow:hidden;accent-color:var(--purple)}progress::-webkit-progress-bar{background:#9bc9b6}progress::-webkit-progress-value{background:var(--purple);border-radius:10px;transition:width .4s}.stats{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #96c3b0;padding-top:17px;margin-top:23px;gap:10px}.stats strong{display:block;color:#294e40;font-size:35px;font-weight:500;letter-spacing:-2px}.stats span{font:7px monospace;letter-spacing:.5px;color:#355f4e}.little-note{background:#ffd575;border:1px solid #dcba67;border-radius:6px 6px 30px 6px;padding:20px 24px;margin:22px 4px 0;transform:rotate(-2deg);position:relative;box-shadow:3px 5px 0 #c9b3e3}.little-note>span{position:absolute;right:20px;top:10px;font-size:40px}.little-note p{font-size:20px;line-height:1.2;letter-spacing:-.5px;margin:0 0 13px}.little-note em{font-family:Georgia,serif}.little-note small{font:7px/1.6 monospace;letter-spacing:.5px}footer{display:flex;justify-content:space-between;gap:25px;padding:28px 0;margin-top:22px;font:8px/1.7 monospace;letter-spacing:.7px;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}[hidden]{display:none!important}@media(max-width:1000px){.desk{grid-template-columns:minmax(0,1fr) 250px;gap:18px}.workspace{padding:24px}.progress-card{padding:22px}.sticker{width:100px;height:100px;margin-right:5px}.sticker span{font-size:9px}.sticker b{font-size:34px}.section-heading{flex-wrap:wrap}h1{font-size:48px}.brand-note{font-size:8px}.local-label{font-size:8px}}@media(max-width:720px){.topbar{height:82px;padding-inline:22px;gap:20px}.brand{font-size:43px;letter-spacing:-3px}.brand>span{font-size:29px}.brand-note{margin-left:auto;font-size:7px}.local-label{display:none}main{padding:0 20px}.intro{padding:23px 0 28px}.intro-top{align-items:start;gap:15px}.intro-top .eyebrow{max-width:140px;font-size:8px}#date{font-size:8px;letter-spacing:.5px;text-align:right;max-width:115px}h1{font-size:clamp(29px,7.2vw,47px);letter-spacing:-1.5px;line-height:1.2;margin:22px 0 12px}.intro-heading{gap:0}.sticker{display:none}.intro>p{font-size:12px;line-height:1.6}.desk{display:flex;flex-direction:column;gap:22px}.workspace,.breathing-room{width:100%}.workspace{padding:23px 19px;border-radius:18px}.section-heading{gap:12px;margin-bottom:20px}h2{font-size:23px}.section-heading .eyebrow{font-size:7px}.section-heading>div{flex:1}#count{font-size:8px;padding:9px 10px}input{padding:12px 5px}form button{width:42px;height:44px}.filters{gap:3px;justify-content:space-between}.filters button{font-size:10px;padding:10px 8px}li{gap:11px}li label{font-size:13px}li button{width:30px}.progress-card{position:relative;padding:25px;min-height:255px}.progress-card h2{font-size:26px;margin-top:16px}.flower{position:absolute;right:18px;top:10px;transform:scale(.65);transform-origin:top right;margin:0}.progress-row{margin-top:25px}.stats{grid-template-columns:1fr 1fr;margin-top:17px;padding-top:12px}.stats strong{font-size:28px}.little-note{padding:22px 25px;margin-top:18px}.little-note p{font-size:22px}.little-note small{font-size:8px}footer{font-size:7px;gap:14px;margin-top:10px}}@media(prefers-reduced-motion:no-preference){.workspace{animation:unfold .5s ease-out}.progress-card{animation:unfold .7s ease-out}.sticker{animation:stamp .6s ease-out}.celebrate .flower{animation:bloom .7s ease-in-out}.celebrate .flower b{animation:pop .5s ease-out}@keyframes unfold{from{opacity:0;transform:translateY(12px)}}@keyframes stamp{from{opacity:0;transform:rotate(-8deg) scale(.85)}}@keyframes bloom{50%{rotate:25deg;scale:1.05}}@keyframes pop{50%{scale:1.2}}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Vector arrows keep their shape across Safari, system fonts, and emoji sets. */
svg.compat-arrow {
  display: inline-block;
  position: static;
  width: 1em;
  height: 1em;
  flex-shrink: 0;
  vertical-align: -0.125em;
  fill: none;
  stroke: currentColor;
}
