:root{color:#253126;font-synthesis:none;text-rendering:optimizelegibility;--bg:#f5f7f1;--surface:#fffdf9;--surface-soft:#f8faf5;--surface-muted:#f0f3eb;--text:#253126;--text-soft:#667268;--text-faint:#929b91;--border:#dde4d9;--border-strong:#cad5c6;--primary:#5f805e;--primary-strong:#4d6d4d;--primary-soft:#e8f0e2;--orange:#e98948;--orange-soft:#fff0e4;--danger:#c95f52;--danger-soft:#fbeae6;--shadow:0 12px 35px #33453214;--shadow-soft:0 4px 14px #3345320f;--radius:16px;--radius-small:11px;background:#f5f7f1;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}:root[data-theme=dark]{color:#eff5eb;--bg:#172019;--surface:#202d23;--surface-soft:#253328;--surface-muted:#2b392d;--text:#eff5eb;--text-soft:#b1c0b2;--text-faint:#819083;--border:#3a4b3e;--border-strong:#506451;--primary:#a5c89f;--primary-strong:#c2ddb9;--primary-soft:#314634;--orange:#f0a465;--orange-soft:#4a3526;--danger:#f08d81;--danger-soft:#4b2b29;--shadow:0 14px 38px #00000038;--shadow-soft:0 5px 15px #0000002e;background:#172019}*{box-sizing:border-box}html{background:var(--bg);min-width:320px;min-height:100%}body{background:var(--bg);min-width:320px;min-height:100vh;color:var(--text);margin:0}button,input,textarea,select{font:inherit}button,label.file-button{cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,label.file-button:focus-within{outline:3px solid color-mix(in srgb, var(--primary) 35%, transparent);outline-offset:2px}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.025em}button{border:0}.app-shell{min-height:100vh}.app-header{z-index:20;border-bottom:1px solid color-mix(in srgb, var(--border) 86%, transparent);background:color-mix(in srgb, var(--bg) 94%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:12px;width:min(100% - 32px,560px);min-height:62px;margin:0 auto;display:flex}.brand{color:var(--text);letter-spacing:-.02em;background:0 0;align-items:center;gap:8px;padding:4px;font-size:15px;font-weight:700;display:inline-flex}.logo-mark{color:#fffdf9;background:var(--primary);border-radius:11px;flex:none;place-items:center;display:inline-grid}.header-nav{align-items:center;gap:1px;display:flex}.header-nav__button{min-height:44px;color:var(--text-soft);background:0 0;border-radius:9px;align-items:center;gap:7px;padding:8px;font-size:14px;transition:background .18s,color .18s;display:inline-flex}.header-nav__button span{display:none}.header-nav__button:hover,.header-nav__button.is-active{color:var(--text);background:var(--surface-muted)}.header-divider{background:var(--border);width:1px;height:19px;margin:0 4px}.app-content{width:min(100% - 32px,560px);margin:0 auto}.home-view{padding:27px 0 64px}.welcome-section{grid-template-columns:68px minmax(0,1fr);align-items:center;gap:14px;padding:20px 0 40px;display:grid}.welcome-visual{width:62px;height:62px;color:var(--primary-strong);background:var(--primary-soft);border-radius:50%;place-items:center;display:grid}.welcome-visual svg{width:35px;height:35px}.eyebrow{color:var(--primary);letter-spacing:.09em;margin-bottom:8px;font-size:12px;font-weight:700}.welcome-copy h1{font-size:27px;line-height:1.2}.welcome-copy>p:not(.eyebrow){color:var(--text-soft);margin-top:8px;font-size:13px;line-height:1.7}.welcome-date{color:var(--text-soft);align-items:center;gap:7px;margin-top:11px;font-size:11px;display:inline-flex}.welcome-action{flex-direction:column;grid-column:1/-1;align-items:stretch;gap:12px;display:flex}.welcome-action>span{color:var(--text-faint);justify-content:center;align-items:center;gap:5px;font-size:12px;display:inline-flex}.welcome-action>span svg{color:var(--primary)}.section-heading{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.section-heading h2{font-size:21px;line-height:1.3}.section-heading h2 span{min-width:24px;height:24px;color:var(--primary-strong);background:var(--primary-soft);vertical-align:3px;letter-spacing:0;border-radius:50%;place-items:center;margin-left:7px;padding:0 6px;font-size:12px;display:inline-grid}.goals-section{padding-bottom:40px}.section-heading--goals{margin-bottom:20px}.goal-list{gap:13px;display:grid}.button{min-height:44px;color:var(--text);background:var(--surface);border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:9px 15px;font-size:14px;font-weight:650;line-height:1;transition:transform .18s,background .18s,border-color .18s,color .18s,box-shadow .18s;display:inline-flex}.button:hover{box-shadow:var(--shadow-soft);transform:translateY(-1px)}.button:active{transform:translateY(0)}.button:disabled{opacity:.5;box-shadow:none;transform:none}.button--primary{border-color:var(--primary);color:#fffdf9;background:var(--primary);box-shadow:0 5px 12px color-mix(in srgb, var(--primary) 22%, transparent)}.button--primary:hover{border-color:var(--primary-strong);background:var(--primary-strong)}.button--outline{border-color:var(--primary);color:var(--primary-strong);background:0 0}.button--outline:hover{background:var(--primary-soft)}.button--quiet{border-color:var(--border);color:var(--text-soft);background:var(--surface)}.button--quiet:hover{border-color:var(--border-strong);color:var(--text);background:var(--surface-muted)}.button--danger{border-color:var(--danger);color:#fff;background:var(--danger)}.button--danger:hover{background:color-mix(in srgb, var(--danger) 82%, #000)}.button--danger-quiet{border-color:color-mix(in srgb, var(--danger) 45%, var(--border));color:var(--danger);background:0 0}.button--danger-quiet:hover{border-color:var(--danger);background:var(--danger-soft)}.button--small{min-height:44px;padding:7px 11px;font-size:13px}.button--large{border-radius:12px;min-height:52px;padding:14px 24px;font-size:16px}.text-button{min-height:44px;color:var(--primary-strong);background:0 0;align-items:center;gap:3px;padding:6px 0;font-size:13px;font-weight:650;display:inline-flex}.text-button:hover{color:var(--primary);text-underline-offset:3px;text-decoration:underline}.icon-button{width:44px;height:44px;color:var(--text-soft);background:0 0;border-radius:9px;place-items:center;transition:background .18s,color .18s,border-color .18s;display:inline-grid}.icon-button:hover{color:var(--text);background:var(--surface-muted)}.icon-button--bordered{border:1px solid var(--border);background:var(--surface)}.icon-button--danger{color:var(--danger);border:1px solid #0000}.icon-button--danger:hover{border-color:var(--danger);background:var(--danger-soft)}.goal-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-soft);grid-template-columns:1fr;align-items:center;gap:17px;padding:16px;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid}.goal-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow);transform:translateY(-1px)}.goal-card--apricot .progress-track>span{background:var(--orange)}.goal-card--lavender .progress-track>span{background:#8a7caf}.goal-card--blue .progress-track>span{background:#5a89a5}.goal-card--sand .progress-track>span{background:#b28b53}.goal-card.is-complete{animation:.45s ease-out completion-pulse}@keyframes completion-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--primary) 28%, transparent)}to{box-shadow:var(--shadow-soft)}}.goal-card__main{align-items:center;gap:15px;min-width:0;display:flex}.goal-icon{border-radius:50%;flex:none;place-items:center;width:50px;height:50px;display:grid}.goal-icon--sage{color:var(--primary-strong);background:var(--primary-soft)}.goal-icon--apricot{color:#c66e32;background:var(--orange-soft)}.goal-icon--lavender{color:#706294;background:#efebf8}.goal-icon--blue{color:#4f7891;background:#e4f0f5}.goal-icon--sand{color:#936d38;background:#f5ecdd}:root[data-theme=dark] .goal-icon--lavender{color:#c8b9ee;background:#3d354e}:root[data-theme=dark] .goal-icon--blue{color:#a5d8ec;background:#294451}:root[data-theme=dark] .goal-icon--sand{color:#e5c18d;background:#493c2c}.goal-icon--large{width:68px;height:68px}.goal-card__identity{min-width:0}.goal-card__title-row{align-items:center;gap:8px;display:flex}.goal-card h3{text-overflow:ellipsis;white-space:nowrap;font-size:19px;line-height:1.35;overflow:hidden}.goal-card__description{color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:13px;overflow:hidden}.goal-card__meta{color:var(--text-faint);align-items:center;gap:5px;margin-top:8px;font-size:12px;display:flex}.goal-card__progress{border:0;min-width:0;padding:0}.progress-label{color:var(--text-soft);justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}.progress-label strong{color:var(--text-soft);font-size:12px;font-weight:600}.progress-track{background:var(--surface-muted);border-radius:99px;height:8px;margin:9px 0 11px;overflow:hidden}.progress-track>span{border-radius:inherit;background:var(--primary);height:100%;transition:width .35s;display:block}.progress-track--large{height:10px;margin:11px 0 8px}.goal-card__numbers{color:var(--text-faint);white-space:nowrap;align-items:center;gap:13px;font-size:11px;display:flex}.goal-card__numbers span{align-items:center;gap:4px;display:inline-flex}.goal-card__numbers span:first-child{color:var(--orange)}.goal-card__actions{border-top:1px solid var(--border);flex-direction:column;align-items:stretch;gap:10px;padding-top:14px;display:flex}.today-actions{align-items:center;gap:8px;display:flex}.button--today{border-color:var(--primary);min-height:45px;color:var(--primary-strong);background:var(--primary-soft);flex:1}.button--today:hover{background:color-mix(in srgb, var(--primary-soft) 70%, var(--primary))}.button--today-complete{color:var(--primary-strong)}.button--missed{min-height:44px;color:var(--text-faint);background:0 0;padding:6px 8px;font-size:11px;font-weight:500}.button--missed:hover{color:var(--danger);background:var(--danger-soft)}.reached-badge{color:var(--primary-strong);background:var(--primary-soft);white-space:nowrap;border-radius:7px;align-items:center;gap:3px;padding:4px 7px;font-size:11px;font-weight:700;display:inline-flex}.empty-state{border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface);text-align:center;flex-direction:column;justify-content:center;gap:14px;min-height:310px;padding:24px;display:flex}.empty-state__art{width:94px;height:94px;color:var(--primary);background:var(--primary-soft);border-radius:50%;place-items:center;display:grid}.empty-state h2{font-size:21px}.empty-state p{color:var(--text-soft);margin-top:8px;font-size:14px;line-height:1.7}.empty-state .text-button{margin-top:0}.empty-state--small{text-align:center;flex-direction:column;justify-content:center;min-height:310px;display:flex}.empty-state--small .empty-state__art{width:82px;height:82px}.detail-view,.archived-view{padding:23px 0 64px}.detail-header{flex-direction:column;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:25px;display:flex}.back-button{color:var(--text-soft);background:0 0;align-items:center;gap:7px;padding:7px 0;font-size:14px;display:inline-flex}.back-button:hover{color:var(--text)}.detail-header__actions{flex-wrap:wrap;align-items:center;gap:8px;width:100%;display:flex}.detail-header__actions .button{flex:1}.detail-intro{align-items:flex-start;gap:13px;margin-bottom:25px;display:flex}.detail-title-line{align-items:center;gap:10px;display:flex}.detail-intro h1{font-size:27px}.detail-intro p{color:var(--text-soft);margin-top:7px;font-size:13px}.detail-start{color:var(--text-faint);align-items:center;gap:5px;margin-top:9px;font-size:11px;display:inline-flex}.status-label{border-radius:7px;padding:5px 8px;font-size:11px;font-weight:700}.status-label--archived{color:var(--text-soft);background:var(--surface-muted)}.panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-soft);padding:19px 16px}.stats-panel{margin-bottom:18px}.stats-panel .section-heading{flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:18px}.goal-reached{color:var(--primary-strong);background:var(--primary-soft);border-radius:10px;align-items:center;gap:7px;padding:9px 12px;font-size:13px;font-weight:700;display:inline-flex}.stats-grid{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(3,1fr);display:grid}.stat{border-right:1px solid var(--border);flex-direction:column;justify-content:center;gap:8px;min-height:76px;padding:10px 8px;display:flex}.stat:nth-child(3){border-right:0}.stat:nth-child(-n+3){border-bottom:1px solid var(--border)}.stat:last-child{border-right:0}.stat span{color:var(--text-soft);font-size:12px}.stat strong{color:var(--primary-strong);letter-spacing:-.03em;font-size:22px;font-weight:650}.stat small{color:var(--text-soft);letter-spacing:0;margin-left:3px;font-size:12px;font-weight:500}.detail-progress{margin-top:21px}.detail-progress p{color:var(--text-soft);font-size:12px}.calendar-panel{margin-bottom:18px}.section-heading--calendar{align-items:center;margin-bottom:23px}.calendar-nav{align-items:center;gap:8px;display:flex}.calendar-nav strong{text-align:center;min-width:86px;font-size:14px}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.calendar-grid--weekdays{color:var(--text-faint);text-align:center;padding:0 4px;font-size:12px}.calendar-grid--days{margin-top:7px}.calendar-day{min-height:44px;color:var(--text);background:0 0;border:1px solid #0000;border-radius:8px;place-items:center;font-size:12px;transition:background .16s,border-color .16s,color .16s;display:grid}.calendar-day:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-muted)}.calendar-day.is-outside{color:var(--text-faint);opacity:.55}.calendar-day.is-completed{color:var(--primary-strong);background:var(--primary-soft)}.calendar-day.is-missed{color:var(--danger);background:var(--danger-soft)}.calendar-day.is-today{border-color:var(--primary);box-shadow:inset 0 0 0 2px var(--surface);outline:1px solid var(--primary);font-weight:800}.calendar-day.is-selected{box-shadow:inset 0 0 0 2px var(--primary-strong)}.calendar-day:disabled{cursor:not-allowed}.calendar-legend{color:var(--text-soft);flex-wrap:wrap;align-items:center;gap:10px;margin-top:17px;font-size:11px;display:flex}.calendar-legend span{align-items:center;gap:6px;display:inline-flex}.legend-dot{background:var(--surface-muted);border-radius:50%;width:9px;height:9px;display:inline-block}.legend-dot--completed{background:var(--primary)}.legend-dot--missed{background:var(--danger)}.legend-dot--today{border:2px solid var(--primary);background:var(--surface)}.notes-panel{margin-bottom:18px}.section-count{color:var(--text-faint);font-size:12px}.notes-empty{min-height:95px;color:var(--text-faint);justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex}.notes-list{gap:4px;display:grid}.note-row{width:100%;color:var(--text);text-align:left;background:0 0;border-radius:9px;align-items:center;gap:11px;padding:12px 8px;display:flex}.note-row:hover{background:var(--surface-muted)}.note-row__status{border-radius:50%;flex:none;place-items:center;width:23px;height:23px;display:grid}.note-row__status--completed{color:var(--primary-strong);background:var(--primary-soft)}.note-row__status--missed{color:var(--danger);background:var(--danger-soft)}.note-row__content{flex:1;min-width:0;display:block}.note-row__content strong{margin-bottom:4px;font-size:13px;display:block}.note-row__content span{color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.page-heading{margin-bottom:26px}.page-heading h1{font-size:clamp(28px,4vw,38px)}.page-heading p:not(.eyebrow){color:var(--text-soft);margin-top:8px;font-size:14px}.archived-list{gap:10px;display:grid}.archived-row{border:1px solid var(--border);border-radius:var(--radius-small);background:var(--surface);box-shadow:var(--shadow-soft);flex-wrap:wrap;align-items:flex-start;gap:15px;padding:14px;display:flex}.archived-row__content{flex:1;min-width:0}.archived-row__content h2{font-size:16px}.archived-row__content p{color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:13px;overflow:hidden}.archived-row__content span{color:var(--text-faint);margin-top:6px;font-size:11px;display:block}.archived-row__actions{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:8px;width:100%;padding-top:10px;display:flex}.modal-backdrop{z-index:50;background:#18221961;align-items:end;padding:0;animation:.16s ease-out fade-in;display:grid;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal{border:1px solid var(--border);background:var(--surface);border-radius:18px 18px 0 0;width:100%;max-height:92vh;animation:.2s ease-out modal-in;overflow:auto;box-shadow:0 24px 80px #192a1d38}.modal--wide{width:100%}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.modal__header{justify-content:space-between;align-items:center;gap:14px;padding:18px 17px 13px;display:flex}.modal__header h2{font-size:20px}.form,.record-form,.settings-content{padding:0 17px 18px}.form__grid{grid-template-columns:1fr;gap:15px;display:grid}.field{min-width:0;color:var(--text-soft);flex-direction:column;gap:7px;font-size:13px;display:flex}.field>span{color:var(--text);justify-content:space-between;align-items:baseline;gap:8px;font-weight:650;display:flex}.field b{color:var(--danger)}.field small{color:var(--text-faint);font-size:11px;font-weight:400}.field--full{grid-column:auto}.field input,.field textarea,.field select{border:1px solid var(--border);width:100%;color:var(--text);background:var(--surface-soft);border-radius:9px;outline:0;font-size:14px;transition:border-color .18s,box-shadow .18s,background .18s}.field input,.field select{min-height:44px;padding:9px 11px}.field textarea{resize:vertical;min-height:82px;padding:10px 11px;line-height:1.6}.field input:hover,.field textarea:hover,.field select:hover{border-color:var(--border-strong)}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 14%, transparent);background:var(--surface)}.quick-options{flex-wrap:wrap;gap:5px;margin-top:2px;display:flex}.quick-option{border:1px solid var(--border);min-height:44px;color:var(--text-soft);background:var(--surface);border-radius:6px;padding:5px 9px;font-size:11px}.quick-option:hover,.quick-option.is-selected{border-color:var(--primary);color:var(--primary-strong);background:var(--primary-soft)}.choice-field{border:0;min-width:0;padding:0}.choice-field legend{color:var(--text);margin-bottom:8px;font-size:13px;font-weight:650}.color-options,.icon-options{align-items:center;gap:10px;min-height:44px;display:flex}.color-option{border:3px solid var(--surface);width:32px;height:32px;box-shadow:0 0 0 1px var(--border);border-radius:50%}.color-option.is-selected{box-shadow:0 0 0 2px var(--primary)}.color-option--sage{background:#769a72}.color-option--apricot{background:#ee995c}.color-option--lavender{background:#9b8eb9}.color-option--blue{background:#6c9bb4}.color-option--sand{background:#bc955d}.icon-option{border:1px solid var(--border);width:44px;height:44px;color:var(--text-soft);background:var(--surface);border-radius:8px;place-items:center;display:grid}.icon-option:hover,.icon-option.is-selected{border-color:var(--primary);color:var(--primary-strong);background:var(--primary-soft)}.inline-warning{color:#a76535;background:var(--orange-soft);border-radius:8px;align-items:flex-start;gap:7px;margin-top:18px;padding:10px 11px;font-size:12px;line-height:1.55;display:flex}.form-error{color:var(--danger);margin-top:16px;font-size:13px}.modal__actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.modal__actions--split{flex-direction:column;align-items:flex-start}.modal__actions-right{justify-content:flex-end;gap:8px;width:100%;display:flex}.record-form__date{color:var(--text-soft);align-items:center;gap:7px;margin:0 0 21px;font-size:14px;display:flex}.status-choice{border:0;padding:0}.status-choice legend{color:var(--text);margin-bottom:9px;font-size:13px;font-weight:650}.status-choice__options{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:18px;display:grid}.status-choice__button{border:1px solid var(--border);min-height:44px;color:var(--text-soft);background:var(--surface-soft);border-radius:9px;justify-content:center;align-items:center;gap:7px;font-size:13px;font-weight:650;display:inline-flex}.status-choice__button:hover,.status-choice__button.is-completed{border-color:var(--primary);color:var(--primary-strong);background:var(--primary-soft)}.status-choice__button.is-missed{border-color:var(--danger);color:var(--danger);background:var(--danger-soft)}.settings-content{gap:23px;display:grid}.settings-section{padding-top:3px}.settings-section+.settings-section{border-top:1px solid var(--border);padding-top:22px}.settings-section__heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:14px;display:flex}.settings-section__heading>svg{color:var(--primary)}.settings-section h3{font-size:17px}.settings-copy{max-width:560px;color:var(--text-soft);font-size:13px;line-height:1.7}.theme-options{grid-template-columns:1fr;gap:8px;display:grid}.theme-option{border:1px solid var(--border);min-height:60px;color:var(--text-soft);background:var(--surface-soft);text-align:left;border-radius:10px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;gap:4px 8px;padding:12px;display:grid}.theme-option svg{color:var(--primary);grid-row:1/-1}.theme-option span{color:var(--text);font-size:13px;font-weight:650}.theme-option small{color:var(--text-faint);grid-column:2;font-size:11px}.theme-option:hover,.theme-option.is-selected{border-color:var(--primary);background:var(--primary-soft)}.settings-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.file-button{position:relative;overflow:hidden}.file-button input{opacity:0;width:1px;height:1px;position:absolute}.field--inline{grid-template-columns:58px minmax(0,1fr);align-items:center;gap:12px;margin-top:13px;display:grid}.field--inline select{font-size:12px}.settings-section--danger .settings-section__heading>svg{color:var(--danger)}.settings-section--danger .button{margin-top:15px}.confirm-content{text-align:center;padding:0 17px 18px}.confirm-icon{width:52px;height:52px;color:var(--primary-strong);background:var(--primary-soft);border-radius:50%;place-items:center;margin:4px auto 14px;display:grid}.confirm-icon--danger{color:var(--danger);background:var(--danger-soft)}.confirm-content>p{color:var(--text-soft);font-size:14px;line-height:1.7}.confirm-content .modal__actions{margin-top:22px}.toast{z-index:70;border:1px solid var(--border);max-width:min(390px,100% - 32px);color:var(--text);background:var(--surface);border-radius:10px;align-items:center;gap:8px;padding:12px 15px;font-size:13px;animation:.25s ease-out toast-in;display:inline-flex;position:fixed;bottom:16px;right:16px;box-shadow:0 12px 30px #1e32202e}.toast--success{border-color:color-mix(in srgb, var(--primary) 50%, var(--border))}.toast--success svg{color:var(--primary)}.toast--error{border-color:color-mix(in srgb, var(--danger) 50%, var(--border))}.toast--error svg{color:var(--danger)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.recovery-screen{background:var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.recovery-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:min(100%,480px);box-shadow:var(--shadow);text-align:center;padding:24px}.recovery-icon{width:60px;height:60px;color:var(--orange);background:var(--orange-soft);border-radius:50%;place-items:center;margin:0 auto 18px;display:grid}.recovery-card h1{font-size:25px}.recovery-card>p{color:var(--text-soft);margin-top:10px;font-size:14px;line-height:1.7}.recovery-card .recovery-error{color:var(--danger);background:var(--danger-soft);border-radius:8px;padding:10px;font-size:12px}.recovery-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:20px;display:flex}.recovery-hint{color:var(--text-faint)!important;font-size:12px!important}@media (min-width:721px){.header-inner,.app-content{width:min(1180px,100% - 48px)}.header-inner{gap:24px;min-height:72px}.brand{gap:10px;font-size:17px}.header-nav{gap:5px}.header-nav__button{min-height:44px;padding:9px 10px}.header-nav__button span{display:inline}.header-divider{height:22px;margin:0 9px}.home-view{padding:54px 0 80px}.welcome-section{grid-template-columns:142px minmax(0,1fr) auto;gap:28px;padding:26px 4px 58px}.welcome-visual{width:126px;height:126px}.welcome-visual svg{width:54px;height:54px}.welcome-copy h1{font-size:clamp(28px,4vw,42px)}.welcome-copy>p:not(.eyebrow){margin-top:12px;font-size:15px}.welcome-date{margin-top:18px;font-size:13px}.welcome-action{grid-column:auto;align-items:flex-end}.welcome-action>span{justify-content:flex-start}.section-heading h2{font-size:24px}.goal-card{grid-template-columns:minmax(220px,1fr) minmax(210px,.9fr);gap:26px;padding:19px 21px}.goal-card__progress{border-right:0;border-left:1px solid var(--border);padding:0 22px}.goal-card__actions{border-top:1px solid var(--border);flex-direction:row;grid-column:1/-1;justify-content:space-between;align-items:center;padding-top:13px}.today-actions{flex:1;max-width:350px}.empty-state{text-align:left;grid-template-columns:150px minmax(0,1fr) auto;align-items:center;gap:24px;min-height:245px;padding:30px 34px;display:grid}.empty-state__art{width:124px;height:124px}.empty-state h2{font-size:23px}.empty-state .text-button{grid-column:2;margin-top:-8px}.detail-view,.archived-view{padding:36px 0 80px}.detail-header{flex-direction:row;align-items:center;margin-bottom:34px}.detail-header__actions{flex-wrap:nowrap;width:auto}.detail-header__actions .button{flex:initial}.detail-intro{align-items:center;gap:18px;margin-bottom:30px}.goal-icon--large{width:68px;height:68px}.goal-icon--large svg{width:36px;height:36px}.detail-intro h1{font-size:clamp(28px,4vw,38px)}.detail-intro p{font-size:15px}.detail-start{margin-top:13px;font-size:12px}.panel{padding:26px}.stats-panel .section-heading{flex-direction:row;align-items:center;margin-bottom:23px}.stats-grid{grid-template-columns:repeat(6,1fr)}.stat{min-height:92px;padding:12px 16px}.stat:nth-child(3){border-right:1px solid var(--border)}.stat:nth-child(-n+3){border-bottom:0}.stat:last-child{border-right:0}.stat strong{font-size:25px}.calendar-grid{gap:8px}.calendar-grid--days{margin-top:10px}.calendar-day{border-radius:10px;min-height:45px;font-size:13px}.calendar-legend{gap:15px;margin-top:22px;font-size:12px}.calendar-nav{gap:15px}.calendar-nav strong{min-width:100px;font-size:16px}.note-row__content{align-items:baseline;gap:15px;display:flex}.note-row__content strong{flex:0 0 45px;margin-bottom:0;display:block}.archived-row{flex-wrap:nowrap;align-items:center;padding:16px 18px}.archived-row__content{flex-basis:auto}.archived-row__actions{border-top:0;width:auto;padding-top:0}.modal-backdrop{align-items:center;padding:20px}.modal{border-radius:18px;width:min(100%,480px);max-height:min(90vh,780px)}.modal--wide{width:min(100%,680px)}.modal__header{padding:21px 24px 15px}.form,.record-form,.settings-content{padding:0 24px 24px}.form__grid{grid-template-columns:1fr 1fr;gap:17px 18px}.field--full{grid-column:1/-1}.field input,.field select,.quick-option{min-height:44px}.color-options,.icon-options{gap:8px}.color-option{width:27px;height:27px}.icon-option{width:44px;height:44px}.modal__actions{margin-top:23px}.modal__actions--split{flex-direction:row;justify-content:space-between;align-items:center}.modal__actions-right{width:auto}.theme-options{grid-template-columns:repeat(3,1fr)}.theme-option{min-height:86px}.theme-option small{grid-column:auto}.field--inline{grid-template-columns:65px minmax(0,1fr)}.confirm-content{padding:0 24px 24px}.recovery-card{padding:34px}}@media (min-width:951px){.goal-card{grid-template-columns:minmax(240px,1.2fr) minmax(215px,1fr) minmax(250px,.95fr)}.goal-card__progress{border-right:1px solid var(--border)}.goal-card__actions{border-top:0;flex-direction:column;grid-column:auto;align-items:stretch;padding-top:0}.today-actions{max-width:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
