:root{--paper: #f7f5f0;--ink: #212121;--ink-muted: #4d4d4d;--ink-faint: #666666;--hair: #e7e2d7;--bubble: #edeae3;--danger: #c0392b;--bindy-body: #8a8a8e;--accent: var(--ink)}@media (prefers-color-scheme: dark){:root{--paper: #1c1a17;--ink: #ededed;--ink-muted: #b3b3b3;--ink-faint: #9e9e9e;--hair: #34302b;--bubble: #2c2925;--danger: #ff6b5e}}:root{--space-xs: 4px;--space-s: 8px;--space-m: 12px;--space-l: 20px;--space-xl: 32px}*{box-sizing:border-box;margin:0;padding:0}body{font:400 17px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}.page{height:100dvh;display:flex;flex-direction:column}.topnav{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:14px 24px}.topnav .brand{font-size:1.05rem}.signin-nav{border:1px solid var(--hair);border-radius:999px;padding:7px 16px;min-height:auto;font-size:14px;font-weight:500;transition:border-color .15s ease}.signin-nav:hover{border-color:var(--ink-faint)}.signin-invite{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;min-height:auto;font-weight:500;font-size:14px;margin:2px 0 12px;padding:11px 14px;border-radius:14px;color:var(--ink);background:color-mix(in srgb,var(--ink) 6%,transparent);transition:background-color .15s ease}.signin-invite:hover{background:color-mix(in srgb,var(--ink) 11%,transparent)}.signin-invite span{color:var(--ink-faint)}.settings{position:relative;display:flex}.settings-btn{font-size:17px;line-height:1}.app{flex:1 1 auto;min-height:0;display:flex;justify-content:center;align-items:center;padding:0 20px}.wrap{flex:0 1 520px;min-width:0;position:relative;height:min(600px,calc(100dvh - 240px));margin-bottom:40px;display:flex;flex-direction:column;background:var(--bubble);border:1px solid var(--hair);border-radius:32px;box-shadow:0 4px 20px #00000014;padding:4px 24px 0}.tabbar{flex:0 0 auto;margin:0 -24px;display:flex;border-top:1px solid var(--hair);border-radius:0 0 31px 31px;overflow:hidden}.tabbar button{flex:1;padding:13px 0;min-height:auto;border-radius:0;position:relative;font-size:14px;font-weight:500;color:var(--ink-faint);transition:color .15s ease,background-color .15s ease}.tabbar button:hover{color:var(--ink-muted)}.tabbar button.active{color:var(--ink)}.tabbar button.active:after{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:26px;height:2px;border-radius:2px;background:var(--accent)}.tabbar button.tab-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 56px}.settings-view{padding-top:8px}.profile{display:flex;align-items:center;gap:14px;padding:6px 0 14px}.profile-pic{width:52px;height:52px;border-radius:50%;object-fit:cover;flex:0 0 auto}.profile-meta{min-width:0}.profile-name{font-weight:600}.profile-email{font-size:14px;color:var(--ink-faint);overflow:hidden;text-overflow:ellipsis}.settings-item{display:block;width:100%;text-align:left;margin:0;padding:15px 0;border-radius:0;min-height:auto;font-weight:400;background:transparent;border:none;border-top:1px solid var(--hair);color:var(--ink);transition:color .15s ease}.settings-item:hover{color:var(--ink-muted)}.settings-item.danger{color:var(--danger)}.bindy-color{padding:4px 0 16px}.bindy-color .settings-label{font-size:12px;letter-spacing:.04em;color:var(--ink-faint);margin-bottom:12px}.color-row{display:flex;align-items:center;gap:18px}.swatches{display:flex;gap:10px;flex-wrap:wrap}.swatch{width:30px;height:30px;min-height:auto;padding:0;border-radius:50%;border:2px solid var(--hair);cursor:pointer;transition:transform .1s ease}.swatch:hover{transform:scale(1.12)}.swatch.active{border-color:var(--ink)}header{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--hair);flex:0 0 auto}.brand{display:flex;align-items:center;gap:9px;font-weight:600;letter-spacing:-.01em}button.brand{color:var(--ink);background:transparent;padding:0;min-height:auto}.head-right{display:flex;align-items:center;gap:6px}button{font:inherit;font-weight:600;cursor:pointer;color:var(--ink);background:transparent;border:none;border-radius:12px;padding:11px 18px;min-height:44px}button.ghost{color:var(--ink);background:transparent;padding:8px 12px;min-height:auto}button:disabled{opacity:.5;cursor:default}main{flex:1 1 auto;min-height:0;overflow-y:auto;padding:var(--space-s) 0 16px}section{padding:var(--space-m) 0}h2{font-size:13px;font-weight:600;letter-spacing:.03em;color:var(--ink-faint);margin-bottom:4px;text-transform:none}.greeting{font-size:13px;color:var(--ink-faint);letter-spacing:.02em;margin:4px 0 16px}.taskrow{display:flex;align-items:flex-start;gap:14px;padding:var(--space-m) 0;position:relative}.taskrow.hero{padding-top:var(--space-xs)}.taskrow input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:22px;height:22px;margin-top:2px;flex:0 0 auto;position:relative;cursor:pointer;border:1.5px solid var(--ink-faint);border-radius:7px;background:transparent;transition:background-color .15s ease,border-color .15s ease}.taskrow input[type=checkbox]:hover{border-color:var(--ink-muted)}.taskrow input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.taskrow input[type=checkbox]:checked:after{content:"";position:absolute;left:7px;top:3px;width:5px;height:9px;border:solid var(--paper);border-width:0 2px 2px 0;transform:rotate(45deg)}.taskbody{flex:1}.tasktitle{color:var(--ink-muted)}.hero .tasktitle{font-size:1.6rem;font-weight:600;letter-spacing:-.02em;color:var(--ink);line-height:1.15}.taskrow.step{padding-left:26px}.taskrow.step .tasktitle{color:var(--ink-faint)}.why{font-size:13px;color:var(--ink-muted);margin-top:4px}.dots{color:var(--ink-faint);background:transparent;padding:0 6px;min-height:auto;font-size:20px;line-height:1;transition:opacity .12s ease}@media (hover: hover){.taskrow .dots{opacity:0}.taskrow:hover .dots,.taskrow:focus-within .dots{opacity:1}}.taskrow.exiting{overflow:hidden;animation:task-exit .36s cubic-bezier(.4,0,.2,1) forwards}.taskrow.exiting .tasktitle{position:relative}.taskrow.exiting .tasktitle:after{content:"";position:absolute;left:0;top:55%;width:100%;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;animation:strike .22s ease-out forwards}@keyframes strike{to{transform:scaleX(1)}}@keyframes task-exit{0%{opacity:1;max-height:96px}45%{opacity:1}to{opacity:0;max-height:0;padding-top:0;padding-bottom:0}}.menu{position:fixed;z-index:20;max-height:calc(100dvh - 24px);overflow-y:auto;background:var(--paper);border:1px solid var(--hair);border-radius:14px;box-shadow:0 8px 28px #0000001f;padding:6px;min-width:180px;display:flex;flex-direction:column}.menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:19}.menu button{color:var(--ink);background:transparent;text-align:left;padding:10px 12px;border-radius:9px;min-height:auto;font-weight:400}.menu button:hover{background:var(--bubble)}.menu button.danger{color:var(--danger)}.menu-sub{font-size:12px;color:var(--ink-faint);padding:8px 12px 2px}.nudges{display:flex;flex-direction:column;gap:6px}.nudge{color:var(--ink-muted);background:transparent;text-align:left;padding:6px 0;min-height:auto;font-weight:400;font-size:15px}.faint{color:var(--ink-faint);padding:var(--space-s) 0}.empty{color:var(--ink-faint);padding:40px 0}.momentum{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:4px 0 10px;padding:12px 14px;background:var(--paper);border:1px solid var(--hair);border-radius:14px;animation:rise .25s ease-out both}.momentum .m-line{flex:1 1 auto;font-size:15px;color:var(--ink)}.momentum .m-acts{display:flex;gap:8px;flex:0 0 auto}.momentum .m-go{color:var(--paper);background:var(--ink);border-radius:10px;padding:8px 14px;min-height:auto;font-weight:600;font-size:14px}.momentum .m-done{color:var(--ink-muted);background:transparent;border-radius:10px;padding:8px 10px;min-height:auto;font-weight:400;font-size:14px}.momentum .m-done:hover{color:var(--ink)}.momentum.done{justify-content:flex-start}.momentum.done .m-line{color:var(--ink-muted)}main.loading{flex:1 1 auto;display:flex;align-items:center;justify-content:center}.loader{display:flex;flex-direction:column;align-items:center;gap:14px}.loading-dots{display:flex;gap:7px}.loading-dots i{width:8px;height:8px;border-radius:50%;background:var(--ink-faint);animation:dotpulse 1.2s ease-in-out infinite}.loading-dots i:nth-child(2){animation-delay:.2s}.loading-dots i:nth-child(3){animation-delay:.4s}@keyframes dotpulse{0%,to{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}.loader-line{color:var(--ink-faint);font-size:15px}@keyframes breathe{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.06);opacity:1}}.done{padding-top:24px}.donerow{display:flex;gap:10px;color:var(--ink-faint);padding:var(--space-xs) 0}.donerow span{color:var(--ink-faint)}.pet{position:absolute;right:22px;bottom:-110px;z-index:5;display:flex;flex-direction:row-reverse;align-items:flex-end;gap:10px;max-width:calc(100% - 24px);pointer-events:none}.pet>*{pointer-events:auto}.pet-bindy{background:transparent;padding:0;min-height:auto;line-height:0;border-radius:999px}.pet-bindy svg{transform-origin:bottom center}.pet-bindy.reacting svg{animation:bindy-pop .5s ease-out}.pet.loading .pet-bindy svg{animation:breathe 1.8s ease-in-out infinite}@keyframes bindy-pop{0%{transform:scale(1)}35%{transform:scale(1.22)}to{transform:scale(1)}}.pet-actions{display:flex;align-items:center;gap:8px}.pet-btn{width:46px;height:46px;border-radius:50%;padding:0;min-height:auto;display:inline-flex;align-items:center;justify-content:center;background:var(--paper);border:1px solid var(--hair);color:var(--ink);box-shadow:0 2px 12px #00000014;transition:border-color .15s ease,transform .08s ease}.pet-btn:hover{border-color:var(--ink-faint)}.pet-btn:active{transform:scale(.94)}.pet.hint .pet-bindy svg{animation:bob 1.3s ease-in-out 2}@keyframes bob{0%,to{transform:translateY(0)}22%{transform:translateY(-10px)}44%{transform:translateY(0)}66%{transform:translateY(-5px)}88%{transform:translateY(0)}}.bindy-blink .eyes-open{animation:eye-open 6s ease-in-out infinite}.bindy-blink .eyes-closed{animation:eye-closed 6s ease-in-out infinite}@keyframes eye-open{0%,92%,to{opacity:1}95%,97%{opacity:0}}@keyframes eye-closed{0%,92%,to{opacity:0}95%,97%{opacity:1}}.toast{position:fixed;left:50%;bottom:96px;transform:translate(-50%);display:flex;align-items:center;gap:14px;background:var(--ink);color:var(--paper);border-radius:14px;padding:12px 18px;font-size:15px}.toast .ghost{color:var(--paper);text-decoration:underline}.paywall{position:fixed;left:50%;bottom:96px;transform:translate(-50%);z-index:60;width:calc(100% - 40px);max-width:520px;background:var(--ink);color:var(--paper);border-radius:16px;padding:20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px}.paywall p{font-size:15px}.paywall button{color:var(--ink);background:var(--paper)}.paywall .plans{display:flex;flex-direction:column;gap:10px;width:100%;max-width:300px}.paywall .plans .alt{background:transparent;color:var(--paper);border:1px solid rgba(255,255,255,.4)}.pet.hidden{display:none}.auth-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000047;z-index:40}.paywall.auth{z-index:50}.paywall form{display:flex;flex-direction:column;gap:12px;width:100%}.paywall input{width:100%;padding:11px 14px;border-radius:12px;border:1px solid var(--hair);background:var(--paper);color:var(--ink);font:inherit}.auth-x{position:absolute;top:6px;right:10px;padding:4px 8px;min-height:auto;font-size:20px;line-height:1;color:var(--paper);background:transparent}.chatpane{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;animation:fade .2s ease-out both}.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--hair);font-weight:600;flex:0 0 auto}.sheet-head .ghost{font-size:18px}.summary{padding:12px 0;border-bottom:1px solid var(--hair);flex:0 0 auto}.summary-label{font-size:12px;letter-spacing:.04em;color:var(--ink-faint);margin-bottom:4px}.summary-row{display:flex;gap:8px;color:var(--ink);font-size:15px}.summary-row .n{color:var(--ink-faint);width:14px;text-align:right}.summary-row.first{font-weight:600}.chat{flex:1 1 auto;overflow-y:auto;padding:14px 0;min-height:240px;display:flex;flex-direction:column;gap:14px}.msg{display:flex;align-items:flex-end;gap:8px;max-width:88%}.msg.assistant{align-self:flex-start}.msg.user{align-self:flex-end}.bubble{padding:10px 14px;border-radius:18px;font-size:16px;line-height:1.4;background:var(--paper);color:var(--ink);min-width:0;overflow-wrap:anywhere}.msg.user .bubble{background:var(--ink);color:var(--paper)}.bubble.typing{color:var(--ink-faint);letter-spacing:2px}.note{color:var(--ink-faint);font-size:14px}.offer{align-self:flex-start;max-width:88%;display:flex;flex-direction:column;gap:8px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{color:var(--ink);background:var(--paper);border:1px solid var(--hair);border-radius:999px;padding:8px 14px;min-height:auto;font-weight:400}.composer{flex:0 0 auto;display:flex;align-items:flex-end;gap:10px;padding:12px 0 10px;border-top:1px solid var(--hair)}.composer textarea{flex:1;font:inherit;padding:12px 16px;min-height:48px;max-height:120px;color:var(--ink);background:var(--paper);resize:none;overflow-y:auto;border:1px solid var(--hair);border-radius:14px;outline:none;scrollbar-width:none}.composer textarea::-webkit-scrollbar{display:none}.composer textarea:focus{border-color:var(--ink)}.composer button{color:var(--paper);background:var(--ink);border-radius:14px}.composer .mic{display:grid;place-items:center;width:48px;height:48px;padding:0;border-radius:999px;align-self:flex-end}.composer .mic.on{color:var(--danger);animation:mic-pulse 1.5s ease-out infinite}@keyframes mic-pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--danger) 40%,transparent)}70%{box-shadow:0 0 0 11px color-mix(in srgb,var(--danger) 0%,transparent)}to{box-shadow:0 0 color-mix(in srgb,var(--danger) 0%,transparent)}}button{transition:background-color .15s ease,transform .08s ease}button:active{transform:scale(.98)}.composer input{transition:border-color .15s ease}.menu button,.chip{transition:background-color .12s ease}.chip:hover{background:var(--bubble)}.taskrow{animation:rise .25s ease-out both}.menu{animation:menu-in .14s ease-out both;transform-origin:top right}.msg,.offer{animation:rise .22s ease-out both}.bubble.typing{animation:blink 1.2s ease-in-out infinite}.toast,.paywall{animation:toast-in .28s cubic-bezier(.32,.72,0,1) both}.sheet-backdrop{animation:fade .2s ease-out both}.sheet{animation:sheet-up .32s cubic-bezier(.32,.72,0,1) both}@media (min-width: 1024px){.sheet{animation:sheet-right .3s ease-out both}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes rise{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes blink{0%,to{opacity:.3}50%{opacity:1}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes sheet-right{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}html.tauri,html.tauri body{background:transparent}html.tauri .topnav{display:none}html.tauri .app{justify-content:flex-end;align-items:flex-end;padding:0 24px 120px}html.tauri .wrap{margin-bottom:0;flex-basis:560px;height:calc(100dvh - 180px)}html.tauri .wrap:after{display:none}html.tauri .pet{display:none}.desktop-pet{position:fixed;right:40px;bottom:24px;z-index:100;background:transparent;border:none;padding:0;min-height:auto;line-height:0;cursor:grab;overflow:visible}.desktop-pet:active{cursor:grabbing}.desktop-pet svg{animation:breathe 3.4s ease-in-out infinite;transform-origin:center}.pet-swing{display:inline-block;transform-origin:top center;will-change:transform}.desktop-pet.dragging svg{animation-play-state:paused}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
