:root{color-scheme:dark;--bg:#0c1424;--surface:#162238;--border:#2b3d55;--text:#eef5ff;--muted:#a9b6ca;--primary:#70dec0;--p2:#39aa94;--blue:#99bfff;--danger:#d4a1a8;--radius:19px;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 20% -10%,#1a3552 0%,transparent 42%),var(--bg);color:var(--text);min-height:100vh;font-size:15px}button,input,select{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{opacity:.27;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.shell{max-width:600px;margin:auto;padding:env(safe-area-inset-top) 17px 112px}.top{display:flex;align-items:center;justify-content:space-between;padding:24px 1px 22px}.brand{display:flex;align-items:center;gap:11px}.brand>div:last-child{display:flex;flex-direction:column;gap:3px}.brand span,.eyebrow{letter-spacing:1.25px;color:#9ab1d1;font-size:10px;font-weight:800}.brand b{font-size:12px;font-weight:500;color:#d3dfef}.logo{width:38px;height:38px;background:#234b51;color:#a9ffe0;border:1px solid #3c7773;border-radius:13px;display:grid;place-items:center;font-size:26px;font-weight:900}.level{background:#213d4a;border:1px solid #316b72;color:#9ff9d6;border-radius:100px;padding:9px 13px;font-size:12px;font-weight:800}.muted{color:var(--muted)}.tiny{font-size:12px;line-height:1.45}.surface{background:linear-gradient(130deg,#18263e,#172238);border:1px solid var(--border);border-radius:var(--radius);padding:18px;margin-bottom:13px;box-shadow:0 5px 18px #0208141c}.day-pick{display:flex;align-items:center;justify-content:space-between;text-align:center;margin-bottom:12px}.day-pick strong{font-size:14px}.day-pick .tiny{margin-top:4px;text-transform:capitalize}.icon-btn{height:39px;width:39px;border:1px solid var(--border);background:#1b2d45;color:var(--text);font-size:27px;border-radius:13px}.hero{border-color:#317870;background:linear-gradient(145deg,#173c43,#172d3c 63%,#182237);padding:20px}.hero-content{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:16px 0 22px}.hero h1{font-size:clamp(23px,5.4vw,30px);line-height:1.16;margin:0 0 8px;max-width:260px;letter-spacing:-.7px}.hero p{font-size:13px;margin:0;line-height:1.45}.ring{width:100px;height:100px;min-width:100px;border-radius:50%;background:conic-gradient(var(--primary) var(--p),#42606b var(--p));display:grid;place-items:center;transform:rotate(-90deg)}.ring>div{width:79px;height:79px;border-radius:50%;background:#183b42;transform:rotate(90deg);display:flex;align-items:center;justify-content:center;flex-direction:column}.ring b{font-size:27px;color:#c6ffe5}.ring small{font-size:10px;color:#a9cfcb}.bar{height:9px;border-radius:100px;overflow:hidden;background:#385365}.bar i{display:block;height:100%;border-radius:100px;background:linear-gradient(90deg,#3fc6a5,#b6f5a8);transition:width .23s ease}.hero-note{font-size:12px;color:#bddbd3;margin-top:10px}.sectionline{display:flex;align-items:center;justify-content:space-between;margin:22px 2px 12px;gap:10px}.sectionline h2{font-size:18px;letter-spacing:-.4px;margin:0}.sectionline .eyebrow{font-size:10px}.habit{padding:15px 16px 14px}.habit-top{display:flex;align-items:center;gap:12px}.symbol{width:43px;height:43px;flex-shrink:0;background:#2a3851;border-radius:14px;display:grid;place-items:center;font-size:23px}.habit-desc{flex:1;min-width:0}.habit-desc h3{font-size:16px;margin:0 0 4px}.habit-desc p{font-size:12px;margin:0;color:var(--muted);line-height:1.3}.state-icon{font-size:25px;color:#6d85a0;line-height:1}.state-icon.checked{color:#82e5ba}.habit-goal{display:flex;gap:16px;margin:14px 0 13px 54px;color:var(--muted);font-size:12px;flex-wrap:wrap}.habit-goal b{color:#d7f1ed;font-size:12px;font-weight:700}.habit-actions{display:flex;gap:9px}.primary,.soft{border-radius:12px;min-height:45px;padding:11px 14px;font-size:13px;font-weight:800;transition:transform .1s;flex:1}.primary:active,.soft:active{transform:scale(.98)}.primary{color:#052720;background:var(--primary);border:1px solid #79e5c6}.soft{color:#dbe7fb;background:#25374f;border:1px solid #39506b}.primary.isdone{background:#215d51;color:#d1fff1;border-color:#3c9a83}.mutedbutton{background:#293443}.subtle-link{display:block;color:#aabbd0;background:none;border:0;padding:13px 0 2px;text-align:left;font-size:12px;text-decoration:underline;text-underline-offset:3px}.quiet-note{display:flex;align-items:start;gap:10px;margin:20px 5px;color:#b1c7bc}.quiet-note p{margin:0;font-size:12px;line-height:1.6}.quiet-note span{font-size:22px}.empty{color:var(--muted);line-height:1.5}.stat-card .number-xl{margin:10px 0 0}.number-xl{font-size:45px;font-weight:850;letter-spacing:-1.8px;color:#a4f1d3}.stat-card p{line-height:1.5}.stat-card .tiny{margin-bottom:0}.positive{color:#a7edc0}.weekday-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-top:15px}.weekday{min-width:0;padding:9px 1px;background:#24354e;border:1px solid #364b67;border-radius:12px;color:var(--text);display:flex;flex-direction:column;gap:10px;align-items:center}.weekday span{font-size:10px;color:#c3cfe1}.weekday b{font-size:12px}.weekday i{width:22px;height:5px;border-radius:100px;background:linear-gradient(90deg,var(--primary) var(--v),#3a5263 var(--v))}.weekday.current{border-color:#8bb9ea}.heatdays{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin:15px 0}.heat{border:1px solid #43536c;background:#303c50;color:#b8c4d6;aspect-ratio:1;min-width:0;border-radius:9px}.heat small{font-size:11px}.heat.low{background:#26544e;border-color:#396b62}.heat.mid{background:#2f846f;border-color:#55a08a;color:#eafff8}.heat.high{background:#83d6b0;border-color:#a0e8c9;color:#07352d}.heat.none{background:#1c293e;opacity:.75}.heat.selected{outline:2px solid #9acaff;outline-offset:2px}.insight p{line-height:1.6;color:#dee9f6}.level-line{display:flex;align-items:center;gap:18px;margin:14px 0}.level-line p{margin:3px 0}.trophy{display:flex;align-items:center;gap:12px}.trophy>div:nth-child(2){flex:1}.trophy p{margin:4px 0 0}.trophy.locked{opacity:.58}.settings-habit{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #35445c}.settings-habit:first-child{padding-top:2px}.settings-habit:last-child{border:0;padding-bottom:2px}.small-symbol{width:35px;height:35px;font-size:19px;border-radius:10px}.settings-text{flex:1;min-width:0}.settings-text b{font-size:14px}.settings-text p{margin:3px 0 0}.small-btn{min-height:38px;flex:0;padding:8px 12px;white-space:nowrap}.two-btn{display:flex;gap:9px;margin:15px 0}.two-btn button{font-size:12px}.line{height:1px;background:#35445c;margin:15px 0}.fill{width:100%}.resource{color:#a4e2ff;display:inline-block;margin:5px 0}.footer{padding:18px 5px;text-align:center;color:#7487a3;font-size:11px;line-height:1.4}.bottom{position:fixed;z-index:50;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,600px);padding:9px 11px calc(9px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(5,1fr);background:rgba(13,22,39,.97);backdrop-filter:blur(18px);border-top:1px solid #324058;gap:3px}.bottom button{min-height:53px;border:0;background:none;color:#97a9bf;font-size:11px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:12px}.bottom button span{font-size:19px}.bottom button[aria-current=page]{color:#b9ffe0;background:#203d42;font-weight:800}.toast{position:fixed;bottom:89px;left:50%;transform:translateX(-50%);width:min(90vw,480px);text-align:center;padding:12px 18px;background:#e0f8eb;color:#0d3c32;border-radius:14px;z-index:70;font-size:13px;font-weight:700;box-shadow:0 6px 28px #0009}.toast[hidden]{display:none}.edit-dialog{width:min(96vw,520px);max-height:90vh;overflow:auto;background:#162238;color:var(--text);border:1px solid #4a647d;border-radius:18px;padding:20px;box-shadow:0 15px 70px #0009}.edit-dialog::backdrop{background:#050b13b8}.edit-dialog h2{margin:0 0 6px;font-size:22px}.edit-dialog form>label,.row-input label{display:flex;flex-direction:column;gap:6px;margin:14px 0;font-size:13px;font-weight:650}.edit-dialog input:not([type=checkbox]),.edit-dialog select{padding:12px;min-height:43px;border:1px solid #52677d;border-radius:10px;background:#24364e;color:white;width:100%}.row-input{display:grid;grid-template-columns:1fr 1fr;gap:12px}.row-input label{min-width:0}.edit-dialog .switch{display:flex;flex-direction:row;align-items:center}.edit-dialog .switch input{width:19px;height:19px}.day-options{border:0;margin:0;padding:0}.day-options legend{font-size:12px;color:#c6d4df}.days-buttons{display:flex;flex-wrap:wrap;gap:5px;margin:9px 0}.days-buttons label input{position:absolute;opacity:0}.days-buttons span{display:block;font-size:11px;border:1px solid #485a72;background:#263752;padding:8px;border-radius:9px}.days-buttons input:checked+span{border-color:#7bd8c0;background:#236558}.dialog-actions{display:flex;gap:9px;margin-top:20px}.edit-dialog .muted{margin:0}.surface>p{line-height:1.6}@media(min-width:550px){.shell{padding:12px 24px 112px}.top{padding:25px 0 25px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}

.xp-chip{margin-top:12px;display:inline-flex;padding:6px 10px;border:1px solid #448e7f;border-radius:999px;color:#b5f3d6;font-weight:700;font-size:11px;background:#21483f}
/* Roadmap 3: lightweight native reminders and sync controls */
.surface label:not(.switch){display:block;margin:12px 0 6px;color:var(--muted);font-size:13px}
.surface input[type="url"],.surface input[type="password"],.surface input[type="time"]{display:block;width:100%;padding:12px;border-radius:11px;border:1px solid var(--border);background:#0d182b;color:var(--text);margin-top:8px}

/* Monthly and yearly goals */
.goal-period-tabs{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:14px}.goal-period-tabs button{padding:11px;border-radius:10px;border:1px solid #465873;background:#25364d;color:#dbe7fb;font-weight:750}.goal-period-tabs button.selected{background:#256859;color:#ebfff6;border-color:#5dccaa}.goal-period-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;text-transform:capitalize}.goal-period-nav strong{font-size:16px}.goal-card-head{display:flex;align-items:center;gap:11px}.goal-card-head h3{margin:0 0 2px;font-size:16px}.goal-card-head .small-btn{margin-left:auto}.goal-numbers{display:flex;align-items:baseline;gap:7px;margin:19px 0 12px}.goal-numbers b{font-size:26px;letter-spacing:-.8px;color:#c7ffe3}.goal-numbers span{font-size:12px;flex:1}.goal-numbers strong{font-size:15px;color:#a0c3e7}.goal-card .tiny{margin-bottom:0}.amount-quick{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:15px 0 18px}.amount-quick button{padding:7px;min-height:40px;font-size:12px}.edit-dialog input[type=number]{width:100%;display:block;padding:12px;border:1px solid #52677d;background:#24364e;color:white;border-radius:10px;margin-top:8px}.bottom button{font-size:10px}
