:root{--bg: #faf7f2;--bg-raised: #ffffff;--bg-sunken: #f1ece4;--text: #2e2a26;--text-soft: #6f675e;--text-faint: #a39a8f;--line: #e7e0d6;--accent: #d96f45;--accent-soft: #fbe9df;--accent-text: #b4522c;--good: #5d8a66;--good-soft: #e4efe6;--shadow: 0 2px 12px rgba(60, 45, 30, .07);--radius: 18px;--radius-sm: 12px;color-scheme:light}[data-theme=dark]{--bg: #191714;--bg-raised: #221f1b;--bg-sunken: #14120f;--text: #ece7e0;--text-soft: #a89f94;--text-faint: #6f675e;--line: #322e28;--accent: #e8875f;--accent-soft: #37271f;--accent-text: #f0a586;--good: #8db996;--good-soft: #22301f;--shadow: 0 2px 14px rgba(0, 0, 0, .35);color-scheme:dark}[data-accent=moss]{--accent: #6d9160;--accent-soft: #e7efdf;--accent-text: #52774a}[data-theme=dark][data-accent=moss]{--accent: #8fb983;--accent-soft: #263020;--accent-text: #abcf9d}[data-accent=ocean]{--accent: #4f8a99;--accent-soft: #e0edf1;--accent-text: #3b6f7d}[data-theme=dark][data-accent=ocean]{--accent: #7ab5c4;--accent-soft: #1e2c30;--accent-text: #97cbd8}[data-accent=plum]{--accent: #97699b;--accent-soft: #f0e5f1;--accent-text: #7c5280}[data-theme=dark][data-accent=plum]{--accent: #bf94c3;--accent-soft: #2d2230;--accent-text: #d2aed6}[data-tone=neutral]{--bg: #f7f7f5;--bg-raised: #ffffff;--bg-sunken: #ededea;--text: #29292b;--text-soft: #69696d;--text-faint: #9c9ca1;--line: #e3e3e0;--shadow: 0 2px 12px rgba(40, 40, 45, .07)}[data-theme=dark][data-tone=neutral]{--bg: #171717;--bg-raised: #202020;--bg-sunken: #111111;--text: #e9e9e7;--text-soft: #a3a3a0;--text-faint: #6d6d6a;--line: #2e2e2c;--shadow: 0 2px 14px rgba(0, 0, 0, .35)}[data-tone=cool]{--bg: #f4f7f9;--bg-raised: #ffffff;--bg-sunken: #e9eef2;--text: #23282d;--text-soft: #5f6b75;--text-faint: #93a0ab;--line: #dde4ea;--shadow: 0 2px 12px rgba(30, 45, 60, .07)}[data-theme=dark][data-tone=cool]{--bg: #14171b;--bg-raised: #1d2126;--bg-sunken: #0f1114;--text: #e6eaee;--text-soft: #9aa5b0;--text-faint: #626d79;--line: #2a3038;--shadow: 0 2px 14px rgba(0, 0, 0, .35)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;padding:0}input,textarea{font:inherit;color:inherit}input:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition:none!important;animation:none!important}}[data-motion=reduce] *,[data-motion=reduce] *:before,[data-motion=reduce] *:after{transition:none!important;animation:none!important}.app{min-height:100%;display:flex;flex-direction:column;max-width:680px;margin:0 auto;padding:0 16px calc(84px + env(safe-area-inset-bottom))}.app-header{display:flex;align-items:center;gap:10px;padding:18px 2px 8px}.app-header img{width:30px;height:30px;border-radius:8px}.app-header .brand{font-size:20px;font-weight:700;letter-spacing:-.02em}.app-header .spacer{flex:1}.work-toggle{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:var(--bg-raised);color:var(--text-soft);font-size:14px;font-weight:600;transition:background .15s ease,color .15s ease,border-color .15s ease}.work-toggle .wt-dot{width:8px;height:8px;border-radius:999px;background:var(--text-faint);flex:none;transition:background .15s ease}.work-toggle.on{background:var(--accent-soft);border-color:transparent;color:var(--accent-text)}.work-toggle.on .wt-dot{background:var(--accent)}.auth-gate{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px 20px}.auth-gate-card{width:100%;max-width:420px}.auth-hero{display:flex;flex-direction:column;align-items:center;gap:10px;margin:6px 0 4px;text-align:center}.auth-hero img{width:44px;height:44px;border-radius:12px}.auth-hero h2{margin:0;font-size:22px;font-weight:700;letter-spacing:-.02em}.auth-lede{font-size:15px;color:var(--text-soft);text-align:center;margin:6px 0 16px}.auth-lede b{color:var(--text)}.view{flex:1;padding-top:6px}.nav{position:fixed;left:50%;transform:translate(-50%);bottom:calc(12px + env(safe-area-inset-bottom));display:flex;gap:4px;background:var(--bg-raised);border:1px solid var(--line);border-radius:999px;padding:6px;box-shadow:var(--shadow);z-index:40}.nav button{display:flex;align-items:center;padding:10px 18px;border-radius:999px;color:var(--text);font-weight:650;font-size:15.5px;transition:background .18s ease,color .18s ease}.nav button.active{background:var(--accent-soft);color:var(--accent-text)}.nav.nav-hidden{display:none}@media (max-width: 480px){.nav{gap:2px;padding:5px;max-width:calc(100vw - 16px);overflow-x:auto}.nav button{padding:9px 8px;font-size:13.5px}}@media (max-width: 390px){.nav button{padding:8px 6px;font-size:12.5px}}@media (min-width: 720px){.app{padding-bottom:40px}.nav{position:static;bottom:auto;left:auto;transform:none;align-self:center;margin:6px 0 10px}}.card{background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.h-view{font-size:24px;font-weight:700;letter-spacing:-.02em;margin:10px 0 4px}.sub{color:var(--text-soft);font-size:15px;margin:0 0 18px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;border-radius:999px;font-weight:650;font-size:15.5px;background:var(--bg-sunken);color:var(--text);transition:filter .15s ease,transform .1s ease;border:1px solid transparent}.btn:hover{filter:brightness(.97)}.btn:active{transform:scale(.98)}.btn-primary{background:var(--accent);color:#fff}.btn-quiet{background:transparent;color:var(--text-soft);border-color:var(--line)}.btn-good{background:var(--good);color:#fff}.btn-big{padding:15px 28px;font-size:17px}.btn:disabled{opacity:.5;cursor:default}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:var(--bg-raised);color:var(--text-soft);font-size:14px;font-weight:600;transition:background .15s ease,color .15s ease,border-color .15s ease}.chip.on{background:var(--accent-soft);border-color:transparent;color:var(--accent-text)}.tag{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:600;color:var(--text-soft);background:var(--bg-sunken);border-radius:999px;padding:3px 10px}input.text,textarea.text{width:100%;background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius-sm);padding:11px 14px;font-size:15.5px}textarea.text{resize:vertical;min-height:60px}.text::placeholder{color:var(--text-faint)}.capture{display:flex;gap:8px;align-items:center;background:var(--bg-raised);border:1.5px solid var(--line);border-radius:999px;padding:6px 8px 6px 18px;box-shadow:var(--shadow);transition:border-color .15s ease}.capture:focus-within{border-color:var(--accent)}.capture input{flex:1;border:none;background:none;font-size:16px;padding:8px 0;min-width:0}.capture input:focus{outline:none}.capture input::placeholder{color:var(--text-faint)}.capture .cap-btn{width:42px;height:42px;border-radius:999px;display:grid;place-items:center;font-size:18px;color:var(--text-soft);flex:none}.capture .cap-btn.rec{background:var(--accent-soft);color:var(--accent-text)}.capture .cap-add{background:var(--accent);color:#fff}.capture-hint{margin:8px 6px 0;font-size:12.5px;color:var(--text-faint)}.group-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint);margin:26px 4px 10px}.task-item{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius-sm);padding:13px 14px;margin-bottom:8px;transition:border-color .15s ease}.task-item:hover{border-color:var(--accent)}.task-item .t-title{flex:1;font-weight:550;min-width:0;overflow-wrap:anywhere}.task-item .t-meta{display:flex;gap:6px;flex:none}.task-item.done .t-title{color:var(--text-faint);text-decoration:line-through}.t-check{width:26px;height:26px;flex:none;border-radius:999px;border:2px solid var(--line);display:grid;place-items:center;color:transparent;font-size:14px;transition:background .15s ease,border-color .15s ease,color .15s ease}.t-check.checked,.t-check:hover{border-color:var(--good);color:var(--good)}.t-check.checked{background:var(--good-soft)}.empty{text-align:center;color:var(--text-soft);padding:40px 20px}.empty .big{font-size:40px;margin-bottom:10px}.now-card{text-align:center;padding:30px 22px}.now-kicker{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-text);margin-bottom:10px}.now-title{font-size:26px;font-weight:700;letter-spacing:-.02em;margin:0 0 6px;overflow-wrap:anywhere}.now-step{font-size:17px;color:var(--text-soft);margin:2px 0 20px}.now-step strong{color:var(--text)}.now-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.now-cue{margin-top:16px;font-size:14px;color:var(--text-faint);font-style:italic}.focus-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center;overflow-y:auto}.focus-step-label{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint)}.focus-step{font-size:24px;font-weight:700;letter-spacing:-.02em;max-width:520px;margin:8px 0 26px;overflow-wrap:anywhere}.focus-time{font-variant-numeric:tabular-nums;font-size:20px;font-weight:650;color:var(--text-soft);margin-top:14px}.focus-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:26px}.focus-exit{position:absolute;top:18px;right:18px;color:var(--text-faint);font-size:15px;padding:8px 14px}.focus-done-msg{font-size:18px;color:var(--text-soft);max-width:440px;margin-top:10px}.focus-winddown{margin:14px 0 0;font-size:15px;color:var(--accent-text);background:var(--accent-soft);border-radius:999px;padding:8px 18px}.body-double{display:flex;align-items:center;gap:12px;margin-top:34px;color:var(--text-soft);font-size:15px}.bd-breath{width:16px;height:16px;border-radius:999px;background:var(--accent);opacity:.75;animation:breathe 5s ease-in-out infinite;flex:none}@keyframes breathe{0%,to{transform:scale(1);opacity:.55}50%{transform:scale(1.45);opacity:.85}}.bd-line{font-style:italic}.first-visit{margin-bottom:18px;font-size:15px}.first-visit p{margin:0 0 12px;color:var(--text-soft)}.first-visit p strong{color:var(--text)}.welcome-back{display:flex;align-items:center;gap:12px;background:var(--good-soft);color:var(--text);border:1px solid transparent;border-radius:var(--radius-sm);padding:13px 16px;margin-bottom:18px;font-size:15px}.welcome-back .wb-text{flex:1}.welcome-back .wb-close{color:var(--text-soft);padding:4px 8px;flex:none}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#140f0a59;display:flex;align-items:flex-end;justify-content:center}.sheet{background:var(--bg);width:100%;max-width:640px;max-height:92vh;max-height:92dvh;overflow-y:auto;overscroll-behavior:contain;border-radius:22px 22px 0 0;padding:20px 20px calc(28px + env(safe-area-inset-bottom))}@media (min-width: 720px){.sheet-backdrop{align-items:center;padding:24px}.sheet{border-radius:22px;max-height:86vh;max-height:86dvh}}.sheet-grab{width:44px;height:5px;border-radius:99px;background:var(--line);margin:0 auto 16px}.sheet h3{margin:18px 0 8px;font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint)}.sheet-title{width:100%;border:none;background:none;font-size:22px;font-weight:700;letter-spacing:-.02em;padding:4px 0}.sheet-title:focus{outline:none}.sheet-footer{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.step-row{display:flex;align-items:center;gap:10px;padding:6px 0}.step-row .s-text{flex:1;overflow-wrap:anywhere}.step-row .s-text.done{color:var(--text-faint);text-decoration:line-through}.step-row .s-del{color:var(--text-faint);font-size:14px;padding:4px 8px}.step-next-badge{font-size:11.5px;font-weight:700;color:var(--accent-text);background:var(--accent-soft);padding:2px 8px;border-radius:999px;flex:none}.step-add{display:flex;gap:8px;margin-top:8px}.step-add input{flex:1;min-width:0}@media (max-width: 480px){.step-add-wrap{flex-wrap:wrap;justify-content:flex-end}.step-add-wrap>input.text:first-child{flex-basis:100%}}.ai-error{color:var(--accent-text);font-size:14px;margin-top:8px}.guide .guide-title{font-size:22px;font-weight:700;letter-spacing:-.02em;margin:0 0 8px}.guide p{font-size:15px;color:var(--text-soft);margin:0 0 10px}.guide p b{color:var(--text)}.field-select{width:100%;background:var(--bg-raised);color:var(--text);border:1px solid var(--line);border-radius:12px;padding:11px 14px;font-size:15.5px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px 16px;padding:14px 2px;border-bottom:1px solid var(--line)}.setting-row:has(.chip-row){flex-wrap:wrap}.setting-row>div:first-child{flex:1 1 220px;min-width:0}.setting-row .chip-row{margin-left:auto;justify-content:flex-end}.setting-row:last-child{border-bottom:none}.setting-row .s-label{font-weight:600}.setting-row .s-desc{font-size:13.5px;color:var(--text-soft);margin-top:2px}.toggle{width:52px;height:30px;border-radius:999px;background:var(--bg-sunken);border:1px solid var(--line);position:relative;flex:none;transition:background .18s ease}.toggle:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:999px;background:var(--bg-raised);box-shadow:0 1px 4px #0003;transition:left .18s ease}.toggle.on{background:var(--accent);border-color:transparent}.toggle.on:after{left:25px}.wins{display:flex;gap:14px;margin:14px 0 6px}.win-stat{flex:1;text-align:center;background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px 8px}.win-stat .n{font-size:26px;font-weight:750;color:var(--accent-text)}.win-stat .l{font-size:12.5px;color:var(--text-soft)}[data-textsize=large]{zoom:1.12}.routine-card{margin-bottom:12px}.routine-head{display:flex;align-items:center;gap:12px}.routine-emoji{font-size:28px}.routine-name{font-weight:700;font-size:18px;letter-spacing:-.01em}.routine-meta{font-size:13.5px;color:var(--text-soft)}.routine-title-row{display:flex;align-items:center;gap:10px}.emoji-input{width:56px;text-align:center;font-size:24px;background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius-sm);padding:6px 0}.slot-row{display:flex;gap:10px;align-items:flex-start;background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px;margin-bottom:8px}.slot-main{flex:1;min-width:0}.slot-tools{display:flex;flex-direction:column;gap:6px;flex:none}.slot-tools button{width:30px;height:30px;border-radius:8px;background:var(--bg-sunken);color:var(--text-soft);font-size:14px}.slot-tools button:disabled{opacity:.35}.runner-picks{width:100%;max-width:440px;margin:6px 0 4px}.cal-head{display:flex;align-items:center;gap:8px;margin:22px 0 10px}.cal-month{flex:1;font-weight:700;font-size:18px;letter-spacing:-.01em}.cal-nav{width:38px;height:38px;border-radius:999px;background:var(--bg-raised);border:1px solid var(--line);color:var(--text-soft);font-size:18px;display:grid;place-items:center;flex:none}.cal-nav:hover{border-color:var(--accent)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-dow{text-align:center;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);padding:4px 0 2px}.cal-day{min-height:52px;border-radius:var(--radius-sm);background:var(--bg-raised);border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:14px;font-weight:600;transition:border-color .15s ease,background .15s ease}.cal-day:hover{border-color:var(--accent)}.cal-day.out{opacity:.4}.cal-day.past .d-num{color:var(--text-faint)}.cal-day.today .d-num{color:var(--accent-text);font-weight:750}.cal-day.sel{background:var(--accent-soft);border-color:var(--accent)}.cal-dots{display:flex;gap:3px;height:5px}.cal-dots i{width:5px;height:5px;border-radius:99px;background:var(--accent)}.cal-day.past .cal-dots i{background:var(--text-faint)}.appt-item{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px;margin-bottom:8px}.appt-item.gone{opacity:.55}.appt-item .appt-time{flex:none;min-width:68px;font-size:13.5px;font-weight:650;color:var(--accent-text);font-variant-numeric:tabular-nums}.appt-item .appt-title{flex:1;min-width:0;font-weight:550;text-align:left;overflow-wrap:anywhere}.appt-item .appt-loc{color:var(--text-soft);font-weight:450}.appt-item.appt-jump{transition:border-color .15s ease}.appt-item.appt-jump:hover{border-color:var(--accent)}.appt-edit{display:flex;flex-direction:column;gap:8px;padding:4px 4px 14px}.appt-edit .appt-edit-row{display:flex;gap:8px}.appt-edit .appt-edit-row .text{flex:1 1 0;min-width:0}.appt-edit textarea.text{resize:vertical;min-height:52px}.step-add .appt-time-input{flex:none;width:118px}.proj-name{flex:1;min-width:0;border:none;background:none;font-size:22px;font-weight:700;letter-spacing:-.02em;padding:4px 0}.proj-name:focus{outline:none}.proj-name::placeholder{color:var(--text-faint)}.board{display:flex;align-items:flex-start;gap:10px;overflow-x:auto;padding:14px 2px 10px}.kan-col{flex:0 0 236px;background:var(--bg-sunken);border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px}.kan-col-head{display:flex;align-items:center;gap:6px;margin-bottom:8px}.kan-col-name{flex:1;min-width:0;border:none;background:none;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-soft);padding:2px}.kan-col-name:focus{outline:none;color:var(--text)}.kan-col-name::placeholder{color:var(--text-faint)}.kan-col-del{color:var(--text-faint);font-size:13px;padding:2px 6px;flex:none}.kan-card{background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 11px;margin-bottom:8px;transition:border-color .15s ease}.kan-card:hover{border-color:var(--accent)}.kan-card-title{display:block;width:100%;text-align:left;font-weight:550;font-size:14.5px;overflow-wrap:anywhere}.kan-tools{display:flex;align-items:center;gap:4px;margin-top:8px}.kan-tools .kt-spring{flex:1}.kan-tools button{width:28px;height:26px;border-radius:8px;background:var(--bg-sunken);color:var(--text-soft);font-size:11px;display:grid;place-items:center;flex:none}.kan-tools button:disabled{opacity:.35}.kan-note-dot{font-size:12px}.kan-add{display:flex;gap:6px;margin-top:2px}.kan-add input{flex:1;min-width:0;background:var(--bg-raised);border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:14px}.kan-add input::placeholder{color:var(--text-faint)}.kan-add button{width:34px;border-radius:10px;background:var(--bg-raised);border:1px solid var(--line);color:var(--text-soft);font-size:16px;flex:none}.kan-add button:hover{border-color:var(--accent);color:var(--accent-text)}.kan-add-col{flex:0 0 auto;border:1.5px dashed var(--line);border-radius:var(--radius-sm);color:var(--text-faint);padding:12px 18px;font-weight:600;font-size:14px;transition:border-color .15s ease,color .15s ease}.kan-add-col:hover{border-color:var(--accent);color:var(--accent-text)}.note-item{background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px;margin:0 0 8px}.chip-row+.note-item{margin-top:14px}.note-date{font-size:12px;font-weight:650;color:var(--text-faint);margin-bottom:4px}.note-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px}.celebrate-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;pointer-events:none;overflow:hidden}.confetto{position:absolute;top:-12px;width:9px;height:9px;border-radius:3px;opacity:0;animation:drift 1.6s ease-in forwards}@keyframes drift{0%{opacity:.9;transform:translateY(0) rotate(0)}to{opacity:0;transform:translateY(52vh) rotate(240deg)}}.view>*{animation:rise .25s ease both}@keyframes rise{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
