:root{--bg:#0a0a0a;--bg-2:#111;--card:#151515;--card-2:#1b1b1b;--border:#242424;--border-2:#313131;--text:#ececec;--text-2:#a8a8a8;--dim:#767676;--xp:#f5b83d;--xp-soft:#f5b83d21;--good:#3fb950;--bad:#f0625a;--warn:#e8873f;--primary-bg:#ececec;--primary-fg:#0a0a0a;--shadow:0 10px 30px #00000073;--radius:12px;--font:-apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", system-ui, sans-serif;--mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, monospace;--tabbar-h:62px;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:light){:root{--bg:#f5f5f4;--bg-2:#ecebe9;--card:#fff;--card-2:#f7f7f6;--border:#e3e2df;--border-2:#d3d2ce;--text:#151515;--text-2:#555;--dim:#8b8b8b;--xp:#c48a0c;--xp-soft:#c48a0c1f;--good:#1f8f3a;--bad:#d13b33;--warn:#c8651c;--primary-bg:#151515;--primary-fg:#fff;--shadow:0 10px 30px #0000001f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font:15px/1.45 var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;margin:0}body.locked{overflow:hidden}h1,h2,h3,h4{letter-spacing:-.01em;margin:0;font-weight:650}h1{font-size:26px}h2{font-size:18px}h3{align-items:center;gap:6px;font-size:15px;display:flex}h4.sub{color:var(--dim);text-transform:uppercase;letter-spacing:.06em;margin:12px 0 2px;font-size:12px}p{margin:0}a{color:inherit;text-decoration:none}code{font-family:var(--mono);background:var(--bg-2);border-radius:5px;padding:1px 5px;font-size:.88em}button{font:inherit;color:inherit}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.dim{color:var(--dim)}.fine{color:var(--text-2);font-size:12.5px}.late{color:var(--bad)}.soon,.gold-ink{color:var(--xp)}.spacer{flex:1}.push{margin-left:auto}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.stack{flex-direction:column;gap:12px;display:flex}.stack-sm{flex-direction:column;gap:8px;display:flex}input,select,textarea{font:inherit;color:var(--text);background:var(--bg-2);border:1px solid var(--border);border-radius:10px;outline:none;width:100%;min-height:40px;padding:9px 11px;font-size:16px}input:focus,select:focus,textarea:focus{border-color:var(--dim)}textarea{resize:vertical;line-height:1.45}select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--dim) 50%), linear-gradient(135deg, var(--dim) 50%, transparent 50%);background-position:calc(100% - 16px),calc(100% - 11px);background-repeat:no-repeat;background-size:5px 5px;padding-right:30px}input[type=date],input[type=datetime-local]{min-height:42px}.title-input{background:0 0;border:none;border-radius:0;padding:4px 0;font-size:19px;font-weight:600}.title-input:focus{border:none}.field{flex-direction:column;gap:6px;display:flex}.field-label{color:var(--dim);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:600}.btn{border:1px solid var(--border-2);background:var(--card-2);cursor:pointer;white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:6px;height:38px;padding:0 14px;font-size:14px;font-weight:550;transition:transform 80ms,background .15s,border-color .15s;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--primary-bg);color:var(--primary-fg);border-color:var(--primary-bg)}.btn.ghost{background:0 0}.btn.ghost:hover{background:var(--card-2)}.btn.gold{background:var(--xp-soft);color:var(--xp);border-color:color-mix(in srgb, var(--xp) 40%, transparent)}.btn.danger{color:var(--bad)}.btn.block{width:100%}.btn.active{border-color:var(--text-2)}.badge{background:var(--xp);color:#111;border-radius:999px;padding:0 6px;font-size:11px;font-weight:700;line-height:17px}.link{cursor:pointer;color:var(--text-2);background:0 0;border:none;align-items:center;gap:4px;padding:0;font-size:13px;display:inline-flex}.link:hover{color:var(--text)}.icon-btn{cursor:pointer;width:38px;height:38px;color:var(--text-2);background:0 0;border:1px solid #0000;border-radius:10px;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--card-2);color:var(--text)}.icon-btn.sm{border-radius:8px;width:28px;height:28px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--border-2);cursor:pointer;height:32px;color:var(--text-2);background:0 0;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:13.5px;display:inline-flex}.chip.on{background:var(--primary-bg);color:var(--primary-fg);border-color:var(--primary-bg)}.chip-sep{background:var(--border-2);width:1px;margin:4px}.segmented{background:var(--bg-2);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.segmented button{cursor:pointer;color:var(--text-2);background:0 0;border:none;border-radius:7px;align-items:center;gap:4px;min-height:30px;padding:6px 11px;font-size:13.5px;display:inline-flex}.segmented button.on{background:var(--card);color:var(--text);box-shadow:0 1px 3px #00000040}.dot{border-radius:50%;flex:none;display:inline-block}.progress{background:var(--bg-2);border:1px solid var(--border);border-radius:999px;height:8px;overflow:hidden}.progress.thin{border:none;height:5px}.progress>div{background:var(--text-2);border-radius:999px;height:100%;transition:width .5s cubic-bezier(.2,.8,.2,1)}.check{border:1.8px solid var(--border-2);cursor:pointer;background:0 0;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;margin-top:1px;padding:0;transition:all .15s;display:grid}.check:hover{border-color:var(--good)}.check.on{background:var(--good);border-color:var(--good);color:#fff;animation:.3s pop}@keyframes pop{50%{transform:scale(1.25)}}.shell{min-height:100dvh}.sidebar{display:none}.main{min-width:0;padding:calc(var(--safe-t) + 16px) 16px calc(var(--tabbar-h) + var(--safe-b) + 28px)}.page{flex-direction:column;gap:16px;max-width:1180px;margin:0 auto;display:flex}.page.narrow{max-width:660px}.board-page{max-width:none}.page-head{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.kicker{color:var(--dim);text-transform:uppercase;letter-spacing:.07em;margin-bottom:2px;font-size:12px;font-weight:600}.tabbar{z-index:30;height:calc(var(--tabbar-h) + var(--safe-b));padding-bottom:var(--safe-b);background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(18px);border-top:1px solid var(--border);justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.tab{color:var(--dim);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:10.5px;font-weight:550;display:flex}.tab.on{color:var(--text)}.fab{right:18px;bottom:calc(var(--tabbar-h) + var(--safe-b) + 16px);z-index:31;background:var(--primary-bg);width:56px;height:56px;color:var(--primary-fg);box-shadow:var(--shadow);cursor:pointer;border:none;border-radius:18px;place-items:center;display:grid;position:fixed}.fab:active{transform:scale(.94)}@media (width>=900px){.shell{grid-template-columns:236px minmax(0,1fr);display:grid}.sidebar{border-right:1px solid var(--border);background:var(--bg);flex-direction:column;gap:4px;height:100dvh;padding:20px 14px;display:flex;position:sticky;top:0}.tabbar,.fab{display:none}.main{padding:28px 36px 48px}h1{font-size:28px}}.brand{align-items:center;gap:10px;padding:4px 8px 12px;font-size:16px;font-weight:700;display:flex}.brand-mark{background:var(--xp);color:#111;width:30px;height:30px;font-weight:800;font-family:var(--mono);border-radius:9px;place-items:center;display:grid}.side-level{border:1px solid var(--border);border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;margin-bottom:8px;padding:10px;font-size:13px;display:grid}.side-level .progress>div{background:var(--xp)}.streak-mini{font-family:var(--mono);color:var(--xp);align-items:center;gap:2px;display:inline-flex}.streak-mini.risk{color:var(--warn)}.sidebar .btn.primary{margin-bottom:10px}.side-link{color:var(--text-2);border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-weight:520;display:flex}.side-link:hover,.side-link.on{background:var(--card-2);color:var(--text)}.splash{place-items:center;min-height:100dvh;display:grid}.splash.col{flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.splash .brand-mark{border-radius:15px;width:52px;height:52px;font-size:24px;animation:1.2s infinite pulse}@keyframes pulse{50%{opacity:.4}}.login{place-items:center;min-height:100dvh;padding:16px;display:grid}.login form{width:min(360px,100%)}.login .brand{justify-content:center}.banner{background:var(--bg-2);border-radius:10px;padding:10px 12px;font-size:13.5px}.banner.risk{background:color-mix(in srgb, var(--warn) 14%, transparent);color:var(--warn)}.banner.gold{background:var(--xp-soft);color:var(--xp)}.banner.offline{margin-bottom:12px}.empty{color:var(--dim);padding:14px 4px;font-size:13.5px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius)}.card.pad{flex-direction:column;gap:6px;padding:14px 16px;display:flex}.card-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.task-card{cursor:pointer;box-shadow:inset 3px 0 0 var(--accent-line,transparent);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;align-items:flex-start;gap:10px;padding:10px 12px;transition:border-color .15s;display:flex;position:relative}.task-card:hover{border-color:var(--border-2)}.task-card.dragging{box-shadow:inset 3px 0 0 var(--accent-line,transparent), var(--shadow);border-color:var(--dim);transform:rotate(1.5deg)}.task-main{flex:1;min-width:0}.task-title{overflow-wrap:anywhere;font-weight:520}.done .task-title{color:var(--dim);text-decoration:line-through;-webkit-text-decoration-color:var(--border-2);text-decoration-color:var(--border-2)}.meta{color:var(--text-2);flex-wrap:wrap;gap:4px 10px;margin-top:3px;font-size:12px;display:flex}.meta>span{align-items:center;gap:4px;display:inline-flex}.meta.parsed{min-height:18px}.prio.p1{color:var(--bad)}.prio.p3{color:var(--dim)}.due.late{color:var(--bad)}.due.soon,.quest-tag{color:var(--xp)}.xp-hint{font-family:var(--mono);color:var(--xp);opacity:.8;margin-top:3px;font-size:11px}.view-tabs{scrollbar-width:none;border-bottom:1px solid var(--border);gap:4px;margin:0 -16px;padding:0 16px;display:flex;overflow-x:auto}.view-tabs::-webkit-scrollbar{display:none}.view-tab{color:var(--dim);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:9px 10px;font-size:14px;font-weight:550;display:inline-flex}.view-tab.on{color:var(--text);border-bottom-color:var(--text)}.view-tab.add{color:var(--dim);font-weight:450}.toolbar{align-items:center;gap:8px;display:flex}.toolbar.wrap{flex-wrap:wrap}.toolbar select{width:auto}.search{background:var(--bg-2);border:1px solid var(--border);min-width:0;color:var(--dim);border-radius:10px;flex:1;align-items:center;gap:8px;padding:0 10px;display:flex}.search input{background:0 0;border:none;min-height:38px;padding:8px 0}.view-summary{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:12.5px;display:flex}.view-summary .dirty{gap:12px;display:inline-flex}.view-summary .dirty .link{color:var(--xp);font-size:12.5px}.view-summary .dirty .link.dim{color:var(--dim)}@media (width<=520px){.hide-sm{display:none}}.kanban{scroll-snap-type:x proximity;align-items:flex-start;gap:12px;margin:0 -16px;padding:2px 16px 12px;scroll-padding:16px;display:flex;overflow-x:auto}.k-col{scroll-snap-align:start;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;flex:0 0 min(84vw,310px);display:flex}.k-head{align-items:center;gap:8px;padding:10px 10px 4px 12px;font-size:13.5px;font-weight:600;display:flex}.k-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.k-count{font-family:var(--mono);color:var(--dim);margin-left:4px;font-size:11.5px;font-weight:500}.k-head .icon-btn{margin-left:auto}.k-drop{border-radius:0 0 var(--radius) var(--radius);flex-direction:column;gap:8px;min-height:70px;padding:6px 8px 10px;transition:background .15s;display:flex}.k-drop.over{background:color-mix(in srgb, var(--text) 4%, transparent)}.k-item{touch-action:manipulation}.k-item.ghost{opacity:.35}.k-overlay{cursor:grabbing}.k-empty{color:var(--dim);text-align:center;border:1px dashed var(--border-2);border-radius:10px;padding:16px 8px;font-size:12.5px}@media (width>=900px){.kanban{margin:0;padding:2px 0 12px}.view-tabs{margin:0;padding:0}.k-col{flex-basis:296px}}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);overflow-x:auto}.tasks-table{border-collapse:collapse;width:100%;min-width:760px;font-size:13.5px}.tasks-table th{text-align:left;color:var(--dim);border-bottom:1px solid var(--border);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;padding:9px 10px;font-size:12px;font-weight:600}.tasks-table th.on{color:var(--text)}.tasks-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:8px 10px}.tasks-table tbody tr:not(.group-row){cursor:pointer}.tasks-table tbody tr:not(.group-row):hover{background:var(--card-2)}.tasks-table tr.done .c-title{color:var(--dim);text-decoration:line-through}.tasks-table .c-check{width:40px}.tasks-table .c-title{font-weight:520}.tasks-table .c-title svg{vertical-align:-1px;margin-left:6px}.group-row td{background:var(--bg-2);padding:7px 10px;font-size:12.5px;font-weight:600}.meta-project{align-items:center;gap:5px;display:inline-flex}.prio-cell.p1{color:var(--bad)}.prio-cell.p3{color:var(--dim)}.status-pill{background:var(--bg-2);color:var(--text-2);border:1px solid var(--border);text-transform:capitalize;border-radius:999px;padding:1px 8px;font-size:11.5px;display:inline-block}.status-pill.doing{color:var(--xp);border-color:color-mix(in srgb, var(--xp) 35%, transparent)}.status-pill.done{color:var(--good)}.list-view{flex-direction:column;gap:18px;display:flex}.list-head{color:var(--text-2);align-items:center;gap:8px;margin-bottom:4px;font-size:13px;display:flex}.list-row{border-bottom:1px solid var(--border);cursor:pointer;align-items:flex-start;gap:10px;padding:9px 4px;display:flex}.list-row:last-child{border-bottom:none}.list-row.tight{padding:6px 2px}.list-group .list-row{padding-left:2px}.sheet-backdrop{z-index:50;background:#00000080;justify-content:center;align-items:flex-end;animation:.15s fade;display:flex;position:fixed;inset:0}.sheet{background:var(--card);border:1px solid var(--border);width:100%;max-height:92dvh;box-shadow:var(--shadow);border-bottom:none;border-radius:18px 18px 0 0;flex-direction:column;animation:.22s cubic-bezier(.2,.8,.2,1) up;display:flex}.sheet-grab{background:var(--border-2);border-radius:3px;width:38px;height:5px;margin:8px auto 0}.sheet-head{justify-content:space-between;align-items:center;padding:6px 12px 4px 18px;display:flex}.sheet-head h2{color:var(--text-2);font-size:15px;font-weight:600}.sheet-body{-webkit-overflow-scrolling:touch;flex-direction:column;gap:16px;padding:4px 18px 18px;display:flex;overflow-y:auto}.sheet-foot{padding:12px 18px calc(12px + var(--safe-b));border-top:1px solid var(--border);align-items:center;gap:8px;display:flex}@keyframes up{0%{opacity:0;transform:translateY(40px)}}@keyframes fade{0%{opacity:0}}@media (width>=700px){.sheet-backdrop{align-items:center;padding:24px}.sheet{border-bottom:1px solid var(--border);border-radius:16px;width:560px;max-height:86vh}.sheet.wide{width:720px}.sheet-grab{display:none}.sheet-head{padding-top:12px}.sheet-foot{padding-bottom:12px}}.colors{flex-wrap:wrap;gap:10px;display:flex}.swatch{cursor:pointer;outline-offset:2px;border:2px solid #0000;border-radius:50%;outline:2px solid #0000;width:30px;height:30px}.swatch.on{outline-color:var(--text)}.pick-list{flex-direction:column;display:flex}.pick{border-bottom:1px solid var(--border);cursor:pointer;border-radius:8px;align-items:flex-start;gap:10px;padding:10px 6px;display:flex}.pick.on{background:var(--xp-soft)}.pick .check.on{background:var(--xp);border-color:var(--xp);color:#111}.steps{color:var(--text-2);flex-direction:column;gap:6px;margin:0;padding-left:20px;font-size:14px;display:flex}.hero{background:linear-gradient(160deg, var(--xp-soft), transparent 55%), var(--card);flex-direction:column;gap:14px;padding:16px;display:flex}.hero-level{align-items:center;gap:14px;display:flex}.level-badge{background:var(--card);border:2px solid var(--xp);width:60px;height:60px;color:var(--xp);box-shadow:0 0 0 4px var(--xp-soft);border-radius:18px;flex:none;place-items:center;font-size:26px;font-weight:700;display:grid}.hero-xp{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.hero-line{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.hero-line strong{font-size:18px}.hero .progress>div{background:var(--xp)}.hero-stats{grid-template-columns:1fr 1fr;gap:10px;display:grid}.stat{background:var(--bg-2);border:1px solid var(--border);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.stat strong{font-size:17px;line-height:1.1;display:block}.stat span{color:var(--text-2);font-size:12px}.stat.streak{color:var(--dim)}.stat.streak.safe{color:var(--xp)}.stat.streak.risk{color:var(--warn)}.stat.streak strong{color:var(--text)}.ring{--p:0;width:34px;height:34px;color:var(--xp);background:radial-gradient(closest-side, var(--bg-2) 76%, transparent 78%), conic-gradient(var(--xp) calc(var(--p) * 360deg), var(--border-2) 0);border-radius:50%;flex:none;place-items:center;display:grid}.today-grid{gap:16px;display:grid}.today-grid .col{flex-direction:column;gap:16px;min-width:0;display:flex}@media (width>=1000px){.today-grid{grid-template-columns:1.1fr 1fr;align-items:start}}.quests.cleared{border-color:color-mix(in srgb, var(--xp) 45%, transparent)}.quests .btn{margin-top:6px}.event-row{border-bottom:1px solid var(--border);cursor:pointer;align-items:baseline;gap:12px;padding:7px 2px;font-size:14px;display:flex}.event-row:last-child{border-bottom:none}.event-row.google{cursor:default}.event-time{color:var(--text-2);flex:none;width:52px;font-size:12px}.event-title{flex:1;min-width:0}.score-row{flex-direction:column;gap:2px;display:flex}.big{font-size:28px;font-weight:650}.big small{color:var(--dim);font-size:14px}.delta{color:var(--text-2);font-size:12.5px}.delta.up{color:var(--good)}.delta.down{color:var(--warn)}.bars{gap:6px;height:96px;margin-top:8px;display:flex}.bars.wide{gap:3px;height:120px}.bar-col{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.bar-track{background:var(--bg-2);border-radius:6px;flex:1;position:relative;overflow:hidden}.bar{background:var(--border-2);border-radius:4px 4px 0 0;transition:height .5s;position:absolute;bottom:0;left:0;right:0}.bar.hit{background:var(--xp)}.bar-min{border-top:1px dashed var(--dim);opacity:.55;z-index:1;position:absolute;left:0;right:0}.bar-label{text-align:center;color:var(--dim);font-size:11px;font-family:var(--mono);min-height:14px}.bar-col.today .bar-label{color:var(--text);font-weight:700}.bar-col.today .bar-track{outline:1px solid var(--border-2)}.goal-row{border-bottom:1px solid var(--border);flex-direction:column;gap:6px;padding:8px 0;display:flex}.goal-row:last-child{border-bottom:none}.goal-row-head{justify-content:space-between;gap:8px;font-size:14px;display:flex}.goal-row-head>span:first-child{align-items:center;gap:6px;display:inline-flex}.ach-mini{flex-wrap:wrap;gap:6px;display:flex}.ach-chip{background:var(--xp-soft);color:var(--xp);border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:13px;display:inline-flex}.goal-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:14px;display:grid}.goal-card{border-top:3px solid var(--goal);flex-direction:column;gap:12px;padding:16px;display:flex}.goal-card.closed{opacity:.6}.goal-head{cursor:pointer;justify-content:space-between;gap:12px;display:flex}.goal-level{color:var(--xp);flex-direction:column;align-items:flex-end;gap:2px;font-size:14px;display:flex}.goal-level small{color:var(--dim);font-size:11px}.goal-progress .progress{height:10px}.goal-nums{color:var(--text-2);justify-content:space-between;margin-top:6px;font-size:12px;display:flex}.goal-projects{flex-direction:column;gap:4px;display:flex}.goal-project{border-radius:8px;grid-template-columns:1fr auto;align-items:center;gap:4px 8px;padding:7px 8px;font-size:14px;display:grid}.goal-project:hover{background:var(--card-2)}.goal-project>span:first-child{align-items:center;gap:6px;display:inline-flex}.goal-project .progress{grid-column:1/-1}.goal-project em{font-size:12px;font-style:normal}.goal-foot{justify-content:flex-end;display:flex}.filter-row{margin-top:-4px}.project-section{flex-direction:column;gap:8px;display:flex}.project-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:10px;display:grid}.project-card{cursor:pointer;box-shadow:inset 3px 0 0 var(--accent-line,transparent);-webkit-user-select:none;user-select:none;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.project-card:hover{border-color:var(--border-2)}.project-top{align-items:center;gap:8px;display:flex}.project-top .status-pill{margin-left:auto}.project-nums{color:var(--text-2);justify-content:space-between;gap:8px;font-size:12px;display:flex}.project-card .link{align-self:flex-start}.week{gap:10px;display:grid}.day{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;min-width:0;padding:10px 12px;display:flex}.day.today{border-color:color-mix(in srgb, var(--xp) 55%, transparent)}.day.past{opacity:.6}.day-head{cursor:pointer;justify-content:space-between;align-items:center;padding-bottom:6px;font-size:13.5px;font-weight:600;display:flex}.day.today .day-head{color:var(--xp)}.day .k-empty{text-align:left;border:none;padding:8px}@media (width>=1100px){.week{grid-template-columns:repeat(7,minmax(0,1fr));align-items:start}.day{min-height:220px}.day .event-row{flex-direction:column;gap:0}.day .event-time{width:auto}}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.stat-card{flex-direction:column;gap:2px;padding:12px 14px;display:flex}.stat-card strong{font-size:20px}.ach-grid{grid-template-columns:repeat(auto-fill,minmax(156px,1fr));gap:10px;display:grid}.ach{opacity:.45;flex-direction:column;gap:4px;padding:14px;display:flex}.ach.on{opacity:1;border-color:color-mix(in srgb, var(--xp) 35%, transparent)}.ach-icon{background:var(--bg-2);width:42px;height:42px;color:var(--dim);border-radius:12px;place-items:center;margin-bottom:6px;display:grid}.ach.on .ach-icon{background:var(--xp-soft);color:var(--xp)}.more-list{flex-direction:column;gap:8px;display:flex}.more-item{align-items:center;gap:12px;padding:14px 16px;font-weight:550;display:flex}.toasts{left:0;right:0;bottom:calc(var(--tabbar-h) + var(--safe-b) + 84px);z-index:60;pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:flex;position:fixed}@media (width>=900px){.toasts{align-items:flex-end;bottom:24px;left:auto;right:24px}}.toast{background:var(--primary-bg);color:var(--primary-fg);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:8px;padding:9px 14px;font-size:14px;font-weight:600;animation:.35s cubic-bezier(.2,1.4,.4,1) toast;display:inline-flex}.toast.xp{background:var(--xp);color:#111;font-family:var(--mono)}.toast.minus{background:var(--card-2);color:var(--text-2);font-family:var(--mono);border:1px solid var(--border-2)}.toast.achievement{background:var(--card);color:var(--xp);border:1px solid var(--xp)}.toast.error{background:var(--bad);color:#fff}@keyframes toast{0%{opacity:0;transform:translateY(14px)scale(.9)}}.levelup{z-index:80;-webkit-backdrop-filter:blur(6px);cursor:pointer;background:#0009;place-items:center;animation:.2s fade;display:grid;position:fixed;inset:0}.levelup-card{text-align:center;background:var(--card);border:2px solid var(--xp);box-shadow:0 0 60px var(--xp-soft);border-radius:22px;padding:28px 40px;animation:.5s cubic-bezier(.2,1.4,.4,1) rise;position:relative}.levelup-kicker{text-transform:uppercase;letter-spacing:.2em;color:var(--xp);font-size:13px;font-weight:700}.levelup-num{font-family:var(--mono);color:var(--xp);font-size:84px;font-weight:800;line-height:1.05}@keyframes rise{0%{opacity:0;transform:scale(.5)}}.burst{width:0;height:0;position:absolute}.burst span{background:var(--xp);width:8px;height:8px;transform:rotate(calc(var(--i) * 25.7deg)) translateY(0);opacity:0;border-radius:2px;animation:.9s ease-out forwards burst;position:absolute}.burst span:nth-child(3n){background:var(--good)}.burst span:nth-child(4n){background:#4c8dff}@keyframes burst{10%{opacity:1}to{transform:rotate(calc(var(--i) * 25.7deg)) translateY(-180px) rotate(200deg);opacity:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.tasks-table .status-pill{text-transform:none}.tasks-table td{white-space:nowrap}.tasks-table td.c-title{white-space:normal;min-width:220px}.btn.danger.armed{background:var(--bad);border-color:var(--bad);color:#fff}.habits-card.cleared{border-color:color-mix(in srgb, var(--xp) 45%, transparent)}.habit-row{border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:12px;padding:9px 2px;display:flex}.habit-row:last-of-type{border-bottom:none}.habit-main{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.habit-name{align-items:center;gap:8px;font-weight:550;display:flex}.habit-row.done .habit-name{color:var(--text-2)}.habit-streak{font-family:var(--mono);color:var(--xp);align-items:center;gap:2px;font-size:12px;font-weight:600;display:inline-flex}.habit-streak.big{gap:4px;font-size:18px}.habit-check{border:2px solid var(--border-2);cursor:pointer;color:#fff;background:0 0;border-radius:10px;flex:none;place-items:center;width:34px;height:34px;padding:0;transition:all .15s;display:grid}.habit-check.big{border-radius:13px;width:44px;height:44px}.habit-check:hover{border-color:var(--hc)}.habit-check.on{background:var(--hc);border-color:var(--hc);animation:.3s pop}.stepper{border:1px solid var(--border-2);border-radius:10px;flex:none;align-items:center;display:inline-flex;overflow:hidden}.stepper.on{border-color:var(--hc)}.stepper button{background:var(--bg-2);cursor:pointer;width:36px;height:34px;color:var(--text);border:none;font-size:18px}.stepper button:disabled{color:var(--dim);cursor:default}.stepper button:active:not(:disabled){background:var(--card-2)}.stepper span{text-align:center;min-width:48px;font-size:14px;font-weight:600}.stepper.on span{color:var(--hc)}.stepper.on-edit span{min-width:40px}.unit-input{flex:1;width:auto;min-width:120px}.segments{gap:3px;display:flex}.segments span{background:var(--border-2);border-radius:3px;flex:1;height:5px;transition:background .2s}.day-toggles{gap:6px;display:flex}.day-toggles button{border:1px solid var(--border-2);cursor:pointer;width:38px;height:38px;color:var(--text-2);background:0 0;border-radius:50%;font-weight:600}.day-toggles button.on{background:var(--primary-bg);color:var(--primary-fg);border-color:var(--primary-bg)}.habit-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:14px;display:grid}.habit-card{border-top:3px solid var(--goal);flex-direction:column;gap:12px;padding:16px;display:flex}.habit-card.closed{opacity:.6}.habit-stats{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.habit-edit{background:var(--bg-2);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.heatmap{gap:3px;display:flex}.hm-labels,.hm-col{flex-direction:column;flex:1;gap:3px;display:flex}.hm-labels{flex:0 0 12px}.hm-labels span{color:var(--dim);font-size:9px;font-family:var(--mono);align-items:center;display:flex}.hm-col>*{aspect-ratio:1}.hm-labels span{flex:1}.hm-cell:not(:disabled):hover{outline:1px solid var(--text-2)}.hm-cell{background:var(--border);cursor:pointer;border:none;border-radius:3px;width:100%;padding:0}.hm-cell:disabled{cursor:default}.hm-cell.none{background:var(--border);opacity:.4}.hm-cell.rest{background:var(--border);opacity:.7}.hm-cell.miss{background:var(--border);box-shadow:inset 0 0 0 1px var(--dim)}.hm-cell.part{background:color-mix(in srgb, var(--hc) calc(25% + var(--pp) * 45%), var(--border))}.hm-cell.hit{background:var(--hc)}.hm-cell.today{outline:1.5px solid var(--text-2);outline-offset:1px}.hm-cell.sel{outline:2px solid var(--xp);outline-offset:1px}.row.nowrap{flex-wrap:nowrap}.time-input{flex:none;width:130px}.habit-time{font-family:var(--mono);color:var(--dim);align-items:center;gap:3px;font-size:11.5px;font-weight:500;display:inline-flex}
