:root{--day-cell:26px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#090b10;--card:#141821;--card-2:#1c2230;--line:#ffffff14;--ink:#f4f7fb;--muted:#98a2b8;--accent:#6ea8ff;--accent-ink:#07111f;--danger:#f07178;--up:#9ec5ff;letter-spacing:-.011em;background:var(--bg);color:var(--ink);font-family:SF Pro Text,Segoe UI,system-ui,sans-serif;line-height:1.45}*{box-sizing:border-box}body{background:radial-gradient(900px 420px at 50% -80px, #6ea8ff2e, transparent 60%), var(--bg);min-height:100vh;margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{width:100%;min-height:100vh;margin-inline:auto;padding-inline:22px}@media (width>=1280px){.app{width:min(1160px,100% - 10vw);padding-inline:0}}.topbar{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:18px 0 8px;display:grid}.screen-title{text-align:center;letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:650}.menu-btn{border:1px solid var(--line);background:var(--card);border-radius:12px;place-content:center;gap:5px;width:44px;height:44px;padding:0;display:grid}.menu-btn span{background:var(--ink);border-radius:99px;width:16px;height:2px;display:block}.menu-back{z-index:40;background:#00000073;position:fixed;inset:0}.menu-panel{background:var(--card);border-right:1px solid var(--line);width:min(320px,100%);height:100%;padding:18px 16px calc(18px + env(safe-area-inset-bottom));flex-direction:column;gap:6px;display:flex}.menu-panel header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.menu-panel header button{background:0 0;border:0;width:44px;height:44px;font-size:1.6rem;line-height:1}.menu-link{text-align:left;color:var(--ink);background:0 0;border:0;border-radius:12px;padding:14px 12px;font-size:1.05rem}.menu-link.active{color:var(--accent);background:#6ea8ff29}.pill{border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0c0e14b8;border-radius:999px;gap:2px;padding:4px;display:flex}.pill-link,.gear{color:var(--muted);background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:8px 12px;display:inline-flex}.pill-link svg,.gear svg{width:16px;height:16px}.pill-link.active{color:var(--accent);background:#6ea8ff29}.gear{justify-content:center;justify-self:end;width:40px;height:40px;padding:0}.banner{color:#fecaca;background:#3a1d1d;border-radius:10px;margin:8px 0;padding:10px 12px}main{padding:8px 0 48px}.screen{flex-direction:column;gap:16px;display:flex}.gate{place-items:center;min-height:100vh;padding:24px;display:grid}.gate-card{flex-direction:column;gap:12px;width:min(420px,100%);padding:24px;display:flex}.gate-card h1{margin:0;font-size:1.8rem}.gate-card label{color:var(--muted);flex-direction:column;gap:6px;font-size:.85rem;display:flex}.gate-wait{padding:48px 22px}.lede{color:var(--muted);margin:0}.panel,.today-card,.area-card,.day-col{background:linear-gradient(180deg, #ffffff09, transparent 42%), var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:0 18px 40px #00000038}.eyebrow{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.72rem}.empty-note{color:var(--muted)}.today-hero{flex-direction:column;align-items:center;gap:8px;padding:12px 0 8px;display:flex}.today-date{letter-spacing:.12em;text-transform:uppercase;margin:8px 0 0;font-size:.85rem}.today-count{color:var(--muted);margin:0}.token-pill{color:var(--accent);background:#6ea8ff1f;border-radius:999px;align-items:center;gap:6px;margin:4px 0 0;padding:6px 12px;font-size:.82rem;display:inline-flex}.today-grid{grid-template-columns:1fr 1fr;gap:12px;margin:0;padding:0;list-style:none;display:grid}.today-card{align-items:center;gap:10px;min-height:64px;padding:12px 14px;display:flex}.today-card.stacked{flex-direction:column;align-items:stretch}.today-row{align-items:center;gap:10px;width:100%;display:flex}.habit-name{letter-spacing:-.02em;flex:1;font-size:.98rem;font-weight:600}.habit-name small,.task-habit{color:var(--muted);margin-top:2px;font-size:.75rem;font-weight:500;display:block}.linked-tasks{border-top:1px solid var(--line);width:100%;margin:10px 0 0;padding:8px 0 0;list-style:none}.linked-tasks li{align-items:center;gap:8px;margin:6px 0;display:flex}.check{width:26px;height:26px;color:var(--accent-ink);background:0 0;border:1px solid #ffffff29;border-radius:999px;flex:none}.check.on{background:var(--accent);border-color:var(--accent)}.dot{border-radius:50%;flex:none;width:8px;height:8px}.streak-mark,.ice{color:#fdba74;background:0 0;border:0;font-size:.85rem}.ice{color:#7dd3fc}.ring{display:block}.ring-track{fill:none;stroke:#24322e;stroke-width:8px}.ring-value{fill:none;stroke:var(--accent);stroke-width:8px;stroke-linecap:round;transform-origin:60px 60px;transform:rotate(-90deg)}.ring-percent{fill:var(--ink);font-size:22px;font-weight:700}.ring-caption{fill:var(--muted);letter-spacing:.14em;font-size:9px}.month-bar,.week-head,.rhythm-bar,.mindset-head,.split-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.month-stat{margin:4px 0}.meter{background:#243034;border-radius:999px;height:4px;overflow:hidden}.meter>span,.bar-track>span{background:var(--accent);height:100%;display:block}.pager{gap:8px;display:flex}.pager button,.ghost,.text-btn,.primary{border:1px solid var(--line);background:var(--card-2);border-radius:999px;padding:8px 12px}.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:700}.ghost.active{color:var(--accent);border-color:var(--accent)}.segment{border:1px solid var(--line);background:#0e1416;border-radius:999px;flex:1;padding:4px;display:flex}.segment button{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;background:0 0;border:0;border-radius:999px;flex:1;padding:10px;font-size:.78rem}.segment button.active{background:var(--accent);color:var(--accent-ink)}.segment.mini{flex:none}.segment.mini button{padding:6px 10px}.rhythm-actions{gap:8px;display:flex}.trend-card,.insight-hero{background:var(--card);border:1px solid var(--line);border-radius:16px;align-items:center;gap:16px;padding:12px 16px;display:flex}.trend,.area-chart,.mindset-chart{width:100%;height:120px}.trend path,.area-line{fill:none;stroke:var(--accent);stroke-width:2px}.trend circle,.area-chart circle{fill:var(--accent)}.area-fill{fill:#4d94ff2e;stroke:none}.area-chart text,.mindset-chart text{fill:var(--muted);font-size:11px}.mindset-chart path{fill:none;stroke-width:2px}.avg{text-align:right;min-width:72px}.avg span{color:var(--muted);text-transform:uppercase;font-size:.75rem;display:block}.avg strong{color:var(--accent);font-size:1.6rem}.habit-cards{flex-direction:column;gap:12px;display:flex}.habit-card-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.ht-name{align-items:center;gap:8px;min-width:0;font-weight:650;display:flex}.ht-name span:last-child{overflow-wrap:anywhere}.habit-stats{color:var(--muted);flex-wrap:wrap;gap:8px 12px;margin:0;font-size:.85rem;display:flex}.habit-actions{gap:8px;display:flex}.dow-row,.dot-month,.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.dot-month,.habit-card .dow-row{max-width:420px}.dow-row span{text-align:center;color:var(--muted);font-size:.68rem}.day-dot{aspect-ratio:1;min-width:0;color:var(--muted);background:0 0;border:1px solid #314048;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:0;font-size:.68rem;display:flex}.day-dot.today{border-color:var(--accent);color:var(--ink)}.day-dot.done{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.day-dot.open{border-color:var(--accent)}.day-dot.frozen{color:#7dd3fc;border-color:#7dd3fc}.day-dot.future,.day-dot.off{opacity:.4}.streak-board{grid-template-columns:1.4fr 1fr;gap:12px;display:grid}.streak-summary ul{margin:8px 0 0;padding:0;list-style:none}.streak-summary li{grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:8px;margin:8px 0;display:grid}.streak-summary li span:nth-child(2){overflow-wrap:anywhere}.streak-summary small{color:var(--muted)}.cal-wrap{flex-direction:column;gap:6px;display:flex}.cal-day{border:1px solid var(--line);min-width:0;min-height:72px;color:inherit;text-align:left;background:0 0;border-radius:12px;flex-direction:column;align-items:flex-start;gap:4px;padding:6px 4px;display:flex}.cal-day.today{border-color:var(--accent)}.cal-day.selected{background:#6ea8ff1f}.cal-num{font-size:.78rem;font-weight:650}.cal-dots{flex-wrap:wrap;gap:3px;min-height:8px;display:flex}.cal-dots i{border-radius:50%;width:7px;height:7px;display:block}.cal-dots em{color:var(--muted);font-size:.62rem;font-style:normal}.cal-tasks{color:var(--muted);font-size:.68rem}.day-detail h2{margin:0 0 8px;font-size:1.15rem}.day-detail h3{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:14px 0 6px;font-size:.85rem}.day-detail ul{margin:0;padding:0;list-style:none}.day-detail li{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;display:flex}.day-detail li strong{color:var(--accent);margin-left:auto}.day-detail small{color:var(--muted)}.done-mark,.open-mark{width:1.2rem;color:var(--accent)}.cell{width:22px;height:22px;color:var(--accent-ink);background:0 0;border:1px solid #314048;border-radius:50%;margin:0 auto;padding:0;font-size:.7rem}.cell.done{background:var(--accent);border-color:var(--accent);box-shadow:0 0 10px #4d94ff73}.cell.open{border-color:var(--accent)}.cell.frozen{color:#7dd3fc;border-color:#7dd3fc}.cell.future,.cell.off{opacity:.45}.task-top,.insight-split,.stat-row{gap:12px;display:grid}.task-top{grid-template-columns:1fr 1.2fr}.week-panel,.panel{padding:16px}.week-range{color:var(--accent);margin:4px 0 0;font-weight:700}.week-body{align-items:end;gap:16px;display:flex}.bars{flex:1;align-items:end;gap:10px;height:120px;display:flex}.bar-col{flex-direction:column;flex:1;justify-content:end;align-items:center;gap:6px;height:100%;display:flex}.bar-col span{background:var(--accent);border-radius:6px 6px 2px 2px;width:100%;max-width:28px;display:block}.bar-col small{color:var(--muted)}.week-ring{text-align:center}.legend{color:var(--muted);align-items:center;gap:10px;font-size:.8rem;display:flex}.legend i{border-radius:50%;width:8px;height:8px;display:inline-block}.legend .energy{background:#f87171}.legend .focus{background:#60a5fa}.legend .motivation{background:#c084fc}.day-plan{flex-direction:column;gap:16px;padding:18px;display:flex}.day-picker{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.day-chip{color:var(--muted);background:0 0;border:1px solid #0000;border-radius:16px;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;display:flex}.day-chip strong{color:var(--ink);font-size:1.05rem}.day-chip small{font-size:.72rem}.day-chip.selected{color:var(--accent);background:#6ea8ff1f;border-color:#6ea8ff73}.plan-head,.plan-head div{justify-content:space-between;align-items:center;gap:12px;display:flex}.plan-head h2{letter-spacing:-.03em;margin:0;font-size:1.25rem;font-weight:600}.plan-list,.all-goals,.priority-list,.board,.streak-list,.archived{width:100%;margin:0;padding:0;list-style:none}.plan-list li,.goal-body li{align-items:center;gap:10px;margin-bottom:8px;display:flex}.plan-list li{border-bottom:1px solid var(--line);padding:8px 0}.plan-title{flex:1}.plan-list li.done .plan-title{color:var(--muted);text-decoration:line-through}.composer{grid-template-columns:minmax(0,1fr) 160px auto;align-items:center;gap:8px;display:grid}.composer .primary{white-space:nowrap}.composer input,.composer select,.goal-form input,.goal-form select,.modal input,.modal select,textarea{border:1px solid var(--line);background:#0e1416;border-radius:10px;width:100%;padding:8px 10px}.feel{flex-direction:column;gap:10px;padding-top:4px;display:flex}.feel-row{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.score-row{color:var(--muted);text-transform:capitalize;align-items:center;gap:6px;font-size:.82rem;display:flex}.score-pips{gap:4px;margin-left:auto;display:flex}.dot-btn{border:1px solid var(--line);width:28px;height:28px;color:var(--muted);background:0 0;border-radius:999px;padding:0}.dot-btn.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.goal-hero{align-items:center;gap:16px;padding:16px;display:flex}.goal-fraction{margin:0;font-size:1.4rem;font-weight:700}.goal-form{grid-template-columns:1fr 1.4fr auto auto;align-items:end;gap:10px;display:grid}.goal-form label,.modal label{color:var(--muted);flex-direction:column;gap:6px;font-size:.8rem;display:flex}.section-label{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:8px 0 0;font-size:.78rem}.area-grid{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.area-card{text-align:left;color:var(--ink);flex-direction:column;gap:4px;padding:12px;display:flex}.area-card.selected{border-color:var(--accent)}.area-card small{color:var(--muted)}.priority{justify-content:space-between;gap:12px;margin-bottom:10px;padding:14px;display:flex}.badge{color:var(--accent);letter-spacing:.06em;text-transform:uppercase;background:#13283f;border-radius:999px;margin-right:8px;padding:2px 8px;font-size:.68rem;display:inline-block}.pin{color:#f472b6;background:0 0;border:0;font-size:1.1rem}.goal-line{text-align:left;background:0 0;border:0;align-items:center;gap:8px;width:100%;padding:12px;display:flex}.goal-line small{color:var(--muted);margin-right:auto}.goal-body{padding:0 12px 12px}.all-goals>li{margin-bottom:10px}.stat-row{grid-template-columns:repeat(4,1fr)}.big-stat{margin:8px 0 0;font-size:1.8rem;font-weight:700}.big-stat.up{color:var(--up)}.big-stat.down{color:var(--danger)}.big-stat.name{font-size:1.2rem}.insight-split{grid-template-columns:1.3fr 1fr}.board li,.streak-list li{grid-template-columns:auto 1fr 1fr auto;align-items:center;gap:8px;margin:10px 0;display:grid}.bar-track{background:#243034;border-radius:999px;height:8px;overflow:hidden}.journal textarea{margin:8px 0}.modal{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:16px;width:min(480px,100% - 32px);padding:20px}.modal::backdrop{background:#0009}.modal form,.day-picks,.swatches,.form-actions{flex-wrap:wrap;gap:10px;display:flex}.modal form{flex-direction:column}.swatch{border:2px solid #0000;border-radius:50%;width:28px;height:28px}.swatch.selected{border-color:#fff}.drawer-back{background:#00000073;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:var(--card);border-left:1px solid var(--line);width:min(380px,100%);height:100%;padding:20px;overflow:auto}.drawer header{justify-content:space-between;align-items:center;display:flex}.drawer header button{background:0 0;border:0;font-size:1.4rem}.archived li{align-items:center;gap:8px;margin:8px 0;display:flex}.text-btn{color:var(--muted);background:0 0;border:0;padding:0}@media (width<=900px){.today-grid,.task-top,.insight-split,.goal-form{grid-template-columns:1fr}.stat-row,.area-grid{grid-template-columns:1fr 1fr}.feel-row{grid-template-columns:1fr}.day-picker{gap:4px}}@media (width<=760px){.app{padding-inline:16px;padding-bottom:env(safe-area-inset-bottom)}.topbar{padding-top:max(12px, env(safe-area-inset-top))}.screen-title{letter-spacing:.08em}.check,.dot-btn,.pager button,.primary,.ghost,.menu-link{min-height:44px}.check{width:32px;height:32px}input,select,textarea{font-size:16px}.plan-head,.plan-head div,.month-bar,.goal-hero,.rhythm-bar,.week-head,.split-head,.mindset-head{flex-wrap:wrap}.segment.mini{width:auto}.insight-hero,.week-head,.week-body{flex-direction:column;align-items:stretch}.rhythm-bar{align-items:stretch}.segment,.rhythm-actions{width:100%}.rhythm-actions .ghost,.rhythm-actions .primary{flex:1}.day-chip{min-height:52px;padding:8px 0}.streak-board{grid-template-columns:1fr}.streak-summary li{grid-template-columns:auto minmax(0,1fr) auto}.streak-summary small{grid-column:2/-1}.cal-day{min-height:58px;padding:4px 2px}.cal-tasks{font-size:.62rem}.drawer{width:100%;padding-bottom:calc(20px + env(safe-area-inset-bottom));border-left:0}.modal{width:calc(100% - 24px);max-height:calc(100vh - 32px);overflow:auto}.board li,.streak-list li{flex-wrap:wrap;align-items:center;display:flex}.board li .habit-name,.streak-list li .habit-name{min-width:0}.board li .bar-track,.streak-list li .meter{flex:1 0 100%}}@media (width<=640px){.composer{grid-template-columns:1fr auto}.composer select{grid-column:1/-1}.composer .primary{min-width:72px}}@media (width>=900px){.dot-month,.habit-card .dow-row{max-width:640px}.cal-day{min-height:108px}}
