:root{--task-inset:9px;color-scheme:dark;--bg:#191c20;--panel:#15181b;--card:#22262b;--line:#30353b;--text:#e7e9e7;--muted:#939c9e;--accent:#c6edb1;--danger:#efaa9c;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:calc(14px * var(--font-scale,1))}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer;border:1px solid transparent;color:inherit;background:transparent;border-radius:7px;padding:8px 11px}button:hover{background:#ffffff0b}button:disabled{opacity:.5;cursor:wait}a{color:inherit;text-decoration:none}input,select,textarea{color:inherit;background:#1c2024;border:1px solid var(--line);border-radius:7px;padding:10px}input[type=checkbox]{accent-color:var(--accent);cursor:pointer;width:17px;height:17px}svg{width:20px;height:20px;flex-shrink:0;vertical-align:middle}.app{display:flex;min-height:100dvh}.sidebar{width:235px;flex-shrink:0;background:var(--panel);padding:32px 18px 16px;border-right:1px solid var(--line);height:100dvh;position:sticky;top:0;overflow:auto}.brand{display:block;width:160px;max-width:100%;margin:0 auto 30px}.brand-logo{display:block;position:relative;aspect-ratio:1761/1192;overflow:hidden}.brand-logo img{display:block;position:absolute;width:113.57184%;height:auto;max-width:none;left:-6.75752%;top:-33.89262%}.brand-name{display:block;text-align:right;font-size:calc(20px * var(--font-scale,1));line-height:1;font-weight:600;letter-spacing:1px;color:var(--accent);margin-top:5px}nav button{width:100%;text-align:left;display:flex;gap:11px;align-items:center;padding:9px 12px;color:#b3bcbd}nav button.active{background:#c6edb113;color:var(--accent)}nav button .count{margin-left:auto;font-size:calc(11px * var(--font-scale,1));color:var(--muted)}.sidebar-label{display:flex;align-items:center;justify-content:space-between;font-size:calc(10px * var(--font-scale,1));font-weight:600;letter-spacing:1.3px;color:#737f83;margin:25px 8px 10px}#groups button{font-size:calc(12px * var(--font-scale,1));padding-top:7px;padding-bottom:7px}#groups .project{padding-left:29px}#groups svg{width:16px;height:16px}#groups .group-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-bottom{border-top:1px solid var(--line);margin-top:25px;padding-top:12px;display:flex;flex-direction:column;font-size:calc(11px * var(--font-scale,1));color:var(--muted)}.sidebar-bottom a{padding:8px 11px}main{flex:1;min-width:0}header{height:83px;display:flex;align-items:center;gap:12px;padding:0 38px;border-bottom:1px solid #ffffff05}.breadcrumb{font-size:calc(10px * var(--font-scale,1));letter-spacing:1.6px;color:#737f83}.header-actions{margin-left:auto;display:flex;gap:12px;font-size:calc(12px * var(--font-scale,1))}.chat-button{border:1px solid var(--line);color:var(--accent)}.content{max-width:1050px;margin:auto;padding:35px 48px 90px}.title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}h1{font-weight:600;letter-spacing:-1.2px;font-size:calc(36px * var(--font-scale,1));margin:8px 0 7px}.eyebrow{text-transform:uppercase;letter-spacing:1.4px;color:var(--muted);font-size:calc(10px * var(--font-scale,1))}.primary{background:var(--accent);color:#23331c;font-weight:600}.primary:hover{background:#d8f8c8}.summary{color:var(--muted);font-size:calc(12px * var(--font-scale,1));margin:10px 0 27px}.filters{display:flex;gap:12px;margin-bottom:28px}.search{display:flex;align-items:center;flex:1;min-width:0;color:var(--muted);gap:8px}.search input{width:100%;background:transparent;border:0;padding-left:0;font-size:calc(12px * var(--font-scale,1))}.filters select{max-width:160px;font-size:calc(11px * var(--font-scale,1));background:transparent;padding:7px}.section{margin:26px 0}.section-heading{display:flex;align-items:center;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:5px;gap:9px}.section-heading>button:first-child{padding:0;display:flex;align-items:center;gap:9px;text-align:left;font-weight:600;font-size:calc(13px * var(--font-scale,1))}.section-heading svg{width:16px;height:16px;color:var(--accent)}.section-heading .section-count{font-size:calc(10px * var(--font-scale,1));color:var(--muted);margin-left:2px}.section-heading .icon-button{margin-left:auto}.section-heading .edit-category{font-size:calc(10px * var(--font-scale,1));color:var(--muted);padding:3px 6px}.task{display:flex;align-items:center;gap:10px;min-height:45px;border:1px solid transparent;border-radius:7px;padding:5px 7px;position:relative}.task:hover{background:#ffffff04}.task.selected{border-color:#c6edb144;background:#c6edb108}.task.done .task-title{color:#737f83;text-decoration:line-through}.task-title{min-width:0;flex:1;text-align:left;padding:4px 0;font-size:calc(13px * var(--font-scale,1));line-height:1.45;overflow-wrap:anywhere}.task-title small{display:block;color:var(--muted);font-size:calc(10px * var(--font-scale,1));font-weight:400;text-decoration:none;margin-top:2px}.task-meta{display:flex;align-items:center;gap:5px}.duration{font-size:calc(10px * var(--font-scale,1));color:#9da79e;border:1px solid #9da79e36;border-radius:20px;padding:2px 5px;white-space:nowrap}.when-btn{font-size:calc(10px * var(--font-scale,1));color:var(--muted);white-space:nowrap;padding:4px 6px}.task .more{padding:4px;color:#79858a}.task .more svg{width:17px}.task .pin{color:var(--accent);width:13px}.quick-add{display:flex;gap:8px;margin:10px 5px}.quick-add input{flex:1;min-width:0;border:0;background:transparent;font-size:calc(12px * var(--font-scale,1));padding:8px 12px}.quick-add button{font-size:calc(12px * var(--font-scale,1));color:var(--accent)}.empty{padding:48px 15px;text-align:center;color:var(--muted);font-size:calc(13px * var(--font-scale,1));line-height:1.8}.empty strong{display:block;font-size:calc(20px * var(--font-scale,1));color:var(--text);font-weight:500;margin-bottom:5px}.empty .primary{margin-top:18px}.icon-button{padding:5px;display:inline-flex;align-items:center;justify-content:center}.icon-button svg{width:18px;height:18px}#bulk{position:sticky;top:12px;background:#2c352b;border:1px solid #65765e;padding:8px 12px;border-radius:10px;z-index:4;font-size:calc(12px * var(--font-scale,1))}#bulk span{margin-right:15px}dialog{width:min(510px,calc(100vw - 28px));max-height:90dvh;padding:25px;background:#21262b;color:var(--text);border:1px solid #424b52;border-radius:14px;box-shadow:0 25px 90px #0009}dialog::backdrop{background:#0009}dialog h2{font-size:calc(20px * var(--font-scale,1));margin:0}.dialog-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.form-field{display:flex;flex-direction:column;gap:7px;font-size:calc(12px * var(--font-scale,1));margin:15px 0}.form-field span{color:var(--muted)}.form-field input,.form-field textarea,.form-field select{width:100%}.form-row{display:flex;gap:12px}.form-row>*{flex:1;min-width:0}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:23px}.shortcut-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:22px}.shortcut-grid button{border:1px solid var(--line);text-align:left;padding:12px}.shortcut-grid small{display:block;margin-top:4px;color:var(--muted);font-size:calc(10px * var(--font-scale,1))}.danger{color:var(--danger)}.hint{font-size:calc(11px * var(--font-scale,1));line-height:1.6;color:var(--muted)}.check-row{display:flex;align-items:center;gap:7px;margin:7px 0}.check-row input[type=text]{flex:1;min-width:0}.history-row{padding:9px 0;border-bottom:1px solid var(--line);font-size:calc(12px * var(--font-scale,1))}.history-row small{display:block;color:var(--muted);font-size:calc(10px * var(--font-scale,1));margin-top:5px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#dcefd3;color:#25331e;border-radius:9px;padding:12px 20px;max-width:90vw;z-index:30;box-shadow:0 5px 30px #0006;font-size:calc(12px * var(--font-scale,1))}.chat-panel{width:360px;flex-shrink:0;border-left:1px solid var(--line);height:100dvh;position:sticky;top:0;display:flex;flex-direction:column;background:#171b1f}.chat-header{padding:25px 22px;display:flex;justify-content:space-between}.chat-header small{display:block;font-size:calc(11px * var(--font-scale,1));color:var(--muted);margin-top:5px}#chat-account{font-size:calc(11px * var(--font-scale,1));color:var(--muted);padding:0 22px;line-height:1.6;overflow-wrap:anywhere}#chat-account a{color:var(--accent);text-decoration:underline}.chat-tools{display:flex;padding:10px 13px;border-bottom:1px solid var(--line);font-size:calc(11px * var(--font-scale,1))}#chat-messages{flex:1;overflow:auto;padding:15px 18px}.message{white-space:pre-wrap;overflow-wrap:anywhere;font-size:calc(12px * var(--font-scale,1));line-height:1.7;margin-bottom:18px}.message.user{background:#262e27;padding:12px;border-radius:9px}.message-label{font-size:calc(9px * var(--font-scale,1));letter-spacing:1px;color:var(--muted);margin-bottom:6px;text-transform:uppercase}#chat-state{padding:5px 20px;font-size:calc(11px * var(--font-scale,1));color:var(--accent)}#chat-form{padding:15px;border-top:1px solid var(--line)}#chat-input{width:100%;resize:vertical;font-size:calc(12px * var(--font-scale,1))}#chat-form>div{display:flex;justify-content:flex-end;margin-top:8px;gap:8px;font-size:calc(12px * var(--font-scale,1))}[hidden]{display:none!important}.mobile{display:none}#loading{color:var(--muted);font-size:calc(12px * var(--font-scale,1))}button:focus-visible,a:focus-visible{outline:2px solid var(--accent)}.deadline{color:var(--danger)}
@media(min-width:1450px){.content{padding-left:65px;padding-right:65px}.chat-panel{width:400px}}
@media(max-width:1100px){.content{padding:30px 25px}.sidebar{width:205px}.chat-panel{position:fixed;right:0;top:0;width:370px;z-index:10;box-shadow:-20px 0 60px #0005}}
@media(max-width:720px){.sidebar{display:none;position:fixed;z-index:15;width:245px;box-shadow:10px 0 40px #0008}.sidebar.open{display:block}.mobile{display:inline-flex}header{height:65px;padding:0 18px}.breadcrumb{display:none}.content{padding:25px 15px 60px}h1{font-size:calc(30px * var(--font-scale,1))}.task{gap:6px}.task-meta{gap:2px}.when-btn{max-width:86px;overflow:hidden;text-overflow:ellipsis}.chat-panel{width:100%}.filters{gap:5px}.filters select{max-width:130px}.task-title{font-size:calc(12px * var(--font-scale,1))}.duration{font-size:calc(9px * var(--font-scale,1))}.header-actions{gap:3px}}

.task{user-select:none}.task-title{cursor:default}#groups [draggable]{cursor:grab}.drop-before{box-shadow:0 -2px 0 var(--accent)!important}.drop-after{box-shadow:0 2px 0 var(--accent)!important}.drop-inside{outline:2px solid var(--accent);outline-offset:-2px;background:#c6edb118!important}

.auth-page{max-width:420px;margin:60px auto;padding:24px}.auth-page h1{font-size:calc(28px * var(--font-scale,1))}.auth-page .primary{width:100%;margin-top:12px}.auth-switch{font-size:calc(13px * var(--font-scale,1));text-align:center;margin-top:25px}.auth-switch a{text-decoration:underline}.auth-error{color:var(--danger);padding:12px;border:1px solid var(--danger);border-radius:7px}.account-email{padding:8px 11px;overflow-wrap:anywhere}

/* App surfaces and navigation */
:root{--bg:#191d21;--panel:#14181c;--line:#2b3339;--muted:#98a4aa;--text:#e8eeed}
body{-webkit-font-smoothing:antialiased}
button,a,input,select,textarea{transition:background-color .15s,border-color .15s,color .15s}
*{scrollbar-width:thin;scrollbar-color:#47545c transparent}
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:#47545c;border:2px solid var(--panel);border-radius:20px}
::-webkit-scrollbar-thumb:hover{background:#71818a}
::-webkit-scrollbar-corner{background:transparent}
.sidebar{width:var(--sidebar-width,260px);padding:0;overflow:visible;border-right:1px solid var(--line)}
.sidebar-scroll{height:calc(100% - 32px);overflow-y:auto;overflow-x:hidden;padding:30px 16px 20px;scrollbar-gutter:stable}
.sidebar .brand{width:148px;margin-bottom:30px}
.sidebar .brand-name{font-size:calc(18px * var(--font-scale,1))}
nav{display:flex;flex-direction:column;gap:3px}
nav button{min-height:38px;border-radius:8px;font-weight:500;color:#b5c0c5}
nav button:hover{background:#ffffff07;color:var(--text)}
nav button.active{background:#c6edb112;box-shadow:inset 0 0 0 1px #c6edb10c;color:var(--accent)}
nav button .count{background:#ffffff08;border-radius:5px;padding:2px 6px;font-variant-numeric:tabular-nums}
.sidebar-label{margin:26px 10px 12px;color:#8a989e;letter-spacing:1.5px}
#groups button{font-size:calc(12px * var(--font-scale,1));min-height:33px;gap:9px}
#groups svg{color:#91a2aa}


.sidebar-bottom{margin:24px 8px 0;padding-top:14px}
.sidebar-bottom button{text-align:left;font-size:calc(12px * var(--font-scale,1))}
.account-email{font-size:calc(10px * var(--font-scale,1));color:#839199}
#sidebar-resize{position:absolute;right:-5px;top:0;bottom:0;width:10px;z-index:6;cursor:col-resize;touch-action:none}
#sidebar-resize::before{content:"";position:absolute;top:50%;left:3px;width:3px;height:40px;margin-top:-20px;border-radius:6px;background:#56636b;transition:background .15s,height .15s}
#sidebar-resize:hover::before,#sidebar-resize:focus-visible::before,.resizing-sidebar #sidebar-resize::before{background:var(--accent);height:56px;margin-top:-28px}
#sidebar-resize:focus-visible{outline:1px solid var(--accent);outline-offset:-2px}
.resizing-sidebar,.resizing-sidebar *{cursor:col-resize!important;user-select:none!important}
header{height:72px;padding:0 38px;border-bottom:1px solid #ffffff06}
.breadcrumb{color:#829299;letter-spacing:1.8px}
.header-actions{align-items:center;gap:8px}
.chat-button{background:#222b28;border-color:#c6edb125;border-radius:8px;padding:8px 14px}
.content{padding-top:36px}
h1{font-size:calc(34px * var(--font-scale,1));font-weight:650;letter-spacing:-1.1px}
.eyebrow{font-size:calc(10px * var(--font-scale,1));color:#a0adb2}
.primary{border-radius:8px;padding:10px 15px;box-shadow:0 2px 5px #0002}
.summary{margin:10px 0 24px;font-size:calc(12px * var(--font-scale,1))}
.filters{gap:14px;align-items:center;border:1px solid #ffffff08;border-radius:10px;background:#ffffff02;padding:4px 10px;margin-bottom:30px}
.search input{font-size:calc(13px * var(--font-scale,1))}
.search svg{width:17px;height:17px}
.filters select{border:0;color:#a9b6bc}
.section{margin:28px 0}
.section-heading{border-color:#ffffff0c;padding:0 5px 11px;margin-bottom:7px}
.section-heading>button:first-child{font-size:calc(13px * var(--font-scale,1))}
.section-count{font-variant-numeric:tabular-nums}
.task{min-height:46px;padding:6px var(--task-inset);border-radius:8px}
.task:hover{background:#ffffff04}
.task.selected{border-color:#c6edb14a;background:#c6edb109}
.task-title{font-size:calc(13px * var(--font-scale,1));letter-spacing:.05px}
input[type=checkbox]{appearance:none;flex-shrink:0;display:grid;place-content:center;width:17px;height:17px;margin:0;border:1px solid #59666e;border-radius:5px;background:transparent;padding:0}
input[type=checkbox]:hover{border-color:var(--accent)}
input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}
input[type=checkbox]:checked::after{content:"";width:7px;height:4px;border-left:2px solid #293d25;border-bottom:2px solid #293d25;transform:translateY(-1px) rotate(-45deg)}
input[type=checkbox]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.duration{background:#ffffff03;border-color:#ffffff10;color:#a8b6ac;padding:2px 6px}
.when-btn{color:#9ba9af}
.task .more{color:#84959e;border-radius:5px}
.quick-add{margin-left:35px}
.quick-add input{font-size:calc(12px * var(--font-scale,1))}
.quick-add:focus-within{border-bottom:1px solid #c6edb14a}
dialog{background:#20272c;border-color:#3b474e;border-radius:16px}
input:focus,textarea:focus,select:focus{border-color:#79936e}
@media(max-width:1100px){.content{padding:30px 25px}}
@media(max-width:720px){:root{--task-inset:5px}.sidebar{width:min(280px,85vw)}.sidebar-scroll{padding-top:22px}#sidebar-resize{display:none}header{height:64px;padding:0 16px}.content{padding:24px 15px 60px}.filters{gap:4px;padding:3px 7px}.filters select{max-width:120px}.task{gap:6px;padding:5px var(--task-inset)}.task-title{font-size:calc(12px * var(--font-scale,1))}.quick-add{margin-left:27px}h1{font-size:calc(30px * var(--font-scale,1))}.header-actions{gap:3px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important}}

/* Project disclosure stays separate from project selection and drag targets. */
.project-row{position:relative;min-width:0}
#groups .project-row>[data-view]{padding-right:34px}
#groups .project-toggle{position:absolute;right:4px;top:3px;width:27px;min-height:27px;height:27px;padding:5px;display:grid;place-items:center;color:var(--muted)}
#groups .project-toggle svg{width:13px;height:13px;transition:transform .15s}
#groups .project-toggle[aria-expanded=true] svg{transform:rotate(90deg)}
#groups .project-toggle:hover{color:var(--accent);background:#ffffff0b}

#context-menu{position:fixed;z-index:40;width:228px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:auto;padding:6px;background:#252c31;border:1px solid #465158;border-radius:12px;box-shadow:0 14px 50px #0008}
#context-menu>button{display:block;width:100%;text-align:left;padding:9px 11px;font-size:calc(12px * var(--font-scale,1));border-radius:6px}
#context-menu>button:hover,#context-menu>button:focus-visible{background:#c6edb113;outline:none}
.context-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 4px 6px 11px;margin-bottom:4px;border-bottom:1px solid var(--line);font-size:calc(11px * var(--font-scale,1));color:var(--muted)}
.context-heading span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.context-heading button{padding:4px;display:flex}.context-heading svg{width:15px;height:15px}

#groups .project-icon-space{width:16px;height:16px;flex-shrink:0}
#groups .project-icon-button{position:absolute;top:3px;width:26px;height:27px;min-height:27px;padding:5px;display:grid;place-items:center;border-radius:6px}
#groups .project-icon-button:hover{background:#c6edb11a}
#groups .project-icon-button:hover svg{color:var(--accent)}
.project-icon-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.project-icon-grid button{display:grid;place-items:center;aspect-ratio:1;border:1px solid var(--line);padding:10px}
.project-icon-grid svg{width:26px;height:26px}
.project-icon-grid button[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:#c6edb114}

.icon-search{width:100%;margin-bottom:14px}
.project-icon-grid{max-height:340px;overflow-y:auto;overscroll-behavior:contain;padding:3px}

#title{display:flex;align-items:center;gap:12px}#title>svg{width:30px;height:30px;color:var(--accent)}

.task-history{display:grid;grid-template-columns:1fr 1fr auto;gap:14px;padding:13px 0;margin:0 0 18px;border-bottom:1px solid var(--line)}
.task-history dt{font-size:calc(10px * var(--font-scale,1));color:var(--muted);margin-bottom:6px}
.task-history dd{font-size:calc(12px * var(--font-scale,1));margin:0;font-variant-numeric:tabular-nums}
@media(max-width:400px){.task-history{gap:8px}.task-history dd{font-size:calc(11px * var(--font-scale,1))}}

#groups .project-row{user-select:none}#groups .project-icon-button{cursor:grab}#groups .project-icon-button:active{cursor:grabbing}

.inline-checklist{margin:0 9px 12px 35px;padding:4px 0 4px 14px;border-left:1px solid var(--line)}
.inline-check{display:flex;align-items:flex-start;gap:10px;padding:7px 0;font-size:calc(12px * var(--font-scale,1));line-height:1.5;color:#bcc7ca;cursor:pointer}
.inline-check input{margin-top:1px}
.inline-check span{overflow-wrap:anywhere;min-width:0}
.inline-check.done span{color:var(--muted);text-decoration:line-through}
@media(max-width:720px){.inline-checklist{margin-left:27px}}

.sidebar-bottom #settings,.sidebar-bottom #logout,.account-email{display:flex;align-items:center;gap:10px}
.sidebar-bottom #settings svg,.sidebar-bottom #logout svg,.account-email svg{width:17px;height:17px;flex-shrink:0}
#archive-views{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.sidebar-bottom #logout{width:100%}
/* Goals collect tasks across projects without replacing the project tree. */
.goal-sidebar-label{gap:8px}
#goals-overview{padding:0;color:inherit;font-size:calc(10px * var(--font-scale,1));font-weight:600;letter-spacing:1.5px}
#goals-overview.active{color:var(--accent)}
#goals-nav button{font-size:calc(12px * var(--font-scale,1))}
#goals-nav svg{width:17px;height:17px;color:var(--accent)}
#goals-nav .group-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.goal-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px}
.goal-card{padding:20px;text-align:left;background:#ffffff03;border:1px solid var(--line);border-radius:12px}
.goal-card:hover{background:#c6edb108;border-color:#c6edb144}
.goal-card-title{display:flex;align-items:center;gap:10px;min-width:0}
.goal-card-title strong{overflow-wrap:anywhere;font-size:calc(15px * var(--font-scale,1))}
.goal-card-title svg{color:var(--accent)}
.goal-card p{color:var(--muted);font-size:calc(12px * var(--font-scale,1));line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.goal-status{margin-left:auto;font-size:calc(10px * var(--font-scale,1));color:var(--accent)}
.goal-progress-label{display:flex;justify-content:space-between;gap:12px;font-size:calc(11px * var(--font-scale,1));color:var(--muted);margin:18px 0 8px}
progress{display:block;width:100%;height:5px;appearance:none;border:none;background:var(--line);border-radius:8px;overflow:hidden}
progress::-webkit-progress-bar{background:var(--line);border-radius:8px}
progress::-webkit-progress-value{background:var(--accent);border-radius:8px}
progress::-moz-progress-bar{background:var(--accent);border-radius:8px}
.goal-detail{padding:0 0 24px;margin-bottom:18px;border-bottom:1px solid var(--line)}
.goal-notes{font-size:calc(13px * var(--font-scale,1));line-height:1.7;color:#bac6ca;white-space:pre-wrap;overflow-wrap:anywhere}
.goal-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.goal-actions button{border:1px solid var(--line);font-size:calc(12px * var(--font-scale,1))}
.task-goals{border:1px solid var(--line);border-radius:8px;padding:8px 12px;margin:16px 0;max-height:200px;overflow:auto}
.task-goals legend{font-size:calc(12px * var(--font-scale,1));color:var(--muted);padding:0 5px}
.task-goals .check-row,.goal-choices .check-row{font-size:calc(12px * var(--font-scale,1));gap:10px;padding:4px 0}
.goal-choices,.goal-task-choices{max-height:340px;overflow:auto}
.goal-task-choice{display:flex;align-items:flex-start;gap:10px;padding:10px 4px;border-bottom:1px solid var(--line);font-size:calc(12px * var(--font-scale,1));cursor:pointer}
.goal-task-choice input{margin-top:2px}
.goal-task-choice span{min-width:0;overflow-wrap:anywhere}
.goal-task-choice small{display:block;color:var(--muted);font-size:calc(10px * var(--font-scale,1));margin-top:4px}

.project-title-icon{display:inline-flex;align-items:center;justify-content:center;padding:5px;margin:-5px;color:var(--accent);flex-shrink:0}.project-title-icon svg{width:30px;height:30px}

.goal-sidebar-row{position:relative}.goal-icon-space{width:20px;height:20px;flex-shrink:0}#goals-nav .goal-icon-button{position:absolute;top:4px;left:7px;width:30px;height:30px;padding:5px;display:grid;place-items:center}#goals-nav .goal-icon-button:hover{color:var(--accent);background:#c6edb11a}

.today-order{display:flex;width:fit-content;gap:3px;padding:3px;background:var(--panel);border:1px solid var(--line);border-radius:9px;margin:0 0 18px}.today-order button{font-size:calc(12px * var(--font-scale,1));padding:6px 16px}.today-order button[aria-pressed=true]{background:#c6edb11a;color:var(--accent)}button.duration:hover{border-color:var(--accent);color:var(--accent)}
.daytimer-unscheduled{border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:18px}.daytimer-heading{font-size:calc(12px * var(--font-scale,1));font-weight:600;margin-bottom:8px}.daytimer-heading span{color:var(--muted);margin-left:8px}.daytimer-loose{display:flex;align-items:center;gap:4px}.daytimer-loose>.task{flex:1;min-width:0}.plan-time-button{font-size:calc(10px * var(--font-scale,1));color:var(--accent);padding:4px 7px}.daytimer-scroll{height:65vh;min-height:360px;overflow:auto;border:1px solid var(--line);border-radius:10px;overscroll-behavior:contain}.daytimer-grid{height:2880px;position:relative;background:var(--panel)}.daytimer-hour{height:120px;border-top:1px solid var(--line);position:relative}.daytimer-hour:after{content:'';position:absolute;top:59px;left:66px;right:0;border-top:1px dashed #ffffff08}.daytimer-hour>span{position:relative;top:5px;left:8px;font-size:calc(10px * var(--font-scale,1));color:var(--muted)}.daytimer-event{position:absolute;background:#26352b;border:1px solid #c6edb140;border-radius:7px;padding:3px;min-height:40px;overflow:auto;box-shadow:0 2px 6px #0002}.daytimer-event>.plan-time-button{display:block;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.daytimer-event .task{min-height:28px;padding:0 3px;gap:5px}.daytimer-event .task-title{font-size:calc(12px * var(--font-scale,1));line-height:1.2}.daytimer-event .when-btn{display:none}.daytimer-event .task-meta{gap:1px}.daytimer-event .complete-task{width:14px;height:14px}.daytimer-event .inline-checklist{margin-left:20px}.daytimer-event .duration{font-size:calc(9px * var(--font-scale,1))}
@media(max-width:720px){.daytimer-loose{flex-wrap:wrap}.daytimer-event .task{flex-wrap:wrap}.daytimer-event .task-meta{margin-left:auto}.daytimer-unscheduled{padding:8px}.today-order{margin-bottom:12px}}

#list.daytimer-active{display:grid;grid-template-columns:minmax(200px,30%) minmax(0,1fr);gap:16px;align-items:start}.daytimer-active .daytimer-unscheduled{max-height:65vh;overflow:auto;overscroll-behavior:contain;margin:0}.daytimer-active .daytimer-loose{display:block}.daytimer-active .daytimer-loose>.plan-time-button{margin:0 0 5px 24px}.daytimer-active .daytimer-loose .when-btn{display:none}.daytimer-active .daytimer-scroll{min-width:0}@media(max-width:720px){#list.daytimer-active{display:block}.daytimer-active .daytimer-unscheduled{max-height:220px;margin-bottom:14px}}

.floating-trash{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));z-index:18;width:54px;height:54px;display:grid;place-items:center;border:1px solid var(--line);border-radius:16px;background:#22282c;color:var(--muted);box-shadow:0 5px 22px #0005;transition:background .15s,border-color .15s}.floating-trash svg{width:24px;height:24px}.floating-trash.has-items{color:var(--text)}.floating-trash:hover,.floating-trash.active{background:#303a32;border-color:#c6edb166;color:var(--accent)}.floating-trash.drop-inside{background:#42302a!important;border-color:var(--danger);color:var(--danger);outline-color:var(--danger)}.trash-count{position:absolute;right:-5px;top:-5px;min-width:21px;height:21px;padding:0 5px;display:grid;place-items:center;border-radius:12px;background:var(--accent);color:#23331c;font-size:calc(10px * var(--font-scale,1));font-weight:600;border:2px solid var(--bg)}@media(max-width:720px){.floating-trash{right:16px;bottom:max(16px,env(safe-area-inset-bottom));width:48px;height:48px}}
.trash-party{position:fixed;right:14px;bottom:50px;width:180px;z-index:25;pointer-events:none;filter:drop-shadow(0 7px 12px #0006);animation:trash-party-show 4.2s both}.trash-party svg{width:180px;height:220px}.grouch{transform-origin:90px 155px;animation:grouch-bob .4s ease-in-out infinite alternate}.grouch-mouth{transform-origin:90px 131px;animation:grouch-sing .25s infinite alternate}.grouch-lid{transform-origin:90px 60px;animation:grouch-lid .4s infinite alternate}@keyframes trash-party-show{0%,100%{opacity:0;transform:translateY(80px) scale(.7)}12%,85%{opacity:1;transform:translateY(0) scale(1)}}@keyframes grouch-bob{to{transform:translateY(-7px) rotate(3deg)}}@keyframes grouch-sing{to{transform:scaleY(.35)}}@keyframes grouch-lid{to{transform:rotate(-9deg) translateY(-5px)}}@media(prefers-reduced-motion:reduce){.trash-party,.grouch,.grouch-mouth,.grouch-lid{animation:none}.trash-party{opacity:1}}

.quick-add{display:flex}.quick-add input{width:100%}header>.search{max-width:540px;min-width:80px;border:1px solid var(--line);border-radius:8px;padding:0 10px;background:#ffffff03}header>.search input{font-size:calc(12px * var(--font-scale,1))}.header-actions{flex-shrink:0}#chat-toggle{display:grid;place-items:center;padding:8px}#chat-toggle svg{width:21px;height:21px}.filters{justify-content:flex-end;background:transparent;border:0;padding:0;margin-bottom:18px}.filters select{border:1px solid var(--line);border-radius:7px}body:has(#chat:not([hidden])) .floating-trash{right:384px}@media(max-width:720px){header{gap:8px}header>.search{min-width:0}.header-actions{gap:3px}body:has(#chat:not([hidden])) .floating-trash{right:16px;bottom:100px}}

header>.search,header>#duration-filter{height:38px;border:1px solid var(--line);border-radius:8px;background:#ffffff03}header>.search input{height:36px;padding-top:0;padding-bottom:0}header>#duration-filter{flex-shrink:0;width:152px;padding:0 10px;font-size:calc(12px * var(--font-scale,1));color:#a9b6bc}.content{padding-top:20px}.title-row{align-items:center}.title-row>div:first-child{min-width:0}.title-row h1{margin:4px 0;font-size:calc(32px * var(--font-scale,1))}.title-row .today-order{margin:0;flex-shrink:0}.summary{margin:6px 0 14px}#list>.section:first-child{margin-top:12px}.section{margin:18px 0}.section-heading{padding-bottom:7px;margin-bottom:3px}@media(max-width:720px){header>#duration-filter{width:110px;font-size:calc(11px * var(--font-scale,1));padding:0 6px}.content{padding-top:16px}.title-row h1{font-size:calc(27px * var(--font-scale,1))}.today-order button{padding:6px 10px}.summary{margin-bottom:12px}header{gap:6px}}
.task,.task .task-title{cursor:grab}.task:active,.task .task-title:active{cursor:grabbing}.task .task-title,.task .task-title:hover,.task .task-title:active,.task .task-title:focus-visible{background:transparent;border-color:transparent;box-shadow:none;outline:none}.task:has(.task-title:focus-visible){outline:2px solid var(--accent);outline-offset:2px}

.goal-card{cursor:default;border-top:3px solid var(--goal-color,var(--accent))}.goal-card-heading{display:flex;align-items:center;gap:10px}.goal-card-heading>.project-title-icon{flex-shrink:0;color:var(--goal-color,var(--accent))}.goal-card-heading>.goal-card-title{flex:1;padding:0;text-align:left}.goal-card-title svg{color:var(--goal-color,var(--accent))}.goal-card progress{accent-color:var(--goal-color,var(--accent))}.goal-card-tasks{margin-top:14px;max-height:280px;overflow:auto}.goal-card-task{display:flex;gap:8px;align-items:flex-start;padding:5px 0}.goal-card-task input{flex-shrink:0;margin-top:4px}.goal-card-task button{text-align:left;flex:1;min-width:0;padding:3px 0;font-size:calc(12px * var(--font-scale,1));overflow-wrap:anywhere}.goal-card-task.done button{color:var(--muted);text-decoration:line-through}.goal-card .quick-add{margin:9px 0 0}.goal-dot{display:inline-block;width:7px;height:7px;flex-shrink:0;border-radius:50%;background:var(--goal-color);box-shadow:0 0 0 1px #ffffff12}.goal-color-field input{width:60px;height:36px;padding:3px;cursor:pointer}
.goal-card:hover{border-top-color:var(--goal-color,var(--accent))}.goal-card progress::-webkit-progress-value{background:var(--goal-color,var(--accent))}.goal-card progress::-moz-progress-bar{background:var(--goal-color,var(--accent))}.project-title-icon[data-goal-color]{color:var(--goal-color,var(--accent))}

/* Goal momentum stays quiet until a streak needs attention. */
.goal-momentum{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:12px;margin:20px 0 12px}.goal-momentum>div{display:flex;flex-direction:column;gap:5px;min-width:0}.goal-momentum strong{font-size:calc(24px * var(--font-scale,1));font-weight:650;letter-spacing:-.6px}.goal-momentum strong small{font-size:calc(12px * var(--font-scale,1));font-weight:400;letter-spacing:0}.goal-momentum span{font-size:calc(10px * var(--font-scale,1));color:var(--muted)}.goal-momentum .goal-last{font-size:calc(12px * var(--font-scale,1));letter-spacing:0;line-height:29px}.goal-alert,.goal-worked{display:inline-flex;font-size:calc(10px * var(--font-scale,1));border-radius:20px;padding:5px 8px}.goal-alert{color:#ffbdbe;background:#e7546024;border:1px solid #e7546045}.goal-worked{color:var(--accent);background:#c6edb10c}.goal-nav-badge{margin-left:auto;border-radius:20px;background:#cf4555;color:#fff;min-width:19px;height:19px;display:inline-flex;align-items:center;justify-content:center;font-size:calc(10px * var(--font-scale,1))}.goal-week-toggle{padding:5px;flex-shrink:0;color:var(--muted)}.goal-week-toggle svg{width:17px;height:17px}.goal-week-toggle[aria-pressed=true]{color:var(--goal-color,var(--accent));background:#ffffff09}.goal-card[data-heat="1"]{background:linear-gradient(135deg,#edaa6514,transparent 65%),#ffffff03;box-shadow:inset 0 0 0 1px #edaa6515}.goal-card[data-heat="2"]{background:linear-gradient(135deg,#ed854424,transparent 75%),#ffffff03;box-shadow:0 0 24px #ef8d3712,inset 0 0 0 1px #ed854435}.goal-card[data-heat="1"] .goal-momentum>div:first-child strong{color:#edb879}.goal-card[data-heat="2"] .goal-momentum>div:first-child strong{color:#ff9e66}
#weekly-goals{margin:0 0 22px;padding:15px 17px;border:1px solid var(--line);border-radius:12px;background:#ffffff02}.weekly-goals-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.weekly-goals-heading h2{font-size:calc(12px * var(--font-scale,1));font-weight:600;margin:0}.weekly-goals-heading button{font-size:calc(11px * var(--font-scale,1));color:var(--muted);padding:2px 0}.weekly-goal-list{display:flex;gap:9px;flex-wrap:wrap}.weekly-goal{display:flex;align-items:center;gap:10px;max-width:100%;margin-top:12px;border:1px solid var(--line);border-radius:9px;padding:10px 12px;text-align:left}.weekly-goal>svg{width:20px;height:20px;flex-shrink:0;color:var(--goal-color)}.weekly-goal>span{min-width:0}.weekly-goal strong{display:block;font-size:calc(12px * var(--font-scale,1));overflow-wrap:anywhere}.weekly-goal small{display:block;font-size:calc(10px * var(--font-scale,1));color:var(--muted);margin-top:4px}.weekly-goal[data-heat="1"]{background:#edaa650a}.weekly-goal[data-heat="2"]{background:#ed854413}.goal-alert-dot{width:8px;height:8px;border-radius:50%;background:#ed6470;flex-shrink:0}.goal-card-heading .goal-card-title{min-width:0}.goal-detail .goal-momentum{max-width:500px}

.weekly-goals-heading h2{flex:1;min-width:0}#toggle-weekly-goals{display:flex;align-items:center;gap:8px;width:100%;text-align:left;font-size:calc(12px * var(--font-scale,1));font-weight:600;color:var(--text)}#toggle-weekly-goals svg{width:13px;height:13px;transform:rotate(90deg);color:var(--muted)}#toggle-weekly-goals[aria-expanded=false] svg{transform:none}.weekly-goal-list[hidden]{display:none}#weekly-goals.collapsed{padding-top:10px;padding-bottom:10px;margin-bottom:16px}

.task-text{outline:none;cursor:text;white-space:pre-wrap;overflow-wrap:anywhere}.task-text[contenteditable="plaintext-only"]{display:block;min-width:1ch}.task:has(.task-text:focus){border-color:#c6edb144;background:#c6edb108}

main{display:flex;flex-direction:column}.content{width:100%;flex:1;display:flex;flex-direction:column}#weekly-goals,#weekly-goals.collapsed{margin-top:auto;margin-bottom:0;margin-right:60px}#weekly-goals{flex-shrink:0}#list{margin-bottom:20px}

/* Account appearance preferences. */
:root{--accent-ink:#172019;--row-height:46px;--section-gap:18px;--page-padding:48px}
.sidebar,.chat-panel{background:var(--panel)}
dialog,.context-menu,.floating-trash,input,select,textarea{background:var(--card);border-color:var(--line)}
.section-heading,header{border-color:var(--line)}
nav button,#groups svg,.sidebar-label,.account-email,.eyebrow,.breadcrumb,.when-btn,.duration,.task .more,header>#duration-filter{color:var(--muted)}
.task.done .task-title{color:var(--muted)}
.primary{background:var(--accent);color:var(--accent-ink)}.primary:hover{background:var(--accent);filter:brightness(1.08)}
input[type=checkbox]:checked::after{border-color:var(--accent-ink)}
nav button.active,.task.selected,.task:has(.task-text:focus),.message.user{background:color-mix(in srgb,var(--accent) 9%,transparent);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}
nav button.active{color:var(--accent);box-shadow:none}
.chat-button{background:var(--card);border-color:var(--line)}
.task{min-height:var(--row-height);padding-top:2px;padding-bottom:2px}
.section{margin-top:var(--section-gap);margin-bottom:var(--section-gap)}
.content{padding-left:var(--page-padding);padding-right:var(--page-padding)}
input:focus,textarea:focus,select:focus,.quick-add:focus-within{border-color:var(--accent)}
*{scrollbar-color:var(--muted) transparent}::-webkit-scrollbar-thumb{background:var(--muted)}
.theme-presets{display:flex;gap:6px;flex-wrap:wrap}.theme-presets button{border:1px solid var(--line)}.theme-presets button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}
.appearance-colors{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0}.appearance-colors label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px}.appearance-colors input{width:40px;height:32px;padding:3px;cursor:pointer}
.appearance-range{display:block;margin:18px 0}.appearance-range>span{display:flex;justify-content:space-between;font-size:12px}.appearance-range output{color:var(--muted)}.appearance-range input{width:100%;accent-color:var(--accent);padding:0;margin-top:10px}
@media(max-width:720px){.content{padding-left:min(var(--page-padding),24px);padding-right:min(var(--page-padding),24px)}}
#context-menu{background:var(--card);border-color:var(--line)}
#context-menu>button:hover,#context-menu>button:focus-visible,.today-order button[aria-pressed=true],.project-icon-grid button[aria-pressed=true]{background:color-mix(in srgb,var(--accent) 12%,transparent)}
.daytimer-event{background:color-mix(in srgb,var(--accent) 12%,var(--card));border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}
.floating-trash:hover,.floating-trash.active{background:var(--card);border-color:var(--accent)}.trash-count{color:var(--accent-ink)}

/* Touch keyboards need 16px fields to avoid iOS focus zoom. Keep pinch zoom enabled. */
.inline-new-task{display:flex;min-height:var(--row-height);margin:0;padding:2px 9px 2px 36px;border:1px solid var(--accent);border-radius:8px;background:color-mix(in srgb,var(--accent) 5%,transparent)}
.inline-new-task input{width:100%;min-width:0;border:0;background:transparent;padding:4px 0;outline:none}
@media(hover:none) and (pointer:coarse){
 input:not([type=checkbox]):not([type=range]):not([type=color]),textarea,select,.quick-add input,.inline-new-task input,.task-title,.task-text{font-size:max(16px,calc(14px * var(--font-scale,1)))!important}
 .quick-add{display:flex}
}

.section.is-collapsed>:not(.section-heading){display:none}

.section-heading>button[data-collapse]{padding:0;display:flex;align-items:center;gap:9px;text-align:left;font-weight:600;font-size:calc(13px * var(--font-scale,1))}
.section-heading>.heading-icon{padding:5px;margin:-5px 0 -5px -5px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}

.day-part{min-height:95px;padding:12px 0 24px;border-top:1px solid var(--line);margin-top:12px}.day-part-heading{font-size:calc(20px * var(--font-scale,1));font-weight:600;margin:0 0 16px}.section-heading[draggable=true]{cursor:grab}

[data-day-part="tonight"]>.day-part-heading,.time-tonight-summary>.day-part-heading{font-size:calc(32px * var(--font-scale,1));font-weight:650;letter-spacing:-1.1px;margin:4px 0}.day-part-summary{margin:6px 0 18px}.time-tonight-summary{grid-column:1/-1}.time-tonight-summary .summary{margin:6px 0 0}@media(max-width:720px){[data-day-part="tonight"]>.day-part-heading,.time-tonight-summary>.day-part-heading{font-size:calc(27px * var(--font-scale,1))}}

.day-part-heading{display:flex;align-items:center;gap:12px}.day-part-heading>svg{width:1em;height:1em;color:var(--accent)}

/* Settings keeps navigation visible while individual panels scroll. */
dialog:has(#settings-tabs){width:min(580px,calc(100vw - 28px));overflow:hidden}
dialog:has(#settings-tabs) .dialog-top{margin-bottom:18px}
#settings-tabs{display:flex;gap:4px;padding:5px;background:var(--panel);border:1px solid var(--line);border-radius:12px;margin-bottom:20px;flex-shrink:0}
#settings-tabs button{flex:1;min-width:0;padding:10px 6px;font-size:13px;font-weight:600;border-radius:8px;color:var(--muted)}
#settings-tabs button[aria-selected=true]{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--card));border-color:color-mix(in srgb,var(--accent) 35%,var(--line));box-shadow:0 2px 6px #0002}
#settings-panel{max-height:calc(90dvh - 180px);min-height:160px;overflow:auto;padding:1px 6px 4px 1px;scrollbar-gutter:stable}
.settings-data{display:flex;gap:12px;flex-wrap:wrap}.settings-data button{padding:14px 18px;border:1px solid var(--line);background:var(--panel)}
#appearance-status{min-height:16px}#settings-panel .theme-presets button{padding:8px 12px}#settings-panel .theme-presets button[aria-pressed=true]{background:color-mix(in srgb,var(--accent) 10%,transparent)}
@media(max-width:420px){dialog:has(#settings-tabs){padding:18px}#settings-tabs{gap:2px;padding:3px}#settings-tabs button{font-size:12px;padding:10px 3px}}

.personal-themes{margin-top:14px}.personal-themes .theme-presets:empty{display:none}.personal-themes .theme-presets{margin-bottom:10px}.theme-presets [data-custom-theme][aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}#save-theme-form{display:flex;gap:8px}#theme-name{min-width:0;flex:1}#save-theme{white-space:nowrap;font-size:12px}
.day-part{position:relative;border-radius:15px}.day-part.drop-inside{outline:none;background:color-mix(in srgb,var(--accent) 4%,transparent)!important}.day-drop-border{display:none;position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.day-part.drop-inside>.day-drop-border{display:block}.day-drop-border rect{width:calc(100% - 2px);height:calc(100% - 2px);fill:none;stroke:var(--accent);stroke-width:1;stroke-dasharray:1 6;stroke-linecap:round;animation:day-drop-march .7s linear infinite}@keyframes day-drop-march{to{stroke-dashoffset:-7}}@media(prefers-reduced-motion:reduce){.day-drop-border rect{animation:none}}

[data-day-part="today"]{border-top:0;margin-top:0;padding-top:0}

.day-heading-toggle{display:inline-flex;align-items:center;gap:12px;padding:0;background:none;border:0;border-radius:6px;color:inherit;font:inherit;letter-spacing:inherit;text-align:left}.day-heading-toggle>svg{width:1em;height:1em;color:var(--accent)}.day-chevron{display:flex;opacity:.5}.day-chevron svg{width:16px;height:16px;transition:transform .15s}.day-heading-toggle[aria-expanded=true] .day-chevron svg{transform:rotate(90deg)}.day-collapsed>.section{display:none}.day-part.day-collapsed{min-height:0;padding-bottom:0}.day-heading-toggle:focus-visible{outline:1px solid var(--accent);outline-offset:5px}

.app-version{position:absolute;bottom:0;left:0;right:0;height:32px;display:flex;align-items:center;padding:0 20px;background:var(--panel)}#refresh-app{padding:4px 0;color:var(--muted);font-size:11px;background:none}#refresh-app:hover{color:var(--text)}

.journal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:12px 0 24px;flex-wrap:wrap;color:var(--muted)}.journal-toolbar button{display:inline-flex;align-items:center;gap:8px;padding:8px;border-radius:8px}.journal-toolbar svg{width:18px;height:18px}.journal-toolbar [data-back-month] svg,.journal-toolbar [data-month-step="-1"] svg{transform:rotate(180deg)}.journal-month-controls{display:flex;align-items:center;gap:8px}.journal-month-controls input{width:180px;padding:8px}.journal-streak{color:var(--accent)}.journal-calendar{border:1px solid var(--line);border-radius:16px;overflow:hidden}.journal-weekdays,.journal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.journal-weekdays{background:var(--panel);font-size:12px;color:var(--muted);text-align:center;padding:14px 0}.journal-grid{gap:1px;background:var(--line)}.journal-day{min-height:clamp(100px,13vh,180px);display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:12px;background:var(--bg);border-radius:0;text-align:left;overflow:hidden}.journal-day:hover{background:var(--card)}.journal-day.outside{opacity:.55}.journal-day.is-today .journal-day-number{background:var(--accent);color:var(--accent-ink);border-radius:50%}.journal-day-number{display:grid;place-items:center;width:27px;height:27px;font-size:13px}.journal-day-icons{display:flex;gap:8px;align-items:center;color:var(--accent)}.journal-day-icons>svg{width:26px;height:26px}.journal-day-icons span svg{width:16px;height:16px}.journal-preview{font-size:11px;color:var(--muted);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}.journal-date{font-size:24px;margin:12px 0 24px}.journal-editor{max-width:850px}.journal-field{display:flex;flex-direction:column;gap:10px;margin:0 0 24px}.journal-field>span,.journal-feeling>span{font-size:13px;color:var(--muted)}.journal-field textarea{width:100%;padding:14px 16px;line-height:1.7;border-radius:12px;resize:vertical;background:var(--card)}.journal-moods{display:flex;gap:10px;margin:12px 0 22px}.journal-moods button{padding:8px;border-radius:12px;border:1px solid transparent;color:var(--muted)}.journal-moods svg{width:32px;height:32px}.journal-moods button:hover,.journal-moods button[aria-pressed=true]{color:var(--accent);background:var(--card);border-color:var(--accent)}.journal-save-status{font-size:11px;color:var(--muted);min-height:18px}.journal-bar{margin:12px 0 24px;padding:16px 20px;border:1px solid var(--line);border-radius:14px}.journal-bar .journal-editor{max-width:none}.journal-bar-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;font-size:12px;color:var(--muted)}.journal-bar-heading button{display:flex;align-items:center;gap:8px;padding:0}.journal-bar-heading svg{width:18px;height:18px;color:var(--accent)}.journal-bar .journal-field{margin-bottom:12px}.journal-bar .journal-field>span,.journal-bar .journal-feeling>span{display:none}.journal-bar .journal-moods{margin:0;gap:8px}.journal-bar .journal-moods svg{width:23px;height:23px}.journal-bar .journal-save-status{margin-top:6px}@media(max-width:720px){.journal-day{min-height:92px;padding:7px 4px;gap:7px}.journal-preview{display:none}.journal-day-icons{gap:3px;flex-wrap:wrap}.journal-day-icons>svg{width:22px;height:22px}.journal-month-controls{gap:3px}.journal-month-controls input{width:155px}.journal-field textarea{font-size:16px}.journal-bar{padding:12px}.journal-toolbar{gap:8px}.journal-date{font-size:21px}}#settings-tabs{grid-template-columns:repeat(5,minmax(0,1fr))}

.journal-bar-heading [data-toggle-journal]>svg:first-child{width:12px;height:12px;transform:rotate(90deg);transition:transform .15s}.journal-bar-heading [data-toggle-journal][aria-expanded=false]>svg:first-child{transform:none}.journal-bar-heading [data-journal-streak]{margin-left:auto}.journal-bar-heading{gap:14px}.journal-collapsed .journal-bar-heading{margin-bottom:0}.journal-collapsed{padding-top:12px;padding-bottom:12px}.journal-moods{flex-wrap:wrap;gap:6px}.journal-moods button{padding:7px}.journal-editor,.journal-day{position:relative;isolation:isolate}.journal-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.23;z-index:-1;pointer-events:none;border-radius:inherit}.journal-editor:has(>.journal-background){padding:18px;border-radius:14px;overflow:hidden}.journal-editor.compact:has(>.journal-background){padding:0}.journal-day:has(>.journal-background){background:var(--panel)}.journal-photo-field{margin:20px 0;display:flex;flex-wrap:wrap;align-items:center;gap:12px}.journal-photo-drop{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:110px;border:1px dashed var(--line);border-radius:12px;cursor:pointer;background:color-mix(in srgb,var(--card) 75%,transparent)}.journal-photo-drop svg{width:28px;height:28px;color:var(--accent)}.journal-photo-drop input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.journal-photo-drop:focus-visible,.journal-photo-drop:focus-within,.photo-drag-over .journal-photo-drop{outline:1px solid var(--accent);outline-offset:3px;border-color:var(--accent)}[data-photo-status]{font-size:12px;color:var(--muted)}[data-remove-photo]{font-size:12px}.journal-bar .journal-moods{gap:4px}.journal-bar .journal-moods button{padding:6px}@media(max-width:720px){.journal-moods svg{width:28px;height:28px}.journal-moods{gap:3px}.journal-moods button{padding:5px}.journal-editor:has(>.journal-background){padding:12px}}
@media(max-width:720px){.journal-moods,.journal-bar .journal-moods{gap:2px;flex-wrap:nowrap;justify-content:space-between}.journal-moods svg{width:24px;height:24px}.journal-moods button,.journal-bar .journal-moods button{padding:5px 1px}}

.journal-bar{cursor:pointer}.journal-bar textarea,.journal-quick-moods{cursor:auto}.journal-bar-heading{justify-content:flex-start;gap:10px}.journal-entry-check{flex:0 0 17px;width:17px;height:17px;border:1px solid var(--muted);border-radius:5px;position:relative}.journal-entry-check[aria-checked=true]{background:var(--accent);border-color:var(--accent)}.journal-entry-check[aria-checked=true]::after{content:"";position:absolute;left:5px;top:2px;width:4px;height:8px;border:solid var(--accent-ink);border-width:0 2px 2px 0;transform:rotate(45deg)}.journal-bar-heading [data-toggle-journal]{color:var(--text);font-weight:600}.journal-bar-heading .journal-glance-mood{padding:4px;border-radius:7px}.journal-glance-mood:hover{background:var(--card)}.journal-bar-heading .journal-glance-mood svg{width:23px;height:23px}.journal-glance-mood.unset{opacity:.5}.journal-fire-streak{display:inline-flex;align-items:center;gap:5px;margin-left:auto;color:var(--accent);font-variant-numeric:tabular-nums}.journal-fire-streak svg{width:22px;height:22px}.journal-quick-moods{display:flex;align-items:center;gap:8px;margin-top:12px;margin-bottom:12px}.journal-quick-moods[hidden]{display:none}.journal-quick-moods .journal-moods{flex:1}.journal-quick-moods [data-close-moods]{padding:4px;display:flex}.journal-quick-moods [data-close-moods] svg{width:16px;height:16px}@media(max-width:420px){.journal-bar-heading{gap:8px}.journal-quick-moods{gap:4px}.journal-quick-moods .journal-moods svg{width:22px;height:22px}}

#today-journal-body{display:grid;grid-template-columns:minmax(0,1fr) clamp(78px,20%,160px);column-gap:16px}#today-journal-body[hidden]{display:none}#today-journal-body>.journal-field{grid-column:1;grid-row:1;min-width:0}#today-journal-body>.journal-feeling{grid-column:1;grid-row:2;min-width:0}#today-journal-body>.journal-photo-field{grid-column:2;grid-row:1 / 3;margin:0;min-width:0;min-height:0;position:relative;display:block}#today-journal-body .journal-photo-drop{position:absolute;inset:0;min-height:0;height:100%;flex-direction:column;gap:8px;border-style:dotted;text-align:center;font-size:11px;padding:8px}#today-journal-body [data-remove-photo]{position:absolute;right:5px;bottom:5px;font-size:10px;padding:3px 5px;border-radius:5px;background:var(--panel)}#today-journal-body .journal-photo-field:has([data-remove-photo]:not([hidden])) .journal-photo-drop{padding-bottom:26px}#today-journal-body>.journal-save-status{grid-column:1 / -1;grid-row:3;text-align:right}#today-journal-body .journal-moods{flex-wrap:nowrap;gap:2px;justify-content:space-between}#today-journal-body .journal-moods button{min-width:0;padding:6px 2px}#today-journal-body .journal-moods svg{width:23px;height:23px}@media(max-width:480px){#today-journal-body{column-gap:10px;grid-template-columns:minmax(0,1fr) 78px}#today-journal-body .journal-moods button{padding:5px 0}#today-journal-body .journal-moods svg{width:clamp(17px,4.8vw,23px);height:23px}#today-journal-body .journal-field textarea{padding:12px}}

/* Match task checkbox inset without changing the journal card width. */
.journal-bar{padding-left:var(--task-inset);padding-right:var(--task-inset)}

.journal-bar.journal-collapsed{padding-top:3px;padding-bottom:3px;min-height:var(--row-height);display:flex;align-items:center}.journal-bar.journal-collapsed[hidden]{display:none}.journal-bar.journal-collapsed>.journal-editor{width:100%}.unassigned-today{margin-top:0;margin-bottom:8px}.task .when-btn:hover,.task .more:hover{border-color:var(--accent);color:var(--accent)}

#list.daytimer-active{grid-template-columns:minmax(0,var(--daytimer-left,60%)) 14px minmax(0,1fr);gap:0}.daytimer-resize{align-self:stretch;min-height:65vh;cursor:col-resize;touch-action:none;display:flex;justify-content:center;position:relative}.daytimer-resize:after{content:"";position:absolute;top:42%;height:44px;width:3px;border-radius:4px;background:var(--line)}.daytimer-resize:hover:after,.daytimer-resize.resizing:after,.daytimer-resize:focus-visible:after{background:var(--accent)}.daytimer-now,.daytimer-drop-marker{position:absolute;left:0;right:0;border-top:1px solid var(--danger);z-index:3;pointer-events:none}.daytimer-now>span,.daytimer-drop-marker>span{position:absolute;right:6px;bottom:3px;font-size:10px;font-weight:600;background:var(--panel);color:var(--danger);border-radius:4px;padding:2px 5px}.daytimer-now:before{content:"";position:absolute;left:60px;top:-4px;width:7px;height:7px;border-radius:50%;background:var(--danger)}.daytimer-drop-marker{border-top:2px dashed var(--accent);z-index:4}.daytimer-drop-marker>span{background:var(--accent);color:var(--accent-ink);font-size:12px}.daytimer-drop-marker[hidden]{display:none}@media(max-width:720px){#list.daytimer-active{display:block}.daytimer-resize{display:none}}

.daytimer-project{margin:0 0 var(--section-gap)}.daytimer-project:last-child{margin-bottom:0}.daytimer-project .section-heading{margin-bottom:5px}.daytimer-project [data-collapse]{flex:1;min-width:0}.time-project-chevron{margin-left:auto;display:flex}.time-project-chevron svg{width:12px;height:12px;transform:rotate(90deg);transition:transform .15s}.is-collapsed .time-project-chevron svg{transform:none}

.daytimer-event{display:flex;flex-direction:column;padding:6px;gap:4px}.daytimer-event>.plan-time-button{flex-shrink:0;text-align:left;padding:2px 3px;min-height:20px}.daytimer-event>.task{display:grid;grid-template-columns:17px minmax(0,1fr);grid-template-rows:minmax(24px,1fr) auto;gap:5px 7px;flex:1;align-items:start;padding:2px;min-height:52px}.daytimer-event .complete-task{margin-top:4px}.daytimer-event .task-title{grid-column:2;width:100%;padding:2px 0}.daytimer-event .task-meta{grid-column:1 / -1;display:flex;align-items:center;justify-content:flex-end;gap:5px;margin-top:auto;align-self:end;flex-wrap:wrap}.daytimer-event .task-meta .duration{order:1;margin-right:auto}.daytimer-event .task-meta .more{order:2}.daytimer-event .plan-tomorrow{order:3;display:flex;align-items:center;justify-content:center;padding:3px;border:1px solid transparent;color:var(--accent);opacity:0;pointer-events:none}.plan-tomorrow svg{width:16px;height:16px}.daytimer-event:hover .plan-tomorrow,.daytimer-event:focus-within .plan-tomorrow{opacity:1;pointer-events:auto}.daytimer-event .plan-tomorrow:hover{border-color:var(--accent);background:var(--panel)}@media(hover:none){.daytimer-event .plan-tomorrow{opacity:1;pointer-events:auto}}

.daytimer-event.plan-compact{padding:3px;gap:1px}.daytimer-event.plan-compact>.plan-time-button{font-size:9px;line-height:12px;min-height:12px;padding:0 2px}.daytimer-event.plan-compact>.task{min-height:0;padding:0;gap:1px 5px;grid-template-rows:minmax(14px,1fr) auto}.daytimer-event.plan-compact .task-title{padding:0;font-size:11px;line-height:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.daytimer-event.plan-compact .complete-task{margin-top:0}.daytimer-event.plan-compact .task-meta{gap:3px;flex-wrap:nowrap}.daytimer-event.plan-compact .plan-tomorrow,.daytimer-event.plan-compact .more{padding:1px}.daytimer-event.plan-compact .plan-tomorrow svg,.daytimer-event.plan-compact .more svg{width:14px;height:14px}.daytimer-event.plan-compact .duration{font-size:9px;padding:1px 4px}

.daytimer-event{min-height:2px}.plan-duration-resize{position:absolute;bottom:0;left:0;right:0;height:8px;cursor:ns-resize;touch-action:none;z-index:5}.plan-duration-resize:after{content:"";position:absolute;bottom:1px;left:calc(50% - 14px);width:28px;height:3px;border-radius:3px;background:var(--accent);opacity:0}.daytimer-event:hover .plan-duration-resize:after,.plan-duration-resize:focus-visible:after,.resizing-duration .plan-duration-resize:after{opacity:.8}.plan-resize-preview{display:none;position:absolute;bottom:10px;right:4px;background:var(--accent);color:var(--accent-ink);padding:2px 5px;border-radius:4px;font-size:11px;pointer-events:none}.resizing-duration .plan-resize-preview:not(:empty){display:block}.daytimer-event.resizing-duration{border-color:var(--accent);user-select:none}.daytimer-event .task-meta{padding-bottom:4px}

/* Scheduled cards stay within their time slot; long text never adds scrollbars. */
.daytimer-event{overflow:hidden}.daytimer-event>.task,.daytimer-event.plan-compact>.task{min-height:0;min-width:0;grid-template-rows:minmax(0,1fr) auto}.daytimer-event .task-title{min-height:0;max-height:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.daytimer-event .task-text{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.daytimer-event .task-meta{min-width:0;max-width:100%;flex-wrap:nowrap}

/* Footer actions overlay the card instead of consuming its title row. */
.daytimer-event>.task,.daytimer-event.plan-compact>.task{position:static;grid-template-rows:minmax(0,1fr);align-items:start}.daytimer-event .task-meta{position:absolute;left:6px;right:6px;bottom:7px;width:auto;padding:0;z-index:2;background:transparent}.daytimer-event .task-title{align-self:stretch}.daytimer-event .task-meta .duration,.daytimer-event .task-meta .more,.daytimer-event .task-meta .plan-tomorrow{background:var(--card)}

.daytimer-event .task-meta .duration{display:none}.daytimer-event .task-meta{left:auto;right:3px;bottom:3px;gap:2px}.daytimer-event .task-meta .more{order:4;padding:1px;width:18px;height:18px;min-width:18px;display:flex;align-items:center;justify-content:center;border-radius:4px}.daytimer-event .task-meta .more svg{width:13px;height:13px}.daytimer-event .task-meta .plan-tomorrow{width:18px;height:18px;padding:1px;border-radius:4px}.daytimer-event .task-meta .plan-tomorrow svg{width:13px;height:13px}.plan-duration-resize{left:24px;right:44px}

.daytimer-event .task-meta .more{opacity:0;pointer-events:none}.daytimer-event:hover .task-meta .more,.daytimer-event:focus-within .task-meta .more{opacity:1;pointer-events:auto}@media(hover:none){.daytimer-event .task-meta .more{opacity:1;pointer-events:auto}}

.plan-start-resize{top:0;bottom:auto;left:24px;right:24px}.plan-start-resize:after{top:1px;bottom:auto}.plan-start-resize .plan-resize-preview{top:10px;bottom:auto}

/* Feedback never changes row geometry or drag hit targets. */
.feedback-complete{animation:task-complete-feedback .46s ease-out}
.feedback-drop{animation:task-drop-feedback .38s ease-out}
@keyframes task-complete-feedback{0%{box-shadow:inset 0 0 0 1px var(--accent);background:color-mix(in srgb,var(--accent) 18%,transparent)}100%{box-shadow:inset 0 0 0 1px transparent}}
@keyframes task-drop-feedback{0%{box-shadow:inset 0 0 0 1px var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}100%{box-shadow:inset 0 0 0 1px transparent}}
.feedback-setting{display:flex;align-items:center;gap:10px;padding:12px 0;margin-top:8px;border-top:1px solid var(--line)}
.trash-party{width:60px;right:auto;transform-origin:bottom center}.trash-party svg{display:block;width:60px;height:auto}
#log-now,#chat-toggle{display:grid;place-items:center;width:39px;height:39px;padding:8px}#log-now svg,#chat-toggle svg{width:21px;height:21px}
@media(prefers-reduced-motion:reduce){.feedback-complete,.feedback-drop{animation:none}}

.journal-habits{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;margin:14px 0;cursor:default}.journal-habits label{display:flex;align-items:center;gap:7px;cursor:pointer;font-size:13px}.journal-habits input{margin:0}.journal-habits svg{width:18px;height:18px;color:var(--accent)}.journal-exercise-streak{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}.journal-exercise-streak svg{width:18px;height:18px}.journal-streaks{display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px}#today-journal-body>.journal-habits{grid-column:1 / -1;grid-row:3;margin:10px 0 0}#today-journal-body>.journal-save-status{grid-row:4}.journal-habits .journal-exercise-streak{margin-left:auto}@media(max-width:480px){.journal-habits{gap:10px 14px}.journal-habits .journal-exercise-streak{margin-left:0;width:100%}}

/* Journal writing and photo share a compact two-column editor. */
#journal-page .journal-editor{max-width:1100px}.journal-entry-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,36%);gap:20px 24px;align-items:start}.journal-entry-layout>.journal-field{grid-column:1;margin:0;min-width:0}.journal-entry-layout>.journal-field:first-child{grid-row:1}.journal-entry-layout>.journal-field:nth-child(2){grid-row:2}.journal-entry-layout>.journal-photo-field{grid-column:2;grid-row:1 / 3;align-self:stretch;display:flex;flex-direction:column;align-items:stretch;margin:38px 0 0;min-width:0;gap:6px}.journal-entry-layout .journal-photo-drop{flex:1;min-height:160px}.journal-entry-layout [data-remove-photo]{align-self:flex-end}.journal-entry-layout [data-photo-status]:empty{display:none}.journal-entry-layout>.journal-feeling{grid-column:2;grid-row:1;min-width:0}.journal-entry-layout>.journal-feeling>span{display:none}.journal-entry-layout>.journal-field:first-child>span{min-height:28px;display:flex;align-items:center}.journal-entry-layout .journal-moods{justify-content:space-between;gap:2px;flex-wrap:nowrap;margin:0}.journal-entry-layout .journal-moods button{height:28px;padding:0 2px}.journal-entry-layout .journal-moods svg{width:26px;height:26px}.journal-entry-layout>.journal-habits{grid-column:1;grid-row:3;margin:0;gap:8px}.journal-entry-layout>.journal-save-status{grid-column:1 / -1;grid-row:4;text-align:right}
.journal-habit-toggle{display:inline-grid;place-items:center;width:34px;height:34px;padding:7px;border:1px solid var(--line);border-radius:9px;color:var(--muted);background:transparent}.journal-habit-toggle svg{width:18px;height:18px;color:inherit}.journal-habit-toggle:hover{border-color:var(--accent);color:var(--accent)}.journal-habit-toggle[aria-pressed=true]{background:color-mix(in srgb,var(--accent) 16%,var(--card));border-color:var(--accent);color:var(--accent)}.journal-habits{gap:8px}.journal-habits .journal-exercise-streak{width:auto;margin-left:auto}
@media(max-width:720px){.journal-entry-layout{grid-template-columns:minmax(0,1fr);gap:20px}.journal-entry-layout>.journal-field,.journal-entry-layout>.journal-photo-field,.journal-entry-layout>.journal-feeling,.journal-entry-layout>.journal-habits,.journal-entry-layout>.journal-save-status{grid-column:1;grid-row:auto}.journal-entry-layout>.journal-photo-field{grid-row:4;margin:0}.journal-entry-layout>.journal-feeling{grid-row:3}.journal-entry-layout>.journal-field:first-child>span{min-height:0}.journal-entry-layout>.journal-habits{grid-row:5}.journal-entry-layout>.journal-save-status{grid-row:6}.journal-entry-layout .journal-photo-drop{min-height:150px}.journal-entry-layout .journal-moods svg{width:26px;height:26px}.journal-habit-toggle{width:40px;height:40px}}

.journal-bar-heading .journal-habit-toggle{display:inline-grid;place-items:center;flex:0 0 28px;width:28px;height:28px;padding:4px;border-radius:7px;color:var(--muted)}.journal-bar-heading .journal-habit-toggle svg{width:18px;height:18px;color:inherit}.journal-bar-heading .journal-habit-toggle[aria-pressed=true],.journal-bar-heading .journal-habit-toggle:hover{color:var(--accent)}
[data-day-part="tonight"]{background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 86%,#000),color-mix(in srgb,var(--bg) 96%,#000));margin-left:-10px;margin-right:-10px;padding-left:10px;padding-right:10px}
.title-row>div:first-child:has([data-toggle-day]){flex:1}.day-heading-toggle{display:flex;width:100%;flex:1;min-width:0}.day-heading-toggle .day-chevron{margin-left:auto}
