@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){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-width:0}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{font-family:Manrope,Arial,sans-serif;color:#2e3931;background:#f7f7f2;font-synthesis:none;--bg:#f7f7f2;--surface:#fff;--text:#303a32;--muted:#929a8f;--line:#eceee7;--sage:#758d76;--ring:#edf0e9;--soft:#f5f7f1;--sidebar:#fdfdf9;--gentle:#f2f1e6;--focus:#788d77}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid #8aa78b;outline-offset:3px}button{border:0;background:none;color:inherit}.app-shell{min-height:100vh;display:flex;background:var(--bg);color:var(--text)}.sidebar{width:230px;flex-shrink:0;background:var(--sidebar);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:34px 20px 25px;position:fixed;top:0;bottom:0}.brand{display:flex;gap:10px;align-items:center;font-size:24px;font-weight:800;letter-spacing:-1.8px;line-height:1}.brand-os{color:#8ba18a}.brand small{display:block;font-size:7px;letter-spacing:1.35px;color:#a2aaa0;margin-top:6px;font-weight:700}.brand-mark{height:36px;width:36px;display:inline-flex;align-items:center;justify-content:center;background:#e6ede2;border-radius:11px;color:#708a70}.side-caption,.label{font-size:9px;letter-spacing:1.45px;font-weight:800;color:#9ba69a}.side-caption{margin:65px 12px 15px}.side-nav{display:grid;gap:5px}.nav-item{position:relative;display:flex;align-items:center;gap:13px;color:#8b958b;font-size:12px;font-weight:700;padding:13px 14px;border-radius:9px;text-align:left}.nav-item.active{background:#eaf0e7;color:#647e65}.nav-dot{width:5px;height:5px;border-radius:50%;background:#819a80;margin-left:auto}.sidebar-bottom{margin-top:auto}.side-note{border:1px solid var(--line);border-radius:12px;padding:16px;color:#94a490}.side-note p{color:#8b9489;font-size:11px;line-height:1.7;margin:10px 0 0}.theme-switch{display:flex;align-items:center;gap:12px;padding:25px 8px 0;color:#899387;font-size:11px;font-weight:700}.content-wrap{margin-left:230px;min-width:0;flex:1}.topbar{height:72px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 6%;background:var(--sidebar)}.breadcrumb{color:#abb2a8;font-size:10px}.breadcrumb span{margin:0 12px;color:#d4dad0}.breadcrumb strong{color:#69766a}.top-right{display:flex;align-items:center;gap:20px}.top-date{font-size:10px;color:#8d998d;display:flex;align-items:center;gap:8px}.theme-icon{color:#879589;display:flex}.avatar{border:1px solid #dbe5d9;background:#ecf1e9;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;font-size:11px;color:#738a73;font-weight:700}.mobile-brand{display:none}.main-content{max-width:1210px;margin:0 auto;padding:43px 6% 30px}.intro-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.eyebrow{font-size:9px;font-weight:800;color:#97a795;letter-spacing:1.6px}.tiny-sun{font-size:15px;margin-right:5px}h1,h2,h3,p{margin:0}h1{font-family:Georgia,serif;font-size:38px;letter-spacing:-1px;font-weight:400;margin:10px 0 9px}.greeting-star{color:#c6a77c;font-size:19px;vertical-align:top}.subtitle{color:#929b90;font-size:12px}.intro-ornament{display:flex;align-items:center;gap:12px;color:#a8b8a2}.intro-ornament>span{font-size:37px;font-weight:200}.intro-ornament small{font-size:8px;line-height:1.7;letter-spacing:1px;font-weight:700}.dashboard{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(250px,1fr);gap:20px}.left-col,.right-col{display:flex;flex-direction:column;gap:20px}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:25px;box-shadow:0 5px 22px #37452f06}.focus-card{background:var(--focus);border-radius:14px;padding:27px;color:#fff;overflow:hidden;position:relative}.focus-top{display:flex;justify-content:space-between;min-height:142px}.light-label{color:#d4e0d1;display:flex;align-items:center;gap:7px}.focus-card h2{font-family:Georgia,serif;font-weight:400;font-size:25px;line-height:1.22;margin-top:15px;letter-spacing:-.4px}.focus-card h2 em,.gentle-card h2 em{font-weight:400;color:#e2ebdd}.focus-card p{font-size:10px;color:#e0e9dc;margin-top:12px}.focus-input{height:43px;border:1px solid #a5b6a2;background:#ffffff17;border-radius:8px;display:flex;align-items:center;gap:10px;padding:0 13px;color:#dce8da;position:relative}.focus-input input{background:transparent;border:0;outline:0;color:#fff;font-size:11px;flex:1;min-width:0}.focus-input input::-moz-placeholder{color:#dce7da}.focus-input input::placeholder{color:#dce7da}.focus-art{width:160px;height:140px;position:relative;opacity:.75;flex-shrink:0}.orbit{position:absolute;border:1px solid rgba(235,243,231,.36);border-radius:50%;width:125px;height:125px;left:15px;top:4px}.orbit-two{width:91px;height:91px;left:32px;top:21px}.art-center{position:absolute;top:41px;left:53px;font-size:48px;color:#dce9d7}.art-dot{position:absolute;width:9px;height:9px;background:#e5eddd;border-radius:50%;top:18px;left:28px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.section-heading h2,.progress-card h2{font-family:Georgia,serif;font-size:22px;font-weight:400;letter-spacing:-.3px;margin-top:8px}.count{font-family:Manrope,sans-serif;vertical-align:middle;font-size:9px;color:#93a391;background:var(--soft);padding:5px 7px;border-radius:20px;margin-left:4px;letter-spacing:0}.heading-icon{width:32px;height:32px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:#9cac98}.section-subtitle{font-size:10px;color:var(--muted);margin-top:8px;line-height:1.6}.action-list{margin-top:18px}.action-row{display:flex;align-items:center;gap:11px;padding:11px 0;border-top:1px solid var(--line);font-size:11px}.action-row>span{flex:1}.check-circle{width:19px;height:19px;flex-shrink:0;border:1.5px solid #ccd6c9;border-radius:50%;display:grid;place-items:center;color:#fff;padding:0}.check-circle.checked{background:#819b80;border-color:#819b80}.done{text-decoration:line-through;color:#a9b1a7}.delete-action,.delete-habit{color:#aeb9ab}.add-action{display:flex;align-items:center;gap:10px;color:#91a68e;border-top:1px solid var(--line);padding-top:14px}.add-action input{border:0;outline:0;background:transparent;flex:1;min-width:0;font-size:11px;color:var(--text)}.add-action input::-moz-placeholder{color:#aab5a8}.add-action input::placeholder{color:#aab5a8}.add-action button{font-size:10px;font-weight:700;color:#7e957c}.text-link{display:flex;gap:6px;align-items:center;white-space:nowrap;color:#829980;font-size:10px;font-weight:700}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.quick-item{background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:13px;display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap}.quick-icon{width:35px;height:35px;flex-shrink:0;display:grid;place-items:center;border-radius:9px}.water{background:#e5efeb;color:#7da99a}.steps{background:#f3ede0;color:#b5a17c}.reading{background:#f0e9e4;color:#b79a89}.shower{background:#e7edf0;color:#91aab6}.quick-info{flex:1;min-width:0}.quick-info strong{display:block;font-size:11px}.quick-info span{display:block;color:var(--muted);font-size:9px;margin-top:4px}.small-plus{width:25px;height:25px;background:var(--surface);border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:#809a80;padding:0}.water-dots{width:100%;display:flex;gap:4px;margin-top:2px}.water-dots span{height:4px;flex:1;background:#e2e9e1;border-radius:5px}.water-dots .filled{background:#8aada0}.number-field{display:flex;align-items:center;gap:3px;font-size:9px;color:#9aa69a}.number-field input{width:43px;background:var(--surface);border:1px solid var(--line);border-radius:5px;padding:5px;color:var(--text);font-size:10px}.shower-check{width:22px;height:22px}.progress-card{text-align:center;padding:27px 24px}.progress-card .label{margin-top:2px}.progress-ring{width:142px;height:142px;margin:24px auto 20px;border-radius:50%;display:grid;place-items:center;transform:rotate(-90deg)}.progress-ring>div{width:122px;height:122px;border-radius:50%;background:var(--surface);display:flex;align-items:center;justify-content:center;flex-direction:column;transform:rotate(90deg)}.progress-ring strong{font-family:Georgia,serif;font-size:36px;font-weight:400}.progress-ring strong small{font-size:18px}.progress-ring div span{font-size:8px;letter-spacing:1px;color:#a4aea2;font-weight:800;margin-top:3px}.progress-detail{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:17px;font-size:10px;color:#9aa399}.progress-detail i{display:inline-block;width:7px;height:7px;background:#8aa28a;border-radius:50%;margin-right:5px}.progress-detail strong{color:var(--text);font-size:10px}.progress-foot{background:var(--soft);padding:11px 5px;border-radius:7px;margin-top:17px;font-size:14px;color:#a7b99e}.progress-foot span{font-size:9px;color:#889b86;margin-left:5px}.gentle-card{background:var(--gentle);border-radius:14px;padding:25px;position:relative}.gentle-icon{position:absolute;right:24px;top:24px;color:#aaad92}.gentle-card .label{color:#a7ab91}.gentle-card h2{font:400 23px/1.2 Georgia,serif;margin-top:13px}.gentle-card h2 em{color:#9ca98d}.gentle-card p{font-size:10px;color:#929a88;line-height:1.8;margin-top:12px;max-width:220px}.gentle-card button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;border:1px solid #d3d8c5;border-radius:7px;margin-top:18px;padding:11px 12px;font-size:10px;font-weight:700;color:#75846d}.quote{text-align:center;padding:2px 0;color:#a1ad9c}.quote>span{font:34px Georgia;line-height:1}.quote p{font:italic 13px/1.6 Georgia;margin-top:-3px}.quote small{display:block;font-size:8px;letter-spacing:1px;margin-top:10px}.footer{max-width:1210px;margin:0 auto;padding:10px 6% 25px;display:flex;justify-content:space-between;color:#b6bfb3;font-size:8px;letter-spacing:1px;font-weight:700}.hard-banner{background:#edf3e9;border:1px solid #dce8d8;border-radius:12px;display:flex;align-items:center;gap:12px;color:#718d70;padding:15px 18px;margin-bottom:20px}.hard-banner strong,.hard-banner span{display:block}.hard-banner strong{font-size:12px}.hard-banner span{font-size:10px;margin-top:4px}.minimal-list{margin-top:15px}.minimal-list strong,.minimal-list small{display:block}.minimal-list small{font-size:10px;color:var(--muted);margin-top:4px}.primary-button{background:#788f77;color:#fff;border-radius:9px;padding:13px 16px;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:9px}.habits-intro{margin-bottom:32px}.habit-page-card{max-width:850px}.empty-state{text-align:center;padding:65px 15px 40px}.empty-icon{width:56px;height:56px;border-radius:18px;background:#edf3e9;color:#8ca38a;display:grid;place-items:center;margin:0 auto 20px}.empty-state h3{font:22px Georgia,serif}.empty-state p,.coming p{font-size:11px;color:var(--muted);line-height:1.8;margin-top:10px}.empty-state button{display:inline-flex;align-items:center;gap:7px;color:#7c967a;font-size:11px;font-weight:700;margin-top:23px}.habit-list{margin-top:20px}.habit-row{display:flex;align-items:center;gap:14px;padding:17px 0;border-top:1px solid var(--line)}.habit-description{flex:1}.habit-description strong,.habit-description span,.habit-description small{display:block}.habit-description strong{font-size:12px}.habit-description span,.habit-description small{font-size:10px;color:var(--muted);margin-top:5px}.habit-reminder{display:flex;align-items:center;gap:10px;color:#8a9b86;font-size:11px;margin:22px 0}.coming{text-align:center;padding:110px 10px}.coming h1{margin:14px 0}.coming .primary-button{margin-top:24px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#28332973;display:grid;place-items:center;padding:20px;z-index:10}.modal{width:min(100%,430px);background:var(--surface);border-radius:16px;padding:27px;box-shadow:0 15px 80px #0002}.modal-head{display:flex;justify-content:space-between;align-items:flex-start}.modal h2{font:26px Georgia,serif;margin-top:8px}.modal p{font-size:11px;color:var(--muted);margin:10px 0 24px}.modal label{display:block;font-size:10px;font-weight:700;margin-top:17px}.modal label input{display:block;width:100%;background:var(--soft);border:1px solid var(--line);border-radius:8px;padding:13px;margin-top:8px;font-size:12px;color:var(--text)}.modal>small{display:block;color:var(--muted);font-size:10px;margin-top:8px}.modal-submit{width:100%;margin-top:24px}.mobile-nav{display:none}.dark{--bg:#1b231e;--surface:#27312a;--text:#e3e9df;--muted:#a0ada0;--line:#39453b;--sage:#9bb69a;--ring:#3e4a40;--soft:#303c32;--sidebar:#222c25;--gentle:#353b2e;--focus:#607962}.dark .nav-item.active{background:#374b39;color:#c1d4bb}.dark .brand-mark,.dark .avatar{background:#3b4c3c;color:#c2d3bc}.dark .quick-icon{filter:brightness(.8)}.dark .hard-banner{background:#344536;border-color:#4a604a;color:#c0d5b9}@media(max-width:1050px){.sidebar{width:190px}.content-wrap{margin-left:190px}.main-content{padding-left:4%;padding-right:4%}.dashboard{grid-template-columns:minmax(0,1.6fr) minmax(230px,1fr)}.card{padding:20px}.quick-item{gap:7px}.focus-art{width:130px}.orbit{left:0}.orbit-two{left:17px}.art-center{left:38px}.art-dot{left:13px}}@media(max-width:760px){.sidebar{display:none}.content-wrap{margin-left:0}.topbar{height:63px;padding:0 20px}.breadcrumb{display:none}.mobile-brand{display:flex;align-items:center;font-size:20px;font-weight:800;letter-spacing:-1.4px}.mobile-brand .brand-mark{margin-right:8px;width:32px;height:32px}.mobile-brand>span:last-child{color:#8ba18a}.top-right{gap:15px}.top-date{display:none}.main-content{padding:30px 18px 110px}.intro-row{margin-bottom:24px}h1{font-size:32px}.intro-ornament{display:none}.dashboard{grid-template-columns:1fr}.right-col{display:grid;grid-template-columns:1fr 1fr;align-items:start}.quote{grid-column:1/-1}.progress-card,.gentle-card{height:100%}.progress-ring{width:120px;height:120px;margin:20px auto}.progress-ring>div{width:102px;height:102px}.gentle-card{padding:22px}.gentle-card p{line-height:1.6}.mobile-nav{position:fixed;z-index:5;bottom:0;left:0;right:0;background:var(--sidebar);border-top:1px solid var(--line);display:flex;justify-content:space-around;padding:7px 5px max(7px,env(safe-area-inset-bottom))}.mobile-nav .nav-item{flex:1;display:flex;flex-direction:column;gap:4px;padding:7px 2px;font-size:9px;border-radius:8px}.mobile-nav .nav-item.active{background:transparent}.mobile-nav .nav-dot,.footer{display:none}.habits-intro{align-items:flex-start;gap:15px}.habits-intro .primary-button{font-size:0;gap:0;padding:12px}.habits-intro .primary-button svg{width:20px;height:20px}.coming{padding-top:80px}}@media(max-width:440px){.focus-card{padding:23px}.focus-art{width:90px;transform:scale(.75);transform-origin:top right}.focus-card h2{font-size:23px}.quick-grid{gap:8px}.quick-item{padding:10px;gap:7px}.quick-icon{width:31px;height:31px}.quick-info strong{font-size:10px}.quick-info span{font-size:8px}.number-field input{width:36px}.right-col{gap:10px}.progress-card{padding:20px 13px}.gentle-card{padding:20px 15px}.gentle-card h2{font-size:20px}.gentle-icon{right:14px;top:19px}.gentle-card p{font-size:9px}.progress-card h2{font-size:20px}.progress-foot span{font-size:8px}.section-heading h2{font-size:20px}}.settings-list{margin-top:24px}.custom-label{margin-top:25px}.restore-list{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:12px 0;font-size:10px;color:var(--muted)}.restore-list button{color:#7c967a;font-weight:700}.target-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quick-value{font-size:10px;color:var(--muted)}.icon-label{font-size:10px;font-weight:700;margin-top:18px}.icon-picker{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.icon-picker button{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;background:var(--soft);color:#859a83}.icon-picker button.selected{background:#dceadb;border-color:#8da88c;color:#577755}.habit-mini-icon{color:#819b80;display:grid;place-items:center}.modal{max-height:calc(100dvh - 40px);overflow:auto}.custom-habit{background:#e5eee4;color:#819b80}.focus-input button{display:flex;align-items:center;gap:6px;color:#fff;font-size:10px;font-weight:700;white-space:nowrap}.focus-input button:disabled{opacity:.5;cursor:default}.focus-saved{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#ffffff21;border:1px solid #a5b6a2;border-radius:8px;padding:13px 15px}.focus-saved span{display:block;font-size:8px;font-weight:800;letter-spacing:1.1px;color:#d7e7d5}.focus-saved strong{display:block;font:20px/1.3 Georgia,serif;margin-top:5px;overflow-wrap:anywhere}.focus-saved button{font-size:10px;font-weight:700;color:#edf5ea;text-decoration:underline;text-underline-offset:3px}.hard-banner>div{flex:1}.hard-banner button{font-size:10px;font-weight:700;border:1px solid currentColor;border-radius:7px;padding:9px;white-space:nowrap}.hard-mode{--bg:#f0f3f0;--surface:#f9fbf9;--sidebar:#f5f8f5;--line:#e3ebe5;--soft:#edf3ee;--gentle:#e7efe8;--focus:#899f91;--sage:#88a590;--ring:#e2ebe3}.hard-mode .focus-art,.hard-mode .intro-ornament,.hard-mode .quote{display:none}.hard-mode .focus-top{min-height:110px}.hard-mode .focus-card,.hard-mode .card,.hard-mode .gentle-card{box-shadow:none}.hard-mode .card{border-color:transparent}.hard-mode .quick-item{background:var(--surface);border-color:#e3ebe5}.hard-mode .habits-card{background:#edf3ee}.hard-mode .progress-card{background:#f6f9f6}.hard-mode .greeting-star{color:#9aafa0}.hard-mode .hard-banner{background:#e1ece3;border-color:#d6e5d9}.dark .hard-mode{--bg:#202b26;--surface:#293830;--sidebar:#25342c;--line:#3a4b40;--soft:#304138;--gentle:#33453a;--focus:#617c6b;--sage:#a1bca7;--ring:#425649}.dark .hard-mode .quick-item{background:#304138;border-color:#405548}.dark .hard-mode .habits-card{background:#293a30}.dark .hard-mode .progress-card{background:#293830}.dark .hard-mode .hard-banner{background:#364a3b;border-color:#506553}.gentle-card .hard-toggle{display:flex;align-items:center;justify-content:space-between}.switch-track{display:block;width:35px;height:20px;border-radius:15px;background:#c5ccc0;padding:3px;flex:none;transition:background .2s}.switch-track i{display:block;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .2s}.switch-track.on{background:#819f88}.switch-track.on i{transform:translate(15px)}.water-controls{display:flex;align-items:center;gap:5px}.water-controls .small-plus:disabled{opacity:.4;cursor:default}.ring-label{font-size:10px;font-weight:700;color:var(--muted);margin:-9px 0 16px}.progress-explain{font-size:10px;font-weight:700;color:#819a80;margin-top:14px;min-height:36px}.progress-help{text-align:left;background:var(--soft);border-radius:8px;padding:12px;font-size:10px;color:var(--muted);line-height:1.6;overflow-wrap:anywhere}.progress-help ul{padding:0;list-style:none;margin:10px 0 0}.progress-help li{display:flex;justify-content:space-between;gap:10px;padding:3px 0}.progress-help strong{color:var(--text)}.progress-empty{display:flex;flex-direction:column;align-items:center;gap:9px;padding:35px 0;color:var(--muted);font-size:10px}.progress-empty strong{font:18px Georgia,serif;color:var(--text)}.quick-info strong,.quick-info span,.habit-description strong,.habit-description span{overflow-wrap:anywhere}.quick-item .number-field{max-width:100%}.quick-item .number-field span{overflow-wrap:anywhere}.mobile-nav .nav-item{min-width:0}@media(max-width:440px){.water-controls{gap:3px}.water-controls .small-plus{width:24px;height:24px}.quick-item .number-field span{max-width:44px}.habit-row{gap:8px}.habit-description{min-width:0}.main-content{padding-bottom:calc(120px + env(safe-area-inset-bottom))}}.plan-intro{gap:16px}.plan-intro .primary-button{white-space:nowrap}.plan-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;color:var(--muted);font-size:11px}.view-switch{display:flex;padding:4px;gap:4px;background:var(--soft);border:1px solid var(--line);border-radius:10px}.view-switch button{padding:9px 17px;font-size:11px;font-weight:700;color:var(--muted);border-radius:7px}.view-switch button.selected{background:var(--surface);color:var(--text);box-shadow:0 2px 8px #0000000b}.task-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}.board-column{background:var(--soft);border:1px solid var(--line);border-radius:13px;padding:15px;min-width:0;min-height:225px}.board-column.drop-ready{border-color:#a7bfa6}.board-heading{display:flex;align-items:center;justify-content:space-between;margin:3px 2px 16px}.board-heading h2{font:19px Georgia,serif}.board-heading>span{font-size:10px;font-weight:700;color:var(--muted);background:var(--surface);border-radius:15px;padding:4px 8px}.task-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:15px;margin-bottom:10px;min-width:0}.task-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.task-title{font-size:12px;font-weight:800;text-align:left;overflow-wrap:anywhere;line-height:1.5;padding:0}.task-title:hover{text-decoration:underline;text-underline-offset:3px}.priority-tag{font-size:9px;color:#a18d6c;background:#f1ede3;border-radius:20px;padding:4px 7px;white-space:nowrap}.dark .priority-tag{background:#4a4636;color:#d1bf99}.task-description{font-size:10px;line-height:1.6;color:var(--muted);margin-top:8px;white-space:pre-wrap;overflow-wrap:anywhere}.task-meta{display:flex;gap:12px;flex-wrap:wrap;color:#8aa08a;font-size:9px;margin-top:10px}.task-meta span{display:inline-flex;align-items:center;gap:4px}.task-card-actions{display:flex;align-items:center;gap:7px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);color:var(--muted)}.task-card-actions label{flex:1;min-width:0}.task-card-actions select,.task-modal select,.task-modal textarea{background:var(--soft);border:1px solid var(--line);border-radius:7px;color:var(--text)}.task-card-actions select{font-size:10px;max-width:100%;width:100%;padding:8px 5px}.task-card-actions>button{display:grid;place-items:center;min-height:35px}.task-edit{font-size:9px;font-weight:700;color:#849a81}.board-empty{border:1px dashed #cedacd;border-radius:9px;padding:20px 14px;text-align:center;color:var(--muted);font-size:10px;line-height:1.7}.board-add{display:flex;align-items:center;gap:6px;color:#849b81;font-size:10px;font-weight:700;margin-top:14px;min-height:34px}.task-list{display:grid;gap:10px}.task-list .task-card{margin:0}.task-list .task-card-actions label{max-width:200px}.status-tabs{display:none}.wip-warning,.storage-error{border:1px solid #ddd9c4;background:#f4f1e5;color:#887e64;border-radius:10px;padding:13px 16px;margin-bottom:16px;font-size:11px;line-height:1.6}.dark .wip-warning,.dark .storage-error{background:#403f30;border-color:#5a5640;color:#d8cba6}.task-modal textarea,.task-modal select{display:block;width:100%;padding:12px;margin-top:8px;font:12px Manrope,Arial,sans-serif}.task-modal textarea{min-height:85px;resize:vertical}.task-modal .optional{color:var(--muted);font-weight:400}.task-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.task-modal .task-check{display:flex;align-items:center;gap:10px;margin-top:20px;line-height:1.5;font-size:11px}.task-modal .task-check input{width:19px;height:19px;margin:0;accent-color:#789579}.replace-list{display:grid;gap:8px}.replace-list button{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid var(--line);background:var(--soft);border-radius:8px;padding:13px;text-align:left;font-size:11px;overflow-wrap:anywhere}.replace-cancel{margin-top:15px;font-size:11px;color:var(--muted);padding:8px}.actions-plan-link{display:flex;align-items:center;gap:5px;font-size:10px;color:#829980;font-weight:700;margin-top:14px}.boot-error{max-width:620px;margin:12vh auto;padding:30px;background:var(--surface);border:1px solid var(--line);border-radius:16px}.boot-error p{font-size:13px;line-height:1.8;color:var(--muted);margin-top:14px}.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}@media(max-width:760px){.task-board{display:block}.board-column{display:none}.board-column.mobile-active{display:block}.status-tabs{display:flex;gap:5px;align-items:stretch;margin-bottom:12px}.status-tabs button{flex:1;min-width:0;font-size:9px;font-weight:700;color:var(--muted);padding:10px 3px;border:1px solid var(--line);border-radius:8px}.status-tabs button.selected{background:var(--soft);color:var(--text)}.status-tabs span{font-size:9px}.plan-intro .primary-button{font-size:10px;padding:11px}.task-list .task-card-actions label{max-width:none}}@media(max-width:390px){.plan-intro .primary-button{font-size:0;padding:11px}.plan-intro .primary-button svg{width:20px;height:20px}.task-form-grid{grid-template-columns:1fr}.task-modal .task-form-grid label{margin-top:14px}}.goals-header{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}.goals-header h2{font:25px Georgia,serif;margin:8px 0}.goals-header p{font-size:11px;color:var(--muted)}.goals-filter{display:flex;gap:8px;margin-bottom:16px}.goals-filter button{font-size:10px;font-weight:700;color:var(--muted);border:1px solid var(--line);border-radius:8px;padding:9px 15px}.goals-filter button.selected{background:var(--soft);color:var(--text)}.goal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.goal-tile{min-width:0;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:20px}.goal-tile-top{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:10px}.goal-tile h3{font:21px Georgia,serif;overflow-wrap:anywhere;margin-top:15px}.goal-tile p{font-size:11px;line-height:1.6;color:var(--muted);margin-top:8px;overflow-wrap:anywhere}.goal-tile-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:14px;margin-top:18px;font-size:10px;color:#899f87}.goals-empty{grid-column:1/-1}.goal-back{display:flex;align-items:center;gap:7px;color:#879d85;font-size:11px;font-weight:700;margin:0 0 16px}.goal-detail-head{display:flex;justify-content:space-between;gap:15px}.goal-detail-head>div{min-width:0}.goal-detail h2{font:28px Georgia,serif;overflow-wrap:anywhere;margin-top:10px}.goal-why{font-size:12px;line-height:1.7;color:var(--muted);margin-top:12px;white-space:pre-wrap;overflow-wrap:anywhere}.goal-date{font-size:10px;color:var(--muted);margin-top:10px}.goal-progress{display:flex;flex-direction:column;gap:6px;padding:15px;margin-top:22px;background:var(--soft);border-radius:9px}.goal-progress strong{font-size:12px}.goal-progress span{font-size:10px;line-height:1.6;color:var(--muted)}.goal-suggestion{font-size:11px;color:#829c80;margin-top:13px;line-height:1.6}.goal-control{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.goal-control button{border:1px solid var(--line);border-radius:7px;padding:10px 13px;color:#829980;font-size:10px;font-weight:700}.goal-section,.goal-subgoals{margin-top:18px}.goal-subgoals>.section-heading{margin:0 0 15px}.goal-subgoals h2{font:22px Georgia,serif;margin-top:8px}.subgoal-card{margin-bottom:12px}.subgoal-card h3{font:20px Georgia,serif;margin-top:8px;overflow-wrap:anywhere}.subgoal-why,.subgoal-progress{font-size:10px;color:var(--muted);line-height:1.6;margin-top:7px;overflow-wrap:anywhere}.goal-steps{margin-top:15px}.goal-step{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding:12px 0}.step-dot{width:19px;height:19px;flex:none;display:grid;place-items:center;border-radius:50%;border:1px solid #ccd6c9;color:#fff;font-size:12px}.step-dot.checked{background:#819b80;border-color:#819b80}.goal-step>div{flex:1;min-width:0}.goal-step strong,.goal-step small{display:block;overflow-wrap:anywhere}.goal-step strong{font-size:11px}.goal-step small{font-size:9px;color:var(--muted);margin-top:4px}.goal-step>button{font-size:10px;color:var(--muted);padding:9px 3px;white-space:nowrap}.goal-step-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px}.goal-step-actions button{display:flex;align-items:center;gap:5px;color:#829980;font-size:10px;font-weight:700;min-height:35px}.goal-select{display:block;width:100%;background:var(--soft);border:1px solid var(--line);border-radius:8px;padding:12px;margin-top:8px;color:var(--text);font-size:11px}.modal-submit:disabled{opacity:.5;cursor:default}@media(max-width:600px){.goal-grid{grid-template-columns:1fr}.goals-header .primary-button{font-size:10px;padding:11px}.goal-detail h2{font-size:24px}.plan-toolbar>span{font-size:9px}.view-switch button{padding:9px 11px}.goal-step-actions{gap:6px 14px}.goal-subgoals>.section-heading{gap:8px}.goal-subgoals .text-link{white-space:normal;text-align:right}}.goal-why p{margin-top:6px;white-space:pre-wrap}.transfer-card{max-width:700px}.transfer-intro{display:flex;align-items:center;gap:13px}.transfer-intro h2{font:23px Georgia,serif;margin-top:8px}.transfer-card>p{font-size:11px;color:var(--muted);line-height:1.8;margin-top:18px}.transfer-notice{background:var(--soft);border-radius:9px;padding:13px;margin-top:16px;font-size:11px;color:var(--muted)}.transfer-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.transfer-upload{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:9px;padding:12px 16px;font-size:11px;font-weight:700;color:#829980;cursor:pointer}.transfer-upload input{position:absolute;width:1px;height:1px;opacity:0}.transfer-upload:focus-within{outline:2px solid #8aa78b;outline-offset:3px}.transfer-error,.transfer-success{padding:13px;border-radius:8px;margin-top:17px;font-size:11px;line-height:1.6;overflow-wrap:anywhere}.transfer-error{background:#f2eee5;color:#8f765f}.transfer-success{background:#e8f1e7;color:#688468}.dark .transfer-error{background:#443b31;color:#dbc2a8}.dark .transfer-success{background:#344738;color:#b6cfb5}.transfer-preview h2{font:26px Georgia,serif;margin-top:10px}.transfer-filename{font-size:10px;color:var(--muted);overflow-wrap:anywhere;margin:10px 0 18px}.transfer-summary{background:var(--soft);padding:12px 14px;border-radius:9px}.transfer-summary>div{display:flex;justify-content:space-between;gap:16px;font-size:10px;padding:5px 0;color:var(--muted)}.transfer-summary strong{color:var(--text);text-align:right}.transfer-warning{margin-top:16px;font-size:11px;line-height:1.7;color:var(--text)}.transfer-warning p{color:var(--muted);margin-top:7px}.transfer-dialog-actions{display:flex;justify-content:flex-end;align-items:center;gap:14px;margin-top:20px}.transfer-dialog-actions>button:not(.primary-button){font-size:11px;color:var(--muted);padding:12px}.quick-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}.quick-item{display:grid;grid-template-columns:35px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0}.quick-info{min-width:0}.quick-info strong,.quick-info span{word-break:normal;overflow-wrap:normal}.quick-info strong{font-size:11px}.quick-info span{font-size:9px;line-height:1.4}.quick-item .number-field{min-width:0}.quick-item .number-field span{max-width:55px;overflow-wrap:anywhere}.actions-counter{display:inline-block;background:var(--soft);border-radius:20px;padding:5px 8px;margin-top:9px;color:#8e9d8a;font-size:10px;font-weight:700;white-space:nowrap}.progress-help ul{margin:0}.hard-banner{min-width:0}.hard-banner>div{min-width:0}@media(max-width:440px){.quick-grid{grid-template-columns:1fr}.quick-item{grid-template-columns:35px minmax(0,1fr) auto}.quick-info strong{font-size:11px}.quick-info span{font-size:9px}.hard-banner{flex-wrap:wrap}.hard-banner>div{flex:1 1 calc(100% - 40px)}.hard-banner button{margin-left:30px}}.export-fallback{margin-top:18px;background:var(--soft);border-radius:9px;padding:14px;font-size:11px;color:var(--muted);line-height:1.7}.export-fallback strong{color:var(--text)}.export-fallback p{margin-top:7px}.export-fallback-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:10px}.export-fallback-actions a,.export-fallback-actions button{color:#829980;text-decoration:underline;text-underline-offset:3px;font-weight:700;font-size:11px}.export-fallback label{display:block;margin-top:12px}.export-fallback textarea{display:block;width:100%;min-height:90px;max-height:200px;resize:vertical;margin-top:5px;padding:10px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--text);font:10px/1.5 monospace}.export-fallback>span{display:block;margin-top:8px}.dashboard,.left-col,.right-col{min-width:0}@media(max-width:760px){.dashboard{grid-template-columns:minmax(0,1fr)}}@media(max-width:380px){.focus-art{display:none}}@media(max-width:760px){.right-col{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:350px){.right-col{grid-template-columns:minmax(0,1fr)}}.boot-error .primary-button{margin-top:20px}.storage-retry{margin-left:8px;text-decoration:underline;text-underline-offset:3px;font-weight:700}
