@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,select,textarea{font:inherit}button{border:0}input,select{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}select:focus{border-color:#ffffff38;background:#ffffff14}input:focus{border-color:#ffffff38;background:#ffffff14}input:disabled,select:disabled,textarea:disabled{opacity:.55;cursor:not-allowed}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)}.auth-shell{display:grid;place-items:center;padding:1.5rem}.auth-card{width:min(100%,29rem);position:relative;z-index:1;background:var(--bg-elevated);border:1px solid var(--card-border);box-shadow:var(--shadow-lg);border-radius:1.7rem;padding:1.4rem;display:grid;gap:1rem}.auth-title{margin:0;font-family:Space Grotesk,sans-serif;font-size:clamp(1.5rem,3vw,2.1rem)}.auth-copy,.auth-warning,.auth-error{margin:0;color:var(--text-secondary)}.auth-error{color:#ff9e9e}.auth-warning{color:#fc8}.auth-form,.auth-actions{display:grid;gap:.8rem}.session-bar{display:flex;align-items:center;justify-content:space-between;gap:.85rem;margin-bottom:.9rem;padding:.65rem .85rem;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:var(--text-secondary)}.session-bar span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-button{padding:.45rem .8rem}.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;align-items:flex-start}.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}.header-controls-group{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.35rem;border-radius:1.35rem;background:#ffffff08;border:1px solid rgba(255,255,255,.06)}.year-filter{display:flex;align-items:center;gap:.6rem;min-width:0;padding:.55rem .7rem;border-radius:1rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);color:var(--text-muted);font-size:.72rem}.year-filter select{width:auto;min-width:5.6rem;padding:.45rem 2rem .45rem .65rem;background:#ffffff05;border-color:#ffffff0f}.year-filter span{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:.66rem}.header-utility-button{min-height:3rem;padding-inline:1rem}.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-year-counter{margin-top:.35rem;font-size:.9rem;color:#ffd2bf}.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}.goal-tabs{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.goal-kind-filters{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.filters-panel{display:grid;gap:.8rem;padding:.95rem 1rem;border-radius:1.2rem;background:#ffffff06;border:1px solid rgba(255,255,255,.06)}.filter-group{display:grid;gap:.55rem}.filter-group-label{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.goal-tab-button{display:inline-flex;align-items:center;gap:.55rem;padding:.7rem 1rem;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:var(--text-secondary);cursor:pointer;font-weight:600}.goal-kind-button{display:inline-flex;align-items:center;justify-content:center;padding:.62rem .92rem;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;color:var(--text-secondary);cursor:pointer;font-weight:600}.goal-kind-button.is-active{background:#ffffff14;color:var(--text-primary);border-color:#ffffff24}.goal-tab-button span{display:inline-flex;align-items:center;justify-content:center;min-width:1.4rem;min-height:1.4rem;padding:0 .35rem;border-radius:999px;background:#ffffff0f;color:var(--text-primary);font-size:.72rem}.goal-tab-button.is-active{background:linear-gradient(135deg,#ff9a722e,#ffc57b1a);border-color:#ff9a7252;color:#ffe0d1;box-shadow:inset 0 0 0 1px #ff9a7214}.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}.goal-card-actions{align-items:center;justify-content:flex-start;margin-top:1.05rem;padding-top:.95rem;border-top:1px solid rgba(255,255,255,.06)}.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,#22c55e,#16a34a);color:#fff;font-weight:700;box-shadow:0 10px 26px #22c55e47}.secondary-button{background:linear-gradient(180deg,#ffffff17,#ffffff0d);color:var(--text-primary);border:1px solid rgba(255,255,255,.09)}.ghost-button{background:#ffffff04;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}.button-neutral{background:#ffffff08;border-color:#ffffff1c;color:var(--text-primary)}.button-organize{background:linear-gradient(135deg,#4992ff2e,#3f70d61a);border-color:#65a0ff47;color:#cfe2ff;box-shadow:inset 0 0 0 1px #6ca6ff0f}.button-state{background:linear-gradient(135deg,#ff9a722e,#ffc27014);border-color:#ff9a7247;color:#ffd9c9}.button-danger{background:linear-gradient(135deg,#ff5a5a38,#d9343424);border-color:#ff787833;color:#ffc1c1}.button-danger-soft{background:#ff5a5a1a;border:1px solid rgba(255,120,120,.14);color:#ffabab}.goal-card-actions .ghost-button,.goal-card-actions .danger-button,.goal-card-body>.tertiary-button{width:auto;min-width:0;padding:.68rem 1.1rem;font-size:.84rem;line-height:1.1}.goal-complete-button{display:inline-flex;align-items:center;gap:.5rem}.goal-complete-button svg{width:.92rem;height:.92rem}.goal-complete-button.is-completed{color:#9ed4ff;border-color:#58b0ff38;background:#58b0ff14}.goal-card-actions .ghost-button{background:#ffffff04}.goal-card-actions .danger-button{background:#ff5a5a1a}.goal-card-actions .button-organize,.goal-toggle-button.button-organize{background:linear-gradient(135deg,#4992ff2e,#3f70d61a);border-color:#65a0ff47;color:#cfe2ff}.goal-card-actions .button-state{background:linear-gradient(135deg,#ff9a722e,#ffc27014);border-color:#ff9a7247;color:#ffd9c9}.goal-card-actions .button-danger{background:linear-gradient(135deg,#ff5a5a38,#d9343424);color:#ffc1c1}.goal-card-body>.tertiary-button{display:inline-flex;align-items:center;justify-content:center;padding-inline:1rem;border-radius:999px}.create-goal-button,.create-subgoal-button{min-height:3rem;padding-inline:1.15rem;box-shadow:0 14px 32px #22c55e42}.create-subgoal-button{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)}.create-goal-button:hover,.create-subgoal-button:hover{transform:translateY(-2px);box-shadow:0 16px 34px #22c55e57}.button-organize:hover{box-shadow:0 12px 26px #4992ff2e}.button-state:hover{box-shadow:0 12px 26px #ff9a722e}.button-danger:hover,.button-danger-soft:hover{box-shadow:0 12px 26px #ff5a5a29}.goals-list{display:grid;gap:.75rem}.goals-group{display:grid;gap:.7rem}.goals-group-list{display:grid;gap:.75rem}.goals-group-header{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:0 .1rem;color:var(--text-muted);font-size:.8rem}.goal-card{overflow:hidden;border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.018),transparent 44%),var(--bg-elevated)}.goal-card.is-dragging{opacity:.68;border-color:#ffffff2e}.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-horizon-badge{display:inline-flex;align-items:center;min-height:1.45rem;padding:.16rem .58rem;border-radius:999px;font-size:.73rem;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:var(--text-secondary);white-space:nowrap}.goal-kind-badge{display:inline-flex;align-items:center;min-height:1.45rem;padding:.16rem .58rem;border-radius:999px;font-size:.73rem;border:1px solid rgba(255,255,255,.08);background:#ffffff09;color:var(--text-secondary);white-space:nowrap}.goal-kind-task{background:#58b0ff1a;border-color:#58b0ff33;color:#9ed4ff}.goal-kind-goal{background:#ff9a721a;border-color:#ff9a722e;color:#ffbf9f}.goal-kind-habit{background:#73e5aa1a;border-color:#73e5aa33;color:#9ff0c5}.goal-horizon-short{background:#58b0ff1f;border-color:#58b0ff38;color:#9ed4ff}.goal-horizon-medium{background:#ffba5a1f;border-color:#ffba5a38;color:#ffd18a}.goal-horizon-long{background:#997bff24;border-color:#997bff3d;color:#cab5ff}.goal-horizon-habit{background:#73e5aa1a;border-color:#73e5aa33;color:#9ff0c5}.goal-horizon-none{color:var(--text-muted)}.goal-title-button{min-width:0;max-width:100%;padding:0;background:transparent;color:inherit;text-align:left;border:0;cursor:pointer}.goal-card-copy strong{font-size:.99rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.goal-title-button strong{display:block}.goal-title-button:hover strong,.goal-title-button:focus-visible strong{color:#ffd2bf}.goal-title-button:focus-visible{outline:0}.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)}.goal-card-body>.tertiary-button,.goal-card-body>.subgoal-form{margin-top:.25rem}.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)}.checkbox-button.is-habit{font-size:.72rem;font-weight:700}.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}.native-file-input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.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}.habit-panel{display:grid;gap:.7rem;padding-left:2.35rem}.habit-panel-header,.habit-progress-row,.habit-counter,.habit-counter-controls{display:flex;align-items:center}.habit-panel-header,.habit-counter{justify-content:space-between;gap:.75rem}.habit-panel-title{font-size:.78rem;color:#ffb08b}.habit-panel-kicker{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.habit-panel-summary{display:grid;gap:.12rem}.habit-panel-summary-inline{min-width:0}.habit-panel-caption{font-size:.72rem;color:var(--text-muted)}.habit-panel-caption.is-strong,.habit-consistency-chip.is-strong{color:#8ef0aa}.habit-panel-caption.is-warning,.habit-consistency-chip.is-warning{color:#ffd36d}.habit-panel-caption.is-risk,.habit-consistency-chip.is-risk{color:#ff9f9f}.habit-panel-header-inline{gap:1rem}.habit-inline-actions{display:flex;align-items:center;gap:.65rem;margin-left:auto}.habit-panel-toggle{padding:.42rem .78rem;background:#ffffff0a;color:var(--text-secondary);border:1px solid rgba(255,255,255,.06);border-radius:999px;font-size:.72rem;cursor:pointer}.habit-progress-row{gap:.75rem}.habit-progress-row .progress-track{flex:1}.habit-config-card{display:grid;gap:.8rem;padding:.85rem .95rem;border-radius:1rem;border:1px solid rgba(255,255,255,.05);background:#ffffff05}.habit-config-grid{display:grid;gap:.8rem;grid-template-columns:repeat(3,minmax(0,1fr))}.habit-field{display:grid;gap:.35rem}.habit-field span,.habit-counter span{font-size:.75rem;color:var(--text-muted)}.habit-field select,.habit-field input{width:100%}.habit-counter-controls{gap:.65rem}.habit-counter-controls button{width:2rem;height:2rem;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:#ffffff0b;color:var(--text-primary);cursor:pointer}.habit-counter-controls strong{min-width:1.8rem;text-align:center}.habit-counter-inline{padding:.2rem 0 0}.habit-progress-inline{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.habit-progress-inline-label{font-size:.72rem;color:var(--text-muted)}.habit-insight{display:grid;gap:.2rem;padding:.7rem .8rem;border-radius:.85rem;background:#ffffff09;border:1px solid rgba(255,255,255,.05)}.habit-insight strong{font-size:1rem;font-family:Space Grotesk,sans-serif}.habit-insight span{color:var(--text-secondary);font-size:.78rem;line-height:1.45}.habit-calendar{display:grid;gap:.75rem}.habit-calendar-header,.habit-calendar-nav,.habit-calendar-weekdays{display:flex;align-items:center}.habit-calendar-header{justify-content:space-between;gap:.75rem}.habit-calendar-header strong{font-size:.88rem;text-transform:capitalize}.habit-calendar-nav{gap:.45rem}.habit-calendar-nav button{width:2rem;height:2rem;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:#ffffff0b;color:var(--text-primary);cursor:pointer}.habit-calendar-weekdays{justify-content:space-between;gap:.4rem}.habit-calendar-weekdays span{width:calc((100% - 2.4rem) / 7);text-align:center;font-size:.68rem;color:var(--text-muted);text-transform:uppercase}.habit-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.4rem}.habit-calendar-empty,.habit-day-button{min-height:2.7rem;border-radius:.85rem}.habit-calendar-empty{background:transparent}.habit-day-button{display:grid;place-items:center;gap:.08rem;padding:.35rem .2rem;border:1px solid rgba(255,255,255,.06);background:#ffffff08;color:var(--text-secondary);cursor:pointer}.habit-day-button span{font-size:.8rem;font-weight:700}.habit-day-button small{font-size:.62rem;color:inherit}.habit-day-button.is-marked{background:#22c55e29;border-color:#22c55e47;color:#d7ffe5}.subgoal-comment-input{font-size:.84rem;min-height:4.6rem}.subgoal-attachments{display:flex;gap:.55rem;padding-left:2.35rem;overflow-x:auto}.attachment-card{width:6rem;flex:0 0 auto;display:grid;gap:.35rem}.attachment-card a{display:block;border-radius:.8rem;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:#ffffff0a}.attachment-card img{display:block;width:100%;aspect-ratio:1 / 1;object-fit:cover}.attachment-remove{padding:.35rem .55rem;border-radius:999px;background:#ffffff0b;color:var(--text-muted);border:1px solid rgba(255,255,255,.08);cursor:pointer;font-size:.72rem}.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}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:1.25rem;background:#05080cb8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.manual-modal{width:min(100%,56rem);max-height:min(88vh,52rem);display:grid;grid-template-rows:auto minmax(0,1fr);gap:1rem;overflow:hidden;border-radius:1.4rem;border:1px solid rgba(255,255,255,.08);background:#0f121af5;box-shadow:var(--shadow-lg)}.manual-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.2rem 1.25rem 0}.manual-modal-header h2,.manual-section h3{margin:0;font-family:Space Grotesk,sans-serif}.manual-modal-body{overflow:auto;min-height:0;padding:0 1.25rem 1.25rem;display:grid;gap:1rem;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}.manual-section{display:grid;gap:.6rem;padding:1rem 1.05rem;border-radius:1rem;border:1px solid rgba(255,255,255,.06);background:#ffffff06}.manual-section p,.manual-section li,.manual-modal-body>p{margin:0;color:var(--text-secondary);line-height:1.6}.manual-section ul{margin:0;padding-left:1.1rem;display:grid;gap:.5rem}.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,.header-actions,.header-controls-group{width:100%}.header-controls-group{flex-direction:column;align-items:stretch}.year-filter{justify-content:space-between}.year-filter select{width:100%;min-width:0}.session-bar{border-radius:1rem;align-items:flex-start;flex-direction:column}.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}.filters-panel{padding:.85rem}.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-title-button{width:100%}.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,.section-header .primary-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-card-actions{margin-top:1rem;padding-top:.85rem}.goal-card-actions .ghost-button,.goal-card-actions .danger-button,.goal-card-body>.tertiary-button{width:auto;max-width:100%}.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,.habit-panel,.subgoal-attachments{padding-left:2rem}.subgoal-meta-row{flex-wrap:wrap}.habit-panel-header,.habit-progress-row,.habit-counter{align-items:flex-start;flex-direction:column}.habit-config-grid{grid-template-columns:1fr}.habit-inline-actions,.habit-progress-inline{width:100%}.habit-inline-actions{justify-content:space-between;margin-left:0}.habit-counter-inline .habit-counter-controls{width:100%}}.goal-horizon-field{display:grid;gap:.35rem;min-width:12rem;color:var(--text-muted);font-size:.76rem}.goal-horizon-field select{padding:.6rem .8rem;min-width:0}@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}}
