@import url("https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,340;0,9..144,420;0,9..144,500;0,9..144,700;1,9..144,340&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500&family=Manrope:wght@700;800&display=swap");:root{--paper:#fafaf7;--ink:#17171a;--graphite:#737370;--faint:#d9d8d1;--line:#e4e3dc;--now:#b4433a;--surface:#fff;--ink-solid:#17171a;--serif:"Fraunces",Georgia,serif;--sans:"Inter",system-ui,sans-serif;--mono:"JetBrains Mono",ui-monospace,monospace;--friendly:"Manrope","Inter",system-ui,sans-serif;--sky-base:var(--paper);--sky-gradient:none;--sun-glow:none;--star-opacity:0;--ring-tint:var(--graphite)}html[data-time=morning]{--sky-base:#eaf3fb;--sky-gradient:linear-gradient(180deg,#e7f2fb,#fafaf7 60%);--sun-glow:radial-gradient(circle at 14% 10%,rgba(255,214,120,.55),rgba(255,214,120,0) 42%);--ring-tint:#d3a356}html[data-time=evening]{--sky-base:#f8e4d6;--sky-gradient:linear-gradient(180deg,#f6d8c4,#f8e3d6 32%,#fafaf7 70%);--sun-glow:radial-gradient(circle at 84% 32%,rgba(255,142,92,.55),rgba(255,142,92,0) 46%),radial-gradient(circle at 12% 78%,rgba(178,108,158,.22),rgba(178,108,158,0) 50%);--ring-tint:#c97b6c}html[data-time=night]{--sky-base:#12141f;--sky-gradient:linear-gradient(180deg,#0e1120,#1b2036 55%,#262b45);--sun-glow:radial-gradient(circle at 80% 12%,rgba(226,226,240,.5),rgba(226,226,240,0) 38%);--star-opacity:.85;--ink:#f2f1ed;--graphite:#abaac0;--line:hsla(0,0%,100%,.14);--faint:hsla(0,0%,100%,.22);--surface:#1c2036;--ring-tint:#9aa0cc}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--sky-base)}body{background-color:var(--sky-base);background-image:var(--sun-glow),var(--sky-gradient);background-repeat:no-repeat;background-size:cover;background-attachment:fixed;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;transition:background-color 2.5s ease,background-image 2.5s ease}.boot,body{min-height:100vh}.sky-decor{position:absolute;top:0;left:0;right:0;height:440px;overflow:hidden;pointer-events:none}.sky-orb{position:absolute;width:120px;height:120px;border-radius:50%;top:6%;left:10%;opacity:0;filter:blur(1px);transition:opacity 2.5s ease,background 2.5s ease,box-shadow 2.5s ease}html[data-time=morning] .sky-orb{opacity:.9;top:6%;left:10%;background:radial-gradient(circle,#ffe9b8 0,#ffd874 55%,rgba(255,216,116,0) 75%);box-shadow:0 0 60px 20px rgba(255,216,116,.35)}html[data-time=evening] .sky-orb{opacity:.9;top:30%;left:82%;background:radial-gradient(circle,#ffd9b0 0,#ff9c63 55%,rgba(255,156,99,0) 75%);box-shadow:0 0 70px 24px rgba(255,140,90,.35)}html[data-time=night] .sky-orb{opacity:.8;top:9%;left:78%;width:64px;height:64px;background:radial-gradient(circle,#f4f3ee 0,#dcdbe6 55%,rgba(220,219,230,0) 75%);box-shadow:0 0 40px 14px rgba(210,210,230,.3)}.sky-stars{position:absolute;inset:0;opacity:var(--star-opacity);transition:opacity 2.5s ease;background-repeat:no-repeat;background-image:radial-gradient(1.5px at 6% 12%,#fff 100%,transparent 0),radial-gradient(1.2px at 14% 28%,#fff 100%,transparent 0),radial-gradient(1.7px at 22% 8%,#fff 100%,transparent 0),radial-gradient(1.3px at 30% 40%,#fff 100%,transparent 0),radial-gradient(1.5px at 38% 18%,#fff 100%,transparent 0),radial-gradient(1.1px at 46% 32%,#fff 100%,transparent 0),radial-gradient(1.6px at 54% 10%,#fff 100%,transparent 0),radial-gradient(1.2px at 62% 24%,#fff 100%,transparent 0),radial-gradient(1.4px at 70% 14%,#fff 100%,transparent 0),radial-gradient(1.5px at 90% 22%,#fff 100%,transparent 0),radial-gradient(1.1px at 10% 46%,#fff 100%,transparent 0),radial-gradient(1.2px at 26% 52%,#fff 100%,transparent 0),radial-gradient(1.5px at 42% 48%,#fff 100%,transparent 0),radial-gradient(1.1px at 58% 44%,#fff 100%,transparent 0),radial-gradient(1.3px at 66% 58%,#fff 100%,transparent 0),radial-gradient(1.2px at 94% 50%,#fff 100%,transparent 0)}.lbl{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--graphite);margin-bottom:10px}.num{font-family:var(--serif);font-weight:420;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:46px;line-height:1}.unit{font-family:var(--sans);font-weight:500;font-size:16px;color:var(--graphite);margin:0 8px 0 2px}.row{display:flex;align-items:baseline;flex-wrap:wrap;justify-content:center}.note{font-size:10.5px;margin-top:6px;line-height:1.6}.note,.tick{font-family:var(--mono);color:var(--graphite)}.tick{font-size:11px;margin-top:8px;text-align:center}.tick b{color:var(--ink);font-weight:500}.over{font-family:var(--serif);font-size:15px}.day-ring-wrap{position:relative;display:flex;justify-content:center;margin-top:12px}.day-ring{width:208px;height:208px}.day-ring-arc{transition:stroke-dasharray 1s linear}@media (prefers-reduced-motion:reduce){.day-ring-arc{transition:none}}.day-time{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--friendly);font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:25px;letter-spacing:-.01em;color:var(--ink)}.app{max-width:480px;margin:0 auto;padding:26px 20px 60px}.top{display:flex;flex-direction:column;margin-bottom:8px}.topbar-actions{display:flex;justify-content:flex-end;gap:18px}.masthead{text-align:center;margin:6px 0 30px}.wordmark{font-family:var(--serif);font-optical-sizing:auto;font-weight:700;font-size:36px;letter-spacing:-.01em;color:var(--ink);padding-bottom:14px;margin-bottom:10px;border-bottom:1px solid var(--line)}.issue{display:flex;justify-content:center;align-items:center;gap:10px}.issue,.util-btn{font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--graphite)}.util-btn{text-transform:uppercase;background:none;border:none;padding:4px 0;cursor:pointer}.util-btn:hover{color:var(--ink)}.tabbar{display:flex;gap:22px;border-bottom:1px solid var(--line);margin-bottom:4px}.tab-btn{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;background:none;cursor:pointer;padding:10px 0 12px;margin-bottom:-1px;color:var(--graphite);border:none;border-bottom:2px solid transparent;transition:color .12s ease,border-color .12s ease}.tab-btn.active,.tab-btn:hover{color:var(--ink)}.tab-btn.active{border-bottom-color:var(--ink)}.board{display:flex;flex-direction:column}.section{padding:24px 0;border-bottom:1px solid var(--line);min-width:0}.section:last-child{border-bottom:none}html[data-time=night] .input{background:hsla(0,0%,100%,.06);border-color:hsla(0,0%,100%,.18)}html[data-time=night] .btn{color:#12141f}.foot{margin-top:20px;font-family:var(--mono);font-size:10px;color:var(--faint);text-align:center}.wgrid{display:flex;flex-direction:column;gap:2px;margin:2px 0 4px}.wrow{display:flex;align-items:center;gap:7px}.wlabel{width:14px;text-align:right;font-family:var(--mono);font-size:8px;color:var(--graphite);flex:0 0 14px}.wcells{display:grid;grid-template-columns:repeat(52,1fr);grid-gap:2px;gap:2px;flex:1 1}.cell{aspect-ratio:1;border-radius:1px}.cell.future{background:var(--faint)}.cell.past{background:var(--ink)}.cell.now{background:var(--now)}.lifebar{position:relative;height:4px;background:var(--faint);border-radius:2px;margin-top:10px}.lifebar-fill{position:absolute;top:0;left:0;bottom:0;background:var(--ink);border-radius:2px}.lifebar-dot{position:absolute;top:50%;width:6px;height:6px;border-radius:50%;background:var(--now);transform:translate(-50%,-50%)}.addrow{display:flex;gap:8px;margin-bottom:10px}.input{flex:1 1;font-family:var(--sans);font-size:13px;padding:9px 11px;border:1px solid var(--line);border-radius:2px;background:#fff;color:var(--ink);min-width:0}.input:focus{outline:none;border-color:var(--ink)}.btn{font-family:var(--mono);font-size:11px;padding:0 14px;background:var(--ink);color:var(--paper);border:none;border-radius:2px;cursor:pointer}.list{list-style:none}.li{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.check{background:none;border:none;cursor:pointer;font-size:13px;color:var(--now);padding:0}.litext{flex:1 1;font-size:14px}.li.done .litext{text-decoration:line-through}.li.done .check,.li.done .litext{color:var(--graphite)}.del{background:none;border:none;cursor:pointer;color:var(--faint);font-size:17px;padding:0 4px}.del:hover{color:var(--now)}.todo-section+.todo-section{margin-top:18px}.todo-sublbl{font-size:10px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}.done-toggle,.todo-sublbl{font-family:var(--mono);color:var(--graphite)}.done-toggle{background:none;border:none;cursor:pointer;font-size:10.5px;padding:8px 0 0}.done-toggle:hover,.note-body{color:var(--ink)}.note-body{width:100%;font-family:var(--serif);font-style:italic;font-weight:340;font-size:15px;line-height:1.75;border:none;border-bottom:1px solid var(--line);border-radius:0;padding:2px 0 8px;resize:vertical;background:none}.note-body::placeholder{color:var(--faint);font-style:italic}.note-body:focus{outline:none;border-color:var(--ink)}.setup{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.setup-card{width:100%;max-width:400px;background:var(--surface);color:var(--ink);border:1px solid var(--line);padding:32px 28px;border-radius:6px;box-shadow:0 24px 60px -24px rgba(0,0,0,.35)}.setup-title{font-family:var(--serif);font-weight:500;font-size:28px;line-height:1.15;margin:10px 0 24px}.modal-section-title{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:500;color:var(--ink);margin-bottom:16px}.modal-section-divided{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.field{display:block;margin-bottom:18px}.field:last-child{margin-bottom:0}.field>span{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--graphite);display:block;margin-bottom:7px}.field input{width:100%;font-family:var(--sans);font-size:15px;padding:10px 12px;border:1px solid var(--line);border-radius:2px;background:var(--paper);color:var(--ink)}.field input:focus{outline:none;border-color:var(--ink)}html[data-time=night] .field input{background:hsla(0,0%,100%,.06);border-color:hsla(0,0%,100%,.18)}.le{display:flex;align-items:center;gap:8px}.le input{width:90px}.le em{font-style:normal;font-size:13px;color:var(--graphite)}.primary{width:100%;font-family:var(--mono);font-size:13px;letter-spacing:.06em;padding:13px;background:var(--ink-solid);color:#fafaf7;border:none;border-radius:10px;cursor:pointer;margin-top:4px;box-shadow:0 8px 20px -10px rgba(0,0,0,.45);transition:transform .12s ease,box-shadow .12s ease}.primary:hover:not(:disabled){box-shadow:0 10px 24px -10px rgba(0,0,0,.5)}.primary:active:not(:disabled){transform:scale(.97);box-shadow:0 4px 12px -8px rgba(0,0,0,.4)}.primary:disabled{background:var(--faint);box-shadow:none;cursor:not-allowed}.modal-overlay{position:fixed;inset:0;background:rgba(10,9,8,.5);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:10;animation:overlay-in .18s ease both}.modal-overlay .setup-card{animation:modal-in .22s cubic-bezier(.2,.8,.3,1) both}@keyframes overlay-in{0%{opacity:0}}@keyframes modal-in{0%{opacity:0;transform:translateY(6px) scale(.98)}}@media (prefers-reduced-motion:reduce){.modal-overlay,.modal-overlay .setup-card{animation:none}}.modal-actions{display:flex;gap:10px;margin-top:32px}.secondary{flex:1 1;font-family:var(--mono);font-size:13px;letter-spacing:.06em;padding:13px;background:none;color:var(--graphite);border:1px solid var(--line);border-radius:10px;cursor:pointer;transition:border-color .12s ease,color .12s ease,transform .12s ease}.secondary:hover{border-color:var(--ink);color:var(--ink)}.secondary:active{transform:scale(.97)}.modal-actions .primary{width:auto;flex:1 1;margin-top:0}@media (prefers-reduced-motion:reduce){.primary,.secondary{transition:none}.primary:active:not(:disabled),.secondary:active{transform:none}}