@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--color-bg:#161826;--color-surface:#232532;--color-text:#e9e9ed;--color-accent:#9184d9;--color-accent-2:#a7a1db;--color-divider:#e9e9ed29;--color-neutral-100:#f3f5fe;--color-neutral-200:#e4e7f5;--color-neutral-300:#cfd3e5;--color-neutral-400:#b2b6ca;--color-neutral-500:#9397ab;--color-neutral-600:#75798c;--color-neutral-700:#595d6c;--color-neutral-800:#3f424d;--color-neutral-900:#292b31;--color-accent-100:#f5f4ff;--color-accent-200:#e7e5fe;--color-accent-300:#d2cefd;--color-accent-400:#b5abfc;--color-accent-500:#968ae0;--color-accent-600:#796cbf;--color-accent-700:#5d5294;--color-accent-800:#423a6a;--color-accent-900:#2b2741;--color-accent-2-100:#f5f4ff;--color-accent-2-200:#e7e5fe;--color-accent-2-300:#d2cefd;--color-accent-2-400:#b5afe8;--color-accent-2-500:#9690c9;--color-accent-2-600:#7972a9;--color-accent-2-700:#5c5783;--color-accent-2-800:#423e5d;--color-accent-2-900:#2b293a;--color-section:#262a60;--color-section-glow:#353b80;--color-section-ghost:#4c5397;--font-heading:"Inter", system-ui, sans-serif;--font-heading-weight:500;--font-body:"Inter", system-ui, sans-serif;--space-1:2.8px;--space-2:5.6px;--space-3:8.4px;--space-4:11.2px;--space-6:16.8px;--space-8:22.4px;--radius-sm:4px;--radius-md:8px;--radius-lg:14px;--shadow-sm:0 0 0 1px #3f424d;--shadow-md:0 0 0 1px #595d6c, 0 6px 18px #0000008c;--shadow-lg:0 0 0 1px #9397ab, 0 16px 40px #000000a6}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body)}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:var(--font-heading-weight)}.lighten{mix-blend-mode:lighten;background-color:#0000}*,:before,:after{box-sizing:border-box}body{margin:0;font-size:15px;font-weight:400;line-height:1.55}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-heading-weight);letter-spacing:-.015em;margin:0 0 var(--space-2);line-height:1.12}h1{font-size:42px}h2{font-size:32px}h3{font-size:25px}h4{font-size:20px}h5{font-size:16px}h6{letter-spacing:.08em;text-transform:uppercase;font-size:13px}p{margin:0 0 var(--space-3)}a{color:var(--color-accent);text-underline-offset:3px}img{max-width:100%;display:block}figure{margin:0}figcaption{margin-top:var(--space-1);color:color-mix(in srgb, var(--color-text) 55%, transparent);font-size:11px}.text-muted{color:color-mix(in srgb, var(--color-text) 55%, transparent)}:focus{outline:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{background:color-mix(in srgb, var(--color-accent) 30%, transparent)}.hr{height:1px;margin:var(--space-4) 0;background:linear-gradient(to right, transparent, var(--color-divider) 48px, var(--color-divider) calc(100% - 48px), transparent);border:0}.btn{cursor:pointer;font-family:var(--font-heading);font-weight:var(--font-heading-weight);color:var(--color-text);padding:var(--space-2) calc(var(--space-3) * 1.2);border-radius:var(--radius-md);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;font-size:14px;line-height:1.2;text-decoration:none;display:inline-flex}.btn svg{display:block}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{color:var(--color-accent);border-color:var(--color-accent)}.btn-primary:hover{background:color-mix(in srgb, var(--color-accent) 12%, transparent)}.btn-primary:active{background:color-mix(in srgb, var(--color-accent) 22%, transparent)}.btn-secondary{border-color:var(--color-divider)}.btn-secondary:hover{background:color-mix(in srgb, var(--color-text) 7%, transparent)}.btn-secondary:active{background:color-mix(in srgb, var(--color-text) 14%, transparent)}.btn-ghost{color:var(--color-accent);padding-inline:var(--space-1)}.btn-ghost:hover{background:color-mix(in srgb, var(--color-accent) 10%, transparent)}.btn-ghost:active{background:color-mix(in srgb, var(--color-accent) 18%, transparent)}.btn-icon{width:36px;height:36px;padding:0}.btn-block{width:100%;margin-top:var(--space-2)}.field>label{color:color-mix(in srgb, var(--color-text) 70%, transparent);margin-bottom:5px;font-size:12px;display:block}.input{width:100%;min-height:36px;font:inherit;color:var(--color-text);caret-color:var(--color-accent);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-md);padding:6px 10px;font-size:14px}.input:hover{border-color:color-mix(in srgb, var(--color-text) 45%, transparent)}.input:focus-visible{border-color:var(--color-accent);outline-offset:0}textarea.input{resize:vertical;min-height:90px}.radio{cursor:pointer;align-items:center;gap:8px;font-size:14px;display:inline-flex}.radio input,.seg-opt input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.radio .dot{border:1.5px solid var(--color-divider);border-radius:50%;flex:none;width:16px;height:16px}.radio:hover .dot{border-color:var(--color-accent)}.radio input:checked+.dot{border-color:var(--color-accent);background:var(--color-accent);box-shadow:inset 0 0 0 4px var(--color-bg)}.radio input:focus-visible+.dot{outline:2px solid var(--color-accent);outline-offset:2px}.seg{border:1px solid var(--color-divider);border-radius:var(--radius-md);display:inline-flex;overflow:hidden}.seg-opt{cursor:pointer;align-items:center;gap:6px;padding:7px 12px;font-size:13px;display:inline-flex}.seg-opt+.seg-opt{border-left:1px solid var(--color-divider)}.seg-opt:has(input:checked){color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.seg-opt:not(:has(input:checked)):hover{background:color-mix(in srgb, var(--color-text) 7%, transparent)}.seg-opt:has(input:focus-visible){outline:2px solid var(--color-accent);outline-offset:-2px}.card{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface);flex-direction:column;display:flex}.card-kicker{letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent);font-size:10px}.card-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:17px;line-height:1.2}.card-body{opacity:.8;flex:1;margin:0;font-size:13px}.card-meta{color:color-mix(in srgb, var(--color-text) 50%, transparent);align-items:center;gap:6px;font-size:11px;display:flex}.elev-sm{box-shadow:var(--shadow-sm)}.elev-md{box-shadow:var(--shadow-md)}.elev-lg{box-shadow:var(--shadow-lg)}.tag{letter-spacing:.02em;border-radius:calc(var(--radius-md) * .75);align-items:center;padding:3px 10px;font-size:11px;display:inline-flex}.tag-accent{background:var(--color-accent-800);color:var(--color-accent-100)}.tag-accent-2{background:var(--color-accent-2-800);color:var(--color-accent-2-100)}.tag-neutral{background:var(--color-neutral-800);color:var(--color-neutral-100)}.tag-outline{border:1px solid var(--color-accent);color:var(--color-accent)}.nav{align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:none;display:flex}.nav-brand{font-family:var(--font-heading);font-weight:var(--font-heading-weight);margin-right:auto;font-size:18px}.nav a{color:inherit;font-size:14px;text-decoration:none}.nav a:hover,.nav a[aria-current=page]{color:var(--color-accent)}.table{border-collapse:collapse;width:100%;font-size:14px}.table th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb, var(--color-text) 60%, transparent);padding:var(--space-2);border-bottom:1px solid #0000;font-size:11px}.table td{padding:var(--space-2);border-bottom:1px solid #0000}.table thead tr{background:linear-gradient(to right, transparent, var(--color-divider) 48px, var(--color-divider) calc(100% - 48px), transparent) no-repeat bottom / 100% 1px}.table tbody tr{background:linear-gradient(to right, transparent, color-mix(in srgb, var(--color-text) 8%, transparent) 48px, color-mix(in srgb, var(--color-text) 8%, transparent) calc(100% - 48px), transparent) no-repeat bottom / 100% 1px}.table tbody tr:hover{background:linear-gradient(color-mix(in srgb, var(--color-text) 4%, transparent), color-mix(in srgb, var(--color-text) 4%, transparent)) no-repeat 0 0 / 100% 100%, linear-gradient(to right, transparent, color-mix(in srgb, var(--color-text) 8%, transparent) 48px, color-mix(in srgb, var(--color-text) 8%, transparent) calc(100% - 48px), transparent) no-repeat bottom / 100% 1px}.dialog-backdrop{padding:var(--space-4);background:color-mix(in srgb, var(--color-neutral-900) 50%, transparent);place-items:center;display:grid;position:fixed;inset:0}.dialog{gap:var(--space-3);width:min(440px,100%);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-lg);flex-direction:column;display:flex}.dialog-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:20px}.dialog-body{opacity:.85;font-size:14px}.dialog-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2);display:flex}#root{min-height:100vh}body{overflow-x:hidden}.crash{min-height:100vh;padding:var(--space-6);background:var(--color-bg);place-items:center;display:grid}.crash-card{gap:var(--space-3);width:100%;max-width:420px;padding:var(--space-6);border-radius:var(--radius-md);background:var(--color-surface);flex-direction:column;display:flex}.crash-card h4{margin:var(--space-2) 0 0}.crash-card p{text-wrap:pretty;margin:0;font-size:13px}.crash-details{color:color-mix(in srgb, var(--color-text) 50%, transparent);font-size:12px}.crash-details summary{cursor:pointer}.crash-details pre{margin:var(--space-2) 0 0;padding:var(--space-3);border-radius:var(--radius-sm);background:var(--color-neutral-900);white-space:pre-wrap;word-break:break-word;font-size:11px}.boot-splash{justify-content:center;align-items:center;gap:var(--space-4);background:var(--color-bg);flex-direction:column;min-height:100vh;font-size:13px;display:flex}.planer-shell{background:var(--color-bg);min-height:100vh;padding:var(--space-6) var(--space-6) 64px;gap:var(--space-6);flex-direction:column;max-width:1440px;margin:0 auto;display:flex}.planer-header{align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex}.planer-header>div:first-child{margin-right:auto}.planer-placeholder{padding:var(--space-6);border-radius:var(--radius-md);background:var(--color-surface);gap:var(--space-3);flex-direction:column;max-width:560px;display:flex}.planer-welcome{margin:0;font-size:22px}.planer-placeholder p{text-wrap:pretty;margin:0;font-size:13px}.auth-page{min-height:100vh;padding:var(--space-6);background:radial-gradient(120% 80% at 50% -10%, color-mix(in srgb, var(--color-accent) 10%, var(--color-bg)) 0%, var(--color-bg) 60%);justify-content:center;align-items:flex-start;display:flex}.auth-col{gap:var(--space-4);flex-direction:column;width:100%;max-width:420px;margin:auto;display:flex}.auth-col.is-wide{max-width:560px}.auth-brand{align-items:center;gap:var(--space-3);justify-content:center;display:flex}.brand-mark{background:var(--color-accent);width:26px;height:26px;color:var(--color-bg);font-family:var(--font-heading);border-radius:7px;place-items:center;font-size:14px;line-height:1;display:grid}.brand-word{font-family:var(--font-heading);letter-spacing:.02em;font-size:16px}.auth-card{padding:var(--space-6);border-radius:var(--radius-md);background:var(--color-surface);gap:var(--space-6);flex-direction:column;display:flex}.auth-tabs{border-radius:var(--radius-md);background:var(--color-neutral-900);gap:2px;padding:3px;display:flex}.auth-tab{cursor:pointer;border-radius:var(--radius-sm);color:color-mix(in srgb, var(--color-text) 58%, transparent);background:0 0;border:0;flex:1;padding:8px 0;font-family:inherit;font-size:13px}.auth-tab.is-active{background:color-mix(in srgb, var(--color-accent) 16%, transparent);color:var(--color-accent)}.auth-title{margin:0 0 4px}.auth-sub{text-wrap:pretty;color:color-mix(in srgb, var(--color-text) 58%, transparent);margin:0;font-size:13px}.auth-form{gap:var(--space-4);flex-direction:column;display:flex}.auth-invite{letter-spacing:.08em}.auth-pass-row{gap:var(--space-2);display:flex}.auth-pass-row .input{flex:1}.auth-hint{color:color-mix(in srgb, var(--color-text) 48%, transparent);margin-top:5px;font-size:11px}.auth-hint.is-good{color:var(--color-accent-300)}.auth-strength{gap:3px;margin-top:7px;display:flex}.auth-strength-bar{background:var(--color-neutral-800);border-radius:2px;flex:1;height:3px}.auth-strength-bar.is-weak{background:var(--color-accent-600)}.auth-strength-bar.is-strong{background:var(--color-accent)}.auth-row{align-items:center;gap:var(--space-3);display:flex}.auth-link{color:var(--color-accent);margin-left:auto;font-size:12px;text-decoration:none}.auth-link:hover{color:var(--color-accent-300)}.auth-banner{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-accent) 14%, transparent);box-shadow:inset 0 0 0 1px var(--color-accent-700);text-wrap:pretty;color:var(--color-accent-100);padding:10px 12px;font-size:12px}.auth-banner.is-calm{background:color-mix(in srgb, var(--color-text) 6%, transparent);box-shadow:inset 0 0 0 1px var(--color-divider);color:color-mix(in srgb, var(--color-text) 75%, transparent)}.auth-foot{text-align:center;text-wrap:pretty;color:color-mix(in srgb, var(--color-text) 50%, transparent);margin:0;font-size:12px}.ob-progress{align-items:center;gap:var(--space-3);display:flex}.ob-track{background:var(--color-neutral-800);border-radius:2px;flex:1;height:3px;overflow:hidden}.ob-fill{background:var(--color-accent);height:100%;transition:width .18s}.ob-step{letter-spacing:.08em;color:color-mix(in srgb, var(--color-text) 50%, transparent);font-size:11px}.ob-groups,.ob-sleep{gap:var(--space-6);flex-direction:column;display:flex}.ob-group{gap:var(--space-2);flex-direction:column;display:flex}.ob-group-label{letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb, var(--color-text) 45%, transparent);font-size:11px}.ob-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.ob-chip{cursor:pointer;border:1px solid var(--color-divider);color:color-mix(in srgb, var(--color-text) 68%, transparent);background:0 0;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-family:inherit;font-size:13px;transition:background .12s,box-shadow .12s;display:flex}.ob-chip:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-accent) 55%, transparent)}.ob-chip.is-on{background:color-mix(in srgb, var(--color-accent) 14%, transparent);border-color:var(--color-accent);color:var(--color-text)}.ob-dot{border:1.5px solid color-mix(in srgb, var(--color-text) 30%, transparent);width:15px;height:15px;color:var(--color-bg);background:0 0;border-radius:50%;place-items:center;font-size:9px;line-height:1;display:grid}.ob-chip.is-on .ob-dot{background:var(--color-accent);border-color:var(--color-accent)}.ob-count{color:color-mix(in srgb, var(--color-text) 55%, transparent);font-size:12px}.ob-count.is-short{color:var(--color-accent-300)}.ob-goals{gap:var(--space-2);flex-wrap:wrap;display:flex}.ob-goal{cursor:pointer;border-radius:var(--radius-md);font-family:var(--font-heading);border:1px solid var(--color-divider);color:color-mix(in srgb, var(--color-text) 65%, transparent);background:0 0;flex:80px;padding:14px 0;font-size:16px}.ob-goal.is-on{background:color-mix(in srgb, var(--color-accent) 16%, transparent);border-color:var(--color-accent);color:var(--color-text)}.ob-legend{gap:4px;display:flex}.ob-legend-item{flex-direction:column;flex:1;gap:5px;display:flex}.ob-legend-item span{text-align:center;color:color-mix(in srgb, var(--color-text) 55%, transparent);font-size:10px}.ob-swatch{border-radius:3px;height:12px}.ob-note{text-wrap:pretty;color:color-mix(in srgb, var(--color-text) 55%, transparent);margin:0;font-size:12px}.ob-done{gap:var(--space-4);flex-direction:column;display:flex}.ob-tiles{gap:var(--space-3);flex-wrap:wrap;display:flex}.ob-tile{padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-neutral-900);flex:120px}.ob-tile-value{font-family:var(--font-heading);font-size:26px;line-height:1}.ob-tile-label{letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb, var(--color-text) 50%, transparent);margin-top:4px;font-size:11px}.ob-actions{gap:var(--space-3);align-items:center;display:flex}.ob-next{margin-left:auto}.planer-page{background:var(--color-bg);min-height:100vh;color:var(--color-text);padding:var(--space-6) var(--space-6) 64px}.planer-inner{gap:var(--space-6);flex-direction:column;max-width:1440px;margin:0 auto;display:flex}.day-header{align-items:flex-end;gap:var(--space-6);row-gap:var(--space-4);flex-wrap:wrap;display:flex}.day-title{margin-right:auto}.planer-kicker{letter-spacing:.18em;text-transform:uppercase;color:var(--color-accent);margin-bottom:4px;font-size:10px}.planer-day{margin:0}.day-nav,.day-tabs{align-items:center;gap:var(--space-2);display:flex}.view-tab{padding:var(--space-2) calc(var(--space-3) * 1.2);border-radius:var(--radius-md);font-family:var(--font-heading);font-weight:var(--font-heading-weight);cursor:pointer;border:1px solid var(--color-divider);color:color-mix(in srgb, var(--color-text) 65%, transparent);background:0 0;font-size:14px;line-height:1.2}.view-tab.is-active{color:var(--color-accent);border-color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 12%, transparent)}.view-tab:disabled{opacity:.45;cursor:not-allowed}.week-row{align-items:center;gap:var(--space-4) var(--space-6);flex-wrap:wrap;display:flex}.week-strip{gap:4px;display:flex}.week-day{cursor:pointer;border-radius:var(--radius-sm);border:1px solid var(--color-divider);width:46px;color:inherit;background:0 0;flex-direction:column;align-items:center;gap:5px;padding:7px 0 6px;font-family:inherit;display:flex}.week-day.is-selected{background:color-mix(in srgb, var(--color-accent) 14%, transparent);border-color:var(--color-accent)}.week-day.is-today{border-color:var(--color-accent-700)}.week-dow{letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb, var(--color-text) 50%, transparent);font-size:9px}.week-num{font-family:var(--font-heading);font-size:14px}.week-bar{background:var(--color-neutral-800);border-radius:2px;width:26px;height:3px;display:block;overflow:hidden}.week-bar-fill{background:var(--color-accent);height:100%;display:block}.week-stats{align-items:center;gap:var(--space-6);flex-wrap:wrap;margin-left:auto;display:flex}.micro-label{letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb, var(--color-text) 48%, transparent);font-size:10px}.spark-row{align-items:baseline;gap:var(--space-2);display:flex}.spark-value{font-family:var(--font-heading);font-size:20px;line-height:1.2}.spark-bars{align-items:flex-end;gap:3px;display:flex}.mood-spark{height:16px}.day-spark{height:28px;margin-top:4px}.spark-bar{background:var(--color-accent-600);border-radius:2px;width:5px;min-height:2px}.spark-bar.is-wide{background:var(--color-accent-700);width:6px}.spark-bar.is-wide.is-high{background:var(--color-accent)}.day-row{gap:var(--space-6);flex-wrap:wrap;align-items:flex-start;display:flex}.card-surface{padding:var(--space-6);border-radius:var(--radius-md);background:var(--color-surface);flex-direction:column;display:flex}.status-card{gap:var(--space-6);flex:300px}.habits-card{gap:var(--space-4);flex:2 440px}.todo-card{gap:var(--space-3);flex:2 420px}.goals-card{gap:var(--space-4);flex:280px}.card-head{align-items:baseline;gap:var(--space-3);flex-wrap:wrap;display:flex}.card-head h6{margin:0 auto 0 0}.card-count{font-family:var(--font-heading);color:var(--color-accent);font-size:13px}.card-sub{color:color-mix(in srgb, var(--color-text) 55%, transparent);font-size:12px}.empty-note{text-wrap:pretty;color:color-mix(in srgb, var(--color-text) 50%, transparent);margin:0;font-size:13px}.status-ring-wrap{align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.status-ring{width:196px;height:196px;position:relative}.status-ring svg{transform:rotate(-90deg)}.status-ring-center{flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:absolute;inset:0}.status-pct{font-family:var(--font-heading);font-size:46px;line-height:1}.status-pct-sign{font-size:20px}.status-of{letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb, var(--color-text) 50%, transparent);font-size:11px}.status-streak{text-align:center;text-wrap:pretty;color:color-mix(in srgb, var(--color-text) 55%, transparent);margin:0;font-size:12px}.status-mood{gap:var(--space-2);flex-direction:column;display:flex}.status-mood-head{align-items:baseline;gap:var(--space-2);display:flex}.status-mood-head .micro-label{margin-right:auto;font-size:11px}.status-mood-value{font-family:var(--font-heading);color:var(--color-accent);font-size:14px}.status-mood-grid{grid-template-columns:repeat(10,1fr);gap:3px;display:grid}.mood-btn{cursor:pointer;border-radius:var(--radius-sm);border:1px solid var(--color-divider);height:40px;color:color-mix(in srgb, var(--color-text) 70%, transparent);background:0 0;justify-content:center;align-items:flex-end;padding:0 0 3px;font-family:inherit;font-size:10px;display:flex}.mood-btn.is-on{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg)}.habit-grid{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(210px,1fr));display:grid}.habit-chip{align-items:center;gap:var(--space-3);border-radius:var(--radius-md);box-shadow:inset 0 0 0 1px var(--color-divider);background:0 0;padding:10px 12px;transition:background .12s;display:flex}.habit-chip.is-on{background:color-mix(in srgb, var(--color-accent) 12%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-accent) 45%, transparent)}.habit-box{cursor:pointer;border:1.5px solid color-mix(in srgb, var(--color-text) 28%, transparent);width:22px;height:22px;color:var(--color-bg);background:0 0;border-radius:50%;flex:none;place-items:center;padding:0;font-size:12px;line-height:1;display:grid}.habit-box.is-on{background:var(--color-accent);border-color:var(--color-accent)}.habit-name{text-wrap:pretty;min-width:0;color:color-mix(in srgb, var(--color-text) 72%, transparent);flex:1;font-size:13px;line-height:1.25}.habit-chip.is-on .habit-name{color:var(--color-text)}.habit-streak{color:var(--color-accent-400);font-size:10px}.add-row{gap:var(--space-2);display:flex}.check-box{cursor:pointer;border:1.5px solid color-mix(in srgb, var(--color-text) 28%, transparent);color:var(--color-bg);background:0 0;flex:none;place-items:center;padding:0;line-height:1;display:grid}.check-box.is-on{background:var(--color-accent);border-color:var(--color-accent)}.check-box.size-16{border-radius:4px;width:16px;height:16px;margin-top:2px;font-size:10px}.check-box.size-18{border-radius:4px;width:18px;height:18px;margin-top:1px;font-size:11px}.check-box.size-20{border-radius:5px;width:20px;height:20px;margin-top:1px;font-size:12px}.row-hover{transition:background .12s}.row-x{cursor:pointer;width:18px;height:18px;color:var(--color-text);opacity:0;background:0 0;border:0;flex:none;padding:0;font-size:14px;line-height:1;transition:opacity .12s}.row-hover:hover .row-x,.row-x:focus-visible{opacity:.5}.row-x:hover,.row-x:focus-visible{opacity:1}@media (hover:none){.row-x{opacity:.5}}.filter-row{gap:var(--space-2);display:flex}.filter-btn{cursor:pointer;border-radius:var(--radius-sm);border:1px solid var(--color-divider);color:color-mix(in srgb, var(--color-text) 65%, transparent);background:0 0;flex:1;padding:6px 4px;font-family:inherit;font-size:12px}.filter-btn.is-on{background:color-mix(in srgb, var(--color-accent) 16%, transparent);border-color:var(--color-accent);color:var(--color-accent)}.todo-list,.goal-list{flex-direction:column;gap:2px;display:flex}.todo-row{align-items:flex-start;gap:var(--space-3);border-radius:var(--radius-sm);margin:0 -6px;padding:6px;display:flex}.todo-row:hover{background:color-mix(in srgb, var(--color-text) 4%, transparent)}.todo-body{flex:1;min-width:0}.todo-text{text-wrap:pretty;font-size:14px}.todo-text.is-done{color:color-mix(in srgb, var(--color-text) 40%, transparent);text-decoration:line-through}.todo-meta{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.todo-due{color:color-mix(in srgb, var(--color-text) 45%, transparent);font-size:11px}.todo-due.is-late{color:var(--color-accent-300)}.todo-form{gap:var(--space-2);margin-top:var(--space-2);flex-direction:column;display:flex}.todo-form-row{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.todo-form-row .input[type=date]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;flex:1;min-width:140px}.kobair-toggle{cursor:pointer;border-radius:var(--radius-md);border:1px solid var(--color-divider);color:color-mix(in srgb, var(--color-text) 65%, transparent);background:0 0;padding:7px 10px;font-family:inherit;font-size:12px}.kobair-toggle.is-on{background:color-mix(in srgb, var(--color-accent) 16%, transparent);border-color:var(--color-accent);color:var(--color-accent)}.goal-group{gap:var(--space-1);flex-direction:column;display:flex}.goal-group-head{align-items:baseline;gap:var(--space-2);margin-bottom:2px;display:flex}.goal-group-label{letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb, var(--color-text) 50%, transparent);font-size:11px}.goal-group-label.is-current{color:var(--color-accent)}.goal-group-count{color:color-mix(in srgb, var(--color-text) 40%, transparent);font-size:11px}.goal-row{align-items:flex-start;gap:var(--space-3);border-radius:var(--radius-sm);margin:0 -6px;padding:4px 6px;display:flex}.goal-row:hover{background:color-mix(in srgb, var(--color-text) 4%, transparent)}.goal-text{text-wrap:pretty;color:color-mix(in srgb, var(--color-text) 88%, transparent);flex:1;font-size:13px}.goal-text.is-big{color:var(--color-text);font-size:14px}.goal-text.is-done{color:color-mix(in srgb, var(--color-text) 40%, transparent);text-decoration:line-through}.goal-draft{background:0 0;min-height:30px;margin-top:2px;font-size:13px}.day-loading,.day-error{padding:var(--space-6);color:color-mix(in srgb, var(--color-text) 55%, transparent);font-size:13px}.day-error{gap:var(--space-3);align-items:flex-start;max-width:480px}.day-error h6{color:var(--color-text);margin:0}.day-error p{margin:0;font-size:13px}.day-problem{align-items:center;gap:var(--space-3);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-accent) 14%, transparent);box-shadow:inset 0 0 0 1px var(--color-accent-700);color:var(--color-accent-100);padding:10px 12px;font-size:12px;display:flex}.day-problem .btn{margin-left:auto}@media (width<=560px){.planer-page{padding:var(--space-4) var(--space-4) 48px}.day-header{gap:var(--space-3)}.day-title{flex:100%;margin-right:0}.planer-day{font-size:24px}.day-nav,.day-tabs{flex-wrap:wrap;flex:auto}.week-stats{margin-left:0}.week-strip{justify-content:space-between;width:100%}.week-day{flex:1;width:auto;min-width:0}.mood-btn{height:44px}.check-box.size-16,.check-box.size-18,.check-box.size-20{outline-offset:6px}.habit-box{width:26px;height:26px}.status-ring,.status-ring svg{width:168px;height:168px}.status-mood-grid{gap:2px}.todo-form-row .input[type=date]{flex:100%}}.sleep-card{gap:var(--space-3);flex:300px}.sleep-tile{align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);box-shadow:inset 0 0 0 1px var(--color-divider);display:flex}.sleep-tile-hours{font-family:var(--font-heading);font-size:28px;line-height:1}.sleep-tile-label{font-size:12px;line-height:1.3}.sleep-times{gap:var(--space-3);display:flex}.sleep-times .field{flex:1}.sleep-times input[type=time]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.sleep-or{margin-top:var(--space-1);letter-spacing:.08em;font-size:11px}.sleep-quick{grid-template-columns:repeat(6,1fr);gap:4px;display:grid}.sleep-quick-btn{cursor:pointer;border-radius:var(--radius-sm);border:1px solid var(--color-divider);height:32px;color:color-mix(in srgb, var(--color-text) 65%, transparent);background:0 0;padding:0;font-family:inherit;font-size:11px}.sleep-quick-btn.is-on{background:color-mix(in srgb, var(--color-accent) 16%, transparent);border-color:var(--color-accent);color:var(--color-accent)}.sleep-divider{height:1px;margin:var(--space-2) 0;background:linear-gradient(to right, transparent, var(--color-divider) 24px, var(--color-divider) calc(100% - 24px), transparent)}.sleep-week{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.sleep-night{flex-direction:column;align-items:center;gap:4px;display:flex}.sleep-night-dow{color:color-mix(in srgb, var(--color-text) 45%, transparent);font-size:10px}.sleep-night-box{border-radius:var(--radius-sm);width:100%;height:36px;font-family:var(--font-heading);place-items:center;font-size:12px;display:grid}.month-section{gap:var(--space-4)}.month-section-head{align-items:baseline;gap:var(--space-6);flex-wrap:wrap;display:flex}.month-section-head h6{margin:0 auto 0 0}.year-nav{gap:var(--space-2);display:flex}.sleep-month-layout{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;display:grid}.sleep-month-grid-wrap{flex-direction:column;gap:4px;display:flex}.sleep-month-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.sleep-dow-head{text-align:center;letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb, var(--color-text) 40%, transparent);font-size:10px}.sleep-cell{aspect-ratio:1;cursor:pointer;border-radius:var(--radius-sm);border:0;flex-direction:column;justify-content:space-between;align-items:flex-start;max-width:100%;padding:4px;font-family:inherit;display:flex}.sleep-cell.is-empty{cursor:default;background:0 0}.sleep-cell.is-today{box-shadow:inset 0 0 0 1.5px var(--color-accent)}.sleep-cell-num{opacity:.75;font-size:9px}.sleep-cell-hours{font-family:var(--font-heading);text-align:right;width:100%;font-size:13px}.sleep-legend{gap:var(--space-2);flex-direction:column;display:flex}.sleep-legend-row{align-items:center;gap:var(--space-3);color:color-mix(in srgb, var(--color-text) 70%, transparent);font-size:12px;display:flex}.sleep-legend-swatch{border-radius:3px;flex:none;width:26px;height:14px}.sleep-legend-note{margin:var(--space-2) 0 0;text-wrap:pretty;color:color-mix(in srgb, var(--color-text) 50%, transparent);font-size:12px}.scroll-x{padding-bottom:var(--space-2);overflow-x:auto}.scroll-x::-webkit-scrollbar{height:8px}.scroll-x::-webkit-scrollbar-track{background:0 0}.scroll-x::-webkit-scrollbar-thumb{background:var(--color-neutral-800);border-radius:4px}.sleep-year{flex-direction:column;gap:3px;min-width:680px;display:flex}.sleep-year-row{gap:var(--space-3);align-items:center;display:flex}.sleep-year-label{letter-spacing:.04em;text-transform:uppercase;width:38px;color:color-mix(in srgb, var(--color-text) 55%, transparent);flex:none;font-size:11px}.sleep-year-label.is-current{color:var(--color-accent)}.sleep-year-cells{flex:1;grid-template-columns:repeat(31,1fr);gap:3px;display:grid}.sleep-year-daynum{text-align:center;color:color-mix(in srgb, var(--color-text) 38%, transparent);font-size:9px}.sleep-year-cell{cursor:pointer;background:0 0;border:0;border-radius:3px;height:16px;padding:0}.sleep-year-cell.is-empty{cursor:default;background:0 0}.sleep-year-cell.is-today{box-shadow:inset 0 0 0 1.5px var(--color-accent)}.sleep-year-avg-head{text-align:right;letter-spacing:.06em;width:46px;color:color-mix(in srgb, var(--color-text) 45%, transparent);flex:none;font-size:9px}.sleep-year-avg{text-align:right;width:46px;font-family:var(--font-heading);color:color-mix(in srgb, var(--color-text) 65%, transparent);flex:none;font-size:11px}.sleep-year-legend{gap:var(--space-4);flex-wrap:wrap;display:flex}.sleep-year-legend-item{align-items:center;gap:var(--space-2);color:color-mix(in srgb, var(--color-text) 55%, transparent);font-size:11px;display:flex}.sleep-year-swatch{border-radius:3px;width:20px;height:12px}.habit-grid-table{flex-direction:column;gap:3px;min-width:760px;display:flex}.grid-row{gap:var(--space-3);align-items:center;display:flex}.grid-row.is-summary{margin-top:var(--space-3)}.grid-label{white-space:nowrap;text-overflow:ellipsis;width:196px;color:color-mix(in srgb, var(--color-text) 80%, transparent);flex:none;font-size:12px;overflow:hidden}.grid-label.is-accent{letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent);font-size:11px}.grid-archived{color:color-mix(in srgb, var(--color-text) 40%, transparent);font-size:10px}.grid-cells{flex:1;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:3px;display:grid}.grid-cells.is-bars{align-items:end;height:44px}.grid-dayhead{text-align:center;color:color-mix(in srgb, var(--color-text) 45%, transparent);font-size:9px;line-height:1.3}.grid-dayhead.is-today{color:var(--color-accent)}.grid-cell{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;height:18px;padding:0}.grid-cell.is-on{background:var(--color-accent)}.grid-cell.is-missed{background:color-mix(in srgb, var(--color-text) 7%, transparent)}.grid-cell.is-future{background:0 0}.grid-cell.is-today{border-color:var(--color-accent-400)}.grid-avg,.grid-avg-head{text-align:right;flex:none;width:48px}.grid-avg-head{letter-spacing:.06em;color:color-mix(in srgb, var(--color-text) 45%, transparent);font-size:9px}.grid-avg{font-family:var(--font-heading);color:color-mix(in srgb, var(--color-text) 55%, transparent);font-size:12px}.grid-avg.is-high,.grid-avg.is-accent{color:var(--color-accent)}.grid-bar{background:var(--color-accent-600);border-radius:2px;min-height:2px}.grid-bar.is-mood{background:var(--color-accent)}.grid-bar.is-future{background:color-mix(in srgb, var(--color-text) 5%, transparent)}.ring-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));display:grid}.ring-item{align-items:center;gap:var(--space-2);text-align:center;flex-direction:column;display:flex}.ring-wrap{width:74px;height:74px;position:relative}.ring-wrap svg{transform:rotate(-90deg)}.ring-value{font-family:var(--font-heading);white-space:nowrap;place-items:center;font-size:15px;display:grid;position:absolute;inset:0}.ring-name{text-wrap:pretty;color:color-mix(in srgb, var(--color-text) 70%, transparent);font-size:11px;line-height:1.3}.admin-shell{background:var(--color-bg);min-height:100vh;color:var(--color-text);flex-wrap:wrap;display:flex}.admin-side{background:var(--color-surface);min-width:200px;box-shadow:inset -1px 0 0 var(--color-divider);padding:var(--space-6) var(--space-4);gap:var(--space-6);flex-direction:column;flex:0 0 232px;display:flex}.admin-main{padding:var(--space-6);gap:var(--space-6);flex-direction:column;flex:560px;min-width:0;display:flex}.admin-brand{align-items:center;gap:var(--space-3);display:flex}.admin-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent);font-size:10px}.admin-nav{flex-direction:column;gap:2px;display:flex}.admin-nav-item{align-items:center;gap:var(--space-2);cursor:pointer;border-radius:var(--radius-sm);color:inherit;text-align:left;background:0 0;border:0;padding:8px 10px;font-family:inherit;font-size:13px;display:flex}.admin-nav-item:hover{background:color-mix(in srgb, var(--color-text) 5%, transparent)}.admin-nav-item.is-active{background:color-mix(in srgb, var(--color-accent) 12%, transparent)}.admin-nav-marker{background:0 0;border-radius:2px;flex:none;width:3px;height:14px}.admin-nav-item.is-active .admin-nav-marker{background:var(--color-accent)}.admin-nav-label{flex:1;min-width:0}.admin-nav-badge{color:color-mix(in srgb, var(--color-text) 45%, transparent);font-size:11px}.admin-seats{padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-neutral-900);margin-top:auto}.admin-seats-value{font-family:var(--font-heading);font-size:22px;line-height:1}.admin-seats-label{color:color-mix(in srgb, var(--color-text) 55%, transparent);margin-top:4px;font-size:11px}.admin-links{font-size:12px}.admin-links a{color:var(--color-accent);text-decoration:none}.admin-top-title h3{margin:0 0 2px}.admin-top-title p{margin:0;font-size:13px}.admin-card{padding:var(--space-6);border-radius:var(--radius-md);background:var(--color-surface);gap:var(--space-4);flex-direction:column;display:flex}.admin-note{text-wrap:pretty;margin:0;font-size:13px}.admin-invite-form{gap:var(--space-2);flex-wrap:wrap;display:flex}.admin-invite-form .input{flex:220px}.admin-code-box{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-accent) 12%, transparent);box-shadow:inset 0 0 0 1px var(--color-accent-700);flex-wrap:wrap;display:flex}.admin-code{font-family:var(--font-heading);letter-spacing:.1em;color:var(--color-accent-100);-webkit-user-select:all;user-select:all;font-size:20px}.admin-code.is-small{color:var(--color-text);font-size:13px}.admin-invite-list{flex-direction:column;gap:2px;display:flex}.admin-invite-row{align-items:center;gap:var(--space-3);border-radius:var(--radius-sm);margin:0 -6px;padding:5px 6px;display:flex}.admin-invite-row:hover{background:color-mix(in srgb, var(--color-text) 4%, transparent)}.admin-invite-email{text-overflow:ellipsis;flex:1;min-width:0;font-size:12px;overflow:hidden}.admin-search{max-width:240px}.admin-table{border-collapse:collapse;width:100%;min-width:720px;font-size:14px}.admin-table th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb, var(--color-text) 60%, transparent);padding:var(--space-2);font-size:11px;font-weight:400}.admin-table td{padding:var(--space-2);box-shadow:inset 0 -1px 0 var(--color-divider)}.admin-table tbody tr:hover{background:color-mix(in srgb, var(--color-text) 4%, transparent)}.admin-person{align-items:center;gap:var(--space-3);cursor:pointer;color:inherit;text-align:left;background:0 0;border:0;min-width:0;padding:0;font-family:inherit;display:flex}.admin-avatar{background:var(--color-accent-700);width:30px;height:30px;color:var(--color-accent-100);font-family:var(--font-heading);border-radius:50%;flex:none;place-items:center;font-size:12px;display:grid}.admin-person-text{flex-direction:column;min-width:0;display:flex}.admin-person-name{font-size:14px}.admin-person-mail{color:color-mix(in srgb, var(--color-text) 48%, transparent);text-overflow:ellipsis;font-size:11px;overflow:hidden}.admin-eff{align-items:center;gap:var(--space-2);display:flex}.admin-eff-track{background:var(--color-neutral-800);border-radius:2px;flex:1;min-width:48px;height:4px;overflow:hidden}.admin-eff-fill{background:var(--color-accent-700);height:100%}.admin-eff-fill.is-high{background:var(--color-accent)}.kpi-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.kpi{padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface);flex-direction:column;gap:4px;display:flex}.kpi-value{font-family:var(--font-heading);font-size:28px;line-height:1}.kpi-note{color:color-mix(in srgb, var(--color-text) 50%, transparent);font-size:12px}.kpi-note.is-good{color:var(--color-accent-300)}.activity-chart{align-items:flex-end;gap:3px;height:120px;display:flex}.activity-bar{background:var(--color-accent-700);border-radius:2px;flex:1;min-height:2px}.activity-bar.is-peak{background:var(--color-accent)}.top-habits{gap:var(--space-2);flex-direction:column;display:flex}.top-habit{align-items:center;gap:var(--space-3);font-size:13px;display:flex}.top-habit-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.top-habit-track{background:var(--color-neutral-800);border-radius:2px;flex:none;width:96px;height:4px;overflow:hidden}.top-habit-fill{background:var(--color-accent);height:100%}.top-habit-pct{text-align:right;width:36px;font-family:var(--font-heading);flex:none;font-size:12px}.template-row{align-items:center;gap:var(--space-3);border-radius:var(--radius-sm);margin:0 -6px;padding:4px 6px;display:flex}.template-row:hover{background:color-mix(in srgb, var(--color-text) 4%, transparent)}.template-name{flex:1;min-width:0;font-size:14px}.template-form{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.template-form .input:first-child{flex:200px}.template-select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;flex:none}.template-pills{gap:var(--space-2);flex-wrap:wrap;display:flex}.template-pill{background:color-mix(in srgb, var(--color-accent) 12%, transparent);box-shadow:inset 0 0 0 1px var(--color-accent-700);color:var(--color-accent-100);border-radius:999px;padding:5px 12px;font-size:12px}.preview-pills{gap:var(--space-2);flex-wrap:wrap;display:flex}.preview-pill{cursor:pointer;border:1px solid var(--color-divider);color:color-mix(in srgb, var(--color-text) 70%, transparent);background:0 0;border-radius:999px;padding:6px 14px;font-family:inherit;font-size:13px}.preview-pill.is-on{background:color-mix(in srgb, var(--color-accent) 14%, transparent);border-color:var(--color-accent);color:var(--color-text)}.preview-grid{flex-direction:column;gap:3px;min-width:620px;display:flex}.grid-label.is-narrow{width:150px}.grid-cell.is-static{cursor:default;height:16px}@media (width<=720px){.admin-side{box-shadow:inset 0 -1px 0 var(--color-divider);padding:var(--space-4);flex:100%}.admin-seats{margin-top:0}.admin-nav{flex-flow:wrap}.admin-nav-item{flex:auto}.admin-main{padding:var(--space-4)}.admin-search{max-width:none}}
