:root{--bg:#f6f0e3;--card:#fffdf8;--raised:#f2ebdb;--text:#17140f;--muted:#5d574a;--accent:#ff5a36;--on-accent:#17140f;--border:#e3d9c4;--danger:#c3342a;--seg:#ebe2cd;--ink:#17140f;--on-ink:#fffdf8;--sun:#ffd23f;--shadow:0 1px 2px #1e190a0f, 0 6px 18px -6px #1e190a1f;--lift:0 2px 4px #1e190a14, 0 18px 40px -12px #1e190a47;--check:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317140f' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 12.5l4 4 8-9'/></svg>");--tap:48px;--ease:cubic-bezier(.16, 1, .3, 1)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0f0f12;--card:#19191f;--raised:#222229;--text:#f4f1ea;--muted:#a9a69e;--accent:#ff7a58;--on-accent:#1a0d08;--border:#2d2d35;--danger:#ff7b72;--seg:#19191f;--ink:#f4f1ea;--on-ink:#0f0f12;--shadow:0 1px 2px #0006, 0 6px 18px -6px #00000080;--lift:0 2px 4px #00000080, 0 18px 40px -12px #000000b3;--check:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a0d08' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 12.5l4 4 8-9'/></svg>")}}:root[data-theme=dark]{--bg:#0f0f12;--card:#19191f;--raised:#222229;--text:#f4f1ea;--muted:#a9a69e;--accent:#ff7a58;--on-accent:#1a0d08;--border:#2d2d35;--danger:#ff7b72;--seg:#19191f;--ink:#f4f1ea;--on-ink:#0f0f12;--shadow:0 1px 2px #0006, 0 6px 18px -6px #00000080;--lift:0 2px 4px #00000080, 0 18px 40px -12px #000000b3;--check:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a0d08' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 12.5l4 4 8-9'/></svg>")}*{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);accent-color:var(--accent);caret-color:var(--accent);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);margin:0;font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}::selection{background:color-mix(in srgb, var(--accent) 30%, transparent)}main{max-width:600px;margin:0 auto;padding:20px 16px 96px}header{align-items:flex-end;gap:8px;margin-bottom:24px;padding-top:8px;display:flex}.title-block{flex:1;min-width:0}#today{color:var(--muted);text-transform:capitalize;margin:0 0 2px;font-weight:600}h1{letter-spacing:-.035em;text-wrap:balance;margin:0;font-size:clamp(2.2rem,9vw,3rem);font-weight:850;line-height:1}button,select,input{min-height:var(--tap);font:inherit;color:inherit;background:var(--card);border:1px solid var(--border);transition:background-color .15s, border-color .15s, box-shadow .15s, transform .15s var(--ease);border-radius:14px;padding:0 14px}button{cursor:pointer;font-weight:550}button:hover{background:var(--raised);border-color:color-mix(in srgb, var(--text) 22%, var(--border))}button:active{transform:scale(.97)}input::placeholder{color:var(--muted);opacity:1}input:focus,select:focus{border-color:var(--accent)}:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 65%, transparent);outline-offset:2px}button[type=submit],#card .actions .primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:650}button[type=submit]:hover,#card .actions .primary:hover{background:var(--accent);filter:brightness(1.08)}select{padding-right:8px}#theme,#prev,#next,#mic,.del,#banners button{width:var(--tap);place-items:center;padding:0;font-size:0;display:grid}#theme:before,#prev:before,#next:before,#mic:before,.del:before,#banners button:before{content:"";width:22px;height:22px;-webkit-mask:var(--ic) center / contain no-repeat;-webkit-mask:var(--ic) center / contain no-repeat;mask:var(--ic) center / contain no-repeat;background:currentColor}#theme{--ic:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='12' cy='12' r='8' fill='none' stroke='black' stroke-width='2'/><path d='M12 4a8 8 0 0 0 0 16z' fill='black'/></svg>")}#prev{--ic:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M15 6l-6 6 6 6'/></svg>")}#next{--ic:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M9 6l6 6-6 6'/></svg>")}.del{--ic:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M4 7h16M10 11v6M14 11v6M6 7l1 12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1l1-12M9 7V4h6v3'/></svg>")}#banners button{--ic:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'><path d='M6 6l12 12M18 6L6 18'/></svg>")}#mic{--ic:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='9' y='3' width='6' height='11' rx='3'/><path d='M5 11a7 7 0 0 0 14 0M12 18v3'/></svg>")}#mic[aria-pressed=true]{--ic:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><rect x='6' y='6' width='12' height='12' rx='3' fill='black'/></svg>")}#theme,#prev,#next{background:0 0;border-color:#0000}#theme:hover,#prev:hover,#next:hover{background:var(--seg);border-color:#0000}#voice{background:var(--accent);color:var(--on-accent);box-shadow:var(--shadow);border-radius:28px;align-items:center;gap:18px;margin-bottom:20px;padding:20px;display:flex}#voice:has(#mic[hidden]){display:none}#voice:has(#voice-status:not([hidden])) #voice-label{display:none}.voice-text{min-width:0}#voice-label{letter-spacing:-.02em;text-wrap:balance;font-size:1.5rem;font-weight:850;line-height:1.1;display:block}#mic{background:var(--ink);width:88px;height:88px;color:var(--on-ink);box-shadow:var(--lift);border:0;border-radius:50%;flex:none}#mic:hover{background:var(--ink);filter:brightness(1.25)}#mic:before{width:38px;height:38px}#mic.listening{animation:1.4s ease-out infinite pulse}@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--ink) 45%, transparent)}to{box-shadow:0 0 0 24px #0000}}#voice-status{overflow-wrap:anywhere;margin:0;font-size:1.15rem;font-weight:650;line-height:1.3}#add{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:20px;grid-template-columns:1fr auto;gap:8px;margin-bottom:20px;padding:12px;display:grid}#add input,#add button{border-radius:12px}#add #title{background:var(--raised);border-color:#0000;grid-column:1/-1;font-size:1.05rem}#add #title:focus{background:var(--card)}#add #due{min-width:0;color:var(--muted)}#add button[type=submit]{min-width:92px}#tabs{background:var(--seg);border-radius:16px;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:8px;padding:4px;display:grid}#tabs button{color:var(--muted);background:0 0;border-color:#0000;border-radius:12px}#tabs button:hover:not([aria-selected=true]){color:var(--text);background:0 0}#tabs button[aria-selected=true]{background:var(--ink);color:var(--on-ink);box-shadow:var(--shadow);font-weight:700}h2{letter-spacing:-.025em;margin:28px 2px 10px;font-size:1.5rem;font-weight:850}#day-title{font-size:1.25rem}ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}li{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:16px;align-items:center;gap:2px;padding:4px 4px 4px 6px;display:flex}li label{min-width:0;min-height:var(--tap);cursor:pointer;flex:1;align-items:center;gap:14px;padding:0 8px;display:flex}li input[type=checkbox]{appearance:none;border:2px solid color-mix(in srgb, var(--text) 35%, var(--border));background:50%/16px no-repeat;border-radius:50%;flex:none;width:26px;height:26px;min-height:0;padding:0}li input[type=checkbox]:hover{border-color:var(--accent)}li input[type=checkbox]:checked{background-color:var(--accent);background-image:var(--check);border-color:var(--accent)}li .text{gap:1px;min-width:0;display:grid}li .title{overflow-wrap:anywhere;letter-spacing:-.01em;font-size:1.08rem;font-weight:650}li small{background:var(--raised);color:var(--text);font-variant-numeric:tabular-nums;border-radius:999px;justify-self:start;margin-top:3px;padding:1px 9px;font-size:.8rem;font-weight:650}li.done{box-shadow:none;background:0 0}li.done .title{color:var(--muted);font-weight:450;text-decoration:line-through}li.overdue small{background:color-mix(in srgb, var(--danger) 16%, transparent);color:var(--danger)}li .del{color:var(--muted);background:0 0;border:0;border-radius:12px;flex:none}li .del:hover,li .del:focus-visible{color:var(--danger);background:color-mix(in srgb, var(--danger) 10%, transparent)}#empty,#day-empty{text-align:center;color:var(--muted);margin:40px 0}#empty:before{content:"";background:var(--border);width:44px;height:44px;margin:0 auto 12px;display:block;-webkit-mask:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='9' y='3' width='6' height='11' rx='3'/><path d='M5 11a7 7 0 0 0 14 0M12 18v3'/></svg>") 50%/contain no-repeat;mask:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='9' y='3' width='6' height='11' rx='3'/><path d='M5 11a7 7 0 0 0 14 0M12 18v3'/></svg>") 50%/contain no-repeat}#day-empty{margin:16px 0}#month-nav{justify-content:space-between;align-items:center;margin:12px 0 8px;display:flex}#month-title{letter-spacing:-.02em;text-transform:capitalize;font-size:1.4rem;font-weight:850}#grid{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:20px;grid-template-columns:repeat(7,1fr);gap:2px;padding:8px;display:grid}#grid .wd{text-align:center;color:var(--muted);padding:6px 0 4px;font-size:.78rem;font-weight:600}#grid .day{min-height:var(--tap);font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:14px;padding:0;position:relative}#grid .day:hover{background:var(--seg)}#grid .day.other{color:var(--muted);opacity:.55}#grid .day.today{background:var(--sun);color:#17140f;font-weight:800}#grid .day.selected,#grid .day.selected:hover{background:var(--ink);color:var(--on-ink);font-weight:800}#grid .day.has-tasks:after{content:"";background:var(--accent);border-radius:50%;width:5px;height:5px;margin-left:-2.5px;position:absolute;bottom:7px;left:50%}#grid .day.today.has-tasks:after{background:#17140f}#grid .day.selected.has-tasks:after{background:var(--accent)}#settings{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;margin-top:40px;padding-top:20px;display:flex}#settings label{flex-basis:100%;justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px;display:flex}#settings button{font-size:.9rem;font-weight:550}#data-note{color:var(--muted);text-wrap:pretty;flex-basis:100%;margin:8px 0 0;font-size:.88rem}#banners{gap:8px;display:grid}.banner{background:var(--accent);color:var(--on-accent);box-shadow:var(--shadow);animation:rise .45s var(--ease);border-radius:16px;justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;padding:4px 4px 4px 16px;font-weight:650;display:flex}.banner button{color:inherit;background:0 0;border:0;border-radius:12px}.banner button:hover{background:#ffffff29}#rescue{background:color-mix(in srgb, var(--danger) 11%, var(--card));color:var(--text);border:1px solid color-mix(in srgb, var(--danger) 35%, var(--border));padding-left:16px}#rescue-btn{background:var(--danger);color:#fff;border-radius:12px;width:auto;min-height:40px;padding:0 16px;font-size:.95rem}#rescue-btn:hover{background:var(--danger);filter:brightness(1.08)}:root[data-theme=dark] #rescue-btn{color:#1a0b0a}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) #rescue-btn{color:#1a0b0a}}#card{border:2px solid var(--ink);background:var(--card);box-shadow:var(--lift);animation:rise .45s var(--ease);border-radius:22px;gap:4px;margin-bottom:20px;padding:18px;display:grid}#card small{color:var(--muted)}#card strong{letter-spacing:-.02em;white-space:pre-line;text-wrap:balance;font-size:1.35rem;font-weight:800;line-height:1.3}#card-time{color:var(--text);font-variant-numeric:tabular-nums;font-weight:700}#card-msg{color:var(--text);text-wrap:pretty;margin:6px 0 0}#card .actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}#card .actions button{border-radius:14px;flex:auto}#undo{left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));background:var(--text);max-width:568px;color:var(--bg);box-shadow:var(--lift);animation:rise .45s var(--ease);border-radius:16px;justify-content:space-between;align-items:center;gap:8px;margin:0 auto;padding:4px 4px 4px 18px;font-weight:550;display:flex;position:fixed}#undo button{color:inherit;background:0 0;border:0;border-radius:12px;padding:0 16px;font-weight:750}#undo button:hover{background:color-mix(in srgb, var(--bg) 18%, transparent)}body.intro li{animation:rise .6s var(--ease) both}body.intro li:nth-child(2){animation-delay:60ms}body.intro li:nth-child(3){animation-delay:.12s}body.intro li:nth-child(4){animation-delay:.18s}body.intro li:nth-child(n+5){animation-delay:.24s}@keyframes rise{0%{opacity:0;transform:translateY(10px)scale(.98)}}@media (prefers-reduced-motion:reduce){*{transition:none!important}.banner,#card,#undo,body.intro li{animation:none}#mic.listening{box-shadow:0 0 0 8px color-mix(in srgb, var(--accent) 35%, transparent);animation:none}}
