/* Thoughtfetti v2b · new type, bigger key text, palette-driven priority colors, Ta-Da List */
@font-face{font-family:'Outfit';src:url(../fonts/outfit-latin-500-normal.woff2) format('woff2');font-weight:400 500;font-display:swap}
@font-face{font-family:'Outfit';src:url(../fonts/outfit-latin-600-normal.woff2) format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Outfit';src:url(../fonts/outfit-latin-700-normal.woff2) format('woff2');font-weight:700 900;font-display:swap}
@font-face{font-family:'Jakarta';src:url(../fonts/plus-jakarta-sans-latin-400-normal.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Jakarta';src:url(../fonts/plus-jakarta-sans-latin-400-italic.woff2) format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Jakarta';src:url(../fonts/plus-jakarta-sans-latin-500-normal.woff2) format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Jakarta';src:url(../fonts/plus-jakarta-sans-latin-600-normal.woff2) format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Jakarta';src:url(../fonts/plus-jakarta-sans-latin-700-normal.woff2) format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Jakarta';src:url(../fonts/plus-jakarta-sans-latin-800-normal.woff2) format('woff2');font-weight:800 900;font-display:swap}

:root,:root[data-theme]{--sans:'Jakarta',system-ui,-apple-system,'Segoe UI',sans-serif;--serif:'Outfit','Jakarta',system-ui,sans-serif;--fun:'Outfit','Jakarta',system-ui,sans-serif;
  --u:#C2573F;--us:#F8E3DC;--i:#B07A1E;--is:#F6EBD3;--l:#5F8550;--ls:#E5EDDD;
  --q:#4F7FA8;--qs:#E2ECF4;--m:#8A6E9E;--ms:#EEE7F2;--b:#A8583A;--bs:#F5E3DA}

/* bigger, clearer type */
html,body{font-size:16.5px}
.ph h1{font:700 40px/1.08 var(--fun);letter-spacing:-.02em}
.ph p{font-size:16.5px}
.hero h1,.ut-hero h1{font:700 40px/1.08 var(--fun)!important;letter-spacing:-.01em}
h2{font:600 25px/1.2 var(--fun)}
h3{font:800 17.5px/1.25 var(--sans)}
.logo b{font:700 22px/1.05 var(--fun)}
.nav{font-size:15.5px}
.ut-task .t b{font-size:17px;font-weight:700}
.v2-t .t>b{font-size:20px;font-weight:800;line-height:1.25}
.v2-tophd h2{font:700 30px/1.1 var(--fun)}
.v2-q .t b{font-size:16.5px}
.v2-pill{font-size:13px}
.v2-why{font-size:14.5px}
.v2-lanehd h3{font:700 21px/1.2 var(--fun)}
.v2-rank,.v2-tiles b,.v2-sprint .v2-clock,.v2-n,.v2-min{font-family:var(--fun)}
.v2-tiles b{font-size:34px;font-weight:700}
.v2-tiles small{font-size:14px}
.v2-legend span{font-size:13px}

/* priority colors from the palette */
.v2-top{border-color:color-mix(in srgb,var(--u) 35%,transparent);background:linear-gradient(160deg,var(--us),var(--panel) 60%)}
.v2-top .ey{color:var(--u)}
.v2-top .v2-tic{background:var(--u);box-shadow:0 8px 18px -8px color-mix(in srgb,var(--u) 70%,transparent)}
.v2-quick .v2-tic{background:var(--q)}
:root[data-theme=midnight] .v2-top{background:linear-gradient(160deg,color-mix(in srgb,var(--u) 22%,var(--panel)),var(--panel) 60%)}

/* Today and My Plans strip that links to the Ta-Da List */
.v2b-strip{display:flex;align-items:center;gap:14px;width:100%;margin:16px 0 0;padding:14px 16px;border:0;border-radius:20px;text-align:left;color:var(--ink);
  background:linear-gradient(110deg,var(--is),var(--ls) 55%,var(--us));box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--i) 25%,transparent)}
.v2b-strip .t{flex:1;min-width:0}.v2b-strip b{display:block;font:700 19px/1.2 var(--fun)}.v2b-strip small{color:var(--mu);font-weight:600;font-size:13.5px}
.v2b-sic{width:44px;height:44px;border-radius:14px;background:var(--i);color:#fff;display:flex;align-items:center;justify-content:center;flex:none}
.v2b-sic .ic{width:24px;height:24px;stroke-width:2.2}
.v2b-go{width:34px;height:34px;border-radius:50%;background:var(--panel);display:flex;align-items:center;justify-content:center;flex:none;color:var(--ink)}

/* Ta-Da hero */
.v2b-hero{position:relative;overflow:hidden;border-radius:28px;padding:30px 28px 26px;margin-bottom:16px;color:#fff;
  background:radial-gradient(120% 140% at 100% 0%,color-mix(in srgb,var(--l) 85%,#fff) 0%,transparent 55%),linear-gradient(135deg,var(--u),var(--i))}
.v2b-hero .ey{color:rgba(255,255,255,.9)}
.v2b-hero h1{margin:6px 0 6px;font:700 40px/1.08 var(--fun);max-width:15em;position:relative}
.v2b-hero p{margin:0;font-size:17px;font-weight:600;opacity:.95;max-width:30em;position:relative}
.v2b-big{display:inline-block;font-size:1.45em;line-height:.9;padding:0 .12em;background:rgba(255,255,255,.22);border-radius:14px;margin:0 .05em}
.v2b-trophy{position:absolute;right:26px;top:22px;width:74px;height:74px;border-radius:24px;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;transform:rotate(8deg)}
.v2b-trophy .ic{width:42px;height:42px;stroke-width:1.9;color:#fff}
.v2b-hero .ey,.v2b-hero h1,.v2b-hero p{padding-right:96px}
.v2b-cele{margin-top:16px;background:#fff;color:var(--u);border:0;font-weight:800;position:relative}
.v2b-burst i{position:absolute;width:12px;height:12px;border-radius:4px;background:rgba(255,255,255,.5);animation:v2bfloat 6s ease-in-out infinite}
.v2b-burst i:nth-child(1){left:40%;top:30%;transform:rotate(20deg)}
.v2b-burst i:nth-child(2){left:62%;top:10%;width:8px;height:8px;border-radius:50%;animation-delay:-1s}
.v2b-burst i:nth-child(3){left:76%;top:72%;animation-delay:-2s;background:rgba(255,255,255,.35)}
.v2b-burst i:nth-child(4){left:44%;top:82%;width:7px;height:16px;animation-delay:-3s}
.v2b-burst i:nth-child(5){left:90%;top:44%;width:9px;height:9px;border-radius:50%;animation-delay:-4s}
.v2b-burst i:nth-child(6){left:28%;top:6%;width:6px;height:14px;animation-delay:-5s}
.v2b-burst i:nth-child(7){left:3%;top:78%;width:10px;height:10px;border-radius:50%;animation-delay:-2.5s}
.v2b-burst i:nth-child(8){left:55%;top:48%;width:6px;height:6px;border-radius:50%;animation-delay:-3.5s;background:rgba(255,255,255,.3)}
@keyframes v2bfloat{0%,100%{translate:0 0}50%{translate:0 -8px}}

/* stat tiles */
.v2b-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}
.v2b-stat{background:var(--ps);border-radius:20px;padding:16px;box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--pc) 22%,transparent)}
.v2b-stat span{width:36px;height:36px;border-radius:12px;background:var(--pc);color:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:8px}
.v2b-stat span .ic{width:20px;height:20px;stroke-width:2.2}
.v2b-stat b{display:block;font:700 36px/1 var(--fun);color:var(--pc)}
.v2b-stat small{display:block;margin-top:4px;font-weight:800;font-size:14px;color:var(--ink)}

/* week at a glance */
.v2b-cols{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:6px}
.v2b-col{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 2px 6px;border-radius:16px}
.v2b-col.now{background:var(--panel2);box-shadow:inset 0 0 0 1.5px var(--line)}
.v2b-stack{height:calc(var(--max) * 22px + 4px);width:100%;display:flex;flex-direction:column-reverse;align-items:center;gap:4px;position:relative}
.v2b-stack i{display:block;width:min(46px,90%);height:18px;border-radius:7px;background:var(--pc);animation:v2bpop .45s cubic-bezier(.3,1.6,.5,1) both;animation-delay:calc(var(--j) * 70ms)}
.v2b-stack i.rest{background:none;border:2px dashed var(--line);height:14px;animation:none}
.v2b-stack em{font:700 12px var(--fun);color:var(--mu);font-style:normal}
.v2b-col b{font:700 20px/1 var(--fun);min-height:20px}
.v2b-col small{font-weight:800;font-size:12.5px;color:var(--mu)}
.v2b-col.now small{color:var(--ink)}
.v2b-wins{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.v2b-wins span{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:700;color:var(--pc);background:var(--ps);border-radius:999px;padding:6px 12px 6px 10px}
.v2b-wins b{font:700 17px var(--fun)}
.v2b-wins .ic{width:16px;height:16px;stroke-width:2.3}

/* day lists */
.v2b-day{margin:22px 0 6px}
.v2b-dayhd{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:0 4px 10px}
.v2b-dayhd h2{margin:0;font:700 28px/1.1 var(--fun)}
.v2b-count{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:800;color:#fff;background:var(--l);border-radius:999px;padding:3px 11px 3px 8px;align-self:center}
.v2b-count .ic{width:14px;height:14px;stroke-width:3}
.v2b-list{display:flex;flex-direction:column;gap:10px}
.v2b-row{display:flex;gap:14px;align-items:center;background:var(--panel);border-radius:18px;padding:14px 14px 14px 14px;box-shadow:var(--shadow),inset 0 0 0 1.5px var(--line);border-left:6px solid var(--pc);
  animation:v2bslide .5s ease both;animation-delay:calc(var(--n) * 45ms)}
.v2b-row .t{flex:1;min-width:0}.v2b-row .t>b{display:block;font-size:17.5px;font-weight:800;line-height:1.3}
.v2b-ck{width:36px;height:36px;border-radius:50%;background:var(--pc);color:#fff;display:flex;align-items:center;justify-content:center;flex:none;box-shadow:0 6px 14px -6px var(--pc);
  animation:v2bpop .5s cubic-bezier(.3,1.7,.5,1) both;animation-delay:calc(var(--n) * 45ms + 150ms)}
.v2b-ck .ic{width:20px;height:20px;stroke-width:3.2}
.v2b-undo{flex:none;opacity:.7}.v2b-undo:hover{opacity:1}
.v2b-more{margin:14px auto 0;display:flex}
@keyframes v2bpop{from{transform:scale(0)}to{transform:scale(1)}}
@keyframes v2bslide{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.v2b-row,.v2b-ck,.v2b-stack i,.v2b-burst i{animation:none}}

/* settings: palette picker */
.v2b-pals{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:10px}
.v2b-pals button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;border:2px solid var(--line);background:var(--panel);border-radius:16px;padding:12px}
.v2b-pals button.on{border-color:var(--acc);background:var(--accs)}
.v2b-pals .sw{display:flex;gap:5px;margin-bottom:6px}.v2b-pals .sw i{width:26px;height:26px;border-radius:9px}
.v2b-pals b{font-size:15px}.v2b-pals small{color:var(--mu);font-size:12.5px}

:root[data-theme=midnight] .v2b-row{background:var(--panel2)}
:root[data-theme=calm] .v2b-hero{background:var(--panel2);color:var(--ink)}
:root[data-theme=calm] .v2b-hero .ey{color:var(--mu)}
:root[data-theme=calm] .v2b-trophy .ic{color:var(--ink)}
@media (max-width:800px){
  .v2b-stats{grid-template-columns:repeat(2,1fr)}
  .v2b-hero{padding:24px 20px 22px}.v2b-hero h1{font-size:31px}
  .v2b-hero .ey,.v2b-hero h1,.v2b-hero p{padding-right:0}
  .v2b-trophy{width:52px;height:52px;right:16px;top:16px;border-radius:17px}.v2b-trophy .ic{width:30px;height:30px}
  .v2b-hero .ey{padding-right:64px}
  .v2b-cols{gap:3px}
  .ph h1,.hero h1,.ut-hero h1{font-size:32px!important}
  .v2b-pals{grid-template-columns:1fr}
}

/* watercolor stickers */
img.ic.stk{width:24px;height:24px;object-fit:contain;stroke:none;display:inline-block;vertical-align:middle;user-select:none}
img.ic.stk.sm{width:18px;height:18px}
.v2-pill img.stk,.v2-legend img.stk,.v2b-wins img.stk{width:19px;height:19px;margin:-2px 0}
.nav .nic:has(.stk),.nav.on .nic:has(.stk){background:transparent}
.nav .nic img.stk{width:28px;height:28px}
.nav.on .nic:has(.stk){background:var(--panel)}
.v2-tic:has(.stk),.v2-lic:has(.stk),.v2b-sic:has(.stk),.v2-qic:has(.stk),.ut-ai:has(.stk),.eic:has(.stk),.v2b-stat span:has(.stk),.v2-tiles span:has(.stk){background:var(--panel)!important;box-shadow:inset 0 0 0 1.5px var(--line)!important}
.v2-tic img.stk{width:40px;height:40px}.v2-lic img.stk{width:32px;height:32px}.v2b-sic img.stk{width:36px;height:36px}
.v2-qic img.stk{width:24px;height:24px}.ut-ai img.stk{width:26px;height:26px}.eic img.stk{width:44px;height:44px}
.v2-tiles span{width:46px;height:46px}.v2-tiles span img.stk{width:36px;height:36px}
.v2b-stat span{width:46px;height:46px}.v2b-stat span img.stk{width:36px;height:36px}
.v2b-trophy img.stk{width:56px;height:56px}
.v2b-trophy{background:rgba(255,255,255,.85)}
.v2b-cele img.stk{width:22px;height:22px}
.v2-tic.q:has(.stk){box-shadow:inset 0 0 0 1.5px var(--line)!important}

/* midnight: keep tinted surfaces dark */
:root[data-theme=midnight] .v2b-strip{background:linear-gradient(110deg,color-mix(in srgb,var(--i) 22%,var(--panel)),color-mix(in srgb,var(--u) 18%,var(--panel)))}
:root[data-theme=midnight] .v2-tiles button,:root[data-theme=midnight] .v2b-stat{background:color-mix(in srgb,var(--pc) 16%,var(--panel))}
:root[data-theme=midnight] .v2-pill,:root[data-theme=midnight] .v2-legend span,:root[data-theme=midnight] .v2b-wins span{background:color-mix(in srgb,var(--pc) 20%,var(--panel2));color:color-mix(in srgb,var(--pc) 55%,#fff)}
:root[data-theme=midnight] .v2-lanehd,:root[data-theme=midnight] .v2b-pals button.on{background:color-mix(in srgb,var(--pc,var(--acc)) 18%,var(--panel))}
:root[data-theme=midnight] .v2-tiles b,:root[data-theme=midnight] .v2b-stat b{color:color-mix(in srgb,var(--pc) 60%,#fff)}
