@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=Space+Grotesk:wght@500;700&display=swap";:root{color-scheme:dark;--bg: #0b0d12;--bg-elevated: rgba(17, 20, 28, .9);--bg-soft: rgba(255, 255, 255, .045);--bg-soft-strong: rgba(255, 255, 255, .075);--card-border: rgba(255, 255, 255, .07);--card-border-strong: rgba(255, 255, 255, .12);--text-primary: #f3f4f8;--text-secondary: rgba(243, 244, 248, .74);--text-muted: rgba(243, 244, 248, .42);--shadow-lg: 0 28px 80px rgba(0, 0, 0, .42);--radius-xl: 28px;--radius-lg: 20px;--radius-md: 14px;--radius-sm: 10px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:DM Sans,sans-serif;background:radial-gradient(circle at top left,rgba(255,142,104,.11),transparent 26%),radial-gradient(circle at 82% 12%,rgba(79,140,255,.1),transparent 18%),linear-gradient(180deg,#090b10,#10131a 52%,#121722);color:var(--text-primary)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:linear-gradient(to right,rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.02) 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.35),transparent 85%);mask-image:linear-gradient(180deg,rgba(0,0,0,.35),transparent 85%);pointer-events:none}button,input,textarea{font:inherit}button{border:0}input{width:100%;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-sm);color:var(--text-primary);padding:.85rem 1rem;outline:none;transition:border-color .16s ease,background .16s ease}input:focus{border-color:#ffffff38;background:#ffffff14}textarea{width:100%;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-sm);color:var(--text-primary);padding:.8rem .95rem;outline:none;transition:border-color .16s ease,background .16s ease;resize:vertical;min-height:5rem}textarea:focus{border-color:#ffffff38;background:#ffffff14}.app-shell{min-height:100vh;position:relative;overflow:hidden}.app-bg-glow{position:absolute;width:30rem;height:30rem;border-radius:50%;filter:blur(70px);opacity:.35;pointer-events:none}.app-bg-glow-left{top:-8rem;left:-8rem;background:#ff7a594d}.app-bg-glow-right{right:-12rem;top:16rem;background:#4f8cff42}.app-container{width:min(100%,84rem);margin:0 auto;padding:2.25rem 1.25rem 4rem;position:relative;z-index:1}.loading-shell{display:grid;place-items:center;padding:2rem}.loading-card{padding:1rem 1.2rem;border-radius:var(--radius-md);background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:var(--text-secondary)}.app-header,.section-header,.hero-card,.goal-card-header,.goal-card-actions,.subgoal-row,.subgoal-form,.form-actions,.person-menu-trigger,.person-menu-item,.person-add-actions{display:flex;align-items:center}.app-header,.section-header{justify-content:space-between;gap:1rem}.app-header{margin-bottom:1.6rem}.app-header-copy{max-width:36rem}.eyebrow,.hero-badge{margin:0 0 .35rem;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;color:var(--text-muted)}.page-title,.section-header h2,.hero-copy h2,.empty-state h3{margin:0;font-family:Space Grotesk,sans-serif}.page-title{font-size:clamp(1.85rem,4vw,3.2rem);line-height:.98;max-width:12ch}.hero-card,.goal-form-card,.goal-card,.empty-state,.person-menu-panel{background:var(--bg-elevated);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--card-border);box-shadow:var(--shadow-lg)}.hero-card{display:grid;gap:1.2rem;padding:1.15rem 1.2rem;border-radius:var(--radius-xl)}.hero-card-compact{grid-template-columns:minmax(0,1fr) auto;align-items:center;margin-bottom:1rem}.hero-card-compact .progress-track{grid-column:1 / -1;padding:0}.hero-copy{min-width:0}.hero-copy h2{font-size:clamp(1.2rem,2vw,1.7rem);margin-bottom:0}.hero-copy p,.empty-state p,.app-footer,.goal-card-copy span,.hero-progress-meta span{color:var(--text-secondary)}.hero-copy p{margin:0;line-height:1.55;max-width:52ch}.hero-progress{display:flex;align-items:center;justify-content:space-between;gap:1rem}.hero-progress-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.hero-progress-meta strong{font-size:1.55rem;font-family:Space Grotesk,sans-serif}.goals-section{display:grid;gap:1rem;min-width:0}.app-layout{display:block}.goal-form-card,.goal-card,.empty-state{border-radius:var(--radius-lg)}.goal-form-card{padding:1rem;display:grid;gap:1rem}.field{display:grid;gap:.55rem}.field span{color:var(--text-muted);font-size:.92rem}.color-grid{display:flex;gap:.65rem;flex-wrap:wrap}.color-swatch{width:2rem;height:2rem;border-radius:999px;background:var(--swatch-color);cursor:pointer;box-shadow:inset 0 0 0 1px #ffffff1a}.color-swatch.is-active{outline:3px solid rgba(255,255,255,.22);outline-offset:2px}.form-actions,.goal-card-actions,.subgoal-form,.person-add-actions{gap:.65rem;flex-wrap:wrap}.primary-button,.secondary-button,.ghost-button,.danger-button,.tertiary-button,.icon-button{border-radius:999px;cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease}.primary-button,.secondary-button,.ghost-button,.danger-button,.tertiary-button{padding:.76rem 1rem}.primary-button{background:linear-gradient(135deg,#ff7a59,#ff9f47);color:#fff;font-weight:700}.secondary-button{background:linear-gradient(180deg,#ffffff17,#ffffff0d);color:var(--text-primary);border:1px solid rgba(255,255,255,.09)}.ghost-button{background:transparent;color:var(--text-secondary);border:1px solid rgba(255,255,255,.1)}.danger-button{background:#ff5a5a1f;color:#ff9e9e}.tertiary-button{background:#ffffff0b;color:var(--text-secondary);width:fit-content}.full-width{width:100%;justify-content:center}.primary-button:hover,.secondary-button:hover,.ghost-button:hover,.danger-button:hover,.tertiary-button:hover,.icon-button:hover,.person-menu-trigger:hover,.goal-card-header:hover,.subgoal-text:hover{transform:translateY(-1px)}.goals-list{display:grid;gap:.75rem}.goal-card{overflow:hidden;border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.018),transparent 44%),var(--bg-elevated)}.goal-card.is-expanded{border-color:var(--card-border-strong)}.goal-card-header{justify-content:space-between;gap:.8rem;padding:.82rem .95rem .72rem;min-width:0}.goal-header-main,.goal-header-side{display:flex;align-items:center;gap:.8rem;min-width:0}.goal-header-main{flex:1}.goal-chip{width:.7rem;height:.7rem;border-radius:999px;background:var(--goal-color);box-shadow:0 0 0 5px color-mix(in srgb,var(--goal-color) 14%,transparent),0 0 16px color-mix(in srgb,var(--goal-color) 26%,transparent)}.goal-card-copy{flex:1;min-width:0;display:flex;align-items:baseline;gap:.65rem;flex-wrap:nowrap;text-align:left}.goal-card-copy strong{font-size:.99rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.goal-card-copy span{font-size:.8rem;white-space:nowrap;flex-shrink:0;color:var(--text-muted)}.goal-toggle-button{min-width:auto;flex-shrink:0;padding:.52rem .82rem;font-size:.82rem;line-height:1}.goal-progress-bar,.hero-card .progress-track{padding:0 .95rem .86rem}.progress-track{width:100%;height:.4rem;border-radius:999px;overflow:hidden;background:#ffffff0f}.progress-fill{height:100%;border-radius:inherit;transition:width .24s ease}.goal-card-body{padding:0 1rem 1rem;border-top:1px solid rgba(255,255,255,.06)}.subgoal-list{display:grid;gap:.55rem;padding:1rem 0}.subgoal-item{display:grid;gap:.45rem;padding:.2rem 0}.subgoal-row{gap:.75rem;padding:.2rem 0}.checkbox-button{width:1.55rem;height:1.55rem;flex-shrink:0;border-radius:.45rem;border:2px solid rgba(255,255,255,.18);background:transparent;color:#fff;cursor:pointer}.checkbox-button.is-done{background:var(--goal-color);border-color:var(--goal-color)}.subgoal-text{flex:1;background:transparent;color:var(--text-primary);text-align:left;padding:0;cursor:default}.subgoal-text.is-done{color:var(--text-muted);text-decoration:line-through}.subgoal-tools{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.meta-icon-button{position:relative;width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#ffffff0b;color:var(--text-muted);border:1px solid rgba(255,255,255,.08);cursor:pointer;overflow:hidden;transition:transform .16s ease,color .16s ease,border-color .16s ease,background .16s ease}.meta-icon-button svg{width:.95rem;height:.95rem}.meta-icon-button.has-value{color:#ff9a72;border-color:#ff9a7242;background:#ff9a721a}.native-date-input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;padding:0}.subgoal-meta-row{display:flex;align-items:center;gap:.5rem;padding-left:2.35rem;min-width:0}.subgoal-date-chip{display:inline-flex;align-items:center;min-height:1.45rem;padding:.15rem .55rem;border-radius:999px;font-size:.74rem;color:var(--text-muted);background:#ffffff0a;border:1px solid rgba(255,255,255,.06);white-space:nowrap}.subgoal-date-chip.has-value{color:#ffb08b;background:#ff9a7214;border-color:#ff9a722e}.subgoal-comment-preview{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;color:var(--text-muted)}.subgoal-comment-box{padding-left:2.35rem}.subgoal-comment-input{font-size:.84rem;min-height:4.6rem}.inline-input{padding:.55rem .75rem}.subgoal-input{flex:1}.icon-button{padding:.45rem .7rem;background:#ffffff0f;color:var(--text-muted)}.empty-state{padding:2rem 1rem;text-align:center}.empty-state-icon{margin:0 0 .75rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.2em;color:#ffb28c}.app-footer{padding:1.5rem 0 0;text-align:center;font-size:.92rem}.goal-header-side .circular-progress{width:34px;height:34px}.person-menu{position:relative;z-index:20}.person-menu-trigger{gap:.8rem;padding:.55rem .8rem;background:linear-gradient(180deg,#ffffff14,#ffffff0a);border:1px solid rgba(255,255,255,.08);border-radius:999px;color:inherit;cursor:pointer;width:fit-content;max-width:100%}.person-avatar{width:2.75rem;height:2.75rem;border-radius:.95rem;display:grid;place-items:center;font-weight:700;background:linear-gradient(135deg,var(--avatar-start),var(--avatar-end))}.person-avatar.small{width:2rem;height:2rem;border-radius:.75rem}.person-meta{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:.05rem}.person-meta small{color:var(--text-muted)}.person-meta strong,.person-select-button span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:transparent}.person-menu-panel{position:absolute;top:calc(100% + .7rem);right:0;width:min(22rem,calc(100vw - 2.5rem));padding:.9rem;border-radius:1.2rem;z-index:10}.person-menu-list{display:grid;gap:.55rem}.person-menu-item{justify-content:space-between;gap:.65rem}.person-select-button{flex:1;display:flex;align-items:center;gap:.7rem;padding:.5rem;border-radius:.9rem;color:inherit;background:transparent;text-align:left;cursor:pointer}.person-select-button.is-active{background:#ffffff12}.menu-divider{height:1px;background:#ffffff14;margin:.85rem 0}.person-add-form{display:grid;gap:.75rem}.circular-progress{position:relative;display:inline-grid;place-items:center;flex-shrink:0}.circular-progress svg{transform:rotate(-90deg)}.circular-progress span{position:absolute;font-size:.68rem;font-weight:700;color:var(--text-primary)}@media (max-width: 720px){.app-container{padding:max(1rem,env(safe-area-inset-top)) .85rem calc(3rem + env(safe-area-inset-bottom))}.app-header,.section-header,.goal-card-actions,.subgoal-form,.person-add-actions{flex-direction:column;align-items:stretch}.app-header-copy,.page-title{max-width:none}.person-menu-trigger,.primary-button,.ghost-button,.danger-button,.tertiary-button{justify-content:center}.person-menu{width:100%}.person-menu-trigger{width:100%;justify-content:space-between}.person-menu-panel{left:0;right:0;width:100%}.hero-card{padding:.95rem}.hero-card-compact{grid-template-columns:1fr}.hero-progress{width:100%;justify-content:space-between}.hero-progress-meta{align-items:flex-start}.goal-card-header{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:.55rem}.goal-header-main,.goal-header-side{width:100%}.goal-header-side{justify-content:space-between;align-items:center}.goal-card-copy{display:grid;gap:.12rem;align-items:start}.goal-card-copy span{min-width:0;overflow:hidden;text-overflow:ellipsis}.secondary-button,.primary-button,.ghost-button,.danger-button,.subgoal-form .primary-button,.subgoal-form .ghost-button{width:auto;align-self:flex-start}.section-header .secondary-button,.goal-form-card .primary-button,.goal-form-card .ghost-button,.person-add-actions .primary-button,.person-add-actions .ghost-button{width:100%}.goal-toggle-button,.goal-card-actions .ghost-button,.goal-card-actions .danger-button,.tertiary-button{width:auto;align-self:flex-start}.goal-toggle-button{min-width:4.5rem;justify-content:center}.goal-header-side .circular-progress{width:32px;height:32px}.subgoal-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;flex-wrap:wrap}.subgoal-text,.subgoal-input{min-width:0}.subgoal-tools{grid-column:2;justify-self:start;flex-wrap:wrap}.subgoal-meta-row,.subgoal-comment-box{padding-left:2rem}.subgoal-meta-row{flex-wrap:wrap}}@media (min-width: 721px) and (max-width: 1080px){.hero-card-compact{grid-template-columns:minmax(0,1fr) auto;align-items:center}}@media (min-width: 1081px){.app-container{padding-top:2.6rem}}
