@import"https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700&display=swap";:root{font-family:Outfit,system-ui,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg: #0c1222;--bg-elevated: #131d33;--surface: #1a2744;--border: #243553;--text: #e8eef6;--text-muted: #9aa8be;--accent: #10b981;--accent-hover: #34d399;--accent-muted: rgba(16, 185, 129, .18);--accent-glow: rgba(16, 185, 129, .35);--success: #22c55e;--danger: #ef4444;--radius: 14px;--radius-sm: 10px;--shadow: 0 4px 24px rgba(0, 0, 0, .4);--shadow-accent: 0 0 20px var(--accent-glow);--ease: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(.33, 1, .68, 1);--duration: .2s;--grid-line: rgba(16, 185, 129, .035);--grid-size: 24px}*{box-sizing:border-box}html{scrollbar-gutter:stable}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--bg);background-image:repeating-linear-gradient(90deg,var(--grid-line) 0,var(--grid-line) 1px,transparent 1px,transparent var(--grid-size)),repeating-linear-gradient(0deg,var(--grid-line) 0,var(--grid-line) 1px,transparent 1px,transparent var(--grid-size));background-size:var(--grid-size) var(--grid-size);color:var(--text);padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0);padding-bottom:env(safe-area-inset-bottom,0)}#root{min-height:100vh;display:flex;flex-direction:column}a{color:var(--accent);text-decoration:none;transition:color var(--duration) var(--ease)}a:hover{color:var(--accent-hover);text-decoration:underline}button{font-family:inherit;font-size:.9375rem;font-weight:500;cursor:pointer;border:none;border-radius:var(--radius-sm);transition:background-color var(--duration) var(--ease),color var(--duration) var(--ease),border-color var(--duration) var(--ease),box-shadow var(--duration) var(--ease)}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed}input,textarea,select{font-family:inherit;font-size:1rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);padding:.5rem .75rem;width:100%;transition:border-color var(--duration) var(--ease),box-shadow var(--duration) var(--ease)}input::placeholder,textarea::placeholder{color:var(--text-muted)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-muted)}textarea{resize:vertical;min-height:80px}h1,h2,h3{font-weight:600;line-height:1.25;margin:0 0 .5rem}h1{font-size:1.75rem}h2{font-size:1.375rem}h3{font-size:1.125rem}.landing{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.landing-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--border);background:var(--bg-elevated)}.landing-logo{font-size:1.25rem;font-weight:700;letter-spacing:.02em;color:var(--text)}.landing-main{flex:1;max-width:640px;margin:0 auto;padding:3rem 1.5rem 4rem;width:100%}.landing-hero{font-size:clamp(2rem,5vw,2.75rem);font-weight:700;line-height:1.2;margin:0 0 .75rem;letter-spacing:-.02em;background:linear-gradient(135deg,var(--text) 0%,var(--text-muted) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.landing-tagline{font-size:1.125rem;color:var(--text-muted);margin:0 0 2rem;line-height:1.5}.landing-cta{margin-bottom:3rem;display:flex;flex-direction:column;align-items:flex-start}.landing-cta .btn-lg{padding:.75rem 1.5rem;font-size:1.0625rem;min-width:10rem}.landing-cta-meta{font-size:.8125rem;color:var(--text-muted);margin:.75rem 0 0;max-width:28ch}.landing-mantra{padding:1.5rem 1.25rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:2.5rem;border-left:4px solid var(--accent)}.landing-mantra-line{font-size:1.125rem;font-weight:600;color:var(--text);margin:0 0 .5rem;letter-spacing:.01em}.landing-mantra-sub{font-size:.9375rem;color:var(--text-muted);margin:0;line-height:1.5}.landing-pricing{margin-bottom:2.5rem}.landing-pricing-card{padding:1.5rem 1.5rem 1.25rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);text-align:center;border-left:4px solid var(--accent)}.landing-pricing-price{font-size:2rem;font-weight:700;color:var(--text);margin:0 0 .25rem;letter-spacing:-.02em}.landing-pricing-period{font-size:1rem;font-weight:500;color:var(--text-muted)}.landing-pricing-alt{font-size:.9375rem;color:var(--text-muted);margin:0 0 .5rem}.landing-pricing-trial{font-size:.875rem;color:var(--accent);margin:0 0 1rem}.landing-pricing-cta{display:inline-block;margin-bottom:.5rem}.landing-features-title{font-size:1rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 1rem}.landing-features{display:grid;gap:1.5rem;margin-top:0}.landing-feature{padding:1.25rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);border-left:3px solid var(--accent)}.landing-feature h3{font-size:1rem;font-weight:600;margin:0 0 .35rem;color:var(--text)}.landing-feature p{font-size:.9375rem;color:var(--text-muted);margin:0;line-height:1.5}.landing-footer{padding:1rem 1.5rem;border-top:1px solid var(--border);background:var(--bg-elevated);font-size:.8125rem;color:var(--text-muted);text-align:center}.landing-footer-brand{font-weight:600;color:var(--text)}.landing-footer-dot{margin:0 .5rem;opacity:.6}.landing-footer-link{color:var(--accent);text-decoration:none}.landing-footer-link:hover{text-decoration:underline}.pricing-section{max-width:22rem;margin:0 auto;width:100%}.pricing-section-title{font-size:clamp(2rem,5vw,2.75rem);font-weight:700;line-height:1.2;margin:0 0 .5rem;letter-spacing:-.02em;background:linear-gradient(135deg,var(--text) 0%,var(--text-muted) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.pricing-section-tagline{font-size:1.125rem;color:var(--text-muted);margin:0 0 1.5rem;line-height:1.5}.pricing-section-card{padding:1.5rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);border-left:4px solid var(--accent);margin-bottom:1.5rem}.pricing-card-value{font-size:.9375rem;color:var(--text-muted);margin:0 0 1.25rem;line-height:1.5}.pricing-card-price{margin:0 0 .25rem}.pricing-card-amount{font-size:2rem;font-weight:700;color:var(--text);letter-spacing:-.02em}.pricing-card-period{font-size:1.125rem;font-weight:500;color:var(--text-muted)}.pricing-card-year{font-size:.9375rem;color:var(--text-muted);margin:0 0 .75rem}.pricing-card-trial{font-size:.9375rem;font-weight:500;color:var(--text-muted);margin:0 0 1.25rem}.pricing-card-cta-wrap{margin-bottom:.5rem}.pricing-card-cta-wrap .btn{display:inline-block}.pricing-card-stripe-note{font-size:.75rem;color:var(--text-muted);opacity:.8;margin:0}.pricing-section-back{font-size:.9375rem;color:var(--text-muted);margin:0}.pricing-section-back a{color:var(--accent);text-decoration:none}.pricing-section-back a:hover{text-decoration:underline}.app-root{display:flex;flex-direction:column;flex:1;min-height:0}.app-shell{flex:1;display:flex;flex-direction:row;min-height:0}.app-nav{display:flex;gap:.25rem}.app-nav--sidebar{flex-direction:column;width:11rem;flex-shrink:0;padding:1rem .75rem 1rem 1rem;border-right:1px solid var(--border);background:var(--bg-elevated)}.app-nav--sidebar .app-nav-link{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;border-radius:var(--radius-sm);font-weight:500;font-size:.9375rem;color:var(--text-muted);text-decoration:none;transition:background var(--duration) var(--ease),color var(--duration) var(--ease)}.app-nav--sidebar .app-nav-link:hover{color:var(--text);background:var(--surface)}.app-nav--sidebar .app-nav-link--active{color:var(--accent);background:var(--accent-muted)}.app-nav-icon{font-size:1.1rem;opacity:.9}.app-nav--bottom{display:none}.app-layout{flex:1;display:flex;flex-direction:column;max-width:720px;margin:0 auto;width:100%;padding:1.5rem 1.25rem 2rem;min-width:0}@media(max-width:640px){.app-layout{padding:1rem 1rem 5rem}}@media(max-width:640px){.app-nav--sidebar{display:none}.app-nav--bottom{display:flex;position:fixed;bottom:0;left:0;right:0;flex-direction:row;justify-content:space-around;align-items:center;padding:.5rem .5rem max(.5rem,env(safe-area-inset-bottom));background:var(--bg-elevated);border-top:1px solid var(--border);z-index:100}.app-nav--bottom .app-nav-link{flex:1;display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.5rem .35rem;border-radius:var(--radius-sm);font-size:.7rem;font-weight:500;color:var(--text-muted);text-decoration:none;transition:color var(--duration) var(--ease),background var(--duration) var(--ease)}.app-nav--bottom .app-nav-link:hover{color:var(--text)}.app-nav--bottom .app-nav-link--active{color:var(--accent)}.app-nav--bottom .app-nav-icon{font-size:1.25rem}}.dashboard{display:flex;flex-direction:column;flex:1;min-height:0}.dashboard-tabs{display:flex;gap:0;margin-bottom:1.25rem;border-bottom:1px solid var(--border)}.dashboard-tab{padding:.5rem 1rem;font:inherit;font-size:.9375rem;font-weight:500;color:var(--text-muted);background:none;border:none;border-bottom:2px solid transparent;border-radius:0;margin-bottom:-1px;cursor:pointer;transition:color var(--duration) var(--ease),border-color var(--duration) var(--ease)}.dashboard-tab:hover{color:var(--text)}.dashboard-tab-active{color:var(--text);border-bottom-color:var(--accent)}.dashboard-panel{flex:1;min-height:0}.dashboard-panel[hidden]{display:none}.dashboard-timer-row{display:flex;flex-wrap:wrap;gap:1.25rem;margin-bottom:1.5rem;align-items:stretch}@media(min-width:640px){.dashboard-timer-row{flex-wrap:nowrap}}.dashboard-timer-panel{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1.5rem 1.25rem;min-width:0;flex:0 0 auto;min-height:10rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.dashboard-timer-panel-time{font-size:clamp(2.5rem,8vw,4rem);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.02em;line-height:1.1;color:var(--text);margin-bottom:.25rem}.dashboard-timer-panel-target{margin:0 0 1rem;font-size:.875rem;color:var(--text-muted)}.dashboard-timer-panel-time-up{font-weight:600;color:var(--accent)}.dashboard-timer-panel-stop{min-height:2.5rem;padding-left:1.25rem;padding-right:1.25rem;font-weight:600}.dashboard-timer-panel-cta-copy{margin:0 0 1rem;font-size:.9375rem;color:var(--text-muted)}.dashboard-timer-panel-start{min-height:2.5rem;padding-left:1.5rem;padding-right:1.5rem;font-weight:600}.dashboard-timer-panel--standalone{width:100%;max-width:420px;margin:0 auto}.session-view{display:flex;flex-direction:column;align-items:center;padding:2rem 0 1.5rem;gap:2rem}.session-timer{display:flex;flex-direction:column;align-items:center;width:100%;max-width:360px;text-align:center}.session-timer-display{font-size:clamp(3.5rem,18vw,5.5rem);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.06em;line-height:1.1;color:var(--accent);text-shadow:0 0 24px var(--accent-glow),0 0 48px rgba(16,185,129,.2);margin-bottom:.35rem;padding:.1em 0}.session-timer-target{margin:0 0 1.5rem;font-size:.875rem;font-weight:500;color:var(--text-muted);letter-spacing:.02em}.session-timer-time-up{font-weight:600;color:var(--accent);animation:session-time-up-pulse 1.5s ease-in-out infinite}@keyframes session-time-up-pulse{0%,to{opacity:1}50%{opacity:.7}}.session-controls{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.session-btn{min-height:2.75rem;padding:.6rem 1.5rem;font-weight:600;font-size:.9375rem;letter-spacing:.02em;border-radius:999px;transition:transform var(--duration) var(--ease),box-shadow var(--duration) var(--ease)}.session-btn:active:not(:disabled){transform:scale(.97)}.session-btn--primary{background:var(--accent);color:#fff;box-shadow:0 2px 12px var(--accent-glow)}.session-btn--primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 4px 20px var(--accent-glow)}.session-btn--secondary{background:transparent;color:var(--accent);border:2px solid var(--accent)}.session-btn--secondary:hover:not(:disabled){background:var(--accent-muted)}.session-btn--danger{background:var(--danger);color:#fff;box-shadow:0 2px 12px #ef444440}.session-btn--danger:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 4px 16px #ef44444d}.session-error{margin-top:.75rem!important}.session-goal-area{width:100%;max-width:340px}.session-goal-link{width:100%;display:flex;flex-direction:column;gap:.75rem}.session-goal-link-list-wrap{display:flex;flex-direction:column;gap:.5rem;min-height:2.5rem;padding:.75rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.session-goal-link-list-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.session-goal-link-empty{margin:0;font-size:.875rem;color:var(--text-muted)}.session-goal-link-chips{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.session-goal-link-chip{display:flex;align-items:center;gap:.5rem;padding:.5rem .65rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.875rem}.session-goal-link-chip--goal{border-left:3px solid var(--accent)}.session-goal-link-chip--task{border-left:3px solid var(--accent-muted)}.session-goal-link-chip-badge{flex-shrink:0;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.15rem .4rem;border-radius:4px;background:var(--accent-muted);color:var(--accent)}.session-goal-link-chip-badge--task{background:var(--accent-muted);color:var(--accent)}.session-goal-link-chip-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-goal-link-chip--task .session-goal-link-chip-label{display:flex;flex-direction:column;gap:.15rem;white-space:nowrap;overflow:hidden}.session-goal-link-chip-task-title{font-weight:500;color:var(--text)}.session-goal-link-chip-goal{font-size:.75rem;color:var(--accent);opacity:.9;overflow:hidden;text-overflow:ellipsis}.session-goal-link-chip-remove{flex-shrink:0;width:1.25rem;height:1.25rem;padding:0;font-size:1.1rem;line-height:1;color:var(--text-muted);background:none;border:none;border-radius:50%;cursor:pointer;transition:color var(--duration) var(--ease),background var(--duration) var(--ease)}.session-goal-link-chip-remove:hover{color:var(--text);background:var(--border)}.session-goal-link-chip-done{flex-shrink:0;font-size:.75rem;font-weight:500;padding:.25rem .5rem;color:var(--accent);background:transparent;border:1px solid var(--accent-muted);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--duration) var(--ease),border-color var(--duration) var(--ease),background var(--duration) var(--ease)}.session-goal-link-chip-done:hover:not(:disabled){background:var(--accent-muted);border-color:var(--accent)}.session-goal-link-chip-done:disabled{opacity:.7;cursor:not-allowed}.session-goal-link-chip-check{flex-shrink:0;color:var(--accent);font-weight:600;font-size:.9375rem}.session-goal-link-chip-undo{flex-shrink:0;font-size:.75rem;font-weight:500;padding:.25rem .5rem;color:var(--text-muted);background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--duration) var(--ease),border-color var(--duration) var(--ease),background var(--duration) var(--ease)}.session-goal-link-chip-undo:hover:not(:disabled){color:var(--text);border-color:var(--text-muted);background:var(--bg-elevated)}.session-goal-link-chip-undo:disabled{opacity:.7;cursor:not-allowed}.session-goal-link-chip--completed .session-goal-link-chip-task-title{text-decoration:line-through;color:var(--text-muted)}.session-goal-link-chip--completed .session-goal-link-chip-goal{color:var(--text-muted);opacity:.85}.session-goal-link-add-btn{display:flex;align-items:center;justify-content:center;width:100%;padding:.6rem 1rem;font-size:.9rem;font-weight:500;color:var(--accent);background:transparent;border:1px dashed var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--duration) var(--ease),color var(--duration) var(--ease),background var(--duration) var(--ease)}.session-goal-link-add-btn:hover{border-color:var(--accent-muted);background:var(--accent-muted);color:var(--accent-hover)}.session-goal-link-modal{max-height:min(85vh,calc(100dvh - 2rem));display:flex;flex-direction:column;overflow:hidden}.session-goal-link-modal-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem;flex-shrink:0}.session-goal-link-modal-header h2{margin:0;font-size:1.25rem}.session-goal-link-modal-close{flex-shrink:0;display:flex;justify-content:center;width:2rem;height:2rem;padding:0;font-size:1.5rem;line-height:1}.session-goal-link-modal-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.session-goal-link-page-empty{text-align:center;padding:2rem 1rem}.session-goal-link-page-empty .session-goal-link-empty-state-copy{margin-left:auto;margin-right:auto}.session-goal-link-page-empty .session-goal-link-empty-state-cta{margin-bottom:0}.session-goal-link-empty-state{text-align:center;padding:1.5rem .5rem}.session-goal-link-empty-state-in .session-goal-link-empty-state-headline{animation:motion-reveal-content-in .28s cubic-bezier(.22,1,.36,1) both}.session-goal-link-empty-state-in .session-goal-link-empty-state-copy{animation:motion-reveal-content-in .28s cubic-bezier(.22,1,.36,1) .08s both}.session-goal-link-empty-state-in .session-goal-link-empty-state-cta{animation:motion-reveal-content-in .28s cubic-bezier(.22,1,.36,1) .16s both}.session-goal-link-empty-state-headline{font-size:1.25rem;font-weight:600;margin:0 0 .5rem;color:var(--text)}.session-goal-link-empty-state-copy{font-size:.9375rem;line-height:1.45;color:var(--text-muted);margin:0 0 1.25rem;max-width:28em;margin-left:auto;margin-right:auto}.session-goal-link-empty-state-cta{margin-bottom:1rem}.session-goal-link-empty-state-form-wrap{overflow:hidden;max-height:0;transition:max-height .4s var(--ease-out)}.session-goal-link-empty-state-form-wrap--expanded{max-height:220px}.session-goal-link-empty-state-form-wrap .session-goal-link-empty-state-form{opacity:0;transition:opacity .2s ease-out}.session-goal-link-empty-state-form-wrap--expanded .session-goal-link-empty-state-form{opacity:1;transition-delay:.15s}.session-goal-link-empty-state-form{text-align:left;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.session-goal-link-modal-footer{flex-shrink:0;display:flex;justify-content:flex-end;align-items:center;gap:.5rem;border-top:1px solid var(--border);margin:2rem -1.5rem -1.5rem;padding:1rem 1.5rem 1.5rem}.session-goal-link-list{list-style:none;padding:0;margin:0}.session-goal-link-item{margin-bottom:.5rem}.session-goal-link-item:last-child{margin-bottom:0}.session-goal-link-item-row{display:flex;align-items:center;gap:.5rem}.session-goal-link-goal-btn{flex:1;display:flex;align-items:center;gap:.3rem;text-align:left;padding:.5rem .75rem;min-height:2.5rem;font-size:.9rem;font-weight:500;background:var(--bg-elevated);color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration) var(--ease),color var(--duration) var(--ease),border-color var(--duration) var(--ease)}.session-goal-link-goal-check{flex-shrink:0;width:1em;min-width:1em;text-align:center}.session-goal-link-goal-label{flex:1;min-width:0;word-wrap:break-word;overflow-wrap:break-word}@media(hover:hover){.session-goal-link-goal-btn:hover{background:var(--surface);color:var(--text);border-color:var(--border)}}.session-goal-link-goal-btn:active{background:var(--surface)}.session-goal-link-goal-btn--active{background:var(--accent-muted);color:var(--accent);border-color:var(--accent)}.session-goal-link-goal-btn--has-tasks{border-left:3px solid var(--accent);padding-left:calc(.75rem - 3px)}.session-goal-link-goal-btn--has-tasks .session-goal-link-goal-label{color:var(--text)}.session-goal-link-goal-badge{flex-shrink:0;min-width:1.25em;height:1.25em;padding:0 .35em;font-size:.7rem;font-weight:600;line-height:1.25em;text-align:center;background:var(--accent-muted);color:var(--accent);border-radius:var(--radius-sm)}.session-goal-link-expand-btn{flex-shrink:0;width:2rem;height:2rem;padding:0;font-size:.7rem;background:var(--bg-elevated);color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--duration) var(--ease),background var(--duration) var(--ease)}@media(hover:hover){.session-goal-link-expand-btn:hover{color:var(--accent);background:var(--surface)}}.session-goal-link-expand-btn:active{color:var(--accent);background:var(--surface)}.session-goal-link-expand-btn--loading{cursor:wait}.session-goal-link-expand-btn--loading:hover{color:var(--text-muted);background:var(--bg-elevated)}.session-goal-link-expand-spinner{display:block;width:14px;height:14px;margin:0 auto;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:session-expand-spinner-rotate .7s linear infinite}@keyframes session-expand-spinner-rotate{to{transform:rotate(360deg)}}.session-goal-link-tasks-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s var(--ease-out)}.session-goal-link-tasks-wrap--expanded{grid-template-rows:1fr}.session-goal-link-tasks-inner{min-height:0;overflow:hidden}.session-goal-link-tasks-inner-content{margin:.5rem 0 .5rem 1rem}.session-goal-link-tasks{list-style:none;padding:0;border-left:2px solid var(--border);padding-left:.5rem;margin:0}.session-goal-link-tasks-wrap:not(.session-goal-link-tasks-wrap--expanded) .session-goal-link-tasks{animation:none}.session-goal-link-tasks li,.session-goal-link-task-item{margin-bottom:.5rem;animation:session-task-item-in .3s var(--ease-out) both}.session-goal-link-tasks li:last-child,.session-goal-link-task-item:last-child{margin-bottom:.5rem}@keyframes session-task-item-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.session-goal-link-tasks-state{font-size:.7rem;font-weight:400;color:var(--text-muted);padding:.4rem .35rem;margin:0 0 .5rem;border-radius:6px;opacity:.8;font-style:italic;font-synthesis:italic;letter-spacing:.02em}.session-goal-link-task-btn{width:100%;display:flex;align-items:center;gap:.3rem;text-align:left;padding:.4rem .35rem;min-height:2.25rem;font-size:.85rem;background:none;color:var(--text-muted);border:none;border-radius:4px;cursor:pointer;transform:translateY(0);opacity:1;transition:color .35s var(--ease-out),background .35s var(--ease-out)}.session-goal-link-task-check{flex-shrink:0;width:1em;min-width:1em;text-align:center}.session-goal-link-task-label{flex:1;min-width:0;word-wrap:break-word;overflow-wrap:break-word}@media(hover:hover){.session-goal-link-task-btn:hover{color:var(--accent);background:var(--bg-elevated)}}.session-goal-link-task-btn:active{color:var(--accent);background:var(--bg-elevated)}.session-goal-link-task-btn--active{color:var(--accent);font-weight:500}.session-goal-link-task-btn--done .session-goal-link-task-label{text-decoration:line-through;opacity:.85}.session-goal-link-task-done-badge{flex-shrink:0;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:.12rem .35rem;border-radius:4px;background:var(--accent-muted);color:var(--accent);margin-left:.25rem}.session-goal-link-item--create{border-top:1px solid var(--border);padding-top:.75rem;margin-top:.25rem}.session-goal-link-create-task-cell{overflow:hidden;transition:max-height .4s var(--ease-out)}.session-goal-link-create-task-cell--goal{max-height:3.5rem}.session-goal-link-create-task-cell--goal.session-goal-link-create-task-cell--form{max-height:380px}.session-goal-link-create-task-cell--task{max-height:3.5rem}.session-goal-link-create-task-cell--task.session-goal-link-create-task-cell--form{max-height:220px}.session-goal-link-create-task-cell .session-goal-link-inline-form{opacity:1;transition:opacity .2s ease-out}.session-goal-link-create-task-cell:not(.session-goal-link-create-task-cell--form) .session-goal-link-inline-form{opacity:0;pointer-events:none}.session-goal-link-create-task-cell--form .session-goal-link-inline-form{transition-delay:.15s}.session-goal-link-create-goal-btn{display:block;width:100%;padding:.5rem .75rem;font-size:.875rem;color:var(--text-muted);background:transparent;border:1px dashed var(--border);border-radius:var(--radius);cursor:pointer;text-align:left;transition:color var(--duration) var(--ease),border-color var(--duration) var(--ease),background var(--duration) var(--ease)}.session-goal-link-create-task-btn{display:flex;align-items:center;gap:.3rem;width:100%;text-align:left;padding:.4rem .35rem;min-height:2.25rem;font-size:.85rem;color:var(--text-muted);background:transparent;border:1px dashed var(--border);border-radius:var(--radius);cursor:pointer;transition:color var(--duration) var(--ease),border-color var(--duration) var(--ease),background var(--duration) var(--ease)}.session-goal-link-create-goal-btn:hover,.session-goal-link-create-task-btn:hover{color:var(--accent);border-color:var(--accent-muted);background:var(--bg-elevated)}.session-goal-link-create-task-wrap{padding:0;margin:0}.session-goal-link-create-task-btn-icon{flex-shrink:0;width:1em;min-width:1em;font-weight:600;color:var(--accent)}.session-goal-link-create-task-btn-text{flex:1;min-width:0}.session-goal-link-create-task-btn-text strong{font-weight:600;color:var(--text)}.session-goal-link-inline-form{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.session-goal-link-inline-form--task{padding-left:.5rem;margin-top:.5rem}.session-goal-link-inline-form-context{font-size:.75rem;color:var(--text-muted);margin:0 0 .15rem}.session-goal-link-inline-form-context strong{color:var(--text);font-weight:500}.session-goal-link-inline-form .session-goal-link-inline-input{padding:.5rem .75rem;font-size:.875rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text)}.session-goal-link-inline-input--optional{font-size:.8125rem;color:var(--text-muted)}.session-goal-link-form-error{font-size:.8125rem;color:var(--error);margin:0}.session-goal-link-inline-actions{display:flex;gap:.5rem;justify-content:flex-end}.dashboard-session-summary{flex:1;min-width:0;min-height:10rem;padding:1.5rem 1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;gap:.5rem}.dashboard-session-summary-label{font-size:.8125rem;font-weight:600;color:var(--text-muted)}.dashboard-session-summary-chips-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;min-height:0}.dashboard-session-summary-chips{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;max-height:6.5rem;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--border) var(--bg-elevated)}.dashboard-session-summary-chips::-webkit-scrollbar{width:6px;height:0}.dashboard-session-summary-chips::-webkit-scrollbar-track{background:var(--bg-elevated);border-radius:999px;margin:.25rem 0}.dashboard-session-summary-chips::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px;transition:background var(--duration) var(--ease)}.dashboard-session-summary-chips::-webkit-scrollbar-thumb:hover{background:var(--accent)}.dashboard-session-summary-chips::-webkit-scrollbar-thumb:active{background:var(--accent-hover)}.dashboard-session-summary-more{font-size:.8125rem;color:var(--text-muted);flex-shrink:0}.dashboard-session-summary-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .6rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:999px;font-size:.875rem;color:var(--text);transition:border-color var(--duration) var(--ease),background var(--duration) var(--ease)}.dashboard-session-summary-chip:hover{border-color:var(--accent);background:var(--bg)}.dashboard-session-summary-chip-text{max-width:10rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-session-summary-chip-remove{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;padding:0;font-size:1.1rem;line-height:1;color:var(--text-muted);background:none;border:none;border-radius:50%;cursor:pointer;transition:color var(--duration) var(--ease),background var(--duration) var(--ease)}.dashboard-session-summary-chip-remove:hover{color:var(--text);background:var(--border)}.dashboard-session-summary-chip-content{min-width:0;overflow:hidden}.dashboard-session-summary-chip--goal .dashboard-session-summary-chip-content{max-width:10rem}.dashboard-session-summary-chip--goal .dashboard-session-summary-chip-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-session-summary-chip--goal{border-left:3px solid var(--accent)}.dashboard-session-summary-chip--task{border-left:3px solid var(--text-muted);align-items:flex-start;padding:.4rem .6rem}.dashboard-session-summary-chip--task .dashboard-session-summary-chip-content{display:flex;flex-direction:column;gap:.15rem;max-width:12rem}.dashboard-session-summary-chip-task-title{font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-session-summary-chip-task-goal{font-size:.7rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-session-summary-empty,.dashboard-session-summary-idle{margin:0;font-size:.875rem;color:var(--text-muted);line-height:1.4}.dashboard-session-summary-empty{font-style:italic}.dashboard-scope{margin-bottom:2rem}.dashboard-scope-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.dashboard-scope-title{margin:0;font-size:1.25rem;font-weight:600;flex:1;min-width:0}.dashboard-scope-description{margin-bottom:0}.dashboard-scope-body{margin-top:1.25rem}.dashboard-scope-new-goal{margin-bottom:1.5rem}.dashboard-scope-empty{margin-top:0}.dashboard-scope-list{list-style:none;padding:0;margin:0}.dashboard-scope-goal{margin-bottom:.5rem;padding:.75rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--duration) var(--ease),box-shadow var(--duration) var(--ease)}.dashboard-scope-goal:hover{border-color:var(--border);box-shadow:0 1px 3px #0000000f}.dashboard-scope-goal-header{display:flex;align-items:center;gap:.75rem}.dashboard-scope-goal-main{flex:1;min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;padding:0;font:inherit;text-align:left;color:inherit;background:none;border:none;cursor:pointer}.dashboard-scope-goal-main:hover .dashboard-scope-goal-title-text{color:var(--accent)}.dashboard-scope-goal-title-text{font-weight:600;color:var(--text);transition:color var(--duration) var(--ease)}.dashboard-scope-goal-desc{width:100%;margin:0;font-size:.8125rem;color:var(--text-muted)}.dashboard-scope-goal-expand{flex-shrink:0;width:1.5rem;height:1.5rem;display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;font-variant-numeric:tabular-nums;color:var(--text-muted);border-radius:4px;transition:color var(--duration) var(--ease),background var(--duration) var(--ease)}.dashboard-scope-goal-main:hover .dashboard-scope-goal-expand{color:var(--accent);background:var(--bg-elevated)}.dashboard-scope-goal-controls{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.dashboard-scope-session-btn{padding:.4rem .75rem;font-size:.8125rem;font-weight:500;color:var(--text-muted);background:var(--bg-elevated);border:1px solid var(--border);border-radius:999px;cursor:pointer;white-space:nowrap;transition:color var(--duration) var(--ease),background var(--duration) var(--ease),border-color var(--duration) var(--ease)}.dashboard-scope-session-btn:hover{color:var(--accent);border-color:var(--accent);background:var(--surface)}.dashboard-scope-session-btn-active{color:var(--bg);background:var(--accent);border-color:var(--accent)}.dashboard-scope-session-btn-active:hover{color:var(--bg);background:var(--accent);border-color:var(--accent);opacity:.9}.dashboard-scope-session-btn-sm{padding:.25rem .5rem;font-size:.75rem}.dashboard-scope-session-btn-muted{cursor:default;opacity:.85}.dashboard-scope-session-btn-muted:hover{color:var(--text-muted);border-color:var(--border);background:var(--bg-elevated)}.dashboard-scope-goal-link{display:inline-flex;align-items:center;gap:.35rem;font-size:.8125rem;font-weight:500;color:var(--text-muted);text-decoration:none;padding:.4rem .6rem;border-radius:var(--radius-sm);transition:color var(--duration) var(--ease),background var(--duration) var(--ease)}.dashboard-scope-goal-link:hover{color:var(--accent);background:var(--accent-muted)}.dashboard-scope-goal-link-icon{font-size:1rem;line-height:1;opacity:.9}.dashboard-scope-goal-link:hover .dashboard-scope-goal-link-icon{opacity:1}.dashboard-scope-tasks{margin-top:.75rem;padding-top:.75rem;padding-left:.5rem;border-left:2px solid var(--border)}.dashboard-scope-tasks-loading,.dashboard-scope-tasks-empty{margin:0;font-size:.8125rem}.dashboard-scope-task-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.25rem}.dashboard-scope-task{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.9375rem;padding:.35rem 0;border-radius:4px;transition:background var(--duration) var(--ease)}.dashboard-scope-task:hover{background:var(--bg-elevated)}.dashboard-scope-task-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-history{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border)}.dashboard-history-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.5rem 0;font:inherit;font-size:1rem;font-weight:600;color:var(--text);background:none;border:none;cursor:pointer;transition:color var(--duration) var(--ease)}.dashboard-history-toggle:hover{color:var(--accent)}.dashboard-history-toggle-icon{font-variant-numeric:tabular-nums;opacity:.8}.dashboard-history-panel{padding-bottom:1rem}.sessions-total-today{margin:0 0 .75rem;font-size:.875rem;color:var(--text)}.sessions-total-today strong{font-variant-numeric:tabular-nums}.session-timeline{position:relative;padding-left:0;margin:0;list-style:none}.session-timeline-node{position:relative;margin-bottom:.5rem}.session-timeline-node:last-child{margin-bottom:0}.session-timeline-node-body{display:flex;align-items:flex-start;gap:.75rem;min-height:0}.session-timeline-line-wrap{position:relative;flex-shrink:0;width:1.25rem;display:flex;flex-direction:column;align-items:center;padding-top:.5rem}.session-timeline-line{position:absolute;top:1.25rem;left:50%;transform:translate(-50%);width:2px;bottom:-.5rem;background:var(--border);border-radius:1px}.session-timeline-dot{width:10px;height:10px;border-radius:50%;background:var(--border);border:2px solid var(--bg-elevated);flex-shrink:0;position:relative;z-index:1;transition:background var(--duration) var(--ease),border-color var(--duration) var(--ease)}.session-timeline-node--today .session-timeline-dot{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-muted)}.session-timeline-card{flex:1;min-width:0;padding:.6rem .85rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);transition:border-color var(--duration) var(--ease)}.session-timeline-card:hover{border-color:var(--accent-muted)}.session-timeline-date-label{display:block;font-size:.7rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.35rem}.session-timeline-card-header{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap;margin-bottom:.35rem}.session-timeline-time{font-size:.875rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text)}.session-timeline-duration{font-size:.8125rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.session-timeline-links{list-style:none;margin:0;padding:0}.session-timeline-link-item{font-size:.8125rem;color:var(--text);margin-bottom:.2rem}.session-timeline-link-item:last-child{margin-bottom:0}.session-timeline-link-label{font-weight:500}.session-timeline-link-note{display:block;font-size:.75rem;color:var(--text-muted);margin-top:.1rem;margin-left:0}.session-timeline-no-links{margin:0;font-size:.8125rem}.session-pre-start{display:flex;flex-direction:column;gap:1.25rem;padding:.5rem 0}.session-pre-start-title{margin:0 0 .15rem;font-size:1.5rem;font-weight:700}.session-pre-start-description{margin:0;font-size:.9375rem;color:var(--text-muted);line-height:1.4}.session-pre-start-goals{display:flex;flex-direction:column;gap:.625rem}.session-pre-start-goals-label{font-size:.8125rem;font-weight:600;letter-spacing:.02em;color:var(--text-muted)}.session-pre-start-goals-list{display:flex;flex-direction:column;gap:.5rem}.session-pre-start-goal-btn{display:block;width:100%;padding:.75rem 1rem;text-align:left;font-weight:500;background:var(--surface);color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-sm);transition:background-color var(--duration) var(--ease),border-color var(--duration) var(--ease),color var(--duration) var(--ease)}.session-pre-start-goal-btn:hover{background:var(--bg-elevated);border-color:var(--border);color:var(--text)}.session-pre-start-goal-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.session-pre-start-goal-btn.btn-primary{background:var(--accent-muted);color:var(--accent);border-color:var(--accent)}.session-pre-start-goal-btn.btn-primary:hover{background:#10b98140;border-color:var(--accent);color:var(--accent-hover)}.session-pre-start-tasks{margin-top:.25rem}.session-pre-start-tasks .session-pre-start-goals-label{display:block;margin-bottom:.35rem}.session-pre-start-tasks-for-goal{margin-top:1rem}.session-pre-start-tasks-for-goal:first-child{margin-top:0}.end-session-tasks-for-goal{margin-top:.5rem;overflow:hidden;animation:end-session-tasks-block-in .4s var(--ease-out) forwards}.end-session-tasks-for-goal .card-meta{font-size:.8125rem}@keyframes end-session-tasks-block-in{0%{max-height:0;opacity:0;margin-top:0}to{max-height:32rem;opacity:1;margin-top:.5rem}}.end-session-tasks-for-goal.closing{animation:end-session-tasks-block-out .35s var(--ease) forwards;pointer-events:none}@keyframes end-session-tasks-block-out{0%{max-height:32rem;opacity:1;margin-top:.5rem}to{max-height:0;opacity:0;margin-top:0}}.session-pre-start-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.session-pre-start-start-btn{width:100%;min-height:2.75rem;font-weight:600}.session-focus{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:min(60vh,420px);padding:2rem 0;text-align:center}.session-focus-timer{font-size:clamp(3.5rem,12vw,5.5rem);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.02em;line-height:1.1;color:var(--text);margin-bottom:.5rem}.session-focus-target{margin:0 0 .5rem;font-size:.9375rem;color:var(--text-muted)}.session-focus-time-up{font-weight:600;color:var(--accent)}.session-focus-linked{margin:0 0 1.5rem;font-size:.875rem;color:var(--text-muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-focus-tasks{list-style:none;margin:0 0 1.5rem;padding:0;width:100%;max-width:22rem;text-align:left}.session-focus-task-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .75rem;margin-bottom:.25rem;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);transition:background-color var(--duration) var(--ease),border-color var(--duration) var(--ease)}.session-focus-task-item--completed .session-focus-task-title{text-decoration:line-through;color:var(--text-muted)}.session-focus-task-item--completed .session-focus-task-goal{color:var(--text-muted);opacity:.85}.session-focus-task-label{flex:1;min-width:0;font-size:.9375rem}.session-focus-task-title{font-weight:500}.session-focus-task-goal{font-size:.8125rem;color:var(--text-muted)}.session-focus-task-done-btn{flex-shrink:0;font-size:.8125rem;padding:.35rem .6rem;font-weight:500}.session-focus-task-undo-btn{flex-shrink:0;font-size:.8125rem;padding:.35rem .6rem;font-weight:500;color:var(--text-muted)}.session-focus-task-undo-btn:hover:not(:disabled){color:var(--text)}.session-focus-task-check{flex-shrink:0;color:var(--accent);font-weight:600;font-size:1rem}.session-focus-error{margin-bottom:.75rem;font-size:.875rem}.session-focus-actions{margin-top:.5rem}.session-focus-stop-btn{min-height:2.75rem;padding-left:1.5rem;padding-right:1.5rem;font-weight:600}.goal-detail-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.goal-detail-title{word-break:break-word;overflow-wrap:break-word;margin:0;flex:1;min-width:0}.goal-detail-action-btn{display:inline-flex;align-items:center;gap:.4rem;flex-shrink:0}.goal-detail-action-btn-icon{display:flex;align-items:center;justify-content:center}.goal-detail-action-btn-icon svg{display:block}@media(max-width:640px){.goal-detail-header .btn{min-height:2.5rem}.goal-detail-title{font-size:1.5rem;line-height:1.3}}.task-card{display:flex;flex-direction:column;gap:.65rem;min-width:0}.task-card-header{display:flex;align-items:center;gap:.5rem;min-width:0}.task-card-title{margin:0;font-size:1rem;font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-card-badge{flex-shrink:0}.task-card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding-top:.5rem;margin-top:.15rem;border-top:1px solid var(--border)}.task-card-cta{flex-shrink:0}.task-card-more{color:var(--text-muted);flex-shrink:0}.task-card-more:hover{color:var(--text)}.task-card-more-menu{width:100%;flex-basis:100%;display:flex;flex-wrap:wrap;gap:.5rem 1rem;padding-top:.5rem;margin-top:.25rem;border-top:1px solid var(--border)}.task-card-more-item{background:none;border:none;padding:0;font:inherit;font-size:.8125rem;color:var(--text-muted);cursor:pointer;text-decoration:none}.task-card-more-item:hover{color:var(--accent);text-decoration:underline}.goal-detail-task-sections{display:flex;flex-direction:column;gap:1.25rem}.goal-detail-task-section{margin:0}.goal-detail-task-section-title{margin:0 0 .5rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.goal-detail-task-section--planned .goal-detail-task-section-title{color:var(--accent);font-weight:700}.goal-detail-task-section--planned .task-card-simple-wrapper.card:before{opacity:1;width:4px}.goal-detail-task-section--completed .goal-detail-task-section-title{color:var(--text-muted);font-weight:600}.goal-detail-task-section--completed .task-card-simple-wrapper{opacity:.92}.goal-detail-task-section--completed .task-card-simple-wrapper.card{padding-left:2.5rem}.goal-detail-task-section--completed .task-card-simple-wrapper.card:before{width:2.25rem;opacity:1;background:var(--accent-muted, rgba(34, 197, 94, .15));content:"✓";display:flex;align-items:center;justify-content:center;font-size:1.125rem;font-weight:700;color:var(--accent);line-height:1}.goal-detail-task-section--archived .goal-detail-task-section-title{color:var(--text-muted);opacity:.75;font-weight:500}.goal-detail-task-section--archived .task-card-simple-wrapper{opacity:.72}.goal-detail-task-section--archived .task-card-simple-title,.goal-detail-task-section--archived .task-card-simple-desc{color:var(--text-muted)}.goal-detail-task-section--archived .task-card-simple-wrapper.card{padding-left:2.5rem}.goal-detail-task-section--archived .task-card-simple-wrapper.card:before{width:2.25rem;opacity:1;content:"";background-color:#ffffff0f;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8v13H3V8'/%3E%3Cpath d='M1 3h22v5H1z'/%3E%3Cpath d='M10 12h4'/%3E%3C/svg%3E");background-size:1.125rem 1.125rem;background-position:center;background-repeat:no-repeat}.goal-detail-task-list{overflow-x:hidden;width:100%}.goal-detail-task-list>li.card{overflow:hidden;width:100%;box-sizing:border-box}.task-description-collapsed{margin-top:.25rem;overflow:hidden;min-width:0;width:100%;box-sizing:border-box}.task-description-collapsed>p{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;width:100%;min-width:0;box-sizing:border-box}.task-description-toggle{padding:.1rem 0;font-size:.75rem;margin-top:.15rem;display:inline-block}.task-description-expanded{margin-top:.25rem}.task-description-expanded>p{margin:0;white-space:pre-wrap;word-break:break-word;overflow-wrap:break-word}@media(max-width:640px){.goal-detail-task-list>li.card{padding:.85rem 1rem}.task-card{width:100%;min-width:0;gap:.75rem}.task-card-header{width:100%;min-width:0;overflow:hidden}.task-card-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-description-collapsed{width:100%;max-width:100%}.task-description-collapsed>p{width:100%;max-width:100%}.task-card-cta,.task-card-more{min-height:2.5rem}.task-card-more-menu{padding-top:.5rem}.task-card-more-item{min-height:2.25rem;display:inline-flex;align-items:center}}.task-card-simple-wrapper{padding:0;overflow:hidden}.task-card-simple{width:100%;text-align:left;padding:.85rem 1rem;background:none;border:none;font:inherit;color:inherit;cursor:pointer;display:flex;flex-direction:column;gap:.35rem;min-width:0;transition:background-color var(--duration) var(--ease)}.task-card-simple:hover{background:var(--bg-hover, rgba(255, 255, 255, .04))}.task-card-simple:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.task-card-simple-header{display:flex;align-items:center;gap:.5rem;min-width:0}.task-card-simple-title{flex:1;font-weight:600;font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.task-card-simple-desc{margin:0;font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;width:100%;display:block}.task-detail-modal{max-height:90vh;display:flex;flex-direction:column;max-width:440px}.task-detail-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:1rem;flex-shrink:0}.task-detail-modal-title-row{display:flex;align-items:flex-start;gap:.5rem;min-width:0;flex:1}.task-detail-modal-title{margin:0;padding:0;font-size:1.125rem;font-weight:600;line-height:1.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.task-detail-modal-title-row .task-card-badge{flex-shrink:0;line-height:1.5rem;display:inline-flex;align-items:center;padding:0 .5rem;height:1.5rem;box-sizing:border-box;font-size:.6875rem}.task-detail-modal-close{flex-shrink:0;display:flex;justify-content:center;font-size:1.5rem;line-height:1;padding:0;width:1.5rem;height:1.5rem}.task-detail-modal-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column}.task-detail-content{margin-bottom:1rem}.task-detail-description{margin:0;white-space:pre-wrap;word-break:break-word}.task-detail-activity{padding-top:1rem;border-top:1px solid var(--border)}.task-sessions-list{margin-top:0}.task-sessions-empty{margin:0;font-size:.875rem}.task-sessions-ul{list-style:none;padding:0;margin:0}.task-session-item{padding:.5rem 0;border-bottom:1px solid var(--border)}.task-session-item:last-child{border-bottom:none}.task-session-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.task-session-when{font-size:.875rem}.task-session-meta{font-size:.8125rem}.task-session-log-link{background:none;border:none;padding:0;font:inherit;font-size:inherit;color:var(--accent);cursor:pointer;text-decoration:none}.task-session-log-link:hover{text-decoration:underline}.session-log-box{margin-top:.5rem;padding:.75rem;background:var(--bg);border-radius:var(--radius-sm);font-size:.875rem}.session-log-p{margin:0 0 .5rem}.session-log-p-last{margin-bottom:0}.task-detail-modal-footer{flex-shrink:0;border-top:1px solid var(--border);background:var(--bg-base, rgba(0, 0, 0, .15));margin:.5rem -1.5rem -1.5rem;padding:1rem 1.5rem 1.5rem}.task-detail-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.app-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1.25rem;margin-bottom:0;flex-wrap:wrap;background:var(--bg-elevated);border-bottom:1px solid var(--border);position:relative}.app-header-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;min-height:2.75rem}.app-header-actions .btn,.app-header-actions .timer-pill{flex-shrink:0}@media(max-width:640px){.app-header{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right));padding-top:max(.85rem,env(safe-area-inset-top))}}.app-header:after{content:"";position:absolute;left:0;bottom:-1px;width:120px;height:2px;background:linear-gradient(90deg,var(--accent),transparent);border-radius:0 2px 0 0}.app-title{font-size:1.35rem;font-weight:700;letter-spacing:.02em;color:var(--text);margin:0;text-decoration:none;transition:color var(--duration) var(--ease)}.app-title:hover{text-decoration:none;color:var(--accent)}.app-title:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:var(--radius-sm)}.btn{padding:.5rem 1rem;font-weight:500;border-radius:var(--radius-sm);transition:background-color var(--duration) var(--ease),color var(--duration) var(--ease),border-color var(--duration) var(--ease),box-shadow var(--duration) var(--ease)}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 2px 8px var(--accent-muted)}.btn-primary:hover:not(:disabled),a.btn-primary:hover{background:var(--accent-hover);color:#fff;text-decoration:none;box-shadow:0 2px 12px var(--accent-muted)}.btn-danger{background:var(--danger);color:#fff;box-shadow:0 2px 8px #ef444440}.btn-danger:hover:not(:disabled),a.btn-danger:hover{background:#f87171;color:#fff;text-decoration:none;box-shadow:0 2px 12px #ef44444d}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--border);border-color:var(--text-muted)}.btn-ghost{background:transparent;color:var(--text-muted)}.btn-ghost:hover:not(:disabled){background:var(--bg-elevated);color:var(--text)}.btn-secondary{background:transparent;color:var(--accent);border:1px solid var(--accent)}.btn-secondary:hover:not(:disabled){background:var(--accent-muted, rgba(34, 197, 94, .12));color:var(--accent);border-color:var(--accent)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){filter:brightness(1.1)}.btn-sm{padding:.35rem .65rem;font-size:.875rem}@media(max-width:640px){.btn-sm{min-height:2.75rem;padding:.5rem .85rem}}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem;margin-bottom:.75rem;box-shadow:var(--shadow);position:relative;overflow:hidden}.card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent);opacity:.9;border-radius:calc(var(--radius) - 1px) 0 0 calc(var(--radius) - 1px)}.card:last-child{margin-bottom:0}.goals-list .card{margin-bottom:1.25rem}.goals-list li:last-child .card{margin-bottom:0}.card-title{font-size:1rem;font-weight:600;margin:0 0 .25rem;word-break:break-word;overflow-wrap:break-word}.card-meta{font-size:.8125rem;color:var(--text-muted);margin:0}@media(max-width:640px){.card{padding:1rem 1rem 1.25rem}}.goals-tip{font-size:.8125rem;color:var(--text-muted);margin:0;padding:.5rem .75rem;background:var(--bg-elevated);border-left:3px solid var(--accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;opacity:.95}.goals-tip-label{font-weight:600;color:var(--text-muted)}.list-empty{text-align:center;color:var(--text-muted);padding:2.5rem 1rem;font-size:.9375rem;font-weight:500}.timer-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .75rem;background:var(--accent-muted);color:var(--accent);border-radius:999px;font-size:.875rem;font-weight:500;flex-shrink:0}.timer-pill>span:first-of-type{min-width:4.5ch;font-variant-numeric:tabular-nums;text-align:right}.timer-pill .timer-stop{flex-shrink:0;padding:.2rem .5rem;font-size:.75rem;background:var(--accent);color:#fff;border-radius:999px}.timer-pill .timer-stop:hover{background:var(--accent-hover)}.timer-stop-icon{display:none}@media(max-width:640px){.timer-pill{padding:.4rem .65rem}.timer-pill .timer-stop{min-height:2.25rem;padding:.35rem .65rem}}.app-header-controls{display:flex;align-items:center;gap:.5rem}@media(max-width:640px){.app-header-controls{display:none}}.timer-banner{background:var(--accent-muted);color:var(--accent);font-size:.875rem;font-weight:500;text-align:center;padding:.5rem 1rem}@media(max-width:640px){.timer-banner{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}.btn:not(.btn-sm){min-height:2.75rem}}.all-set-banner{animation:all-set-banner-in .4s ease-out}@keyframes all-set-banner-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.setting-up-screen{animation:setting-up-screen-in .3s ease-out}.setting-up-card{animation:setting-up-card-in .45s ease-out .1s both}.setting-up-hint{animation:setting-up-hint-in .4s ease-out .25s both}.setting-up-dots{display:inline-flex;margin-left:.15em}.setting-up-dots span{width:.35em;animation:setting-up-dot .6s ease-in-out infinite both}.setting-up-dots span:nth-child(2){animation-delay:.1s}.setting-up-dots span:nth-child(3){animation-delay:.2s}@keyframes setting-up-screen-in{0%{opacity:0}to{opacity:1}}@keyframes setting-up-card-in{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes setting-up-hint-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes setting-up-dot{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}.motion-card-in{animation:setting-up-card-in .45s ease-out both}.motion-reveal-from-trigger{transform-origin:top;animation:motion-reveal-from-trigger .35s cubic-bezier(.22,1,.36,1) both}@keyframes motion-reveal-from-trigger{0%{opacity:.92;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}.motion-reveal-from-trigger-content{transform-origin:top;animation:motion-reveal-content-in .28s cubic-bezier(.22,1,.36,1) .14s both}@keyframes motion-reveal-content-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.motion-morphed-goal-in{animation:motion-morphed-goal-in .3s cubic-bezier(.22,1,.36,1) both}@keyframes motion-morphed-goal-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.motion-reveal-from-trigger-closing{animation:motion-reveal-close .25s cubic-bezier(.55,0,.9,.4) both}@keyframes motion-reveal-close{0%{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(0)}}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;overflow:auto;overscroll-behavior:contain}.modal{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;max-width:420px;width:100%;box-shadow:var(--shadow),0 0 0 1px #ffffff08}.modal h2{margin-top:0;margin-bottom:1rem;font-weight:600;letter-spacing:.01em}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.25rem;flex-wrap:wrap}@media(max-width:640px){.modal-overlay{padding:.75rem;align-items:flex-start;padding-top:max(.75rem,env(safe-area-inset-top))}.modal{padding:1.25rem;margin:auto 0}.modal-actions .btn{min-height:2.75rem}.task-detail-modal-footer,.session-goal-link-modal-footer{margin-left:-1.25rem;margin-right:-1.25rem;margin-bottom:-1.25rem;padding-left:1.25rem;padding-right:1.25rem;padding-bottom:1.25rem}}.end-session-step-indicator{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.end-session-step-indicator .step-dots{display:flex;gap:.5rem;align-items:center}.end-session-step-indicator .step-dot{width:10px;height:10px;border-radius:50%;background:var(--border);transition:background var(--duration) var(--ease)}.end-session-step-indicator .step-dot.active{background:var(--accent)}.end-session-step-indicator .step-dot.done{background:var(--accent);opacity:.6}.end-session-step-indicator .step-label{font-size:.8125rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.end-session-step-content{animation:end-session-step-in .35s var(--ease-out)}@keyframes end-session-step-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.end-session-task-list{max-height:12rem;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:.35rem}.end-session-task-option{background:var(--bg-elevated);color:var(--text-muted);border:1px solid var(--border);font-weight:500;transition:background-color var(--duration) var(--ease),color var(--duration) var(--ease),border-color var(--duration) var(--ease)}.end-session-task-option:hover:not(:disabled){background:var(--surface);color:var(--text);border-color:var(--text-muted)}.end-session-task-option.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.end-session-task-option.btn-primary:hover:not(:disabled){background:var(--accent-hover);color:#fff;border-color:var(--accent-hover)}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.875rem;font-weight:500;color:var(--text-muted);margin-bottom:.35rem}.badge{display:inline-block;font-size:.7rem;font-weight:600;padding:.25rem .5rem;border-radius:4px;text-transform:uppercase;letter-spacing:.03em}.task-card-badge.badge{border-radius:999px;padding:.2rem .5rem;font-size:.6875rem}.badge-planned{background:var(--accent-muted);color:var(--accent)}.badge-completed{background:#22c55e33;color:var(--success)}.badge-active{background:var(--accent-muted);color:var(--accent)}.badge-archived{background:var(--surface);color:var(--text-muted)}.badge-deleted{background:#ef444433;color:var(--danger)}.error-message{color:var(--danger);font-size:.875rem;margin-top:.5rem}
