:root{--accent:#6458e8;--accent-ink:#fff;--bg:#f5f6fa;--surface:#fff;--text:#25273d;--muted:#737587;--line:#e9eaf1;--soft:#eeecfc;--sidebar:#fff;--radius:18px;--shadow:0 4px 24px #24254204;color-scheme:light;font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.5;color:var(--text);background:var(--bg)}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.5}button{border:0;background:none}a{color:var(--accent)}a,button{touch-action:manipulation}svg{width:20px;height:20px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:'Manrope',sans-serif}h1{font-size:2.05rem;font-weight:800;letter-spacing:-1.2px;line-height:1.25}h2{font-size:1.12rem;font-weight:800;letter-spacing:-.4px}h3{font-size:1rem;font-weight:750}p{color:var(--muted)}small,.small{font-size:.8125rem;color:var(--muted)}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}::selection{background:var(--soft)}.icon-btn{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;flex-shrink:0}.icon-btn:hover{background:var(--soft);color:var(--accent)}.btn{display:inline-flex;gap:8px;align-items:center;justify-content:center;padding:11px 18px;font-weight:650;font-size:.875rem;border:1px solid var(--line);border-radius:10px;background:var(--surface);transition:transform .15s,background .15s;text-decoration:none}.btn:hover{background:var(--soft);transform:translateY(-1px)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.subtle{background:transparent;border:0}.btn.danger{color:#c43e59}.btn.wide{width:100%}.btn.sm{padding:8px 12px}.text-btn{color:var(--accent);font-weight:600;font-size:.875rem;padding:6px 0}.flex{display:flex;align-items:center;gap:12px}.between{display:flex;align-items:center;justify-content:space-between;gap:12px}.wrap{flex-wrap:wrap}.muted{color:var(--muted)}.stack{display:grid;gap:20px}.pill{display:inline-flex;gap:5px;align-items:center;padding:4px 9px;border-radius:6px;font-size:.75rem;font-weight:600;white-space:nowrap;background:var(--soft);color:var(--accent)}.pill.urgent{background:#fff1e8;color:#9c4d1c}.pill.important{background:#f2eafa;color:#8549a2}.pill.done{background:#e6f5ef;color:#247553}.divider{border:0;border-top:1px solid var(--line);margin:24px 0}.brand{display:flex;gap:10px;align-items:center;font-family:'Manrope',sans-serif;font-size:1.7rem;font-weight:800;letter-spacing:-1px}.brand-symbol{width:40px;height:42px;background:var(--accent);color:var(--accent-ink);display:flex;align-items:center;justify-content:center;border-radius:12px}.brand-symbol svg{width:23px;height:23px}.sidebar{position:fixed;inset:0 auto 0 0;width:242px;background:var(--sidebar);border-right:1px solid var(--line);padding:32px 22px;display:flex;flex-direction:column;z-index:20}.side-label{font-size:.6875rem;letter-spacing:1.8px;font-weight:700;color:var(--muted);margin:43px 14px 14px}.nav{display:grid;gap:7px}.nav button{display:flex;align-items:center;text-align:left;gap:13px;padding:13px 15px;border-radius:10px;font-size:.9375rem;font-weight:550;color:var(--muted)}.nav button:hover{background:var(--bg)}.nav button.active{color:var(--accent);background:var(--soft);font-weight:700}.nav button.active:after{content:'';width:5px;height:5px;background:var(--accent);border-radius:50%;margin-left:auto}.side-bottom{margin-top:auto;padding-top:24px}.side-goal{border:1px solid var(--line);padding:17px;border-radius:13px;background:linear-gradient(135deg,var(--soft),var(--surface));margin-bottom:22px}.side-goal .eyebrow{color:var(--accent)}.side-goal p{color:var(--text);font-size:.875rem;margin:9px 0;overflow-wrap:anywhere}.side-account{border-top:1px solid var(--line);padding-top:20px;width:100%;display:flex;align-items:center;gap:11px;text-align:left}.avatar{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border-radius:50%;background:var(--soft);color:var(--accent);font-weight:700}.account-copy{min-width:0;flex:1}.account-copy b{display:block;font-size:.8125rem;overflow:hidden;text-overflow:ellipsis}.account-copy small{font-size:.75rem}.main{margin-left:242px;padding:30px 44px 44px;max-width:1800px}.topbar{padding-bottom:27px;border-bottom:1px solid var(--line);margin-bottom:29px}.breadcrumb{font-size:.875rem;color:var(--muted);display:flex;gap:10px;align-items:center}.breadcrumb b{color:var(--text);font-weight:500}.top-actions{gap:15px}.top-actions .icon-btn{background:var(--surface);border:1px solid var(--line);width:38px;height:38px}.date-label{font-size:.8125rem;color:var(--muted)}.greeting{margin-bottom:27px;align-items:flex-end}.greeting p{margin-top:7px;font-size:.9375rem}.eyebrow{font-size:.6875rem;font-weight:700;letter-spacing:1.6px;text-transform:uppercase}.week-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;margin-bottom:27px}.day{border:1px solid var(--line);border-radius:13px;background:var(--surface);padding:13px 10px 10px;display:grid;justify-items:center;gap:4px;position:relative}.day span{font-size:.75rem;font-weight:500;color:var(--muted)}.day b{font-family:'Manrope',sans-serif;font-size:1.23rem;font-weight:700}.day i{width:4px;height:4px;border-radius:50%;background:var(--line);margin-top:4px}.day.today i{background:var(--accent)}.day.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);box-shadow:0 5px 15px color-mix(in srgb,var(--accent) 16%,transparent)}.day.active span{color:var(--accent-ink);opacity:.8}.day.active i{background:var(--accent-ink)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:19px;margin-bottom:26px}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:19px 21px;display:flex;align-items:center;gap:16px}.stat-icon{width:44px;height:44px;background:var(--soft);color:var(--accent);border-radius:13px;display:grid;place-items:center}.stat-icon.green{background:#e9f6ef;color:#3a8a64}.stat-icon.orange{background:#fff2e8;color:#d58138}.stat-label{font-size:.8125rem;color:var(--muted)}.stat-value{font-family:'Manrope',sans-serif;font-size:1.6rem;font-weight:800;line-height:1.35;letter-spacing:-.8px}.stat-value span{font-family:'DM Sans',sans-serif;font-size:.8125rem;color:var(--muted);font-weight:400;letter-spacing:0;margin-left:6px}.workspace{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(310px,.85fr);gap:24px;align-items:start}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.panel-head{padding:22px 23px 18px;display:flex;align-items:center;justify-content:space-between;gap:10px}.panel-head p{font-size:.8125rem;margin-top:4px}.panel-body{padding:0 23px 23px}.count{font-family:'DM Sans',sans-serif;font-size:.75rem;padding:3px 7px;border-radius:6px;margin-left:7px;background:var(--bg);color:var(--muted);font-weight:500}.tabs{display:flex;gap:19px;padding:0 23px;border-bottom:1px solid var(--line)}.tabs button{padding:11px 0;font-size:.8125rem;color:var(--muted);border-bottom:2px solid transparent}.tabs button.active{border-color:var(--accent);color:var(--accent);font-weight:650}.task-list{padding:2px 23px}.task-row{display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:17px 0}.task-row:last-child{border-bottom:0}.check{width:21px;height:21px;flex-shrink:0;border:1.5px solid color-mix(in srgb,var(--muted) 48%,transparent);border-radius:6px;display:grid;place-items:center;padding:0;background:var(--surface)}.check svg{width:14px;height:14px}.check.checked{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.task-content{min-width:0;flex:1}.task-title{font-size:.9rem;font-weight:500;overflow-wrap:anywhere}.task-row.completed .task-title{text-decoration:line-through;color:var(--muted)}.task-meta{display:flex;gap:6px;margin-top:5px;align-items:center;flex-wrap:wrap}.task-row .icon-btn{opacity:.4}.task-row:hover .icon-btn,.task-row:focus-within .icon-btn{opacity:1}.quick-add{display:flex;align-items:center;gap:9px;width:calc(100% - 46px);margin:10px 23px 22px;padding:12px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:.8125rem;text-align:left}.quick-add:hover{color:var(--accent);border-color:var(--accent)}.empty{padding:32px 20px;text-align:center}.empty-icon{width:45px;height:45px;display:grid;place-items:center;background:var(--soft);color:var(--accent);border-radius:14px;margin:0 auto 12px}.empty h3{font-size:.9375rem}.empty p{max-width:300px;margin:6px auto 15px;font-size:.8125rem}.goal-banner{display:flex;align-items:center;gap:14px;padding:20px 23px;background:var(--soft);border:1px solid color-mix(in srgb,var(--accent) 12%,var(--line));border-radius:var(--radius);margin-top:22px}.goal-banner>.stat-icon{background:var(--surface)}.goal-banner p{color:var(--text);font-size:.875rem;font-weight:500;margin-top:3px;overflow-wrap:anywhere}.goal-banner .icon-btn{margin-left:auto}.mini-habit{padding:15px 0;border-bottom:1px solid var(--line)}.mini-habit:last-child{border:0}.mini-habit .task-title{font-weight:600}.mini-habit .small{font-size:.75rem}.mini-habit .heatmap{margin-top:12px}.routine-mini{display:flex;gap:13px;padding:14px 0;border-top:1px solid var(--line)}.routine-mini .time{width:62px;color:var(--muted);font-size:.75rem}.routine-mini .routine-line{width:3px;background:var(--accent);border-radius:4px}.routine-mini .task-content{display:flex;justify-content:space-between;gap:8px}.progress-line{height:5px;border-radius:4px;background:var(--line);overflow:hidden}.progress-line span{height:100%;display:block;background:var(--accent);border-radius:4px}.habit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.habit-card{padding:23px}.habit-header{display:flex;align-items:start;gap:12px}.habit-icon{background:var(--soft);color:var(--accent);width:42px;height:42px;border-radius:12px;display:grid;place-items:center}.habit-header .task-content p{font-size:.8125rem;margin-top:4px}.habit-card .progress-line{margin-top:16px}.habit-card .between.metrics{margin-top:21px;font-size:.8125rem;color:var(--muted)}.habit-card .between.metrics b{color:var(--text);font-size:1.35rem;margin-right:3px}.heatmap-wrap{display:flex;gap:9px;margin-top:19px;align-items:stretch}.heat-labels{display:grid;grid-template-rows:repeat(7,1fr);font-size:.65rem;color:var(--muted);gap:5px;padding:0 2px}.heatmap{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,1fr);grid-auto-columns:minmax(0,1fr);gap:5px;flex:1}.cell{aspect-ratio:1;min-width:0;max-height:25px;border-radius:4px;background:color-mix(in srgb,var(--accent) 11%,var(--surface));padding:0;position:relative;border:1px solid transparent}.cell:hover:not(:disabled){border-color:var(--accent)}.cell.checked{background:var(--accent)}.cell.future{opacity:.5}.cell.rest{background:var(--bg);border:1px solid var(--line);opacity:.5}.cell.blank{visibility:hidden}.cell.current{border:1.5px solid var(--accent)}.heat-caption{display:flex;justify-content:space-between;gap:12px;margin-top:11px;font-size:.6875rem;color:var(--muted)}.legend{display:flex;gap:5px;align-items:center}.legend i{width:9px;height:9px;display:inline-block;border-radius:2px;background:var(--soft)}.legend i:last-child{background:var(--accent)}.habit-action{margin-top:21px;border-top:1px solid var(--line);padding-top:17px}.habit-action .btn{width:100%}.celebrate{margin-top:18px;padding:18px;background:var(--soft);border-radius:12px;text-align:center}.celebrate svg{width:35px;height:35px;color:#bd8b25}.celebrate h3{margin:8px 0;font-size:.95rem}.celebrate p{font-size:.8125rem}.habit-note{display:flex;align-items:center;gap:13px;margin-bottom:25px;padding:17px 21px;background:var(--soft);border-radius:13px;color:var(--accent)}.habit-note p{font-size:.875rem;color:var(--text)}.habit-note small{display:block;margin-top:3px}.page-actions{display:flex;gap:10px;align-items:center}.week-nav{display:flex;align-items:center;gap:8px}.week-nav b{font-size:.875rem;min-width:140px;text-align:center}.routine-layout{display:grid;grid-template-columns:235px minmax(0,1fr);gap:20px}.activity-bank{padding:19px;align-self:start}.activity-bank>p{font-size:.8125rem;margin:7px 0 17px}.bank-item{border:1px solid var(--line);padding:13px 11px;margin-top:10px;border-radius:10px;background:var(--bg);cursor:grab}.bank-item .flex{gap:7px}.bank-item .flex>svg{width:15px;color:var(--muted)}.bank-item b{font-size:.875rem;overflow-wrap:anywhere}.bank-item .between{margin-top:7px}.bank-item .text-btn{font-size:.75rem}.calendar-wrap{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:auto;max-height:700px;position:relative;overscroll-behavior:contain}.calendar{min-width:710px;position:relative}.calendar-head{display:grid;grid-template-columns:56px repeat(7,1fr);position:sticky;top:0;background:var(--surface);z-index:3;border-bottom:1px solid var(--line)}.calendar-head>div{padding:13px 2px;text-align:center;font-size:.75rem;color:var(--muted)}.calendar-head strong{display:block;font-size:1rem;color:var(--text);margin-top:2px}.calendar-head .today{background:var(--soft);color:var(--accent)}.calendar-head .today strong{color:var(--accent)}.calendar-hour{display:grid;grid-template-columns:56px repeat(7,minmax(0,1fr));height:80px}.hour-label{font-size:.65rem;color:var(--muted);text-align:center;padding-top:2px;border-right:1px solid var(--line)}.slot{border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;min-width:0}.slot.drag-over{background:var(--soft);outline:2px dashed var(--accent);outline-offset:-3px}.event{position:absolute;left:3px;right:3px;min-height:18px;border-radius:6px;padding:3px 6px;background:var(--soft);border-left:3px solid var(--accent);z-index:1;cursor:grab;overflow:hidden}.event b{font-size:.75rem;font-weight:600;line-height:1.35;display:block;overflow-wrap:anywhere;padding-right:15px}.event small{font-size:.75rem;display:block;line-height:1.3}.event .check{position:absolute;right:4px;top:5px;width:15px;height:15px;border-radius:4px}.event.completed{opacity:.65}.event.completed b{text-decoration:line-through}.event-edit{position:absolute;inset:0;width:100%;height:100%}.event .check{z-index:2}.event-content{pointer-events:none}.routine-tip{font-size:.8125rem;margin-top:16px}.theme-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.theme-option{padding:10px;border:2px solid var(--line);border-radius:13px;text-align:left;background:var(--surface)}.theme-option.selected{border-color:var(--accent)}.theme-preview{height:98px;border-radius:8px;display:flex;overflow:hidden}.theme-preview .swatch-side{width:24%;background:var(--swatch-surface);border-right:1px solid #8882;padding:12px 6px}.swatch-side i{display:block;height:5px;background:var(--swatch-accent);border-radius:3px;margin-bottom:9px}.swatch-main{flex:1;background:var(--swatch-bg);padding:14px 9px}.swatch-main b{display:block;width:50%;height:6px;background:var(--swatch-text);border-radius:3px;margin-bottom:10px}.swatch-main i{display:block;height:15px;border-radius:4px;background:var(--swatch-surface);margin-top:6px}.theme-option>span{display:block;font-size:.875rem;font-weight:600;padding:11px 4px 3px}.settings{max-width:990px;display:grid;gap:24px}.settings .panel{padding:24px}.settings .panel>p{font-size:.875rem;margin:5px 0 21px}.settings .panel h2{display:flex;align-items:center;gap:10px}.custom-colors{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.color-field{padding:12px;border:1px solid var(--line);border-radius:10px;font-size:.8125rem;display:flex;align-items:center;justify-content:space-between;gap:8px}input[type=color]{width:32px;height:32px;border:0;padding:0;background:none;cursor:pointer}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:17px 0;border-bottom:1px solid var(--line)}.setting-row:last-child{border:0;padding-bottom:0}.setting-row p{font-size:.8125rem;max-width:510px;margin-top:5px}.setting-row strong{font-size:.9375rem}.mobile-brand{display:none}.onboarding{min-height:100dvh;background:radial-gradient(ellipse at 15% 15%,var(--soft),transparent 50%),radial-gradient(ellipse at 85% 85%,var(--soft),transparent 50%),var(--bg);display:flex;flex-direction:column;padding:35px 45px;position:fixed;inset:0;z-index:50;overflow:auto}.onboarding-center{width:min(590px,100%);margin:auto;text-align:center;padding:35px 0 55px}.large-lock{width:78px;height:80px;border-radius:24px;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;margin:0 auto 25px;box-shadow:0 12px 35px color-mix(in srgb,var(--accent) 20%,transparent)}.large-lock svg{width:40px;height:40px}.onboarding h1{font-size:3rem;letter-spacing:-1.8px;margin:12px 0 16px;line-height:1.18}.onboarding .intro{font-size:1rem;max-width:430px;margin:0 auto 29px}.goal-input{text-align:left;background:var(--surface);padding:25px;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 20px 55px #38326808}.goal-input label{font-weight:600;font-size:.875rem}.goal-input textarea{font-family:'Manrope',sans-serif;font-size:1.1rem;padding:15px;margin:10px 0 15px;resize:vertical;min-height:110px}.goal-examples{display:flex;gap:7px;margin-top:14px;justify-content:center;flex-wrap:wrap}.goal-examples button{font-size:.75rem;color:var(--muted);border:1px solid var(--line);padding:5px 10px;border-radius:20px}.welcome-goal{font-family:'Manrope',sans-serif;font-size:1.5rem;overflow-wrap:anywhere;margin:28px 0;color:var(--text)}.welcome-goal span{display:block;font-family:'DM Sans',sans-serif;font-size:.75rem;text-transform:uppercase;letter-spacing:2px;color:var(--muted);margin-bottom:10px}.onboarding-foot{text-align:center;font-size:.75rem;color:var(--muted)}dialog{color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:20px;width:min(520px,calc(100vw - 28px));padding:0;max-height:calc(100dvh - 40px);box-shadow:0 25px 100px #10102033}dialog::backdrop{background:#15162570;backdrop-filter:blur(4px)}.modal-head{padding:23px 25px 10px;display:flex;justify-content:space-between;align-items:center}.modal-body{padding:12px 25px 25px}.modal-body>p{font-size:.875rem;margin-bottom:20px}.field{display:grid;gap:7px;margin-bottom:17px}.field label,.field-label{font-size:.8125rem;font-weight:600}input:not([type=checkbox],[type=color]),select,textarea{width:100%;padding:11px 12px;background:var(--bg);border:1px solid var(--line);border-radius:9px;color:var(--text);min-width:0;font-size:1rem}textarea{width:100%;resize:vertical}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.toggle-field{display:flex;gap:9px;align-items:center;font-size:.875rem;padding:7px 0}.toggle-field input{accent-color:var(--accent);width:17px;height:17px}.weekday-picker{display:flex;gap:7px;margin:9px 0 17px}.weekday-picker label{flex:1;position:relative}.weekday-picker input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer;margin:0}.weekday-picker span{display:block;border:1px solid var(--line);background:var(--bg);text-align:center;border-radius:8px;padding:10px 0;font-size:.75rem}.weekday-picker input:checked+span{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.weekday-picker input:focus-visible+span{outline:3px solid var(--accent);outline-offset:3px}.form-error{font-size:.8125rem;color:#c34460;margin:12px 0;min-height:0}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:23px;align-items:center}.modal-actions .danger{margin-right:auto}.notice{padding:14px 16px;border-radius:11px;background:var(--soft);font-size:.8125rem;color:var(--text);margin:15px 0}.auth-tabs{display:flex;gap:8px;margin-bottom:21px}.auth-tabs .btn{flex:1}.auth-tabs .selected{background:var(--soft);border-color:var(--accent);color:var(--accent)}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:var(--text);color:var(--surface);border-radius:12px;padding:12px 20px;z-index:100;font-size:.875rem;max-width:calc(100vw - 28px);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;box-shadow:0 5px 30px #0002}#toast.visible{opacity:1;transform:translate(-50%,0)}.loading{display:grid;place-items:center;min-height:100dvh;text-align:center}.loading p{margin-top:18px}.sync-banner{font-size:.8125rem;padding:11px 18px;border-radius:10px;background:var(--soft);margin-bottom:20px;display:flex;align-items:center;gap:10px}.mobile-nav-label{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[data-theme=gamer]{--radius:10px}[data-theme=gamer] .brand-symbol,[data-theme=gamer] .btn.primary{box-shadow:0 0 19px color-mix(in srgb,var(--accent) 24%,transparent)}[data-theme=girly] .panel,[data-theme=girly] .day{box-shadow:0 5px 22px #df9cad0c}[data-theme=girly] .brand{letter-spacing:-1.4px}.help-list{padding-left:21px;color:var(--muted);font-size:.875rem;display:grid;gap:12px}
@media(min-width:1500px){.main{padding-left:55px;padding-right:55px}.workspace{grid-template-columns:1.35fr 1fr}.stat{padding:23px}}
@media(max-width:1180px){.sidebar{width:215px;padding:27px 16px}.main{margin-left:215px;padding:27px}.workspace{grid-template-columns:minmax(0,1.1fr) minmax(285px,.9fr);gap:18px}.routine-layout{grid-template-columns:195px minmax(0,1fr)}.stat{padding:17px 14px;gap:10px}.stat-icon{width:38px;height:38px}.theme-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:950px){.sidebar{width:82px;padding:27px 12px;align-items:center}.sidebar .brand>span:last-child,.side-label,.nav button>span,.side-bottom,.nav button.active:after{display:none}.nav{margin-top:40px}.nav button{padding:14px;justify-content:center}.main{margin-left:82px;padding:26px}.workspace{grid-template-columns:1fr 1fr}.habit-grid{gap:16px}.habit-card{padding:18px}.routine-layout{grid-template-columns:1fr}.activity-bank{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.activity-bank>h2,.activity-bank>p,.activity-bank>.btn{grid-column:1/-1}.activity-bank>p{margin:0}.bank-item{margin:0}.date-label{display:none}.custom-colors{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.sidebar{position:fixed;inset:auto 0 0;width:100%;height:calc(70px + env(safe-area-inset-bottom));padding:5px 8px env(safe-area-inset-bottom);border:0;border-top:1px solid var(--line);background:var(--surface);z-index:30}.sidebar>.brand{display:none}.nav{display:flex;width:100%;margin:0;gap:0}.nav button{flex:1;flex-direction:column;gap:4px;padding:8px 2px;border-radius:8px;font-size:.625rem}.nav button>span{display:block}.nav button svg{width:21px;height:21px}.main{margin-left:0;padding:18px 17px 100px}.topbar{margin-bottom:24px;padding-bottom:18px}.breadcrumb{display:none}.mobile-brand{display:flex;font-size:1.4rem}.mobile-brand .brand-symbol{width:31px;height:33px;border-radius:10px}.mobile-brand .brand-symbol svg{width:19px}.top-actions{gap:7px}.top-actions .btn{font-size:.75rem;padding:9px 11px}.top-actions .btn svg{width:16px}.top-actions .avatar{display:none}h1{font-size:1.65rem;letter-spacing:-.7px}.greeting{margin-bottom:22px;gap:10px;flex-wrap:wrap}.greeting p{font-size:.875rem}.week-strip{gap:6px;margin-bottom:20px}.day{border-radius:10px;padding:9px 3px 7px}.day span{font-size:.65rem}.day b{font-size:1.1rem}.stats{gap:8px;margin-bottom:20px}.stat{display:block;padding:13px 10px}.stat-icon{width:29px;height:29px;border-radius:9px;margin-bottom:9px}.stat-icon svg{width:17px;height:17px}.stat-label{font-size:.675rem;white-space:nowrap}.stat-value{font-size:1.3rem}.stat-value span{font-size:.625rem;margin-left:3px}.workspace{grid-template-columns:1fr;gap:20px}.panel-head{padding:19px 18px 15px}.panel-body{padding:0 18px 18px}.task-list{padding:2px 18px}.tabs{padding:0 18px}.task-row{padding:15px 0}.quick-add{margin:10px 18px 19px;width:calc(100% - 36px)}.goal-banner{padding:17px 18px}.habit-grid{grid-template-columns:1fr}.habit-card{padding:20px}.habit-note{padding:16px;align-items:flex-start}.habit-note p{font-size:.8125rem}.habit-note small{font-size:.75rem}.activity-bank{padding:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.routine-layout{gap:15px}.calendar-wrap{max-height:600px}.week-nav b{min-width:120px;font-size:.8125rem}.settings .panel{padding:20px 17px}.theme-grid{gap:10px}.theme-preview{height:80px}.theme-option>span{font-size:.8125rem}.setting-row{align-items:flex-start;flex-direction:column;gap:12px}.onboarding{padding:23px}.onboarding h1{font-size:2.4rem}.onboarding-center{padding:35px 0}.goal-input{padding:20px}.goal-examples button{font-size:.6875rem}.large-lock{width:65px;height:68px;border-radius:20px}.onboarding .intro{font-size:.875rem}.welcome-goal{font-size:1.3rem}.modal-head{padding:18px 20px 8px}.modal-body{padding:10px 20px 20px}.custom-colors{gap:10px}.color-field{font-size:.75rem;padding:10px}.page-actions{width:100%;justify-content:space-between}.greeting>.btn{margin-left:auto}.goal-banner .stat-icon{display:none}#toast{bottom:95px;width:max-content;text-align:center}.sync-banner{font-size:.75rem}.heat-labels{font-size:.625rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.event.compact small{display:none}.event.compact b{line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event.compact .check{top:2px;width:13px;height:13px}.text-btn svg{width:14px;height:14px;vertical-align:middle}.metrics svg{width:15px;height:15px;vertical-align:middle}.routine-tip svg{width:15px;height:15px;vertical-align:middle}.habit-action .small svg{width:14px;height:14px;vertical-align:middle}

/* Entry choices and calendar editing */
.entry-actions{max-width:365px;margin:0 auto;display:grid;gap:12px}.entry-divider{display:flex;align-items:center;gap:13px;color:var(--muted);font-size:.8125rem;margin:5px 0}.entry-divider:before,.entry-divider:after{content:'';height:1px;background:var(--line);flex:1}.entry-note{font-size:.8125rem;line-height:1.7;margin-top:23px}.entry-local{font-size:.8125rem;color:var(--accent);margin-top:13px}.goal-choice{padding:18px;border:1px solid var(--line);border-radius:13px;margin:16px 0;background:var(--bg)}.goal-choice p{color:var(--text);margin:10px 0 16px;overflow-wrap:anywhere}.calendar-wrap{overflow-anchor:none;scroll-behavior:auto}.event{isolation:isolate}.event-content{max-height:100%;overflow:hidden}.event-edit{z-index:1;cursor:grab}.event .check{z-index:4}.resize-handle{position:absolute;left:4px;right:25px;height:9px;z-index:5;cursor:ns-resize;touch-action:none;user-select:none;display:flex;align-items:center;justify-content:center;border-radius:3px}.resize-start{top:0}.resize-end{bottom:0;right:4px}.resize-handle span{display:block;height:2px;width:22px;background:var(--accent);opacity:.48;border-radius:2px}.resize-start span{opacity:0}.event:hover .resize-handle span,.resize-handle:focus-visible span,.event.resizing .resize-handle span{opacity:1}.resize-handle:focus-visible{outline:2px solid var(--accent);outline-offset:-1px;background:var(--surface)}.event.resizing{z-index:8;box-shadow:0 7px 24px #0002;outline:2px solid var(--accent)}.event.resize-invalid{outline-color:#cf375b;background:#ffebef;color:#70243a}.routine-resizing,.routine-resizing *{cursor:ns-resize!important;user-select:none!important}.resize-readout{position:fixed;z-index:100;pointer-events:none;background:var(--text);color:var(--surface);padding:9px 13px;border-radius:9px;font-size:.8125rem;box-shadow:0 4px 18px #0002;max-width:calc(100vw - 20px)}.resize-readout.invalid{background:#a32d48;color:white}.slot.drag-over:after{content:attr(data-drop-label);position:absolute;top:3px;left:4px;background:var(--accent);color:var(--accent-ink);padding:2px 5px;border-radius:4px;font-size:.75rem;z-index:10;pointer-events:none}.event.compact .resize-handle{height:6px}.event.compact .resize-start{right:25px}.calendar-wrap .event small{white-space:normal;font-size:.7rem}.routine-tip{line-height:1.6}@media(pointer:coarse){.resize-handle{height:13px}.resize-start span{opacity:.55}.event.compact .resize-handle{height:7px}}
/* Compact language pill: a native select keeps the mobile picker accessible. */
.entry-header{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;flex-wrap:wrap}
.language-picker{position:relative;display:inline-flex;align-items:center;gap:7px;flex:none;min-height:36px;padding:6px 10px;border:1.5px solid var(--text);border-radius:999px;background:var(--surface);color:var(--text);font-size:.875rem;font-weight:650;line-height:1.2;cursor:pointer}
.language-picker>svg:first-child{width:21px;height:21px;stroke-width:1.15}.language-picker>svg:last-of-type{width:14px;height:14px;stroke-width:2.5}
.language-picker select{position:absolute;inset:0;width:100%;height:100%;min-width:0;opacity:0;cursor:pointer;font-size:16px}.language-picker:focus-within{outline:3px solid var(--accent);outline-offset:3px}
@media(max-width:500px){.entry-header{gap:10px}.entry-header .brand{font-size:1.45rem}.entry-header .brand-symbol{width:32px;height:35px}.entry-center h1{font-size:2.2rem}}
.focus-layout{display:grid;grid-template-columns:minmax(270px,.85fr) minmax(320px,1.15fr);gap:24px;max-width:1100px}.focus-session,.focus-options{padding:28px}.focus-session{text-align:center}.focus-status{display:inline-block;font-size:.875rem;font-weight:600;color:var(--accent);background:var(--soft);border-radius:999px;padding:7px 12px}
.focus-dial{--focus-progress:0%;width:min(250px,100%);aspect-ratio:1;margin:28px auto;border-radius:50%;padding:5px;background:conic-gradient(var(--accent) var(--focus-progress),var(--line) 0)}.focus-dial>div{width:100%;height:100%;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;background:var(--surface)}.focus-dial svg{color:var(--accent);width:25px;height:25px}.focus-dial strong{font-family:'Manrope',sans-serif;font-size:3rem;letter-spacing:-2px;font-variant-numeric:tabular-nums}.focus-dial span{font-size:.875rem;color:var(--muted)}
.focus-duration{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;margin-bottom:16px;font-size:.875rem}.focus-duration select{width:auto}.focus-caption{font-size:.875rem;line-height:1.6;margin-top:16px}.focus-feedback{font-size:.875rem;margin-top:14px}.focus-options>p{margin-top:8px}.focus-options fieldset{border:0;margin:20px 0 0;padding:0;min-width:0}.focus-target{display:flex;align-items:center;gap:12px;padding:17px 0;border-bottom:1px solid var(--line);font-size:.9375rem}.focus-target>span:nth-child(2){flex:1}.focus-app-icon{display:grid;place-items:center;width:36px;height:36px;flex:none;border-radius:11px;background:var(--soft);color:var(--accent);font-weight:700;font-size:.8125rem}.focus-target select{width:auto;max-width:155px;font-size:.875rem;padding:9px 6px}.focus-install{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.focus-install p{font-size:.875rem;margin:8px 0 16px}.focus-install details{margin-top:15px;font-size:.875rem}.focus-install summary{cursor:pointer;color:var(--accent)}.focus-install ol{padding-left:22px;color:var(--muted)}.focus-install li{margin:8px 0;overflow-wrap:anywhere}.focus-limits{max-width:1000px;margin-top:26px;padding:20px;border:1px solid var(--line);border-radius:16px}.focus-limits h2{font-size:1rem}.focus-limits p{font-size:.875rem;line-height:1.65;margin-top:10px}
@media(max-width:1050px){.focus-layout{grid-template-columns:1fr}.focus-session{max-width:none}.focus-dial{width:220px}}
@media(max-width:720px){.nav button[data-view=appearance]{display:none}.focus-session,.focus-options{padding:22px 17px}.focus-target{gap:8px}.focus-target select{max-width:145px}.focus-target .focus-app-icon{width:30px;height:30px}.focus-options .between{flex-wrap:wrap}.nav button[data-view=focus]>span{font-size:.625rem}}

.ios-focus-counts{display:flex;gap:20px;flex-wrap:wrap;margin:24px 0}.ios-focus-counts strong{display:block;font-size:1.7rem;color:var(--text)}.ios-focus-counts p{font-size:.875rem}

/* v1.5 — quiet midnight, clear next actions */
:root{--accent:#a698ff;--accent-ink:#14151d;--bg:#101119;--surface:#191b27;--sidebar:#161822;--text:#f0f1f8;--muted:#aaadbf;--line:#2b2e40;--soft:#2e2947;--radius:20px;--shadow:none;color-scheme:dark}
body{min-width:0}.main{max-width:1540px}.sidebar{background:var(--surface)}.nav button.active{box-shadow:inset 3px 0 0 var(--accent)}.nav button.active:after{display:none}.nav-beta{font-size:.75rem;margin-left:auto;padding:2px 6px;border:1px solid var(--line);border-radius:6px;color:var(--muted)}.small,small,.tabs button,.bank-item .text-btn,.field-label{font-size:.875rem}.eyebrow,.side-label{font-size:.75rem;letter-spacing:1.6px}.text-btn{display:inline-flex;align-items:center;gap:6px}.btn{border-radius:12px;min-height:42px}.icon-btn{min-width:38px;min-height:38px}.topbar{border:0;margin-bottom:32px}.panel-head h2{display:flex;align-items:center;gap:9px}.panel-head h2>svg{color:var(--accent);width:19px}.task-title{font-size:1rem}.task-row .icon-btn{opacity:.75}.check{width:25px;height:25px;border-radius:8px;position:relative}.check:before{content:'';position:absolute;inset:-8px}.check.checked{animation:check-pop .22s ease-out}.check svg{width:16px;height:16px}.task-row.completed{opacity:.72}.pill{font-size:.75rem;min-height:24px}.pill svg{width:12px;height:12px}.pill.tag{color:var(--muted);background:var(--bg);max-width:160px;overflow:hidden;text-overflow:ellipsis;display:inline-block}.priority-low{--priority:#8c9bab}.priority-medium{--priority:#77a8e9}.priority-high{--priority:#d3a23e}.priority-critical{--priority:#d86783}.pill[class*=priority-]{background:color-mix(in srgb,var(--priority) 13%,var(--surface));color:var(--text)}.pill i,.priority-picker i{width:6px;height:6px;border-radius:50%;background:var(--priority)}.pill.urgent{color:var(--text);background:color-mix(in srgb,#eab06c 14%,var(--surface))}
.today-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.today-heading .eyebrow{color:var(--accent);margin-bottom:9px}.today-heading h1{font-size:clamp(1.8rem,3vw,2.4rem);letter-spacing:-1.25px}.day-pulse{border:1px solid color-mix(in srgb,var(--accent) 25%,var(--line));border-radius:24px;background:linear-gradient(110deg,var(--surface) 45%,var(--soft));padding:30px 34px;display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:20px;overflow:hidden}.pulse-copy{min-width:0}.pulse-copy>.eyebrow{color:var(--accent)}.pulse-copy h2{font-size:1.5rem;max-width:460px;line-height:1.35;margin:10px 0}.pulse-goal{display:flex;gap:9px;align-items:flex-start;margin:12px 0 20px;font-size:.9375rem;max-width:480px}.pulse-goal span{overflow-wrap:anywhere}.pulse-goal svg{width:17px;height:22px}.progress-orbit{width:132px;height:132px;flex:none;border-radius:50%;padding:7px;background:conic-gradient(var(--accent) var(--progress),var(--line) 0);transform:rotate(-90deg)}.progress-orbit>div{border:6px solid var(--surface);width:100%;height:100%;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--surface);transform:rotate(90deg)}.progress-orbit strong{font:800 2rem 'Manrope',sans-serif;letter-spacing:-1px}.progress-orbit strong small{font-size:.9375rem;color:var(--muted);letter-spacing:0}.progress-orbit span{font-size:.75rem;color:var(--muted);margin-top:3px}.area-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 26px}.area-shortcut{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px;display:grid;grid-template-columns:36px 1fr auto;gap:12px;align-items:center;text-align:left;transition:transform .15s,border-color .15s}.area-shortcut:hover{border-color:var(--accent);transform:translateY(-2px)}.shortcut-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;color:var(--accent);background:var(--soft)}.shortcut-icon.routine{background:color-mix(in srgb,#6fa8ff 14%,var(--surface));color:#6fa8ff}.shortcut-icon.habits{background:color-mix(in srgb,#57c7b0 14%,var(--surface));color:#57c7b0}.area-shortcut b{font-size:.9375rem}.area-shortcut>span:last-of-type{font:700 1.25rem 'Manrope',sans-serif}.area-shortcut>span small{font:400 .875rem 'DM Sans',sans-serif}.area-shortcut .progress-line{grid-column:1/-1;height:4px;margin-top:3px}.today-columns{display:grid;grid-template-columns:1.1fr 1fr;gap:22px;align-items:start}.today-columns .task-row{padding:16px 0}.up-next{display:flex;gap:12px;width:calc(100% - 40px);margin:12px 20px 20px;padding:17px;border-radius:13px;background:var(--bg);text-align:left;border-left:3px solid var(--event-color,var(--accent));align-items:center}.up-next>span{color:var(--event-color,var(--accent))}.up-next>div{display:flex;flex-direction:column;min-width:0;gap:4px}.up-next small{font-size:.6875rem;letter-spacing:1.1px}.up-next b{font-size:.9375rem;overflow-wrap:anywhere}.up-next div>span{font-size:.8125rem;color:var(--muted)}.habit-glance{display:flex;align-items:center;gap:12px;padding:18px 0;border-bottom:1px solid var(--line)}.habit-glance:last-child{border:0}.habit-glance>div:nth-child(2){flex:1;min-width:0}.habit-glance b{display:block;font-size:.9375rem;overflow-wrap:anywhere}.habit-glance span{display:block;font-size:.8125rem;color:var(--muted);margin-top:4px}.habit-glance-icon{width:33px;height:33px;border-radius:10px;background:var(--soft);color:var(--accent);display:grid;place-items:center}.habit-glance-icon svg{width:17px}.quiet-empty{padding:22px 18px 26px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}.quiet-empty>svg{width:26px;height:26px;color:var(--accent)}.quiet-empty p{font-size:.9375rem;max-width:260px}.today-habits .panel-body{padding-top:0}.today-habits .quiet-empty{padding:16px 0}.date-toolbar{margin-bottom:22px}.task-filterbar{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:0 20px}.task-filterbar .tabs{padding:0;border:0;flex-shrink:0}.compact-filters{display:flex;gap:8px;padding:10px 0;min-width:0}.compact-filters select{font-size:.8125rem;padding:8px 28px 8px 10px;max-width:160px;border-radius:9px;background:var(--bg)}
fieldset{min-width:0;border:0;padding:0;margin:0 0 20px}legend{font-size:.875rem;font-weight:600;margin-bottom:10px}.priority-picker{display:flex;gap:7px}.priority-picker label{flex:1;position:relative}.priority-picker input,.activity-color-picker input{position:absolute;opacity:0;width:1px;height:1px}.priority-picker label>span{border:1px solid var(--line);display:flex;justify-content:center;align-items:center;gap:7px;padding:10px 6px;border-radius:10px;font-size:.875rem;cursor:pointer}.priority-picker input:checked+span{border-color:var(--priority);background:color-mix(in srgb,var(--priority) 15%,var(--surface));font-weight:700}.priority-picker input:focus-visible+span,.activity-color-picker input:focus-visible+span{outline:3px solid var(--accent);outline-offset:3px}.tag-suggestions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.tag-suggestions button{border:1px solid var(--line);border-radius:20px;padding:5px 10px;color:var(--muted);font-size:.8125rem}.tag-suggestions button:hover{background:var(--soft);color:var(--accent)}.activity-color-picker{display:flex;gap:15px}.activity-color-picker label{position:relative;cursor:pointer}.activity-color-picker label>span{display:block;width:30px;height:30px;border-radius:50%;background:var(--color);border:5px solid var(--surface);box-shadow:0 0 0 1px var(--line)}.activity-color-picker input:checked+span{box-shadow:0 0 0 2px var(--color)}.activity-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:10px 0 20px}.activity-details>summary{display:flex;align-items:center;gap:8px;padding:15px 0;cursor:pointer;color:var(--accent);font-weight:600}.activity-details>summary:after{content:'+';margin-left:auto}.activity-details[open]>summary:after{content:'−'}.attachment-list{display:flex;gap:10px;margin:13px 0;flex-wrap:wrap}.attachment-list>div{position:relative}.attachment-list img{width:88px;height:88px;object-fit:cover;border-radius:10px}.attachment-list .icon-btn{position:absolute;right:-6px;top:-6px;background:var(--surface);border:1px solid var(--line);min-width:28px;min-height:28px;width:28px;height:28px;border-radius:50%}.attachment-list svg{width:15px}.upload-image{display:inline-flex!important;align-items:center;gap:8px;padding:11px 16px!important;border:1px dashed var(--line);border-radius:10px;cursor:pointer}.upload-image input{max-width:180px;font-size:.75rem;display:none}.upload-image:focus-within{outline:2px solid var(--accent)}.attachment-gallery{display:flex;gap:8px;overflow:auto;margin:12px 0 22px}.attachment-gallery img{max-width:90%;width:auto;max-height:240px;border-radius:12px;object-fit:contain}.activity-notes{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 18px;color:var(--text);font-size:.9375rem}.activity-detail-head{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:14px}.activity-detail-head .text-btn{margin-left:auto}.modal-secondary{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.modal-actions{flex-wrap:wrap}.modal-body{max-height:calc(90dvh - 85px);overflow-y:auto}.field textarea{font-size:1rem}.icon-setting{display:flex;gap:24px;align-items:center;margin-top:20px}.icon-setting img{width:80px;height:80px;border-radius:20px;border:1px solid var(--line)}.icon-setting .btn{margin:12px 8px 0 0}.icon-setting .small{line-height:1.6}.theme-option{border-radius:17px}.theme-grid{margin-top:20px}.theme-preview{border:1px solid var(--line)}
.routine-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.view-toggle{display:flex;border:1px solid var(--line);border-radius:11px;padding:4px;background:var(--surface)}.view-toggle button{padding:6px 15px;font-size:.875rem;border-radius:7px;color:var(--muted)}.view-toggle .active{background:var(--soft);color:var(--accent)}.routine-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:17px}.routine-days button{padding:8px 3px;border:1px solid var(--line);border-radius:12px;background:var(--surface);display:grid;gap:4px}.routine-days span{font-size:.75rem;color:var(--muted)}.routine-days b{font-size:1rem}.routine-days .active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.routine-days .active span{color:inherit}.routine-layout{grid-template-columns:210px minmax(0,1fr);gap:18px}.activity-bank{display:block;padding:18px}.activity-bank summary{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.9375rem;font-weight:700;list-style:none}.activity-bank summary>svg:first-child{color:var(--accent);width:17px}.activity-bank summary>svg:last-child{width:15px;margin-left:auto}.activity-bank .count{margin:0}.activity-bank .btn{margin-top:12px}.activity-bank:not([open])>*:not(summary){display:none}.bank-item{margin-top:10px;background:var(--bg);border-left:3px solid var(--event-color)}.bank-list{max-height:520px;overflow:auto}.bank-item .task-meta{margin-top:9px}.bank-item .task-meta:empty{display:none}.activity-dot{width:9px;height:9px;border-radius:50%;flex:none;background:var(--event-color,var(--accent))}.calendar{min-width:760px}.calendar-head,.calendar-hour{grid-template-columns:56px repeat(var(--calendar-days,7),minmax(0,1fr))}.day-view .calendar{min-width:0}.calendar-head{z-index:15}.calendar-head>div{font-size:.8125rem}.calendar-head strong{font-size:1.1rem}.calendar-head .today strong{background:var(--accent);color:var(--accent-ink);border-radius:9px;width:31px;margin:4px auto 0}.hour-label{font-size:.75rem;padding-top:4px}.slot{cursor:crosshair;background-image:linear-gradient(to bottom,transparent calc(50% - .5px),color-mix(in srgb,var(--line) 50%,transparent) 50%,transparent calc(50% + .5px))}.slot:hover{background-color:color-mix(in srgb,var(--accent) 3%,transparent)}.event{right:auto;border-left:3px solid var(--event-color);border-radius:7px;background:color-mix(in srgb,var(--event-color) 17%,var(--surface));color:var(--text);padding:10px 7px 7px}.event b{font-size:.8125rem;line-height:1.3;padding-right:22px;max-height:2.6em;overflow:hidden}.calendar-wrap .event small{font-size:.75rem;color:var(--text);opacity:.75;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event .check{width:20px;height:20px;top:10px;right:5px;border-radius:6px;background:var(--surface)}.event .check:before{inset:0}.event .check.checked{background:var(--event-color);color:#101119;border-color:var(--event-color)}.event .check svg{width:13px}.event-meta{display:flex;gap:5px;align-items:center;margin-top:5px;opacity:.8;overflow:hidden}.event-meta span{font-size:.6875rem;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.event-meta svg{width:12px;height:12px}.resize-handle{right:28px;height:9px}.resize-end{right:29px}.resize-handle span{background:var(--event-color)}.event-move{position:absolute;right:1px;bottom:0;z-index:6;width:25px;height:24px;border-radius:4px;display:grid;place-items:center;color:var(--text);cursor:grab;touch-action:none;opacity:.65}.event-move svg{width:15px;height:15px}.event-move:hover{opacity:1;background:var(--surface)}.event.moving{opacity:.55;outline:2px solid var(--event-color)}.event.compact{padding:1px 5px}.event.compact b{padding-right:23px;font-size:.75rem;line-height:1.25}.event.compact .event-move{display:none}.event.compact .check{top:1px;width:15px;height:15px}.event.compact .check svg{width:11px}.event.resizing{background:color-mix(in srgb,var(--event-color) 20%,var(--surface))}.routine-tip{max-width:850px;font-size:.875rem}
.focus-construction{max-width:740px;margin:20px auto;text-align:center;padding:34px 25px 45px;border:1px solid var(--line);border-radius:26px;background:linear-gradient(160deg,var(--surface),var(--bg));position:relative;overflow:hidden}.construction-badge{display:inline-flex;gap:7px;align-items:center;padding:7px 11px;border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:.6875rem;letter-spacing:1.8px}.construction-badge svg{width:13px;height:13px}.construction-icon{display:grid;place-items:center;width:84px;height:88px;border-radius:24px;margin:34px auto 28px;background:var(--soft);border:1px solid color-mix(in srgb,var(--accent) 25%,var(--line));color:var(--accent)}.construction-icon svg{width:39px;height:39px;stroke-width:1.5}.focus-construction>.eyebrow{color:var(--accent)}.focus-construction h1{font-size:clamp(2rem,4vw,3rem);margin:13px 0 19px;line-height:1.15}.focus-construction>p:not(.eyebrow){max-width:420px;margin:auto;font-size:1rem;line-height:1.7}.focus-blueprints{display:flex;justify-content:center;gap:22px;margin:28px 0 30px}.focus-blueprints>div{display:flex;flex-direction:column;gap:9px;align-items:center;max-width:140px}.focus-blueprints svg{color:var(--accent);width:23px;height:23px}.focus-blueprints span{font-size:.8125rem;color:var(--muted)}.focus-construction>.btn{min-width:180px}.focus-construction>small{display:block;margin-top:17px;font-size:.8125rem;color:var(--muted)}.preview-banner{display:flex;align-items:center;gap:10px;padding:13px 17px;margin-bottom:25px;background:var(--soft);border:1px dashed var(--accent);border-radius:12px;font-size:.875rem}.preview-banner .text-btn{margin-left:auto;flex:none}.calendar-connect-head{display:flex;gap:14px;align-items:center;margin-bottom:20px}.calendar-connect-head>svg{width:42px;height:42px;background:var(--soft);padding:10px;border-radius:12px;color:var(--accent)}.integration-option{border-top:1px solid var(--line);padding:21px 0}.integration-option p{margin:9px 0 15px;font-size:.9375rem;line-height:1.6}.integration-option h3{font-size:1.0625rem}.coming-integration{display:flex;gap:12px;background:var(--bg);padding:13px;border-radius:12px;margin-top:12px}.coming-integration svg{margin-top:3px;color:var(--accent)}.coming-integration p{margin:0;font-size:.875rem}.calendar-review{border:1px solid var(--line);border-radius:12px;padding:14px;margin:15px 0}.calendar-review ul{padding-left:22px;font-size:.875rem;color:var(--muted)}
@keyframes check-pop{50%{transform:scale(1.12)}100%{transform:scale(1)}}
@media(max-width:1150px){.area-shortcut{grid-template-columns:32px 1fr;padding:16px;gap:9px}.area-shortcut>span:last-of-type{grid-column:2}.area-shortcut .progress-line{grid-column:1/-1}.routine-layout{grid-template-columns:1fr}.activity-bank{display:block}.bank-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.activity-bank>.btn{width:auto}.day-pulse{padding:26px}}
@media(max-width:950px){.nav-beta{display:none}.today-columns{grid-template-columns:1fr}.today-habits .panel-body{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.habit-glance{flex-wrap:wrap;border:0;align-items:flex-start}.habit-glance-icon{display:none}.task-filterbar{align-items:flex-start;flex-direction:column;gap:0}.compact-filters{padding:8px 0 12px}.theme-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.main{padding:19px 17px 100px}.topbar{margin-bottom:25px;padding-bottom:0}.topbar .brand{font-size:1.5rem}.top-actions .btn{min-height:36px;padding:7px 9px;font-size:.75rem}.top-actions .icon-btn{width:35px;min-width:35px;min-height:35px}.nav button.active{box-shadow:none}.nav button>span,.nav button[data-view=focus]>span{font-size:.6875rem}.nav button{min-height:54px;gap:5px}.today-heading{align-items:flex-end;margin-bottom:20px;gap:12px}.today-heading h1{font-size:1.65rem;letter-spacing:-.7px}.today-heading .eyebrow{font-size:.6875rem;letter-spacing:.8px;line-height:1.6}.today-heading>.btn{font-size:.8125rem;padding:10px;min-width:94px}.today-heading>.btn svg{width:16px}.day-pulse{padding:21px 18px;border-radius:20px;gap:17px;margin-bottom:14px}.pulse-copy>.eyebrow{font-size:.625rem;letter-spacing:1px}.pulse-copy h2{font-size:1.15rem;margin:8px 0}.pulse-goal{font-size:.8125rem;gap:6px;margin:12px 0;line-height:1.5}.pulse-goal svg{width:14px;flex:none}.pulse-copy>.small{font-size:.75rem}.progress-orbit{width:89px;height:89px;padding:5px}.progress-orbit>div{border-width:4px}.progress-orbit strong{font-size:1.5rem}.progress-orbit strong small{font-size:.75rem}.progress-orbit span{font-size:.6875rem}.area-shortcuts{gap:9px;margin-bottom:20px}.area-shortcut{grid-template-columns:1fr;gap:7px;padding:14px 12px;border-radius:15px}.area-shortcut .shortcut-icon{width:30px;height:30px;border-radius:9px}.shortcut-icon svg{width:17px;height:17px}.area-shortcut b{font-size:.8125rem}.area-shortcut>span:last-of-type{grid-column:1;font-size:1.125rem}.area-shortcut>span small{font-size:.75rem}.today-columns{gap:17px}.today-habits .panel-body{display:block}.habit-glance{flex-wrap:nowrap;border-bottom:1px solid var(--line);align-items:center;padding:15px 0}.habit-glance-icon{display:grid}.habit-glance b{font-size:.9375rem}.panel-head h2{font-size:1rem;letter-spacing:-.2px}.panel-head .text-btn{font-size:.8125rem;white-space:nowrap}.task-title{font-size:.9375rem}.task-row .task-meta{gap:5px}.task-list{padding:0 18px}.task-row .icon-btn{width:32px;min-width:32px}.task-row .pill{font-size:.6875rem;padding:3px 7px}.today-columns .task-row{gap:11px}.task-filterbar{padding:0 18px}.task-filterbar .tabs{gap:20px}.date-toolbar .flex{gap:4px}.date-toolbar input{max-width:165px;font-size:.875rem}.date-toolbar .icon-btn{min-width:30px;width:30px}.routine-toolbar{flex-wrap:wrap;gap:10px}.routine-toolbar .week-nav{gap:3px}.routine-toolbar .week-nav b{min-width:120px;font-size:.8125rem}.view-toggle button{padding:5px 11px;font-size:.8125rem}.bank-list{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-bank{padding:16px}.calendar-wrap{max-height:65dvh}.day-view .calendar{min-width:0}.calendar-head,.calendar-hour{grid-template-columns:48px repeat(var(--calendar-days,7),minmax(0,1fr))}.hour-label{font-size:.6875rem}.day-view .event b{font-size:.875rem}.day-view .event-content{max-width:calc(100% - 20px)}.event-move{width:28px;height:27px;opacity:.85}.event.compact .event-move{display:none}.routine-tip{font-size:.8125rem}.greeting>.flex{flex-wrap:wrap;width:100%;gap:9px;margin-top:7px}.greeting>.flex .btn{font-size:.8125rem}.icon-setting{gap:16px;align-items:flex-start}.icon-setting img{width:64px;height:64px;border-radius:17px}.icon-setting .small{font-size:.8125rem}.icon-setting .btn{font-size:.8125rem}.priority-picker{gap:5px}.priority-picker label>span{font-size:.8125rem;gap:5px;padding:10px 4px}.activity-color-picker{gap:17px}.focus-construction{padding:24px 19px 31px;margin:0}.focus-construction h1{font-size:2rem}.focus-construction>p:not(.eyebrow){font-size:.9375rem}.focus-blueprints{gap:15px}.focus-blueprints span{font-size:.75rem}.preview-banner{flex-wrap:wrap;gap:8px}.preview-banner>span{flex:1}.preview-banner .text-btn{margin-left:30px}.modal-body{padding:13px 18px 22px}.modal-head{padding:18px}.modal-head h2{font-size:1.15rem;overflow-wrap:anywhere}.modal-actions .btn{padding:10px 12px}.modal-secondary .btn{font-size:.8125rem}.theme-option>span{font-size:.875rem}}
@media(max-width:370px){.today-heading{flex-wrap:wrap}.today-heading>.btn{margin-left:auto}.day-pulse{gap:11px;padding:18px 14px}.progress-orbit{width:73px;height:73px}.pulse-copy h2{font-size:1.0625rem}.area-shortcut{padding:12px 10px}.priority-picker{flex-wrap:wrap}.priority-picker label{flex:1 0 40%}.activity-color-picker{gap:13px}}

.upload-image{position:relative}.upload-image input{display:block;position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}

.event.short .event-move{display:none}.event.short .event-meta{display:none}

.app-version{color:var(--muted);font-size:.75rem;margin-top:24px;text-align:center}

/* v1.5.1: concise welcome and a dedicated reminder panel. */
.welcome-screen .onboarding-center{width:min(420px,100%);padding:24px 0 32px}.welcome-screen h1{font-size:2rem;letter-spacing:-.8px;margin:0 0 20px;line-height:1.2}.welcome-screen .welcome-goal{font-family:'DM Sans',sans-serif;font-size:1.125rem;line-height:1.55;margin:0 0 22px;padding:18px 21px;background:var(--surface);border:1px solid var(--line);border-radius:16px;text-align:left;max-height:40dvh;overflow:auto}.welcome-screen .welcome-goal>span{display:block;font-size:.8125rem;color:var(--muted);margin-bottom:6px}.welcome-screen .onboarding-center>.btn{min-width:180px}.welcome-screen .onboarding-foot{margin-top:20px}.reminders-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:3px 0 14px}.reminders-heading>span{font-weight:600;font-size:.9375rem}.reminder-list{max-height:35dvh;overflow:auto;margin-bottom:20px}.reminder-row{display:flex;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.reminder-row:last-child{border:0}.reminder-time{display:flex;align-items:center;gap:6px;min-width:85px;font-size:.8125rem;color:var(--muted);white-space:nowrap}.reminder-time svg{width:15px;height:15px}.reminder-name{flex:1;min-width:0;text-align:left;font-size:.9375rem;overflow-wrap:anywhere;padding:5px 0}.reminder-name:hover{color:var(--accent)}.reminder-device{border:1px solid var(--line);border-radius:13px;background:var(--bg);padding:16px;margin:16px 0}.reminder-device>div{display:flex;gap:9px;align-items:center}.reminder-device>div>svg{width:17px;height:17px;color:var(--accent)}.reminder-device h3{font-size:.9375rem;letter-spacing:0}.reminder-device p{font-size:.875rem;line-height:1.6;margin:9px 0 0}.reminder-device .btn{margin-top:13px}.reminders-empty{text-align:center;padding:22px 10px}.reminders-empty>svg{color:var(--accent);width:29px;height:29px;margin-bottom:8px}.reminders-empty p{font-size:.9375rem;color:var(--text);margin-bottom:6px}.reminders-empty small{font-size:.8125rem}
@media(max-width:720px){.welcome-screen{padding:22px 20px}.welcome-screen h1{font-size:1.75rem;letter-spacing:-.5px;margin-bottom:17px}.welcome-screen .welcome-goal{font-size:1rem;padding:16px 18px;margin-bottom:18px}.welcome-screen .onboarding-center{padding:18px 0 24px}.welcome-screen .onboarding-foot{font-size:.75rem}.reminder-row{gap:9px}.reminder-time{min-width:64px}.reminder-time svg{display:none}}

/* A persistent reset confirmation stays inside the dialog’s top layer. */
.reset-intro,.reset-confirmation{text-align:center}.reset-intro p,.reset-confirmation>p{font-size:1rem;line-height:1.6;color:var(--muted)}
.reset-symbol{display:inline-flex;align-items:center;justify-content:center;width:3.75rem;height:3.75rem;border:1px solid var(--line);border-radius:1.125rem;background:var(--soft);color:var(--accent);margin:0 auto .75rem}.reset-symbol svg{width:1.75rem;height:1.75rem}
.reset-address{display:block;font-size:1rem;overflow-wrap:anywhere;margin:.75rem 0 1.25rem}.reset-hint{display:flex;align-items:flex-start;gap:.75rem;background:var(--soft);border:1px solid var(--line);border-radius:1rem;padding:1rem;text-align:left;margin:1rem 0}.reset-hint>svg{flex:none;width:1.25rem;height:1.25rem;color:var(--accent);margin-top:.2rem}.reset-hint p{margin:0;font-size:1rem;line-height:1.55;color:var(--text)}
.reset-back{display:block;margin:1.125rem auto 0;text-align:center;min-height:2.75rem}.reset-confirmation:focus{outline:none}.reset-confirmation .small{font-size:.875rem;margin-bottom:1.5rem}.reset-intro{margin-bottom:1.25rem}#reset-email-form[aria-busy=true] [type=submit]{opacity:.65;cursor:wait}

/* The same closed padlock + check throughout the brand, with a transparent cutout. */
.brand{gap:7px;letter-spacing:normal}.brand-type{display:flex;align-items:center}.brand .brand-wordmark{display:block;width:4em;height:auto;fill:currentColor;stroke:none;flex:none}.brand-symbol{background:transparent;color:var(--accent);border-radius:0;width:34px;height:41px}.brand-symbol .brand-mark,.mobile-brand .brand-symbol .brand-mark{width:100%;height:100%;stroke:none;fill:none}.large-lock{background:transparent;color:var(--accent);box-shadow:none;border-radius:0}.large-lock .brand-mark{width:100%;height:100%;stroke:none;fill:none}
@media(max-width:500px){.entry-header .brand-symbol{width:29px;height:35px}}

/* The wordmark is outlined: theme and device fonts cannot change its spacing. */
[data-theme=gamer] .brand-symbol{box-shadow:none}

/* Secondary features live in Menu, leaving the daily planner focused. */
.mobile-menu{display:none}.menu-layout{max-width:880px;display:grid;gap:22px}.menu-panel{padding:26px}.menu-section-head{display:flex;gap:15px;align-items:flex-start}.menu-section-head>div{flex:1}.menu-section-head h2,.menu-panel>h2{font-size:1.1rem;margin:0 0 8px}.menu-section-head p{margin:0;line-height:1.6}.menu-section-icon,.menu-option-icon{display:grid;place-items:center;flex:none;background:var(--soft);color:var(--accent);width:42px;height:42px;border-radius:13px}.menu-options{margin-top:18px}.menu-option{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:18px 0;border:0;border-top:1px solid var(--line);background:none;color:var(--text);cursor:pointer}.menu-option>span:nth-child(2){flex:1;min-width:0}.menu-option b,.menu-option small{display:block}.menu-option b{font-size:1rem;margin-bottom:5px}.menu-option small{color:var(--muted);line-height:1.5}.menu-option>svg{width:18px;color:var(--muted)}.menu-option:hover b{color:var(--accent)}.menu-footnote{padding-top:15px;border-top:1px solid var(--line);line-height:1.6}.task-activity{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;gap:5px}.task-link-info{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px}
.activity-tasks{border:1px solid var(--line);border-radius:16px;background:var(--bg);padding:18px;margin:24px 0}.activity-tasks-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.activity-tasks h3{display:flex;align-items:center;gap:8px;font-size:1rem;margin:0}.activity-tasks h3 svg{width:19px;color:var(--accent)}.activity-tasks>p.small{line-height:1.6;margin:10px 0}.activity-task-day{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.875rem;color:var(--muted);margin:16px 0}.activity-tasks input{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:9px;padding:11px;min-width:0;font:inherit;font-size:1rem;max-width:100%;box-sizing:border-box}.activity-task-day input{width:170px}.activity-task-row{display:flex;align-items:center;gap:13px;padding:13px 0;border-top:1px solid var(--line)}.activity-task-row>span{flex:1;min-width:0}.activity-task-row b{display:block;font-size:.9375rem;font-weight:500;overflow-wrap:anywhere;line-height:1.5}.activity-task-row small{display:block;color:var(--muted);font-size:.75rem;margin-top:4px}.activity-task-row.completed b{text-decoration:line-through;color:var(--muted)}.activity-task-row .check{flex:none}.activity-task-row>.icon-btn{color:var(--muted);flex:none}.activity-task-other{margin:12px 0}.activity-task-other summary{cursor:pointer;color:var(--muted);font-size:.875rem;padding:8px 0}.activity-task-empty{font-size:.875rem;color:var(--muted);padding:12px 0;line-height:1.6}.activity-task-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}.activity-task-actions .btn{background:var(--surface)}.task-picker,.activity-task-new{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.task-picker>label,.activity-task-new>label{display:block;font-size:.875rem;margin-bottom:9px}.task-picker>input,.activity-task-new>input{width:100%}.task-picker>.small{line-height:1.5}.task-picker [data-task-choices]{max-height:240px;overflow:auto}.task-choice{display:flex;align-items:center;gap:12px;text-align:left;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:12px;margin:7px 0;width:100%;cursor:pointer}.task-choice>span{flex:1;min-width:0}.task-choice b{display:block;font-size:.875rem;overflow-wrap:anywhere}.task-choice small{display:block;font-size:.75rem;color:var(--muted);margin-top:5px}.task-choice>svg{flex:none;width:18px;color:var(--accent)}.task-choice:disabled{cursor:default;opacity:.55}.activity-task-new-row{display:flex;align-items:flex-end;gap:10px;justify-content:space-between;margin-top:12px}.activity-task-new-row label{display:grid;gap:7px;font-size:.875rem;min-width:0}.activity-task-new-row .btn{flex:none}.activity-tasks [data-task-status]:empty{display:none}.activity-tasks [data-task-status]{overflow-wrap:anywhere;color:var(--accent)}
@media(max-width:720px){.nav button[data-view=menu]{display:none}.top-actions .mobile-menu{display:grid;width:42px;min-width:42px;min-height:42px}.mobile-menu[aria-current]{background:var(--soft);color:var(--accent)}.menu-panel{padding:20px 17px}.menu-section-head{gap:10px}.menu-section-icon{display:none}.menu-option{gap:12px}.menu-option small{font-size:.8125rem}.activity-tasks{padding:14px}.activity-task-actions .btn{flex:1;font-size:.8125rem;padding:9px}.activity-task-new-row{flex-wrap:wrap}.activity-task-new-row input{max-width:180px}}

@media(min-width:721px){.sidebar{overflow-y:auto}.sidebar>.brand,.sidebar>.nav{flex-shrink:0}}

.sync-export-option{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}

/* Quiet, theme-aware scrollbars. Keep platform controls in high-contrast mode. */
@media (forced-colors: none) {
 :root {--scroll-thumb:color-mix(in srgb,var(--muted) 85%,var(--surface));}
 @supports not selector(::-webkit-scrollbar) {
  * {scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent;}
 }
 ::-webkit-scrollbar {width:8px;height:8px;background:transparent;}
 ::-webkit-scrollbar-track {background:transparent;}
 ::-webkit-scrollbar-thumb {background-color:var(--scroll-thumb);background-clip:padding-box;border:1px solid transparent;border-radius:999px;min-height:32px;min-width:32px;}
 ::-webkit-scrollbar-thumb:hover,::-webkit-scrollbar-thumb:active {background-color:var(--muted);}
 ::-webkit-scrollbar-button {display:none;width:0;height:0;}
 ::-webkit-scrollbar-corner {background:transparent;}
}

.google-signin{min-height:46px;background:#fff!important;color:#1f1f1f!important;border:1px solid #747775!important;gap:12px;font-weight:600}.google-signin svg{width:20px;height:20px;flex:none;stroke:none}.google-signin:hover{background:#f2f4f7!important}.google-signin:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.google-signin[disabled]{opacity:.65;cursor:wait}
