:root{--background:#f6f8fb;--surface:#fff;--surface-muted:#eef2f7;--surface-strong:#172033;--surface-strong-hover:#2563eb;--text:#172033;--text-muted:#687386;--line:#dce3ec;--line-strong:#c7d1de;--blue:#2563eb;--green:#16845b;--amber:#b7791f;--coral:#d14c3a;--violet:#7756c9;--ink:#304154;--focus:#2563eb33;--shadow:0 18px 50px #17203317;--shadow-soft:0 10px 34px #1720330d;--nav-bg:#fbfcfef0;--soft-surface:#fbfcfe;--done-bg:#d8f7e5;--done-line:#6ed09a;--danger-surface:#fff7f5;--danger-line:#f1c2ba;--danger-text:#8a1f15;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--background:#10151f;--surface:#172033;--surface-muted:#222c3d;--surface-strong:#2563eb;--surface-strong-hover:#1d4ed8;--text:#eef3fb;--text-muted:#aab5c6;--line:#2c384c;--line-strong:#3a4860;--focus:#7da5ff47;--shadow:0 18px 50px #00000059;--shadow-soft:0 10px 34px #00000047;--nav-bg:#10151ff0;--soft-surface:#141b29;--done-bg:#183629;--done-line:#267a58;--danger-surface:#351a18;--danger-line:#7b332b;--danger-text:#ffb4aa;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{min-height:100%}body{background:var(--background);color:var(--text);flex-direction:column;min-height:100vh;margin:0;display:flex}body,button,input,select,textarea{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{border:0}button:not(:disabled){cursor:pointer}input,select,textarea{background:var(--surface);border:1px solid var(--line);color:var(--text);resize:none;border-radius:8px;outline:none;width:100%;padding:11px 12px}select{min-height:42px}input:focus,select:focus,textarea:focus,button:focus-visible,.goal-card-button:focus-visible,.landing-button:focus-visible,.navigation-brand:focus-visible,.navigation-link:focus-visible,.navigation-menu-toggle:focus-visible,.settings-logout:focus-visible,.settings-toggle:focus-visible{box-shadow:0 0 0 4px var(--focus);outline:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}textarea{line-height:1.45}.auto-grow-textarea{overflow:hidden}.app-navigation{background:var(--nav-bg);border-bottom:1px solid var(--line);z-index:40;justify-content:space-between;align-items:center;gap:18px;min-height:64px;padding:10px 28px;display:flex;position:sticky;top:0}.navigation-brand,.navigation-link{color:var(--text);align-items:center;text-decoration:none;display:inline-flex}.navigation-brand{flex:none;gap:10px;font-weight:850}.navigation-brand-mark{background:var(--surface-strong);color:#fff;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.navigation-links{justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.navigation-menu-toggle{background:var(--surface);border:1px solid var(--line);color:var(--text);border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;display:none}.navigation-link{color:var(--text-muted);border-radius:8px;gap:7px;min-width:0;min-height:38px;padding:0 12px;font-size:.9rem;font-weight:800}.navigation-link:hover,.navigation-link[aria-current=page]{background:var(--surface-muted);color:var(--text)}.navigation-link span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.app-shell{flex:1;min-height:0}.app-footer{background:var(--soft-surface);border-top:1px solid var(--line);color:var(--text-muted);justify-content:space-between;align-items:center;gap:18px;min-height:64px;padding:14px 28px;font-size:.86rem;font-weight:700;display:flex}.app-footer nav{align-items:center;gap:14px;display:flex}.app-footer a{color:var(--text-muted);text-decoration:none}.app-footer a:hover,.app-footer a:focus-visible{color:var(--text)}.detail-shell{min-height:calc(100vh - 128px)}.landing-shell,.create-page-shell{min-height:calc(100vh - 128px);padding:28px}.legal-page{padding:42px 28px 56px}.settings-page{gap:18px;padding:42px 28px 56px;display:grid}.settings-page-header{justify-content:space-between;align-items:center;gap:16px;width:100%;max-width:640px;margin:0 auto;display:flex}.legal-content{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-soft);border-radius:8px;max-width:760px;margin:0 auto;padding:28px}.settings-panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-soft);border-radius:8px;gap:14px;width:100%;max-width:640px;margin:0 auto;padding:16px;display:grid}.settings-page>.category-manager{width:100%;max-width:640px;margin:0 auto}.settings-error{color:#b42318;width:100%;max-width:640px;margin:0 auto;font-size:.9rem}.settings-toggle{background:var(--surface-muted);border:1px solid var(--line);color:var(--text);text-align:left;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:56px;padding:0 16px;display:grid}.settings-toggle strong{color:var(--text-muted)}.settings-choice{background:var(--surface-muted);border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(190px,auto);align-items:center;gap:16px;padding:14px 16px;display:grid}.settings-choice>span{gap:4px;display:grid}.settings-choice small{color:var(--text-muted);line-height:1.4}.settings-choice select{width:100%}.settings-logout{background:var(--surface);border:1px solid var(--line);color:var(--danger-text);border-radius:8px;justify-content:center;align-items:center;gap:9px;min-height:44px;padding:0 16px;font-weight:800;display:inline-flex}.settings-logout:hover{background:var(--danger-surface);border-color:var(--danger-line)}.legal-content h1{margin-bottom:20px}.legal-content h2{margin:28px 0 10px;font-size:1.12rem}.changelog-content{max-width:860px}.changelog-list{gap:24px;margin-top:30px;display:grid}.changelog-entry{border-top:1px solid var(--line);padding-top:22px}.changelog-entry-header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.changelog-entry-header h2{margin:6px 0 0}.changelog-entry-header>span,.changelog-commit{color:var(--text-muted);font-size:.84rem;font-weight:750}.changelog-version{color:var(--blue);font-size:.86rem;font-weight:850}.changelog-entry ul{color:var(--text-muted);margin:14px 0 0;padding-left:20px;line-height:1.55}.changelog-entry li+li{margin-top:7px}.legal-content p{color:var(--text-muted);margin-bottom:0;line-height:1.6}.legal-content code{background:var(--surface-muted);color:var(--text);border-radius:6px;padding:2px 5px}.landing-shell{justify-content:center;align-items:flex-start;padding-top:38vh;display:flex}.landing-card{text-align:center;place-items:center;gap:18px;display:grid}.landing-button{background:var(--surface-strong);color:#fff;border-radius:999px;justify-content:center;align-items:center;gap:9px;min-height:48px;padding:0 22px;font-weight:800;text-decoration:none;display:inline-flex}.create-page-shell{justify-content:center;align-items:center;display:flex}.create-page-card{background:var(--soft-surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;width:min(100%,430px);max-width:430px;padding:28px}.overview-layout{grid-template-columns:minmax(290px,380px) minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--soft-surface);border-right:1px solid var(--line);padding:28px}.brand,.section-heading,.overview-header,.goal-card-top,.goal-card-meta,.detail-toolbar,.toolbar-title,.toolbar-progress,.palette-heading,.summary-pill,.task-node,.goal-node,.start-node{align-items:center;display:flex}.brand{gap:13px}.brand-mark,.goal-card-icon,.node-icon,.palette-icon{flex:none;justify-content:center;align-items:center;display:inline-flex}.brand-mark{background:var(--surface-strong);color:#fff;border-radius:8px;width:42px;height:42px}.eyebrow{color:var(--text-muted);letter-spacing:0;text-transform:uppercase;margin:0 0 4px;font-size:.75rem;font-weight:750}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(1.45rem,2vw,2rem);line-height:1.05}h2{margin-bottom:0;font-size:1.6rem;line-height:1.12}h3{margin-bottom:8px;font-size:1rem;line-height:1.25}.create-section{border-top:1px solid var(--line);margin-top:28px;padding-top:24px}.section-heading{gap:9px;margin-bottom:16px}.section-heading h2{font-size:1.05rem}label{color:var(--text-muted);gap:8px;margin-bottom:14px;font-size:.82rem;font-weight:700;display:grid}.primary-button,.ghost-button,.danger-button,.icon-button,.status-button{border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.primary-button,.ghost-button,.danger-button{gap:8px;min-height:42px;padding:0 15px}.primary-button{background:var(--surface-strong);color:#fff;width:100%;font-weight:750}.primary-button:not(:disabled):hover{background:var(--surface-strong-hover)}.primary-button:disabled{cursor:not-allowed;opacity:.45}.danger-button{color:#fff;background:#b42318;font-weight:750}.ghost-button{background:var(--surface);border:1px solid var(--line);color:var(--text);font-weight:700}.ghost-button:disabled,.icon-button:disabled,.status-button:disabled{cursor:not-allowed;opacity:.45}.status-button:disabled{color:#fff;-webkit-text-fill-color:#fff}.icon-button{color:var(--text-muted);background:0 0;width:34px;height:34px}.icon-button:hover,.status-button:hover{background:var(--surface-muted);color:var(--text)}.icon-button.subtle{color:#8a4a43}.icon-button.danger{color:#b42318}.overview-content{padding:32px}.home-overview{min-height:calc(100vh - 128px)}@media (min-width:721px){.home-overview.has-goals{padding-left:clamp(160px,22vw,360px);padding-right:clamp(160px,22vw,360px)}}.overview-header{justify-content:space-between;margin-bottom:24px}.summary-pill{background:var(--surface);border:1px solid var(--line);color:var(--text-muted);border-radius:999px;gap:8px;min-height:36px;padding:0 13px;font-size:.9rem;font-weight:750}.summary-pill.compact{min-height:32px}.category-manager{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-soft);border-radius:8px;gap:14px;margin-bottom:28px;padding:16px;display:grid}.settings-section-heading{align-items:center;gap:10px;display:flex}.settings-section-heading h2{font-size:1rem}.category-manager-description{color:var(--text-muted);margin:-4px 0 2px;font-size:.9rem;line-height:1.45}.settings-section-mark,.category-row-icon{background:var(--surface-muted);color:var(--blue);border-radius:8px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.category-create-form{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.category-create-button{width:auto;min-width:118px}.category-manager-list{gap:8px;display:grid}.category-manager-row{background:var(--soft-surface);border:1px solid var(--line);border-radius:8px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.category-manager-row input{background:0 0;border-color:#0000;min-height:38px;padding:0;font-weight:800}.category-row-actions{gap:4px;display:flex}.goal-category-sections{gap:30px;display:grid}.goal-category-section{gap:14px;display:grid}.goal-category-heading{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.goal-category-title{flex-wrap:wrap;align-items:baseline;gap:8px 10px;min-width:0;display:flex}.goal-category-title h2,.goal-category-title h3{overflow-wrap:anywhere;font-size:1.15rem}.goal-category-title h3{margin:0}.goal-category-count{color:var(--text-muted);white-space:nowrap;font-size:.86rem;font-weight:800}.goal-category-toggle{background:var(--surface);border:1px solid var(--line);flex:none}.goal-category-empty{color:var(--text-muted);margin:0;font-size:.92rem;font-weight:720}.routine-overview-section{gap:14px;margin-bottom:34px;display:grid}.routine-overview-category-sections{gap:24px;display:grid}.routine-overview-category-section{gap:12px;display:grid}.routine-overview-goal-sections{gap:18px;display:grid}.routine-overview-goal-section{gap:10px;display:grid}.routine-overview-goal-heading{align-items:baseline;gap:8px;min-width:0;display:flex}.routine-overview-goal-heading a{color:inherit;min-width:0;text-decoration:none}.routine-overview-goal-heading h3{color:var(--text);overflow-wrap:anywhere;margin:0;font-size:.98rem;line-height:1.25}.routine-overview-list{gap:12px;display:grid}.routine-overview-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-soft);color:inherit;border-radius:8px;grid-template-columns:38px minmax(0,1fr);align-items:start;gap:12px;min-height:124px;padding:12px;transition:border-color .16s,transform .16s,box-shadow .16s;display:grid}.routine-overview-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow);transform:translateY(-1px)}.routine-overview-icon{color:var(--blue);background:#e8f0ff;border-radius:8px;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.routine-overview-copy{gap:2px;min-width:0;display:grid}.routine-overview-link{color:inherit;min-width:0;text-decoration:none}.routine-overview-copy h2{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:.98rem;line-height:1.25;display:-webkit-box;overflow:hidden}.routine-overview-copy p{color:var(--text-muted);-webkit-line-clamp:3;overflow-wrap:anywhere;white-space:pre-line;-webkit-box-orient:vertical;margin:4px 0 0;font-size:.84rem;line-height:1.4;display:-webkit-box;overflow:hidden}.routine-overview-empty{color:var(--text-muted);margin:0;font-size:.86rem;font-weight:760}.routine-overview-meta{flex-flow:wrap;grid-column:1/-1;align-items:flex-start;gap:6px;display:flex}.routine-overview-meta span{background:var(--surface-muted);color:var(--text-muted);white-space:nowrap;border-radius:999px;padding:7px 9px;font-size:.76rem;font-weight:850;line-height:1}.routine-overview-meta span[data-state=done]{background:var(--done-bg);color:var(--green)}.routine-overview-meta span[data-state=open]{color:var(--amber);background:#f59e0b21}.routine-overview-actions{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:6px;display:flex}.routine-overview-check-button{background:var(--surface-muted);border:1px solid var(--line);color:var(--text-muted);white-space:nowrap;border-radius:8px;flex:132px;justify-content:center;align-items:center;gap:6px;min-height:36px;padding:0 10px;font-size:.82rem;font-weight:850;display:inline-flex}.routine-overview-check-button[data-checked=true]{background:var(--done-bg);border-color:var(--done-line);color:var(--green)}.routine-overview-check-button:disabled{cursor:not-allowed;opacity:.62}.routine-overview-note-toggle[data-has-note=true],.routine-overview-note-toggle[data-open=true]{color:var(--blue)}.routine-overview-skeleton{pointer-events:none;grid-template-columns:38px minmax(0,1fr)}@media (min-width:981px){.routine-overview-list{grid-template-columns:repeat(3,minmax(0,1fr))}}.goal-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.goal-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-soft);border-radius:8px;min-height:214px;padding:18px;transition:border-color .16s,transform .16s,box-shadow .16s;position:relative}.goal-card-button{color:inherit;text-align:left;width:100%;text-decoration:none;display:block}.goal-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow);transform:translateY(-2px)}.goal-card-skeleton{pointer-events:none;gap:13px;display:grid}.skeleton-icon,.skeleton-line,.skeleton-pill{background:linear-gradient(90deg, var(--surface-muted), var(--line), var(--surface-muted));background-size:220% 100%;animation:1.35s ease-in-out infinite skeleton-pulse}.skeleton-icon{border-radius:8px;width:40px;height:40px}.skeleton-line{border-radius:999px;width:100%;height:12px}.skeleton-line.title{width:68%;height:18px;margin-top:8px}.skeleton-line.short{width:52%}.skeleton-pill{border-radius:999px;width:118px;height:28px;margin-top:8px}.goal-detail-skeleton-node{pointer-events:none}.goal-detail-skeleton-fields{gap:10px;display:grid}.goal-detail-skeleton-panel{pointer-events:none}.goal-detail-skeleton-preview:hover{background:var(--surface);border-color:var(--line)}.goal-detail-skeleton-preview span{gap:10px;width:100%;display:grid}@keyframes skeleton-pulse{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.skeleton-icon,.skeleton-line,.skeleton-pill{animation:none}}.goal-card-top{justify-content:space-between;margin-bottom:18px}.goal-card[data-can-reorder=true] .goal-card-top{padding-right:80px}.goal-card[data-completed=true]{background:linear-gradient(180deg, var(--surface), var(--done-bg));border-color:var(--done-line)}.goal-card-icon{color:var(--blue);background:#e8f0ff;border-radius:8px;width:40px;height:40px}.goal-card[data-completed=true] .goal-card-icon{background:var(--done-bg);color:var(--green)}.goal-card-status,.completion-pill,.completed-goal-label{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;font-size:.76rem;font-weight:850;line-height:1;display:inline-flex}.goal-card-status{background:var(--done-bg);border:1px solid var(--done-line);color:var(--green);padding:7px 9px}.goal-card h3{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;line-height:1.25;display:-webkit-box;overflow:hidden}.goal-card p{-webkit-line-clamp:2;color:var(--text-muted);-webkit-box-orient:vertical;min-height:42px;font-size:.93rem;line-height:1.45;display:-webkit-box;overflow:hidden}.goal-card-meta{color:var(--text-muted);gap:14px;margin:18px 0 12px}.goal-card-meta span{align-items:center;gap:6px;display:inline-flex}.goal-card-daily-status{color:var(--text-muted);align-items:flex-start;gap:6px;max-width:100%;font-size:.86rem;font-weight:760;line-height:1.35;display:inline-flex}.goal-card-daily-status[data-state=done]{color:var(--green)}.goal-card-daily-status[data-state=open]{color:var(--amber)}.goal-card-daily-status svg{flex:none;margin-top:1px}.goal-card-daily-status span{min-width:0}.goal-order-actions{gap:4px;display:flex;position:absolute;top:14px;right:14px}.completed-goals-section{gap:14px;margin-top:34px;display:grid}.completed-goal-category-sections{gap:18px}.card-progress,.progress-track{background:var(--surface-muted);border-radius:999px;overflow:hidden}.card-progress{height:7px}.card-progress div,.progress-fill{background:var(--green);height:100%}.empty-overview{border:1px dashed var(--line-strong);color:var(--text-muted);border-radius:8px;place-items:center;min-height:320px;padding:32px;display:grid}.compact-empty-overview{min-height:220px}.empty-overview h3{color:var(--text);margin:14px 0 0}.empty-overview-action{margin-top:18px}.auth-panel{gap:18px;width:100%;max-width:420px;margin:0 auto;display:grid}.auth-panel h1{color:var(--text);font-size:clamp(2rem,7vw,3.4rem);line-height:1}.auth-form{gap:14px;display:grid}.auth-form label{color:var(--text-muted);gap:7px;font-size:.88rem;display:grid}.auth-form input{background:var(--surface);border:1px solid var(--line);color:var(--text);border-radius:8px;min-height:46px;padding:0 14px}.auth-error{color:#b42318;font-size:.9rem}.auth-hint{color:var(--text-muted);font-size:.82rem}.detail-shell{grid-template:"toolbar""builder"minmax(0,1fr)/1fr;display:grid}.detail-toolbar{background:var(--nav-bg);border-bottom:1px solid var(--line);z-index:20;grid-area:toolbar;justify-content:space-between;gap:18px;padding:16px 24px;position:sticky;top:0}.toolbar-title{color:var(--text);flex:1;gap:9px;min-width:0;font-weight:800}.toolbar-title>span:not(.completion-pill){text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.completion-pill{background:var(--done-bg);border:1px solid var(--done-line);color:var(--green);flex:none;padding:7px 9px}.toolbar-progress{color:var(--text-muted);gap:10px;font-size:.87rem;font-weight:800}.progress-track{width:110px;height:8px}.builder-stage{grid-area:builder;padding:28px 24px 36px;overflow:auto}.daily-tracker{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-soft);border-radius:8px;gap:14px;margin-top:22px;padding:16px;display:grid}.daily-tracker[data-enabled=false]{grid-template-columns:minmax(0,1fr) auto;align-items:center}.daily-tracker-header{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.daily-tracker-heading{align-items:center;gap:11px;min-width:0;display:flex}.daily-tracker-heading h2{margin:0;font-size:1.02rem}.daily-tracker-heading small{color:var(--text-muted);margin-top:3px;font-size:.8rem;font-weight:750;display:block}.daily-tracker-icon{color:var(--blue);background:#e8f0ff;border-radius:8px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.daily-task-create-toggle{background:var(--surface);border:1px solid var(--line);flex:none;display:none}.daily-task-form{grid-template-columns:minmax(0,1fr) max-content;grid-template-areas:"controls controls""copy add";gap:8px;display:grid}.daily-task-new-copy{grid-area:copy;gap:6px;min-width:0;display:grid}.daily-task-create-controls{grid-area:controls;align-items:center;gap:8px;min-width:0;display:flex}.daily-task-mode-toggle{background:var(--soft-surface);border:1px solid var(--line);border-radius:8px;height:42px;padding:3px;display:inline-flex}.daily-task-mode-toggle button{color:var(--text-muted);white-space:nowrap;background:0 0;border-radius:6px;padding:7px 9px;font-size:.82rem;font-weight:800}.daily-task-mode-toggle button[data-active=true]{background:var(--surface);color:var(--blue);box-shadow:var(--shadow-soft)}.daily-task-new-target,.daily-task-target-field{color:var(--text-muted);white-space:nowrap;align-items:center;gap:6px;font-size:.78rem;font-weight:800;display:inline-flex}.daily-task-new-target{height:42px;margin-bottom:0}.daily-task-new-target[data-visible=false]{visibility:hidden}.daily-task-target-field{margin-bottom:0}.daily-task-new-target input,.daily-task-target-field input{text-align:center;width:58px;min-height:36px;padding:7px 6px}.daily-task-add-button{grid-area:add;align-self:start;width:auto}.daily-task-list{gap:10px;display:grid}.daily-history-navigation{justify-content:flex-end;align-items:center;gap:8px;display:flex}.daily-history-navigation span{color:var(--text-muted);text-align:center;min-width:128px;font-size:.8rem;font-weight:800}.daily-task-card{background:var(--soft-surface);border:1px solid var(--line);border-radius:8px;gap:11px;padding:12px;display:grid}.daily-tracker[data-readonly=true] .daily-task-card{background:var(--surface)}.daily-task-card-header{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.daily-task-title-input{background:0 0;border-color:#0000;min-width:0;padding-left:0;font-weight:800}.daily-task-title-input:read-only{color:var(--text)}.daily-task-description-input{color:var(--text-muted);background:0 0;border-color:#0000;min-height:24px;padding:0}.daily-task-description-input:read-only{color:var(--text-muted)}.daily-task-title-group{gap:2px;min-width:0;display:grid}.daily-task-title-group small{color:var(--text-muted);font-size:.78rem;font-weight:800}.daily-task-actions{gap:4px;display:flex}.daily-check-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.daily-check-cell{gap:4px;min-width:0;display:grid}.daily-check-cell[data-has-note=true]{background:#2563eb0f;border:1px solid #2563eb2e;border-radius:8px;padding:3px}.daily-check-button{background:var(--surface);border:1px solid var(--line);color:var(--text-muted);border-radius:8px;place-items:center;gap:2px;min-width:0;min-height:58px;padding:5px 2px;display:grid}.daily-check-cell[data-note-open=true] .daily-check-button,.daily-check-button[data-today=true]{border-color:var(--blue)}.daily-check-button[data-checked=true]{color:var(--green);background:#e8f7ef;border-color:#16845b73}.daily-check-button:disabled{cursor:not-allowed}.daily-check-button[data-editable=false]:not([data-checked=true]){background:var(--soft-surface)}.daily-check-button em{color:var(--text-muted);opacity:.74;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.58rem;font-style:normal;font-weight:800;line-height:1;overflow:hidden}.daily-check-button span{text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.68rem;font-weight:800;overflow:hidden}.daily-check-button strong{font-size:.92rem}.daily-check-note-button{color:var(--text-muted);background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;min-height:26px;padding:4px;display:inline-flex}.daily-check-note-button[data-has-note=true]{color:var(--blue);background:#e8f0ff;border-color:#2563eb3d}.daily-check-note-button[data-open=true]{border-color:var(--blue)}.daily-check-note-button:disabled{cursor:not-allowed;opacity:.46}.daily-check-note-editor{border-top:1px solid var(--line);gap:8px;padding-top:10px;display:grid}.daily-check-note-editor-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.daily-check-note-editor-heading span{color:var(--text);font-size:.82rem;font-weight:850}.daily-check-note-editor-heading small{color:var(--text-muted);font-size:.78rem;font-weight:800}.daily-check-note-editor textarea{resize:vertical;min-height:78px}.daily-check-note-editor[data-readonly=true] textarea{background:var(--soft-surface);color:var(--text-muted)}.daily-check-note-close{justify-self:flex-end;width:auto}.daily-task-empty{color:var(--text-muted);margin:0;font-size:.9rem}.next-block-panel{gap:12px;margin:22px 0 0;display:grid}.next-block-button{border:1px dashed var(--line-strong);color:var(--text);background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:48px;padding:0 15px;font-weight:800;display:inline-flex}.next-block-button:hover,.next-block-preview-card:hover{background:var(--soft-surface);border-color:var(--text-muted)}.next-block-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.next-block-preview-label{color:var(--text);margin:0;font-size:.84rem;font-weight:800}.next-block-preview-card{background:var(--surface);border:1px solid var(--line);color:var(--text);text-align:left;border-radius:8px;align-items:flex-start;gap:10px;width:100%;min-height:82px;padding:12px;display:flex}.next-block-preview-card span:last-child{flex-direction:column;align-self:stretch;min-width:0;display:flex}.next-block-preview-card strong{overflow-wrap:anywhere;margin-bottom:5px;font-size:.88rem;line-height:1.2;display:block}.next-block-preview-card small,.next-block-hint{color:var(--text-muted);font-size:.78rem;line-height:1.35}.next-block-preview-card small{display:block}.next-block-preview-card .next-block-preview-action{color:var(--blue);align-items:center;gap:5px;margin-top:auto;padding-top:8px;font-weight:850;line-height:1;display:inline-flex}.next-block-preview-card .next-block-preview-action svg{display:block}.next-block-panel[data-readonly=true] .next-block-button,.next-block-panel[data-readonly=true] .next-block-preview-card:disabled{background:var(--surface);color:var(--text);cursor:default;opacity:1;border-style:solid}.next-block-panel[data-readonly=true] .next-block-button{cursor:pointer}.next-block-hint{border:1px dashed var(--line-strong);text-align:center;border-radius:8px;margin:0;padding:14px}.path-board{width:min(100%,760px);max-width:760px;margin:0 auto}.goal-node,.start-node,.task-node{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-soft);border-radius:8px;gap:14px;padding:16px}.goal-node,.start-node{border-color:#2563eb59;grid-template-columns:auto minmax(0,1fr) auto;align-items:flex-start;display:grid}.start-node{border-color:#16845b59;grid-template-columns:auto minmax(0,1fr)}.goal-node[data-completed=true]{background:var(--done-bg);border-color:var(--done-line)}.goal-node[data-completed=true] .goal-node-label,.goal-node[data-completed=true] .goal-icon{color:var(--green)}.goal-node[data-completed=true] .goal-icon{background:#e8f7ef}.goal-node-actions{grid-area:1/3;justify-content:flex-end;align-items:center;gap:6px;display:flex}.goal-completion-button{white-space:nowrap;width:auto;min-height:34px;padding:0 11px}.completed-goal-label{color:var(--green);background:#16845b1a;border:1px solid #16845b38;align-self:start;margin-bottom:4px;padding:6px 8px}.goal-node-label,.start-node-label{text-transform:uppercase;flex-direction:column;flex:none;align-items:center;gap:6px;font-size:.78rem;font-weight:850;display:inline-flex}.goal-node-label{color:var(--blue)}.start-node-label{color:var(--green)}.node-icon{border-radius:8px;width:44px;height:44px}.goal-icon{color:var(--blue);background:#e8f0ff}.start-icon{color:var(--green);background:#e8f7ef}.node-fields{flex:1;grid-area:1/2;gap:4px;min-width:0;display:grid}.node-title-input,.block-title-input,.node-textarea{border-color:#0000;padding-left:0;padding-right:0}.node-title-input,.block-title-input{padding-top:0;padding-bottom:5px;font-size:1.08rem;font-weight:800;line-height:1.25}.goal-title-textarea{overflow-wrap:anywhere;min-height:32px}.node-textarea{color:var(--text-muted);padding-top:2px;padding-bottom:0}.node-category-field{margin:6px 0 0}.node-category-field span{font-size:.76rem}.goal-node[data-completed=true] .node-title-input,.goal-node[data-completed=true] .node-textarea,.goal-node[data-completed=true] select{box-shadow:none;background:0 0;border-color:#0000}.goal-node[data-completed=true] .node-title-input{color:var(--text)}.goal-node[data-completed=true] .node-textarea,.goal-node[data-completed=true] .node-category-field span{color:var(--text-muted)}.goal-node[data-completed=true] select:disabled{-webkit-text-fill-color:var(--text);color:var(--text);opacity:1}.detail-shell[data-completed=true] .node-title-input,.detail-shell[data-completed=true] .block-title-input,.detail-shell[data-completed=true] .node-textarea,.detail-shell[data-completed=true] select,.daily-tracker[data-readonly=true] input,.daily-tracker[data-readonly=true] textarea,.palette-card[data-readonly=true] input,.palette-card[data-readonly=true] textarea{cursor:default}.goal-node[data-completed=true] .node-title-input,.goal-node[data-completed=true] .node-textarea,.goal-node[data-completed=true] select,.start-node[data-readonly=true] .node-title-input,.start-node[data-readonly=true] .node-textarea,.daily-tracker[data-readonly=true] input,.daily-tracker[data-readonly=true] textarea,.palette-card[data-readonly=true] input,.palette-card[data-readonly=true] textarea{pointer-events:none}.connector{background:var(--line-strong);width:2px;height:22px;margin:0 auto}.block-chain{display:grid}.block-chain:empty+.start-node{margin-top:22px}.task-node{position:relative}.task-node[data-done=false]{background:#f3f7ff;border-color:#2563eb94;overflow:hidden;box-shadow:0 18px 42px #2563eb26,0 0 0 3px #2563eb14}.task-node[data-done=false]:before{background:var(--blue);content:"";width:5px;position:absolute;inset:0 auto 0 0}.active-block-label{color:var(--blue);background:#e4edff;border:1px solid #2563eb40;border-radius:6px;align-self:flex-start;padding:5px 7px;font-size:.72rem;font-weight:850;line-height:1;display:inline-flex}html[data-theme=dark] .task-node[data-done=false]{background:#17243a;border-color:#7da5ff8c;box-shadow:0 18px 42px #2563eb3d,0 0 0 3px #7da5ff1c}html[data-theme=dark] .active-block-label{color:#9cbcff;background:#20345b;border-color:#7da5ff47}html[data-theme=dark] .goal-node[data-completed=true] .goal-icon{background:#183629}.palette-card:before{background:var(--blue);content:"";border-radius:999px;width:4px;position:absolute;inset:12px auto 12px 0}.task-node[data-done=true]{background:var(--done-bg);border-color:var(--done-line)}.task-node[data-done=true] .block-title-input,.task-node[data-done=true] .node-textarea{cursor:default;pointer-events:none;background:0 0;border-color:#0000}.task-node[data-done=true] .block-title-input:focus,.task-node[data-done=true] .node-textarea:focus,.task-node .block-title-input:focus,.task-node .node-textarea:focus{box-shadow:none}.status-button{color:#fff;-webkit-text-fill-color:#fff;background:#0f8f62;border:1px solid #0f8f62;flex:none;gap:7px;width:124px;min-height:38px;padding:0 12px;font-size:.86rem;font-weight:800}.status-button span,.status-button svg{color:#fff}.status-button svg{stroke:#fff}.task-node[data-done=false] .status-button{background:var(--blue);border-color:var(--blue);color:#fff}.status-button:hover{background:#0b7f57;border-color:#0b7f57}.task-node[data-done=false] .status-button:hover{background:#1d4ed8;border-color:#1d4ed8}.node-actions{flex:none;align-items:center;gap:4px;display:flex}.delete-dialog-backdrop,.routine-note-dialog-backdrop{z-index:120;background:#17203375;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.routine-note-dialog-backdrop{align-items:flex-start;padding-top:clamp(72px,9vh,112px);padding-bottom:32px;overflow:auto}.routine-note-dialog-backdrop[data-placement=center]{align-items:center;padding:18px}.delete-dialog{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);text-align:center;border-radius:8px;width:100%;max-width:420px;padding:22px;position:relative}.delete-dialog-close{position:absolute;top:12px;right:12px}.delete-dialog-icon{background:var(--danger-surface);color:var(--danger-text);border-radius:8px;justify-content:center;align-items:center;width:44px;height:44px;margin:0 auto 14px;display:flex}.delete-dialog h2{margin:0 34px 8px;font-size:1.18rem}.delete-dialog p{color:var(--text-muted);margin:0 0 18px;font-size:.92rem;line-height:1.45}.delete-dialog-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.routine-note-dialog{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;width:100%;max-width:480px;max-height:calc(100dvh - 104px);padding:22px;position:relative;overflow:auto}.routine-note-dialog-close{position:absolute;top:12px;right:12px}.routine-note-dialog-heading{grid-template-columns:44px minmax(0,1fr);align-items:center;gap:12px;padding-right:38px;display:grid}.routine-note-dialog-icon{color:var(--blue);background:#e8f0ff;border-radius:8px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.routine-note-dialog-heading h2{overflow-wrap:anywhere;margin:1px 0;font-size:1.15rem;line-height:1.25}.routine-note-dialog-heading span,.routine-note-dialog-heading small,.routine-note-dialog-field span{color:var(--text-muted);font-size:.8rem;font-weight:820}.routine-note-dialog-field{gap:8px;margin-top:18px;display:grid}.routine-note-dialog-field textarea{resize:vertical;min-height:150px}.routine-note-dialog-actions{justify-content:flex-end;gap:12px;margin-top:16px;display:flex}.routine-note-dialog-actions .ghost-button,.routine-note-dialog-actions .primary-button{width:auto}.palette-tray{-webkit-overflow-scrolling:touch;background:var(--soft-surface);overscroll-behavior:contain;max-width:none;height:100dvh;padding:28px 28px calc(48px + env(safe-area-inset-bottom));z-index:50;width:100vw;transition:transform .2s;position:fixed;inset:0;overflow:auto;transform:translate(100%)}.palette-tray[data-open=true]{transform:translate(0)}.palette-backdrop{opacity:0;pointer-events:none;z-index:45;background:#17203352;transition:opacity .18s;display:block;position:fixed;inset:0}.palette-backdrop[data-open=true]{opacity:1;pointer-events:auto}.palette-close{display:inline-flex}.palette-heading{justify-content:space-between;max-width:760px;margin:0 auto 18px}.palette-heading h2{font-size:1.18rem}.palette-row{grid-template-columns:1fr;gap:12px;max-width:760px;margin:12px auto 0;display:grid}.palette-empty,.palette-draft-card{background:var(--surface);border:1px dashed var(--line-strong);border-radius:8px;gap:14px;max-width:760px;margin:0 auto;padding:18px;display:grid}.palette-draft-card{border-style:solid}.palette-draft-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.palette-empty p{color:var(--text-muted);margin:0;font-size:.92rem;line-height:1.45}.palette-empty h3{margin-bottom:0}.palette-empty svg{color:var(--text)}.primary-button svg{color:#fff}.palette-card{background:var(--surface);border:1px solid var(--line);color:var(--text);text-align:left;border-radius:8px;grid-template-columns:1fr;gap:11px;min-height:84px;padding:14px 17px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid;position:relative}.palette-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-soft)}.palette-card-content{flex:1;align-items:flex-start;gap:11px;min-width:0;padding-right:35px;display:flex}.palette-card[data-readonly=true] .palette-card-content{padding-right:0}.palette-edit-fields{flex:1;gap:5px;min-width:0;display:grid}.palette-edit-fields input,.palette-edit-fields textarea{border-color:#0000;padding:0}.palette-edit-fields input{min-height:26px;font-size:.95rem;font-weight:800}.palette-edit-fields textarea{color:var(--text-muted);min-height:40px;font-size:.82rem}.palette-card-actions{grid-template-columns:repeat(2,34px) minmax(0,1fr);align-items:stretch;gap:6px;display:grid}.palette-delete-button{position:absolute;top:12px;right:12px}.palette-add-button{grid-column:1/-1;width:100%}.palette-icon{background:var(--surface-muted);color:var(--blue);border-radius:8px;width:34px;height:34px;margin-top:2px}.palette-card strong{margin-bottom:5px;font-size:.92rem;line-height:1.15;display:block}.palette-card small{color:var(--text-muted);font-size:.78rem;line-height:1.3;display:block}@media (max-width:980px){.overview-layout{grid-template-columns:1fr}.sidebar{border-bottom:1px solid var(--line);border-right:0}.palette-row,.next-block-preview-grid{grid-template-columns:1fr}.next-block-preview-card:nth-child(n+3){display:none}}@media (max-width:720px){.app-navigation{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 16px;display:grid}.navigation-menu-toggle{display:inline-flex}.navigation-links{grid-column:1/-1;justify-content:stretch;align-items:stretch;gap:8px;display:none}.navigation-links[data-open=true]{display:grid}.navigation-link{background:var(--surface);border:1px solid var(--line);justify-content:flex-start;min-height:44px;padding:0 12px}.app-footer{flex-direction:column;align-items:stretch}.app-footer nav{flex-wrap:wrap}.changelog-entry-header{flex-direction:column;gap:8px}.overview-content,.sidebar,.builder-stage,.palette-tray,.settings-page{padding-left:16px;padding-right:16px}.settings-page{padding-top:28px}.settings-panel{padding:16px}.settings-choice{grid-template-columns:1fr;align-items:stretch}.settings-page-header,.overview-header,.detail-toolbar{flex-direction:column;align-items:stretch}.goal-card[data-has-description=false]{min-height:158px}.goal-card[data-has-description=false][data-has-daily-status=true]{min-height:178px}.goal-card[data-has-description=false] p{min-height:0;display:none}.goal-card[data-has-description=false] .goal-card-meta{margin-top:12px}.routine-note-dialog-backdrop{padding-top:18px}.routine-note-dialog{max-height:calc(100dvh - 36px)}.routine-note-dialog-actions{justify-content:stretch}.routine-note-dialog-actions .ghost-button{width:100%}.category-create-form{grid-template-columns:1fr}.category-manager-row{grid-template-columns:34px minmax(0,1fr);align-items:flex-start}.category-manager-row input{min-width:0}.category-create-button{width:100%}.category-row-actions{grid-column:2;justify-content:flex-end}.toolbar-progress{justify-content:space-between;width:100%}.toolbar-title{align-items:flex-start;width:100%}.toolbar-title svg{flex:none;margin-top:3px}.toolbar-title>span:not(.completion-pill){-webkit-line-clamp:2;overflow-wrap:anywhere;white-space:normal;-webkit-box-orient:vertical;line-height:1.25;display:-webkit-box}.completion-pill{align-self:flex-start}.progress-track{flex:1;width:auto}.goal-card h3{-webkit-line-clamp:3}.goal-node,.start-node,.task-node{align-items:flex-start}.goal-node{grid-template-columns:minmax(0,1fr) auto}.start-node{grid-template-columns:minmax(0,1fr)}.goal-node-label,.start-node-label{flex-direction:row-reverse;grid-area:1/1;justify-content:flex-end;align-items:center}.goal-node-actions{flex-wrap:wrap;grid-area:1/2;max-width:190px}.goal-node .node-fields,.start-node .node-fields{grid-area:2/1/auto/-1;width:100%}.daily-tracker[data-enabled=false],.daily-task-form{grid-template-columns:1fr;grid-template-areas:"controls""copy""add"}.daily-task-card-header{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px}.daily-task-create-toggle{display:inline-flex}.daily-task-form[data-mobile-open=false]{display:none}.daily-task-create-controls{flex-direction:column;align-items:stretch}.daily-task-mode-toggle,.daily-task-new-target{width:100%}.daily-task-mode-toggle button{flex:1}.daily-task-new-target{justify-content:space-between}.daily-task-new-target[data-visible=false]{display:none}.daily-task-actions{justify-content:flex-end;align-self:end}.task-node{flex-direction:column;align-items:stretch}.palette-card{grid-template-columns:1fr}.palette-card-actions{grid-template-columns:repeat(2,34px) minmax(0,1fr);align-items:stretch;display:grid}.palette-add-button{grid-column:1/-1}.palette-row{grid-template-columns:1fr}.node-actions{flex-direction:row;align-self:flex-end}}
