:root{color:#203330;font-synthesis:none;text-rendering:optimizelegibility;--ink:#203330;--muted:#71827f;--accent:#408f7c;--accent-dark:#296b5b;--soft:#edf4f0;--border:#dbe6e1;background:#f4f7f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{min-width:320px;overflow-x:hidden}body{background:radial-gradient(circle at 10% 8%,#e1f0e9 0,#0000 28rem),radial-gradient(circle at 90% 100%,#e7eecc 0,#0000 26rem),#f4f7f4;min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button,input,select,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.notes-card{border:1px solid var(--border);background:#ffffffe6;border-radius:28px;width:min(100%,960px);min-width:0;padding:clamp(24px,5vw,44px);animation:.42s both surfaceEnter;box-shadow:0 24px 60px #2f504d1f}.notes-toolbar{gap:12px;margin-bottom:22px;display:flex}.notes-toolbar input{border:1px solid var(--border);min-width:0;color:var(--ink);background:#fff;border-radius:11px;flex:1;padding:12px 14px}.notes-toolbar>button{background:var(--accent);color:#fff;cursor:pointer;font:inherit;border:0;border-radius:11px;padding:12px 16px;font-weight:700}.notes-toolbar>button:hover{background:var(--accent-dark)}.notes-workspace{border:1px solid var(--border);border-radius:16px;grid-template-columns:minmax(150px,230px) minmax(0,1fr);min-height:390px;display:grid;overflow:hidden}.notes-list{border-right:1px solid var(--border);background:#f7faf8;flex-direction:column;gap:7px;max-height:580px;padding:9px;display:flex;overflow-y:auto}.note-preview{color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;flex-shrink:0;gap:7px;min-width:0;padding:13px;display:grid}.note-preview:hover{background:var(--soft)}.note-preview.selected{background:#fff;border-color:#c8dfd7;box-shadow:0 2px 7px #26443d0a}.note-preview strong,.note-preview span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.note-preview strong{font-size:.88rem}.note-preview span,.note-preview small{color:var(--muted);font-size:.76rem}.note-preview small{font-size:.68rem}.note-editor{flex-direction:column;min-width:0;padding:22px;display:flex}.note-editor-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.note-editor-toolbar span{color:var(--muted);font-size:.7rem;line-height:1.4}.note-editor-toolbar button{color:#a14438;cursor:pointer;font:inherit;background:#fff3f0;border:0;border-radius:8px;min-height:40px;padding:0 12px;font-size:.78rem}.note-title-input{border:0;border-bottom:1px solid var(--border);color:var(--ink);background:0 0;width:100%;min-width:0;margin-bottom:16px;padding:8px 0 16px;font-family:Georgia,serif;font-size:1.8rem}.note-editor textarea{color:var(--ink);font:inherit;resize:vertical;background:0 0;border:0;flex:1;width:100%;min-height:260px;font-size:16px;line-height:1.7}.note-editor textarea::placeholder,.note-title-input::placeholder{color:#91a09c}.notes-no-results{color:var(--muted);padding:12px;font-size:.84rem;line-height:1.5}@media (width<=700px){.notes-card{border-radius:20px;width:100%;padding:22px 16px}.notes-toolbar{flex-direction:column;gap:9px}.notes-toolbar input,.notes-toolbar>button{min-height:48px;font-size:16px}.notes-workspace{grid-template-columns:minmax(0,1fr)}.notes-list{border-right:0;border-bottom:1px solid var(--border);flex-direction:row;max-height:none;overflow-x:auto}.note-preview{width:155px}.note-editor{padding:16px}.note-title-input{font-size:1.6rem}.note-editor textarea{min-height:280px}}.schedule-card{border:1px solid var(--border);background:#ffffffe0;border-radius:28px;width:min(100%,820px);padding:clamp(24px,5vw,44px);box-shadow:0 24px 60px #2f504d1f}.schedule-header{margin-bottom:22px}.schedule-actions{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:4px 0 16px;display:flex}.schedule-actions p{color:var(--muted);margin:0;font-size:.88rem}.add-schedule-button,.block-form>button{background:var(--accent);color:#fff;cursor:pointer;font:inherit;border:0;border-radius:10px;padding:10px 13px;font-weight:700}.add-schedule-button:hover,.block-form>button:hover{background:var(--accent-dark)}.schedule-message{background:var(--soft);color:var(--accent-dark);border-radius:10px;margin:14px 0 0;padding:10px 12px;font-size:.85rem}.block-form{border:1px solid var(--border);background:#f8fbf9;border-radius:16px;gap:12px;margin:16px 0;padding:16px;display:grid}.block-form-heading{justify-content:space-between;align-items:center;display:flex}.block-form-heading h2{color:var(--ink);margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.25rem;font-weight:500}.block-form-heading button{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:1.5rem}.block-form label{color:var(--muted);gap:5px;font-size:.78rem;font-weight:700;display:grid}.block-form input,.block-form select{border:1px solid var(--border);color:var(--ink);font:inherit;background:#fff;border-radius:9px;padding:9px}.block-form>button{justify-self:start}.timeline{margin-top:18px;position:relative}.time-slot{border-top:1px solid var(--border);height:42px;position:absolute;left:0;right:0}.time-slot.last-slot{height:1px}.time-slot span{color:var(--muted);font-size:.72rem;position:absolute;top:-8px;left:-43px}.schedule-block{border-left:3px solid var(--accent);box-sizing:border-box;color:var(--ink);background:#dcefe7;border-radius:9px;padding:7px 10px;position:absolute;left:0;right:0;overflow:visible}.block-time{color:var(--accent-dark);margin-bottom:2px;font-size:.67rem;font-weight:700}.schedule-block strong{text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;display:block;overflow:hidden}.block-controls{border:1px solid var(--border);opacity:0;z-index:2;background:#fff;border-radius:7px;flex-wrap:wrap;align-items:center;gap:3px;padding:3px;transition:opacity .15s;display:flex;position:absolute;top:5px;right:5px;box-shadow:0 4px 12px #1b39331f}.schedule-block:hover .block-controls,.schedule-block:focus-within .block-controls{opacity:1}.block-controls button{color:var(--accent-dark);cursor:pointer;background:#dcefe7a6;border:0;border-radius:5px;padding:3px 5px;font-size:.68rem}.block-controls .remove-block{color:#a14438}.block-form-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}@media (width<=540px){.schedule-card{border-radius:20px;padding:24px 18px}.schedule-actions{flex-direction:column;align-items:flex-start;gap:12px}.time-slot span{left:-34px}.timeline{margin-left:35px}.block-controls{opacity:1}.block-form-grid{grid-template-columns:1fr}}.schedule-block{cursor:grab;touch-action:none}.schedule-block:active{cursor:grabbing}.block-title{color:var(--ink);cursor:text;font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;width:100%;padding:0;font-size:.88rem;font-weight:700;display:block;overflow:hidden}.inline-block-input{border:1px solid var(--accent);color:var(--ink);font:inherit;background:#ffffffd9;border-radius:5px;width:100%;min-width:0;padding:2px 4px;font-size:.88rem;font-weight:700}.resize-handle{background:var(--accent-dark);cursor:ns-resize;z-index:3;border:2px solid #fff;border-radius:999px;width:34px;height:10px;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)}.resize-handle:focus-visible{outline-offset:2px;outline:3px solid #4496844d}.schedule-card .card-header,.schedule-card .schedule-actions{text-align:center}.schedule-card .eyebrow{justify-content:center}.schedule-actions{flex-direction:column;gap:12px}.timeline-scroll{scrollbar-color:#b9d2ca transparent;scrollbar-width:thin;height:min(590px,100vh - 370px);min-height:320px;padding-left:43px;overflow:hidden auto}.timeline-scroll::-webkit-scrollbar{width:7px}.timeline-scroll::-webkit-scrollbar-thumb{background:#b9d2ca;border-radius:999px}.time-slot.first-slot{border-top:0}.compact-block{padding:6px 8px}.compact-block .block-time{display:none}.compact-block .block-title,.compact-block .inline-block-input{font-size:.76rem;line-height:18px}.compact-block .resize-handle{bottom:-5px}.compact-block .block-controls{top:2px}.schedule-block.theme-mint{background:repeating-linear-gradient(135deg,#dcefe7 0 9px,#d3e9de 9px 18px);border-left-color:#408f7c}.schedule-block.theme-sky{background:repeating-linear-gradient(135deg,#dcecf5 0 9px,#d2e7f1 9px 18px);border-left-color:#4f8daa}.schedule-block.theme-lilac{background:repeating-linear-gradient(135deg,#eee7f6 0 9px,#e6dcf1 9px 18px);border-left-color:#8164a5}.schedule-block.theme-sunset{background:repeating-linear-gradient(135deg,#f8e8d7 0 9px,#f3dfc9 9px 18px);border-left-color:#b87540}.block-background-emoji{opacity:.17;pointer-events:none;font-size:2.5rem;line-height:1;position:absolute;top:50%;left:auto;right:10px;transform:translateY(-50%)}.compact-block .block-background-emoji{font-size:1.55rem}.style-menu{border:1px solid var(--border);z-index:5;background:#fff;border-radius:12px;min-width:252px;padding:12px;position:absolute;top:40px;right:5px;box-shadow:0 8px 22px #1b393329}.style-menu p{color:var(--muted);text-transform:uppercase;margin:0 0 7px;font-size:.74rem;font-weight:700}.style-menu p+.style-options{margin-bottom:11px}.style-options{gap:8px;display:flex}.theme-swatch,.emoji-choice{border:1px solid var(--border);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:flex}.theme-swatch[aria-pressed=true],.emoji-choice[aria-pressed=true]{outline:3px solid var(--ink);outline-offset:2px}.theme-swatch.theme-mint{background:#dcefe7}.theme-swatch.theme-sky{background:#dcecf5}.theme-swatch.theme-lilac{background:#eee7f6}.theme-swatch.theme-sunset{background:#f8e8d7}.emoji-choice{background:#f7faf8;font-size:1.15rem}.no-emoji{color:var(--muted);font-size:1.35rem}.block-controls{gap:5px;padding:5px}.block-controls button{min-height:31px;padding:5px 8px;font-size:.76rem}.elapsed-block-part{pointer-events:none;z-index:0;background:#314f4929;position:absolute;top:0;left:0;right:0}.block-half-hour-divider{pointer-events:none;z-index:1;border-top:1px dashed #2d524a3d;position:absolute;left:0;right:0}.block-time,.block-title,.inline-block-input{z-index:2;position:relative}.status-active{animation:2.4s ease-in-out infinite activeBlockGlow;box-shadow:0 0 0 2px #408f7c57,0 8px 20px #2c715e2e}.active-indicator{background:var(--accent-dark);border:2px solid #fff;border-radius:50%;width:9px;height:9px;top:8px;right:8px;z-index:4!important;position:absolute!important}.status-past{filter:grayscale(.75);background:#e1e6e4!important;border-left-color:#a5b1ad!important}.status-past .block-title{color:#788683;text-decoration:line-through}.status-past .block-time{color:#84918e}.status-past .block-background-emoji{opacity:.07}@keyframes activeBlockGlow{0%,to{box-shadow:0 0 0 2px #408f7c47,0 6px 17px #2c715e24}50%{box-shadow:0 0 0 4px #408f7c75,0 9px 24px #2c715e40}}@media (width<=540px){.timeline-scroll{padding-left:34px}.timeline{margin-left:0}}.schedule-card{animation:.42s cubic-bezier(.2,.8,.2,1) both surfaceEnter}.timeline-scroll{scroll-behavior:smooth}.schedule-block{transition:top .18s,height .18s,filter .22s,box-shadow .22s,background .22s,border-color .22s}.add-schedule-button,.block-controls button,.theme-swatch,.emoji-choice,.resize-handle{transition:transform .16s,box-shadow .16s,background-color .16s}.add-schedule-button:active,.block-controls button:active,.theme-swatch:active,.emoji-choice:active{transform:scale(.94)}.style-menu{animation:.18s both styleMenuIn}@keyframes styleMenuIn{0%{opacity:0;transform:translateY(-5px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.timeline-scroll{scroll-behavior:auto}.schedule-block,.add-schedule-button,.block-controls button,.theme-swatch,.emoji-choice,.resize-handle{transition-duration:.01ms!important}}@media (width<=540px){.add-schedule-button{min-height:48px;padding-inline:18px}.schedule-block{min-height:36px}.block-controls{gap:6px;padding:6px;right:3px}.block-controls button{min-height:40px;padding:7px 10px;font-size:.78rem}.resize-handle{width:64px;height:18px;bottom:-9px}.style-menu{min-width:0;top:44px;left:0;right:0}.theme-swatch,.emoji-choice{width:42px;height:42px}.style-options{justify-content:space-between;gap:7px}.compact-block .block-controls{top:0}.compact-block .resize-handle{bottom:-9px}}.block-reminder{color:var(--muted);text-transform:uppercase;gap:6px;margin-top:11px;font-size:.74rem;font-weight:700;display:grid}.timeline{isolation:isolate}.schedule-block{z-index:1}.schedule-block:hover{transform:none}.schedule-block.style-open{z-index:10}.schedule-block.style-open .block-controls{opacity:1}.style-menu{cursor:default;touch-action:pan-y}.block-reminder select{border:1px solid var(--border);color:var(--ink);font:inherit;text-transform:none;background:#f7faf8;border-radius:9px;min-height:40px;padding:0 9px}.enable-notifications{width:100%;min-height:40px;margin-top:9px;background:var(--accent)!important;color:#fff!important}@media (width<=700px){.schedule-card{border-radius:20px;width:100%;padding:22px 16px}.schedule-actions{align-items:stretch}.add-schedule-button{width:100%;font-size:16px}.timeline-scroll{overscroll-behavior:contain;scroll-behavior:auto;height:min(58svh,620px);min-height:390px;padding-left:34px}.schedule-block{touch-action:none}.block-controls{opacity:1;max-width:calc(100% - 8px);overflow-x:auto}.style-menu{max-height:310px;overflow-y:auto}.block-reminder select,.inline-block-input{font-size:16px}}.pomodoro-card{border:1px solid var(--border);background:#ffffffe0;border-radius:28px;width:min(100%,680px);padding:clamp(24px,5vw,44px);animation:.42s cubic-bezier(.2,.8,.2,1) both surfaceEnter;box-shadow:0 24px 60px #2f504d1f}.pomodoro-header{text-align:center}.pomodoro-header .eyebrow{justify-content:center}.pomodoro-modes{background:var(--soft);border-radius:12px;grid-template-columns:repeat(3,1fr);gap:4px;max-width:480px;margin:0 auto 26px;padding:4px;display:grid}.pomodoro-modes button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;min-height:40px;padding:0 10px;font-size:.8rem;font-weight:750;transition:background .18s,color .18s,transform .18s}.pomodoro-modes button.active{color:var(--accent-dark);background:#fff;box-shadow:0 2px 6px #20333017}.timer-ring{width:min(64vw,288px);max-width:288px;height:min(64vw,288px);max-height:288px;margin:0 auto 24px;position:relative}.timer-ring svg{width:100%;height:100%;overflow:visible;transform:rotate(-90deg)}.timer-track,.timer-progress{fill:none;stroke-width:8px}.timer-track{stroke:#e8efeb}.timer-progress{stroke:var(--accent);stroke-linecap:round;transition:stroke-dashoffset .35s linear}.timer-ring.running .timer-progress{filter:drop-shadow(0 0 7px #408f7c47)}.timer-readout{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.timer-readout span{color:var(--accent-dark);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:800}.timer-readout strong{color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.06em;font-family:Georgia,Times New Roman,serif;font-size:clamp(3.4rem,10vw,4.5rem);font-weight:500;line-height:1.1}.timer-readout small{color:var(--muted);font-size:.76rem}.pomodoro-intention{color:var(--muted);gap:7px;max-width:480px;margin:0 auto 18px;font-size:.76rem;font-weight:750;display:grid}.pomodoro-intention input{border:1px solid var(--border);color:var(--ink);text-align:center;background:#fff;border-radius:12px;outline:none;min-height:48px;padding:0 14px}.pomodoro-intention input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #408f7c24}.pomodoro-controls{grid-template-columns:1fr 1.3fr 1fr;align-items:center;gap:9px;max-width:480px;margin:0 auto;display:grid}.pomodoro-controls button{cursor:pointer;border-radius:12px;min-height:48px;padding:0 14px;font-weight:750;transition:transform .16s,background .16s}.pomodoro-controls button:active{transform:scale(.96)}.pomodoro-controls .primary{background:var(--accent);color:#fff;border:0;font-size:1rem}.pomodoro-controls .primary:hover{background:var(--accent-dark)}.pomodoro-controls .secondary{border:1px solid var(--border);color:var(--muted);background:#fff;font-size:.82rem}.pomodoro-controls .secondary:hover{background:var(--soft);color:var(--ink)}.pomodoro-summary{border-top:1px solid var(--border);justify-content:space-between;align-items:center;max-width:480px;margin:28px auto 0;padding-top:18px;display:flex}.pomodoro-summary>div:first-child{align-items:baseline;gap:7px;display:flex}.pomodoro-summary strong{color:var(--accent-dark);font-size:1.3rem}.pomodoro-summary span{color:var(--muted);font-size:.76rem}.pomodoro-dots{gap:6px;display:flex}.pomodoro-dots span{background:#e2ebe7;border-radius:50%;width:10px;height:10px}.pomodoro-dots span.done{background:var(--accent)}@media (width<=700px){.pomodoro-card{min-height:calc(100svh - 112px)}.pomodoro-modes button{min-height:44px;padding:0 4px;font-size:.7rem}.timer-ring{width:min(70vw,270px);height:min(70vw,270px)}.pomodoro-intention input{font-size:16px}.pomodoro-controls{gap:7px}.pomodoro-controls button{min-height:52px;padding:0 7px}.pomodoro-summary{margin-top:24px}}@media (prefers-reduced-motion:reduce){.timer-progress,.pomodoro-controls button,.pomodoro-modes button{transition-duration:.01ms!important}}.app-layout{min-height:100svh;display:flex}.sidebar{border-right:1px solid var(--border);background:#ffffff8f;flex-direction:column;flex:0 0 76px;align-items:center;padding:25px 12px;display:flex}.sidebar-logo{color:var(--accent-dark);margin-bottom:34px;font-size:1.1rem;font-weight:700}.sidebar nav{gap:10px;width:100%;display:grid}.side-tab{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:12px;justify-content:center;align-items:center;width:100%;height:46px;padding:0;display:flex;position:relative}.side-tab svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:21px;height:21px}.side-tab span{background:var(--ink);color:#fff;opacity:0;pointer-events:none;white-space:nowrap;z-index:1;border-radius:6px;padding:6px 8px;font-size:.72rem;transition:opacity .15s;position:absolute;top:50%;left:calc(100% + 9px);transform:translateY(-50%)}.side-tab:hover span,.side-tab:focus-visible span{opacity:1}.side-tab:hover{background:var(--soft);color:var(--ink)}.side-tab.active{background:var(--soft);color:var(--accent-dark)}.reset-tab{color:#af6259;margin-top:auto}.reset-tab:hover{color:#a14438;background:#fff1ef}.reset-tab span{background:#8b3b32}.page-shell{flex:1;place-items:center;min-height:100svh;padding:48px 24px 28px;display:grid}.todo-card{border:1px solid var(--border);background:#ffffffe0;border-radius:28px;width:min(100%,720px);padding:clamp(24px,5vw,44px);box-shadow:0 24px 60px #2f504d1f}.card-header{margin-bottom:30px}.eyebrow{color:var(--accent-dark);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:7px;font-size:.83rem;font-weight:700;display:flex}.card-header h1{color:var(--ink);letter-spacing:-.07em;margin:13px 0 14px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.35rem,6vw,4.25rem);font-weight:500;line-height:.98}.card-header p{color:var(--muted);margin:0}.week-picker{grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin:0 0 24px;display:grid}.day-button{color:var(--muted);cursor:pointer;text-transform:uppercase;background:0 0;border:1px solid #0000;border-radius:12px;place-items:center;gap:2px;padding:8px 3px;transition:background .15s,border-color .15s,color .15s;display:grid}.day-button span{letter-spacing:.05em;font-size:.68rem;font-weight:700}.day-button strong{color:var(--ink);font-size:1.05rem}.day-button:hover{background:var(--soft)}.day-button.active{background:var(--soft);color:var(--accent-dark);border-color:#c8dfd7}.day-button.active strong{color:var(--accent-dark)}.week-navigation{justify-content:space-between;align-items:center;margin:0 0 7px;display:flex}.week-navigation p{color:var(--muted);text-transform:capitalize;margin:0;font-size:.8rem;font-weight:700}.week-arrow{color:var(--accent-dark);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;height:32px;padding:0 10px;font-size:1.55rem;line-height:1;display:flex}.week-arrow:hover{background:var(--soft)}.add-form{gap:10px;margin-bottom:28px;display:flex}.add-form input,.edit-input{border:1px solid var(--border);width:100%;min-width:0;color:var(--ink);font:inherit;background:#fff;border-radius:13px;outline:none;padding:14px 15px}.add-form input::placeholder{color:#9aa6a4}.add-form button{background:var(--accent);color:#fff;cursor:pointer;font:inherit;border:0;border-radius:13px;flex:none;padding:0 18px;font-weight:700;transition:transform .15s,background .15s}.add-form button span{vertical-align:-1px;margin-right:3px;font-size:1.3rem}.add-form button:hover:not(:disabled){background:var(--accent-dark);transform:translateY(-1px)}.add-form button:disabled{cursor:not-allowed;opacity:.48}.habit-option{color:var(--muted);cursor:pointer;align-items:center;gap:9px;margin:-15px 0 25px;font-size:.84rem;display:flex}.habit-option input{accent-color:var(--accent);block-size:17px;inline-size:17px;margin:0}.habit-option strong{color:var(--ink)}.toolbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding-bottom:16px;display:flex}.task-count{color:var(--muted);margin:0;font-size:.9rem}.filters{background:var(--soft);border-radius:10px;gap:4px;padding:3px;display:flex}.filter{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:7px;padding:6px 9px;font-size:.82rem}.filter.active{color:var(--ink);background:#fff;font-weight:700;box-shadow:0 1px 3px #17312e1c}.todo-list{margin:7px 0 0;padding:0;list-style:none}.todo-item{border-bottom:1px solid var(--border);align-items:center;gap:13px;min-height:60px;display:flex}.todo-title{color:var(--ink);overflow-wrap:anywhere;flex:1;line-height:1.35}.habit-badge{color:var(--accent-dark);background:var(--soft);vertical-align:2px;border-radius:999px;margin-left:8px;padding:4px 6px;font-size:.67rem;font-weight:700;line-height:1;text-decoration:none;display:inline-block}.todo-item.completed .todo-title{color:var(--muted);-webkit-text-decoration:line-through #96aaa5;text-decoration:line-through #96aaa5}.todo-item.completed .habit-badge{text-decoration:none}.checkbox{color:#fff;cursor:pointer;background:#fff;border:1.5px solid #a1b5b0;border-radius:50%;flex:0 0 22px;place-items:center;width:22px;height:22px;padding:0;display:grid}.completed .checkbox{background:var(--accent);border-color:var(--accent)}.checkbox svg,.icon-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.todo-actions{opacity:.38;gap:2px;margin-left:auto;transition:opacity .15s;display:flex}.todo-item:hover .todo-actions,.todo-item:focus-within .todo-actions{opacity:1}.icon-button{color:#66807a;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:32px;height:32px;display:grid}.icon-button:hover{background:var(--soft);color:var(--ink)}.icon-button.delete:hover{color:#bd4c40;background:#fff1ef}.edit-input{padding:7px 9px}.empty-state{text-align:center;padding:56px 20px 35px}.empty-mark{background:var(--soft);width:42px;height:42px;color:var(--accent);border-radius:50%;place-items:center;margin:0 auto 14px;font-size:1.25rem;font-weight:700;display:grid}.empty-state h2{color:var(--ink);margin:0 0 7px;font-family:Georgia,Times New Roman,serif;font-size:1.4rem;font-weight:500}.empty-state p{color:var(--muted);max-width:330px;margin:0 auto}.footer-note{color:#70817e;text-align:center;margin:18px 0 0;font-size:.78rem}button:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #4496844d}.charts-card{border:1px solid var(--border);background:#ffffffe0;border-radius:28px;width:min(100%,720px);padding:clamp(24px,5vw,44px);box-shadow:0 24px 60px #2f504d1f}.charts-card .card-header{border-bottom:1px solid var(--border);padding-bottom:26px}.habit-charts{gap:14px;margin:24px 0 0;padding:0;list-style:none;display:grid}.habit-chart{border:1px solid var(--border);background:#fff;border-radius:16px;padding:18px}.habit-chart h2{color:var(--ink);margin:0 0 4px;font-family:Georgia,Times New Roman,serif;font-size:1.25rem;font-weight:500}.habit-chart p{color:var(--muted);margin:0;font-size:.84rem}.progress-squares{grid-template-columns:repeat(auto-fill,13px);grid-auto-flow:row;gap:5px;margin-top:16px;padding-bottom:2px;display:grid}.progress-square{background:var(--accent);border-radius:3px;width:13px;height:13px}.no-progress{border-top:1px solid var(--border);padding-top:14px;margin-top:16px!important}@media (width<=540px){.app-layout{display:block}.sidebar{border-bottom:1px solid var(--border);border-right:0;flex-direction:row;justify-content:space-between;align-items:center;height:58px;padding:6px 14px}.sidebar-logo{margin:0}.sidebar nav{gap:4px;width:auto;display:flex}.side-tab{width:42px;height:42px}.side-tab span{display:none}.page-shell{align-items:start;padding:18px 14px}.todo-card,.charts-card{border-radius:20px;padding:24px 18px}.week-picker{gap:2px}.day-button{border-radius:9px;padding:7px 1px}.add-form{align-items:stretch}.add-form button{padding:0 14px}.toolbar{flex-direction:column;align-items:flex-start;gap:12px}.todo-actions{opacity:1}.footer-note{display:none}}.todo-card,.charts-card{animation:.42s cubic-bezier(.2,.8,.2,1) both surfaceEnter}.side-tab,.reset-tab,.day-button,.filter,.checkbox,.icon-button,.add-form button,.habit-option{transition:background-color .18s,color .18s,border-color .18s,box-shadow .18s,transform .18s}.side-tab:active,.day-button:active,.filter:active,.add-form button:active:not(:disabled){transform:scale(.96)}.todo-item{transition:background-color .18s,opacity .2s,transform .2s;animation:.28s both listItemEnter}.todo-item:hover{background:#edf4f08c}.todo-item.completed{opacity:.72}.checkbox{transition:background-color .18s,border-color .18s,transform .18s}.completed .checkbox{animation:.26s both checkPop}.empty-state{animation:.38s both softFade}.habit-chart{transition:transform .2s,box-shadow .2s;animation:.32s both listItemEnter}.habit-chart:hover{transform:translateY(-2px);box-shadow:0 7px 18px #274d4614}.progress-square{animation:.28s both squarePop}.week-picker{animation:.28s both softFade}@keyframes surfaceEnter{0%{opacity:0;transform:translateY(10px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes listItemEnter{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes softFade{0%{opacity:0}to{opacity:1}}@keyframes checkPop{0%{transform:scale(.7)}65%{transform:scale(1.16)}to{transform:scale(1)}}@keyframes squarePop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=540px){.sidebar{z-index:10;gap:7px;position:sticky;top:0}.sidebar-logo{display:none}.sidebar nav{flex:1;justify-content:space-between}.side-tab{gap:5px;width:auto;padding:0 7px}.side-tab span{color:currentColor;opacity:1;pointer-events:auto;white-space:nowrap;background:0 0;padding:0;font-size:.67rem;font-weight:700;display:inline;position:static;left:auto;transform:none}.side-tab:hover span,.side-tab:focus-visible span{opacity:1}.reset-tab{flex:0 0 42px;margin-top:0;padding:0}.reset-tab span{display:none}.day-button{min-height:44px}.filter{min-height:40px;padding-inline:11px}.add-form,.add-form input,.add-form button{min-height:48px}.checkbox{width:30px;height:30px}.icon-button{width:42px;height:42px}.todo-item{min-height:68px}.habit-option{min-height:34px}.habit-option input{block-size:22px;inline-size:22px}}.developer-card{border:1px solid var(--border);background:#ffffffe0;border-radius:28px;width:min(100%,620px);padding:clamp(24px,5vw,44px);animation:.42s cubic-bezier(.2,.8,.2,1) both surfaceEnter;box-shadow:0 24px 60px #2f504d1f}.developer-panel{border-top:1px solid var(--border);gap:20px;padding-top:25px;display:grid}.developer-panel label{color:var(--ink);gap:9px;font-weight:700;display:grid}.developer-panel input{border:1px solid var(--border);color:var(--ink);font:inherit;background:#fff;border-radius:13px;min-height:48px;padding:0 13px}.developer-panel>p{color:var(--muted);margin:0}.simulated-time{background:var(--soft);color:var(--accent-dark);border:1px solid #c8dfd7;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:13px 14px;display:flex}.simulated-time button{color:var(--accent-dark);cursor:pointer;font:inherit;background:#fff;border:1px solid #b8d2c9;border-radius:9px;min-height:36px;padding:0 10px;font-size:.82rem;font-weight:700}.simulated-time button:hover{background:#f7fbf9}@media (width<=540px){.developer-card{border-radius:20px;padding:24px 18px}}.todo-details{gap:10px;margin:-17px 0 16px;display:flex}.todo-details label{color:var(--muted);gap:5px;font-size:.75rem;font-weight:700;display:grid}.todo-details select,.todo-details input{border:1px solid var(--border);color:var(--ink);font:inherit;background:#fff;border-radius:8px;min-height:32px;padding:0 8px}.priority-badge,.due-date{vertical-align:2px;border-radius:999px;margin-left:7px;padding:4px 6px;font-size:.65rem;font-weight:700;line-height:1;text-decoration:none;display:inline-block}.priority-high{color:#b04d3f;background:#fff0ed}.priority-medium{color:#98721c;background:#fff8e8}.priority-low{color:#4c719f;background:#edf5ff}.due-date{color:#62716e;background:#f1f3f2}.streak{font-weight:700;color:var(--accent-dark)!important;margin-top:8px!important}.account-summary{color:var(--muted);place-items:center;gap:7px;margin-top:14px;display:grid}.account-summary span{background:var(--soft);color:var(--accent-dark);border-radius:50%;justify-content:center;align-items:center;width:29px;height:29px;font-size:.8rem;font-weight:800;display:flex}.account-summary button,.auth-switch{color:var(--accent-dark);cursor:pointer;font:inherit;background:0 0;border:0;padding:4px;font-size:.7rem;font-weight:700}.auth-backdrop{z-index:30;background:#1c312e59;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.auth-card{border:1px solid var(--border);background:#fff;border-radius:24px;width:100%;max-width:410px;padding:30px;position:relative;box-shadow:0 25px 80px #19302c3d}.auth-card h2{color:var(--ink);margin:11px 0 8px;font-family:Georgia,Times New Roman,serif;font-size:2rem;font-weight:500}.auth-card>p{color:var(--muted);margin:0 0 22px}.auth-card form{gap:14px;display:grid}.auth-card label{color:var(--ink);gap:6px;font-size:.82rem;font-weight:700;display:grid}.auth-card input{border:1px solid var(--border);font:inherit;border-radius:10px;min-height:44px;padding:0 11px}.auth-card form>button{background:var(--accent);color:#fff;cursor:pointer;font:inherit;border:0;border-radius:10px;min-height:45px;font-weight:700}.auth-card form>button:disabled{opacity:.6}.auth-close{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:5px;font-size:1.7rem;line-height:1;position:absolute;top:14px;right:16px}.auth-switch{margin:14px auto 0;font-size:.82rem;display:block}.auth-message{color:#8a6419;background:#fff5e8;border-radius:9px;margin:0;padding:9px;font-size:.82rem}@media (width<=540px){.todo-details{margin-bottom:16px}.todo-details label{flex:1}.account-tab{margin:0}.account-summary{display:none}.auth-card{padding:26px 20px}}.surface{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.filters button{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:7px;min-height:32px;padding:6px 9px;font-size:.82rem}.filters button.active{color:var(--ink);background:#fff;font-weight:700;box-shadow:0 1px 3px #17312e1c}.empty-state>div:first-child{background:var(--soft);color:var(--accent);border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;margin:0 auto 14px;font-size:1.1rem;font-weight:800;display:flex}.habit-settings{border:1px solid var(--border);background:#f7faf8;border-radius:14px;gap:12px;margin:-8px 0 22px;padding:14px;display:grid}.habit-settings legend{color:var(--ink);padding:0 5px;font-size:.78rem;font-weight:800}.segmented{background:var(--soft);border-radius:10px;grid-template-columns:1fr 1fr;gap:3px;padding:3px;display:grid}.segmented button{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:8px;min-height:36px;font-size:.78rem;font-weight:700}.segmented button.active{color:var(--accent-dark);background:#fff;box-shadow:0 1px 4px #1f433b1c}.weekday-options{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.weekday-options button{border:1px solid var(--border);color:var(--muted);cursor:pointer;font:inherit;background:#fff;border-radius:9px;min-height:38px;padding:0;font-size:.74rem;font-weight:750}.weekday-options button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.target-control{color:var(--muted);align-items:center;gap:10px;font-size:.8rem;font-weight:700;display:flex}.target-control select{border:1px solid var(--border);color:var(--ink);font:inherit;background:#fff;border-radius:9px;min-height:38px;padding:0 9px}.reminder-tab{margin-top:auto}.reminder-tab.muted{color:#9a7262}.account-tab,.reset-tab{margin-top:6px}.account-tab.signed-in{color:var(--accent-dark)}.account-tab:disabled{cursor:wait;opacity:.55}.app-notice{color:#fff;z-index:60;background:#203330;border:1px solid #ffffff1f;border-radius:14px;align-items:flex-start;gap:12px;width:max-content;max-width:min(440px,100vw - 32px);padding:13px 14px 13px 16px;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 16px 48px #16302a40}.app-notice p{margin:0;font-size:.84rem;line-height:1.4}.app-notice button{color:#dbe8e4;cursor:pointer;background:0 0;border:0;padding:0;font-size:1.2rem;line-height:1}.habit-chart-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.streak-stats{flex:none;gap:8px;display:flex}.streak-stats span{background:var(--soft);color:var(--muted);text-align:center;border-radius:10px;min-width:74px;padding:8px;font-size:.62rem;line-height:1.2;display:grid}.streak-stats strong{color:var(--accent-dark);font-size:1.25rem}.habit-calendar{grid-template-columns:repeat(7,1fr);gap:5px;max-width:310px;margin-top:18px;display:grid}.habit-calendar span{aspect-ratio:1;background:#f0f3f2;border:1px solid #e6ece9;border-radius:4px;max-width:16px}.habit-calendar span.missed{background:#f4e8dd;border-color:#ead5c2}.habit-calendar span.done{background:var(--accent);border-color:var(--accent-dark)}.calendar-legend{align-items:center;gap:5px;display:flex;margin-top:9px!important}.calendar-legend span{border-radius:3px;width:10px;height:10px;margin-left:8px;display:inline-block}.calendar-legend .legend-missed{background:#f4e8dd}.calendar-legend .legend-done{background:var(--accent)}.legacy-streak{font-weight:750;color:var(--accent-dark)!important;margin-top:12px!important}@media (width<=700px){html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{overscroll-behavior-y:contain}button,input,select,textarea{touch-action:manipulation;font-size:16px}.app-layout{display:block}.sidebar{border:0;border-top:1px solid var(--border);height:calc(68px + env(safe-area-inset-bottom));padding:7px 8px calc(7px + env(safe-area-inset-bottom));z-index:30;background:#fafcfaf5;flex-direction:row;gap:2px;width:100%;display:flex;position:fixed;inset:auto 0 0;box-shadow:0 -8px 24px #26443d14}.sidebar-logo{display:none}.sidebar nav{scrollbar-width:thin;flex:1;justify-content:space-around;gap:2px;width:auto;min-width:0;display:flex;overflow-x:auto}.sidebar nav .side-tab{flex-shrink:0;min-width:38px}.side-tab{flex:1 1 0;width:auto;min-width:38px;height:50px;padding:0}.side-tab svg{width:22px;height:22px}.side-tab span{display:none!important}.reminder-tab,.account-tab,.reset-tab{flex:0 0 40px;margin:0}.app-notice{bottom:calc(84px + env(safe-area-inset-bottom))}.account-tab.signed-in{flex-direction:column;gap:3px}.account-tab.signed-in span{color:currentColor;opacity:1;background:0 0;padding:0;font-size:9px;position:static;left:auto;transform:none;display:block!important}.page-shell{min-height:100svh;padding:16px 12px calc(88px + env(safe-area-inset-bottom));place-items:start center}.surface,.todo-card,.charts-card,.developer-card{border-radius:20px;width:100%;padding:22px 16px}.card-header{margin-bottom:22px}.card-header h1{font-size:clamp(2.15rem,13vw,3.25rem)}.add-form{min-height:52px}.add-form input{min-height:52px;font-size:16px}.add-form button{min-height:52px;padding:0 16px;font-size:16px}.todo-details{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.todo-details label{min-width:0}.todo-details select,.todo-details input{width:100%;min-height:44px;font-size:16px}.habit-option{min-height:44px}.habit-option input{width:24px;height:24px}.weekday-options{gap:4px}.weekday-options button{min-height:42px;font-size:.72rem}.toolbar{flex-direction:column;align-items:stretch}.filters{grid-template-columns:repeat(3,1fr);display:grid}.filters button{min-height:42px;font-size:.8rem}.todo-item{gap:9px;min-height:72px}.todo-title{font-size:.94rem}.checkbox{flex-basis:32px;width:32px;height:32px}.todo-actions{opacity:1}.icon-button{width:40px;height:44px}.habit-chart-heading{display:grid}.streak-stats{width:100%}.streak-stats span{flex:1}.footer-note{display:none}}@media (width<=360px){.sidebar{padding-inline:6px}.side-tab{min-width:32px}.side-tab svg{width:20px;height:20px}.reminder-tab,.account-tab,.reset-tab{flex-basis:34px}}
