:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17241f;background:#f3f6f4;font-synthesis:none;--ink: #17241f;--muted: #6d7b75;--brand: #117865;--brand-soft: #e6f3ee;--surface: #ffffff;--line: #dce5e0;--line-soft: #eaf0ed;--danger: #ad3e44;--shadow: 0 10px 30px rgba(30, 64, 51, .07)}:root[data-theme=dark]{color:#e9f0ed;background:#101613;--ink: #e9f0ed;--muted: #a0ada7;--brand: #67cdb2;--brand-soft: #19382f;--surface: #18211d;--line: #2c3a34;--line-soft: #25312c;--danger: #ee9297;--shadow: none}*{box-sizing:border-box}html{min-width:320px}body{margin:0;min-width:320px;background:inherit}button,input,select,textarea{font:inherit}button{color:inherit;cursor:pointer}button:disabled{cursor:not-allowed}.icon{display:block;width:20px;height:20px}.app-shell{width:min(100%,820px);min-height:100dvh;margin:0 auto;padding:0 16px 104px}.topbar{display:flex;align-items:center;justify-content:space-between;height:66px}.brand{display:flex;align-items:center;gap:9px;font-weight:850;letter-spacing:-.04em}.brand-mark{display:grid;place-items:center;width:34px;height:34px;color:#fff;background:#117865;border-radius:11px}.brand-mark.large{width:56px;height:56px;margin-bottom:28px;border-radius:18px}.brand-mark.large .icon{width:30px;height:30px}.icon-button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:13px;background:transparent}.page-content{padding-top:10px}.eyebrow{margin:0 0 7px;color:var(--brand);font-size:.68rem;font-weight:850;letter-spacing:.14em}.screen-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.screen-heading h1,.account-screen h1{margin:0;font-size:clamp(2.35rem,11vw,3.4rem);line-height:.98;letter-spacing:-.065em}.screen-heading p:last-child{margin:9px 0 0;color:var(--muted);font-size:.86rem}.add-circle{display:grid;place-items:center;flex:0 0 auto;width:48px;height:48px;margin-top:12px;border:0;border-radius:16px;background:var(--brand);color:#fff;box-shadow:0 8px 18px #11786533}.mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:24px 0 14px;padding:4px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.mode-switch button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;border:0;border-radius:11px;background:transparent;color:var(--muted);font-size:.82rem;font-weight:800}.mode-switch button.active{background:var(--brand-soft);color:var(--brand)}.mode-switch .icon{width:17px;height:17px}.week-navigator{padding:12px 12px 10px;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}.week-navigator header{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;gap:8px;margin-bottom:8px}.week-navigator header button,.task-date-nav>button{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:11px;background:var(--brand-soft);color:var(--brand)}.week-navigator .next .icon,.task-date-nav .next .icon{transform:rotate(180deg)}.week-navigator header div{display:grid;justify-items:center;gap:2px}.week-navigator header strong{font-size:.84rem}.week-navigator header span{color:var(--muted);font-size:.7rem}.date-rail{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.date-rail button{display:grid;place-items:center;gap:3px;min-width:0;min-height:54px;padding:5px 0;border:1px solid transparent;border-radius:13px;background:transparent;color:var(--muted)}.date-rail span{font-size:.63rem;font-weight:800}.date-rail strong{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;font-size:.84rem}.date-rail button.today:not(.selected){color:var(--brand)}.date-rail button.selected{border-color:color-mix(in srgb,var(--brand) 20%,var(--line));background:var(--brand-soft);color:var(--brand)}.date-rail button.selected strong{background:var(--brand);color:#fff}.return-today{display:block;margin:7px auto 0;padding:4px 10px;border:0;background:transparent;color:var(--brand);font-size:.72rem;font-weight:800}.tracker-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:14px 0 10px}.search-field{display:flex;align-items:center;gap:8px;min-height:45px;padding:0 12px;border:1px solid var(--line);border-radius:13px;background:var(--surface);color:var(--muted)}.search-field input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--ink);font-size:.82rem}.tracker-tools>button{display:grid;place-items:center;gap:2px;min-width:58px;border:1px solid var(--line);border-radius:13px;background:var(--surface);color:var(--muted);font-size:.61rem;font-weight:800}.tracker-tools>button.active{color:var(--brand);border-color:var(--brand);background:var(--brand-soft)}.tracker-tools>button .icon{width:17px;height:17px}.today-routine-list,.week-board{display:grid;gap:9px}.today-routine-card{--routine-color: #117865;display:grid;grid-template-columns:48px minmax(0,1fr) 42px 36px;align-items:center;gap:10px;min-height:88px;padding:11px 10px 11px 13px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}.today-routine-card.complete{border-color:color-mix(in srgb,var(--routine-color) 35%,var(--line))}.today-routine-card.archived,.week-routine-card.archived{opacity:.62}.today-check{display:grid;place-items:center;width:46px;height:46px;padding:0;border:2px solid color-mix(in srgb,var(--routine-color) 45%,var(--line));border-radius:50%;background:transparent;color:transparent;font-size:1rem;font-weight:900}.today-check:disabled{opacity:.45}.today-routine-card.complete .today-check{border-color:var(--routine-color);background:var(--routine-color);color:#fff}.today-routine-copy{min-width:0}.today-routine-copy strong{display:block;color:var(--ink);font-size:.96rem;line-height:1.25;overflow-wrap:anywhere}.today-routine-copy>span{display:block;margin-top:3px;color:var(--muted);font-size:.7rem}.mini-week{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;width:min(142px,100%);margin-top:8px}.mini-week i{height:4px;border-radius:999px;background:var(--line-soft)}.mini-week i.done{background:var(--routine-color)}.routine-score{display:grid;justify-items:center;align-content:center;width:42px;height:42px;border-radius:13px;background:var(--brand-soft);color:var(--brand)}.routine-score strong{font-size:.94rem;line-height:1}.routine-score span{margin-top:3px;font-size:.57rem;font-weight:800}.more-button{display:grid;place-items:center;width:36px;height:40px;padding:0;border:0;border-radius:11px;background:transparent;color:var(--muted)}.week-routine-card{--routine-color: #117865;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}.week-routine-card>header{display:grid;grid-template-columns:minmax(0,1fr) auto 36px;align-items:center;gap:8px;min-height:54px;padding:8px 8px 8px 14px;border-bottom:1px solid var(--line-soft)}.week-routine-card>header div{display:flex;align-items:center;min-width:0;gap:9px}.week-routine-card>header i{flex:0 0 auto;width:9px;height:9px;border-radius:50%;background:var(--routine-color)}.week-routine-card>header strong{overflow-wrap:anywhere;font-size:.92rem}.week-routine-card>header>span{color:var(--muted);font-size:.66rem;font-weight:700;white-space:nowrap}.week-routine-card>header>span b{color:var(--ink);font-size:.88rem}.week-cells{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;padding:6px}.week-cells button{position:relative;display:grid;place-items:center;align-content:center;gap:1px;min-width:0;min-height:64px;padding:3px 0;border:1px solid transparent;border-radius:11px;background:transparent;color:var(--muted)}.week-cells button+button{border-left-color:var(--line-soft);border-radius:0}.week-cells button.selected{background:color-mix(in srgb,var(--routine-color) 7%,transparent)}.week-cells button.done{border-color:var(--routine-color);border-radius:11px;background:var(--routine-color);color:#fff}.week-cells button:disabled{opacity:.3}.week-cells span{font-size:.58rem;font-weight:800}.week-cells b{font-size:.73rem}.week-cells em{min-height:16px;font-size:.77rem;font-style:normal;font-weight:900}.empty-state{margin-top:10px;padding:38px 24px;border:1px dashed var(--line);border-radius:20px;background:var(--surface);text-align:center}.empty-icon{display:grid;place-items:center;width:50px;height:50px;margin:auto;border-radius:16px;background:var(--brand-soft);color:var(--brand)}.empty-state h2{margin:14px 0 6px;font-size:1.05rem}.empty-state p{max-width:320px;margin:0 auto;color:var(--muted);font-size:.83rem;line-height:1.5}.empty-state .primary-button{margin-top:18px}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:48px;padding:0 17px;border:0;border-radius:13px;background:var(--brand);color:#fff;font-weight:800}.inline-error{margin:12px 0;color:var(--danger);font-size:.8rem}.task-date-nav{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;gap:8px;margin:24px 0 14px;padding:10px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.task-date-nav .date-copy{display:grid;gap:2px;padding:0;border:0;background:transparent}.task-date-nav .date-copy strong{font-size:.84rem}.task-date-nav .date-copy span{color:var(--muted);font-size:.66rem}.task-composer{padding:12px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}.task-composer form{display:flex;gap:8px}.task-composer form input{min-width:0;flex:1}.task-composer>div{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.task-composer input,.task-composer select,.bottom-sheet input,.bottom-sheet select,.bottom-sheet textarea,.auth-form input{width:100%;min-height:47px;padding:0 12px;border:1px solid var(--line);border-radius:12px;outline:0;background:var(--surface);color:var(--ink)}.task-composer input:focus,.bottom-sheet input:focus,.bottom-sheet select:focus,.bottom-sheet textarea:focus,.auth-form input:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 15%,transparent)}.task-search{margin:12px 0 10px}.task-board{display:grid;gap:14px}.task-section{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}.task-section>header{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:0 14px;border-bottom:1px solid var(--line-soft)}.task-section>header strong{font-size:.76rem;letter-spacing:.05em;text-transform:uppercase}.task-section>header span{display:grid;place-items:center;min-width:25px;height:25px;border-radius:8px;background:var(--brand-soft);color:var(--brand);font-size:.7rem;font-weight:850}.task-card{display:grid;grid-template-columns:38px minmax(0,1fr) auto 36px;align-items:center;gap:9px;min-height:68px;padding:9px 8px 9px 12px;border-bottom:1px solid var(--line-soft)}.task-card:last-child{border-bottom:0}.task-card>div{display:grid;min-width:0;gap:3px}.task-card>div strong{overflow-wrap:anywhere;font-size:.9rem}.task-card>div span{color:var(--muted);font-size:.68rem}.task-card.complete>div strong{color:var(--muted);text-decoration:line-through}.task-check{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1.5px solid #aebdb6;border-radius:11px;background:transparent;color:transparent}.task-card.complete .task-check{border-color:var(--brand);background:var(--brand);color:#fff}.tomorrow-button{min-height:32px;padding:0 8px;border:0;border-radius:9px;background:var(--brand-soft);color:var(--brand);font-size:.65rem;font-weight:850}.sheet-backdrop{position:fixed;z-index:20;inset:0;display:grid;align-items:end;background:#08120e75;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.bottom-sheet{width:min(100%,620px);max-height:90dvh;margin:0 auto;padding:8px 18px max(24px,env(safe-area-inset-bottom));overflow-y:auto;border-radius:26px 26px 0 0;background:var(--surface);box-shadow:0 -20px 50px #00000029}.sheet-handle{width:42px;height:4px;margin:2px auto 16px;border-radius:99px;background:var(--line)}.bottom-sheet>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.bottom-sheet h2{margin:0;font-size:1.45rem;letter-spacing:-.04em}.bottom-sheet form{display:grid;gap:15px;margin-top:22px}.bottom-sheet label{display:grid;gap:7px;color:var(--muted);font-size:.78rem;font-weight:750}.bottom-sheet textarea{min-height:92px;padding-top:12px;resize:vertical}.bottom-sheet fieldset{margin:0;padding:0;border:0}.bottom-sheet legend{margin-bottom:9px;color:var(--muted);font-size:.78rem;font-weight:750}.color-palette{display:grid;grid-template-columns:repeat(8,1fr);gap:8px}.color-palette button{aspect-ratio:1;width:100%;border:3px solid var(--surface);border-radius:50%;outline:1px solid transparent}.color-palette button.selected{outline-color:var(--ink)}.sheet-save{width:100%}.sheet-actions{display:grid;gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.sheet-actions>button,.order-actions button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;border:1px solid var(--line);border-radius:12px;background:transparent;font-size:.78rem;font-weight:800}.sheet-actions .danger{color:var(--danger)}.order-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.undo-toast{position:fixed;z-index:30;left:50%;bottom:calc(84px + env(safe-area-inset-bottom));transform:translate(-50%);display:grid;grid-template-columns:minmax(0,1fr) auto 32px;align-items:center;gap:8px;width:min(calc(100% - 28px),520px);min-height:52px;padding:7px 8px 7px 14px;border-radius:15px;background:#173b33;color:#fff;box-shadow:0 16px 40px #00000038;font-size:.77rem;font-weight:700}.undo-toast button{min-height:34px;padding:0 10px;border:0;border-radius:9px;background:#ffffff24;color:#fff;font-weight:850}.undo-toast .close{display:grid;place-items:center;width:32px;padding:0;background:transparent}.undo-toast .close .icon{width:16px;height:16px}.bottom-nav{position:fixed;z-index:10;bottom:0;left:50%;transform:translate(-50%);display:grid;grid-template-columns:repeat(3,1fr);width:min(100%,820px);padding:8px 12px max(9px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.bottom-nav button{display:grid;place-items:center;gap:3px;min-height:55px;border:0;border-radius:14px;background:transparent;color:var(--muted);font-size:.68rem;font-weight:800}.bottom-nav button.active{background:var(--brand-soft);color:var(--brand)}.bottom-nav .icon{width:19px;height:19px}.account-screen{padding-top:18px}.account-card{display:flex;align-items:center;gap:14px;margin-top:28px;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.account-avatar{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--brand-soft);color:var(--brand)}.account-card strong{color:var(--muted);font-size:.74rem}.account-card p{margin:4px 0 0;overflow-wrap:anywhere;font-weight:800}.sign-out-primary{width:100%;min-height:52px;margin-top:16px;border:1px solid var(--danger);border-radius:14px;background:transparent;color:var(--danger);font-weight:850}.account-help{color:var(--muted);font-size:.79rem;text-align:center}.auth-screen{display:grid;place-items:center;min-height:100dvh;padding:24px;background:radial-gradient(circle at 85% 8%,#d8efe7 0,transparent 30%),#f3f6f4}:root[data-theme=dark] .auth-screen{background:radial-gradient(circle at 85% 8%,#173b33 0,transparent 30%),#101613}.theme-control{position:fixed;top:20px;right:20px}.auth-card{width:min(100%,430px)}.auth-card h1{margin:0;font-size:clamp(2.35rem,10vw,3.6rem);line-height:1.02;letter-spacing:-.06em}.muted{margin:9px 0 0;color:var(--muted);line-height:1.5}.auth-form{display:grid;gap:10px;margin-top:34px}.auth-form label{font-size:.82rem;font-weight:750}.auth-switch{width:100%;margin-top:13px;padding:5px;border:0;background:transparent;color:var(--brand);font-size:.8rem;font-weight:800}.form-message{color:var(--danger);font-size:.78rem}@media(max-width:679px){input,select,textarea,.search-field input{font-size:16px}}@media(min-width:680px){.app-shell{padding-inline:28px}.page-content{padding-top:32px}.today-routine-list,.week-board{grid-template-columns:1fr 1fr}.bottom-nav{border-radius:18px 18px 0 0}.bottom-sheet{border-radius:26px;margin-bottom:24px}.sheet-backdrop{align-items:center}}
