@font-face{font-family:IBM Plex Sans;src:url(/fonts/ibm-plex-sans-latin.woff2) format("woff2");font-style:normal;font-weight:400 700;font-display:swap}@font-face{font-family:IBM Plex Sans Condensed;src:url(/fonts/ibm-plex-sans-condensed-400-latin.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:IBM Plex Sans Condensed;src:url(/fonts/ibm-plex-sans-condensed-700-latin.woff2) format("woff2");font-style:normal;font-weight:600 700;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/ibm-plex-mono-400-latin.woff2) format("woff2");font-style:normal;font-weight:400 600;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/ibm-plex-mono-700-latin.woff2) format("woff2");font-style:normal;font-weight:700;font-display:swap}:root{color-scheme:light;--ink: #17213d;--muted: #5e6985;--cobalt: #5267e9;--mint: #a9ded4;--coral: #ef6a5b;--line: #d8def0;--font-sans: "IBM Plex Sans", system-ui, sans-serif;--font-display: "IBM Plex Sans Condensed", "IBM Plex Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--nav-height: calc(72px + env(safe-area-inset-bottom, 0px)) }*{box-sizing:border-box}body{margin:0;background:#fbfcff;color:var(--ink);font-family:var(--font-sans)}:focus-visible{outline:2px solid var(--cobalt);outline-offset:2px}.app{display:grid;grid-template-columns:216px minmax(470px,1fr) 310px;min-height:100vh;background:#fbfcff}.sidebar{display:flex;min-width:0;flex-direction:column;padding:28px 18px 18px;background:var(--ink);color:#dbe1f3}.brand{display:flex;gap:10px;align-items:center;min-height:44px;margin:0 7px 34px;color:#fff;font:650 22px/1 var(--font-display);letter-spacing:-.03em}.brand-mark{display:grid;width:29px;height:29px;place-items:center;border-radius:50%;background:conic-gradient(var(--mint) 0 72%,#475270 72% 100%);color:var(--ink);font-size:10px;box-shadow:inset 0 0 0 7px var(--ink)}.nav-group{display:grid;gap:5px}.nav-item{display:grid;grid-template-columns:28px 1fr auto;gap:9px;align-items:center;min-height:46px;padding:0 11px;border:0;border-radius:13px;background:transparent;color:#b9c2dc;font-family:inherit;font-size:12px;font-weight:650;text-align:left;cursor:pointer}.nav-item:hover{background:#222e4c;color:#fff}.nav-item.active{background:#f4f6ff;color:#23304d;box-shadow:0 9px 24px #0000002e}.nav-icon{font-size:16px;text-align:center}.nav-count{min-width:21px;padding:4px 6px;border-radius:99px;background:#34405e;color:#d7ddef;font:700 9px/1 var(--font-mono);text-align:center}.nav-item.active .nav-count{background:#dfe4fb;color:#4056cf}.sidebar-spacer{flex:1;min-height:26px}.account{display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:center;width:100%;padding:11px 7px 0;border:0;border-top:1px solid #34405e;background:transparent;color:inherit;font-family:inherit;text-align:left;cursor:pointer}.account-avatar{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:var(--cobalt);color:#fff;font:700 10px/1 var(--font-display)}.account strong,.account small{display:block}.account strong{color:#fff;font-size:10px}.account small{margin-top:3px;color:#9da7c2;font-size:8px}.workspace{min-width:0;padding:30px 38px 34px;background:#fbfcff}.topline{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.date-title span{display:block;color:#59647f;font:700 9px/1 var(--font-display);letter-spacing:.11em;text-transform:uppercase}.date-title h2{display:block;margin:5px 0 0;color:var(--ink);font:640 28px/1 var(--font-display);letter-spacing:-.035em}.top-avatar{display:grid;width:39px;height:39px;place-items:center;border-radius:50%;background:#dfe4fb;color:#4056cf;font:700 10px/1 var(--font-display)}.day-lead{display:grid;grid-template-columns:112px 1fr auto;gap:22px;align-items:center;margin-top:24px;padding:20px 0 21px;border-top:1px solid #dce2f1;border-bottom:1px solid #dce2f1}.day-ring{display:grid;width:104px;height:104px;place-items:center;border-radius:50%;background:radial-gradient(circle,#fbfcff 59%,transparent 60%),conic-gradient(var(--cobalt) 0 var(--progress, 0%),#dfe4f3 var(--progress, 0%) 100%);color:var(--ink);font:700 21px/1 var(--font-mono)}.next-copy small{color:#59647f;font:700 9px/1 var(--font-display);letter-spacing:.13em;text-transform:uppercase}.next-copy h3{margin:8px 0 5px;color:var(--ink);font:640 27px/1 var(--font-display);letter-spacing:-.035em}.next-copy p{margin:0;color:#5d6883;font-size:11px;line-height:1.45}.next-copy em{color:#4056cf;font-style:normal;font-weight:700}.day-count{padding-left:14px;border-left:1px solid #ccd4e8;color:#59647f;font:650 9px/1.3 var(--font-sans)}.section-head{display:flex;justify-content:space-between;gap:16px;align-items:end;margin:22px 0 11px}.section-head h4{margin:0;color:var(--ink);font:640 17px/1 var(--font-display)}.section-head span{color:#59647f;font:700 9px/1 var(--font-display);letter-spacing:.09em;text-transform:uppercase}.timeline{position:relative;display:grid;gap:7px}.timeline.ruled:before{position:absolute;top:25px;bottom:25px;left:73px;width:2px;background:var(--line);content:""}.row{position:relative;z-index:1;display:grid;grid-template-columns:54px 38px minmax(0,1fr) 78px;gap:10px;align-items:center;width:100%;min-height:62px;padding:8px 10px;border:1px solid transparent;border-radius:15px;background:transparent;color:var(--ink);font-family:inherit;text-align:left;cursor:pointer}.row:hover{border-color:#d3daf0;background:#fff}.row.next{border-color:#9aa8ee;background:#fff;box-shadow:0 10px 25px #5267e917}.row:disabled{cursor:not-allowed;opacity:.76}.row-time{color:#424d69;font:700 10px/1 var(--font-mono);text-align:right}.row-dot{display:grid;width:34px;height:34px;place-items:center;border:2px solid #aeb9d4;border-radius:50%;background:#fff;color:var(--cobalt);font-size:12px}.row.done .row-dot{border-color:var(--cobalt);background:var(--cobalt);color:#fff}.row.next .row-dot{border-color:var(--cobalt)}.row-copy strong,.row-copy small{display:block}.row-copy strong{color:#202b48;font-size:11px}.row-copy small{margin-top:4px;color:#59647f;font-size:9px}.row-meta{color:#59647f;font:700 9px/1 var(--font-mono);text-align:right}.anytime{padding-top:18px;border-top:1px solid #dce2f1}.view-head{display:flex;justify-content:space-between;gap:18px;align-items:end;padding-bottom:20px;border-bottom:1px solid #dce2f1}.view-head p{margin:0 0 6px;color:#525e7a;font:700 9px/1 var(--font-display);letter-spacing:.13em;text-transform:uppercase}.view-head h2{margin:0;color:var(--ink);font:640 32px/1 var(--font-display);letter-spacing:-.04em}.primary-action{min-height:44px;padding:0 15px;border:0;border-radius:12px;background:var(--cobalt);color:#fff;font-family:inherit;font-size:10px;font-weight:700;cursor:pointer}.primary-action:disabled{background:#a8b3e6;cursor:not-allowed}.history-lead{display:grid;grid-template-columns:160px 1fr;gap:28px;align-items:center;margin-top:24px;padding:22px;border-radius:19px;background:var(--ink);color:#fff}.history-number strong{display:block;font:650 42px/.9 var(--font-display);letter-spacing:-.05em}.history-number span{display:block;margin-top:9px;color:#b6c0d9;font-size:9px}.history-copy p{margin:0;color:#cbd3e5;font-size:10px;line-height:1.55}.history-copy b{color:#fff}.heatmap{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,1fr);gap:3px;margin-top:22px;overflow-x:auto;padding-bottom:4px}.heatmap i{display:block;width:11px;height:11px;border-radius:3px;background:#e2e6f2}.heatmap i.pad{background:transparent}.heatmap i.l1{background:#ccd4f7}.heatmap i.l2{background:#aebaf1}.heatmap i.l3{background:#7d90ec}.heatmap i.l4{background:var(--cobalt)}.heatmap-key{display:flex;gap:6px;align-items:center;margin-top:10px;color:#59647f;font-size:8px}.heatmap-key i{display:block;width:11px;height:11px;border-radius:3px}.list{display:grid;gap:8px;margin-top:20px}.list-row{display:grid;grid-template-columns:36px 1fr auto;gap:11px;align-items:center;min-height:60px;padding:10px 12px;border:1px solid #d7deef;border-radius:14px;background:#fff}.list-row>b{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;background:#edf0ff;color:#4056cf;font-size:11px}.list-row strong,.list-row small{display:block}.list-row strong{color:#26314e;font-size:11px}.list-row small{margin-top:4px;color:#59647f;font-size:9px}.list-row>span{color:#4056cf;font:700 10px/1 var(--font-mono)}.habit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:22px}.habit-card{padding:16px;border:1px solid #d7deef;border-radius:16px;background:#fff}.habit-card header{display:flex;justify-content:space-between;gap:10px}.habit-card h4{margin:0;color:#26314e;font-size:11px}.habit-card header span{color:#4056cf;font:700 9px/1 var(--font-mono)}.habit-card p{margin:8px 0 13px;color:#59647f;font-size:9px}.habit-meta{display:flex;justify-content:space-between;align-items:center;padding-top:11px;border-top:1px solid #e6eaf4;color:#56617d;font-size:8px}.habit-meta button{border:0;background:transparent;color:#8a5148;font-family:inherit;font-size:8px;font-weight:700;cursor:pointer}.habit-meta button:hover{text-decoration:underline}.context{min-width:0;padding:30px 24px;border-left:1px solid var(--line);background:#f1f3fb}.context-eyebrow{margin:0;color:#525e7a;font:700 9px/1 var(--font-display);letter-spacing:.14em;text-transform:uppercase}.context h3{margin:7px 0 5px;color:var(--ink);font:640 23px/1 var(--font-display);letter-spacing:-.03em}.context-intro{margin:0 0 18px;color:#59647f;font-size:10px;line-height:1.5}.card{margin-top:13px;padding:15px;border:1px solid #d3dbee;border-radius:17px;background:#fff}.card-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.card-head strong{color:#26314e;font-size:10px}.card-head span{color:#56617d;font-size:8px}.week{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-top:13px;align-items:end}.week i{display:block;height:var(--day, 30px);min-height:9px;border-radius:4px;background:#d8def2}.week i.good{background:var(--cobalt)}.week i.today{background:#62a99b;box-shadow:0 0 0 2px #d8f0eb}.week-labels{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-top:6px;color:#7a849c;font:600 7px/1 var(--font-mono);text-align:center}.side-card h4{margin:0;color:#26314e;font:640 15px/1 var(--font-display)}.side-card p{margin:7px 0 0;color:#59647f;font-size:9px;line-height:1.5}.empty{margin-top:26px;padding:28px 22px;border:1px dashed #c7d0e8;border-radius:18px;background:#fff;text-align:center}.empty h4{margin:0 0 7px;color:var(--ink);font:640 19px/1 var(--font-display)}.empty p{margin:0 0 16px;color:#59647f;font-size:10px;line-height:1.55}.notice{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:15px;padding:11px 13px;border:1px solid #efb0a4;border-radius:14px;background:#fff0ec;color:#78362a;font-size:10px}.notice button{min-height:36px;padding:0 13px;border:1px solid #e7a093;border-radius:11px;background:#fff;color:#8e3d30;font-family:inherit;font-size:9px;font-weight:700;cursor:pointer}.signin{display:grid;min-height:100vh;place-items:center;padding:24px;background:var(--ink)}.signin-card{width:min(380px,100%);padding:34px;border-radius:22px;background:#fbfcff}.signin-card .brand{margin:0 0 22px;color:var(--ink)}.signin-card h1{margin:0 0 6px;color:var(--ink);font:640 30px/1 var(--font-display);letter-spacing:-.04em}.signin-card p{margin:0 0 22px;color:var(--muted);font-size:11px;line-height:1.55}.signin-buttons{display:grid;gap:9px}.signin-buttons a{display:block;min-height:46px;padding:15px;border:1px solid #ccd4eb;border-radius:13px;background:#fff;color:var(--ink);font-size:11px;font-weight:650;text-align:center;text-decoration:none}.signin-buttons a:hover{border-color:var(--cobalt);color:var(--cobalt)}.signin-error{padding:11px 13px;border:1px solid #efb0a4;border-radius:12px;background:#fff0ec;color:#78362a;font-size:10px;line-height:1.5}.sheet{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#17213d6b}.sheet-card{width:min(420px,100%);padding:26px;border-radius:20px;background:#fbfcff}.sheet-card h3{margin:0 0 18px;color:var(--ink);font:640 24px/1 var(--font-display);letter-spacing:-.03em}.field{display:block;margin-bottom:14px}.field span{display:block;margin-bottom:6px;color:#525e7a;font:700 9px/1 var(--font-display);letter-spacing:.11em;text-transform:uppercase}.field input,.field select{width:100%;min-height:44px;padding:0 12px;border:1px solid #ccd4eb;border-radius:12px;background:#fff;color:var(--ink);font-family:inherit;font-size:12px}.field-hint{margin:-8px 0 14px;color:#7a849c;font-size:9px;line-height:1.5}.sheet-actions{display:flex;gap:9px;justify-content:flex-end;margin-top:20px}.sheet-actions button{min-height:44px;padding:0 16px;border:1px solid #ccd4eb;border-radius:12px;background:#fff;color:var(--ink);font-family:inherit;font-size:10px;font-weight:700;cursor:pointer}.sheet-actions .primary-action{border-color:var(--cobalt)}.sheet-error{margin:0 0 14px;padding:10px 12px;border-radius:11px;background:#fff0ec;color:#78362a;font-size:10px}@media (max-width: 1120px){.app{grid-template-columns:190px minmax(0,1fr)}.context{grid-column:2;border-top:1px solid var(--line);border-left:0}}@media (max-width: 720px){.app{display:block;padding-bottom:var(--nav-height)}.sidebar{position:fixed;right:0;bottom:0;left:0;z-index:20;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px));border-top:1px solid #2b3755}.brand,.sidebar-spacer,.account{display:none}.nav-group{display:contents}.nav-item{display:flex;min-width:0;min-height:48px;flex-direction:column;gap:3px;justify-content:center;padding:4px;font-size:10px;text-align:center}.nav-icon{font-size:17px}.nav-count{display:none}.workspace{padding:calc(env(safe-area-inset-top,0px) + 16px) 16px 22px}.date-title span{font-size:11px}.date-title h2{margin-top:3px;font-size:30px}.top-avatar{width:36px;height:36px;font-size:11px}.day-lead{grid-template-columns:54px minmax(0,1fr);gap:14px;margin-top:16px;padding:14px 0 16px}.day-ring{width:54px;height:54px;font-size:13px}.next-copy small{font-size:10px;letter-spacing:.1em}.next-copy h3{margin:5px 0 3px;font-size:19px;letter-spacing:-.02em}.next-copy p{font-size:13px}.day-count{display:none}.section-head{margin:20px 0 8px}.section-head h4{color:#59647f;font:700 12px/1 var(--font-sans);letter-spacing:.06em;text-transform:uppercase}.section-head span{font-size:10px}.timeline{gap:0;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff}.timeline.ruled:before{display:none}.row{grid-template-columns:46px 30px minmax(0,1fr);gap:12px;min-height:62px;padding:11px 14px;border:0;border-radius:0}.row+.row{border-top:1px solid #eef1f8}.row:hover{border-color:transparent;background:transparent}.row:active{background:#eef0ff}.row.next{border-color:transparent;background:#f6f7ff;box-shadow:none}.row-time{font-size:12px}.row-dot{width:28px;height:28px;font-size:13px}.row-copy strong{font-size:16px}.row-copy small{margin-top:2px;font-size:13px}.row-meta{display:none}.anytime{padding-top:0;border-top:0}.context{padding:20px 16px 24px}.context-eyebrow{font-size:10px}.context h3{font-size:20px}.context-intro{font-size:13px}.card{padding:14px;border-radius:14px}.card-head strong{font-size:13px}.card-head span{font-size:11px}.side-card h4{font-size:15px}.side-card p{font-size:13px}.week-labels{font-size:9px}.view-head{align-items:flex-start;flex-direction:column;gap:12px}.view-head h2{font-size:28px}.view-head p{font-size:10px}.primary-action{min-height:46px;padding:0 18px;font-size:13px}.history-lead,.habit-grid{grid-template-columns:1fr}.habit-grid{padding-bottom:76px}.history-number strong{font-size:34px}.history-number span,.history-copy p{font-size:13px}.list-row{min-height:62px;padding:11px 14px;border-radius:14px}.list-row strong{font-size:16px}.list-row small{font-size:13px}.list-row>span{font-size:13px}.habit-card h4{font-size:16px}.habit-card p{font-size:13px}.habit-card header span,.habit-meta,.habit-meta button{font-size:11px}.empty h4{font-size:20px}.empty p{font-size:13px}.settings-block h3{font-size:20px}.settings-note,.settings-warn{font-size:13px}.settings-label{font-size:10px}.settings-input{width:100%;font-size:16px}.field input,.field select{font-size:16px}.sheet-card{padding:20px}.sheet-card h3{font-size:21px}.add-habit{position:fixed;right:16px;bottom:calc(var(--nav-height) + 14px);z-index:15;display:grid;width:56px;height:56px;padding:0;place-items:center;border-radius:50%;box-shadow:0 10px 26px #5267e961;font-size:0}.add-habit:before,.add-habit:after{content:"";grid-area:1 / 1;width:21px;height:2px;border-radius:2px;background:currentColor}.add-habit:after{transform:rotate(90deg)}.add-habit:active{background:#4056cf}.section-head span,.context-eyebrow,.context h3,.context-intro{display:none}.context{padding-top:4px}.context-habits-help{display:none}}.settings-block{padding:22px 0;border-bottom:1px solid #dce2f1}.settings-block:last-of-type{border-bottom:0}.settings-block h3{margin:0 0 8px;color:var(--ink);font:640 19px/1 var(--font-display)}.settings-note{margin:0 0 14px;max-width:52ch;color:#59647f;font-size:10px;line-height:1.6}.settings-warn{margin:0 0 14px;max-width:52ch;padding:10px 12px;border-radius:11px;background:#fff0ec;color:#78362a;font-size:10px;line-height:1.55}.settings-label{display:block;margin-bottom:6px;color:#525e7a;font:700 9px/1 var(--font-display);letter-spacing:.11em;text-transform:uppercase}.settings-input{display:block;width:min(320px,100%);min-height:44px;margin-bottom:16px;padding:0 12px;border:1px solid #ccd4eb;border-radius:12px;background:#fff;color:var(--ink);font-family:inherit;font-size:12px}.settings-code{display:block;max-width:52ch;margin-bottom:14px;padding:10px 12px;border-radius:11px;background:#eef0ff;color:#26314e;font:600 10px/1.5 var(--font-mono);overflow-wrap:anywhere}.danger-action{min-height:44px;margin-left:9px;padding:0 15px;border:1px solid #e7a093;border-radius:12px;background:#fff;color:#8e3d30;font-family:inherit;font-size:10px;font-weight:700;cursor:pointer}.day-picker.svelte-1y11y0q{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin:-6px 0 16px}.day.svelte-1y11y0q{min-height:44px;padding:0;border:1px solid #ccd4eb;border-radius:11px;background:#fff;color:#59647f;font-family:inherit;font-size:9px;font-weight:700;cursor:pointer}.day.on.svelte-1y11y0q{border-color:#5267e9;background:#eef0ff;color:#4056cf}
