@charset "UTF-8";:root{color-scheme:dark;--p1: #C9A84C;--p2: #B8962A;--p-soft: #D4B870;--p-deep: #8B7220;--p-glow: rgba(201, 168, 76, .35);--p-glow-strong: rgba(201, 168, 76, .55);--p-tint: rgba(201, 168, 76, .1);--p-tint-2: rgba(201, 168, 76, .18);--bg: #000000;--bg-soft: #060606;--surface: #0E0E0E;--surface-1: #131313;--surface-2: #1A1A1A;--surface-3: #222222;--overlay: #111111;--scrim: rgba(0, 0, 0, .72);--t1: #EAEAEA;--t2: #A8A8A8;--t3: #6E6E6E;--t4: #444444;--border: #222222;--border-1: #2A2A2A;--border-2: #353535;--border-glow: rgba(201, 168, 76, .28);--c-projects: #8B5CF6;--c-habits: #06B6D4;--c-journal: #F59E0B;--c-finance: #10B981;--c-shopping: #EC4899;--c-planning: #3B82F6;--c-rewards: #F97316;--c-circles: #C9A84C;--c-shared: #8B5CF6;--pri-critical: #EF4444;--pri-high: #F97316;--pri-medium: #3B82F6;--pri-low: #6B7280;--pri-wishing: #EC4899;--s-success: #10B981;--s-warning: #F59E0B;--s-danger: #EF4444;--s-info: #22D3EE;--font-sans: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--font-display: "DM Sans", sans-serif;--fs-xs: 11px;--fs-sm: 12px;--fs-md: 13px;--fs-base: 14px;--fs-lg: 16px;--fs-xl: 18px;--fs-2xl: 22px;--fs-3xl: 28px;--fs-4xl: 36px;--fs-display: 48px;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--fw-black: 800;--r-xs: 6px;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 20px;--r-2xl: 24px;--r-full: 999px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-7: 32px;--sp-8: 40px;--sp-9: 48px;--sp-10: 64px;--sp-11: 80px;--shadow-1: 0 1px 0 rgba(255,255,255,.04) inset, 0 1px 2px rgba(0,0,0,.6);--shadow-2: 0 1px 0 rgba(255,255,255,.05) inset, 0 8px 24px rgba(0,0,0,.45);--shadow-3: 0 1px 0 rgba(255,255,255,.06) inset, 0 20px 60px rgba(0,0,0,.6);--shadow-gold: 0 0 0 1px rgba(201,168,76,.22), 0 18px 48px rgba(201,168,76,.1);--ease-out: cubic-bezier(.2,.7,.2,1);--ease-in-out: cubic-bezier(.65,.05,.36,1);--ease-bounce: cubic-bezier(.34,1.56,.64,1);--dur-1: .12s;--dur-2: .18s;--dur-3: .24s;--dur-4: .36s;--rail-w: 72px;--side-w: 264px;--topbar-h: 60px;--panel-w: 360px;--content-max: 1480px;--blur-bg: rgba(14,14,14,.66);--blur-strength: 14px;--grad-gold: linear-gradient(135deg, #D4B870 0%, #C9A84C 45%, #B8962A 100%);--grad-gold-soft: linear-gradient(135deg, rgba(212,184,112,.22), rgba(184,150,42,.08));--grad-surface: linear-gradient(180deg, #131313 0%, #0E0E0E 100%);--grad-hero: radial-gradient(80% 60% at 20% 0%, rgba(201,168,76,.16), transparent 60%), radial-gradient(60% 40% at 100% 0%, rgba(139,92,246,.1), transparent 60%), linear-gradient(180deg, #0E0E0E 0%, #060606 100%);--grad-success: linear-gradient(135deg, #10B981, #059669);--grad-danger: linear-gradient(135deg, #EF4444, #B91C1C);--z-base: 1;--z-sticky: 30;--z-overlay: 80;--z-modal: 90;--z-toast: 95;--z-cmdk: 100}[data-theme=light]{color-scheme:light;--bg: #FAFAF7;--bg-soft: #F4F2EC;--surface: #FFFFFF;--surface-1: #FBF9F3;--surface-2: #F2EEE2;--surface-3: #E6E1D2;--overlay: #FFFFFF;--scrim: rgba(20,18,12,.5);--t1: #161410;--t2: #4A463C;--t3: #7A7464;--t4: #B5AF9E;--border: #E5E1D2;--border-1: #D9D3BE;--border-2: #C9C1A6;--border-glow: rgba(184,150,42,.32);--p-tint: rgba(201,168,76,.14);--p-tint-2: rgba(201,168,76,.22);--p-glow: rgba(201,168,76,.3);--blur-bg: rgba(255,255,255,.72);--shadow-1: 0 1px 2px rgba(20,18,12,.06);--shadow-2: 0 8px 24px rgba(20,18,12,.1);--shadow-3: 0 20px 60px rgba(20,18,12,.18);--grad-surface: linear-gradient(180deg, #FFFFFF 0%, #FBF9F3 100%);--grad-hero: radial-gradient(80% 60% at 20% 0%, rgba(201,168,76,.18), transparent 60%), radial-gradient(60% 40% at 100% 0%, rgba(139,92,246,.1), transparent 60%), linear-gradient(180deg, #FBF9F3 0%, #F4F2EC 100%)}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}html{font-family:var(--font-sans);font-size:var(--fs-base);color:var(--t1);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth}body{background:var(--bg);color:var(--t1);font-size:var(--fs-base);line-height:1.5;letter-spacing:-.005em;overflow:hidden;-webkit-user-select:none;user-select:none}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}input,textarea{outline:none}ul,ol{list-style:none;margin:0;padding:0}a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}::selection{background:var(--p-tint-2);color:var(--t1)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:var(--r-full);border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--border-2);background-clip:padding-box;border:2px solid transparent}.display{font-size:var(--fs-display);font-weight:var(--fw-bold);letter-spacing:-.025em;line-height:1.05}.h1{font-size:var(--fs-3xl);font-weight:var(--fw-bold);letter-spacing:-.02em;line-height:1.15}.h2{font-size:var(--fs-2xl);font-weight:var(--fw-semibold);letter-spacing:-.015em;line-height:1.2}.h3{font-size:var(--fs-xl);font-weight:var(--fw-semibold);letter-spacing:-.01em}.h4{font-size:var(--fs-lg);font-weight:var(--fw-semibold)}.body{font-size:var(--fs-base);color:var(--t2)}.small{font-size:var(--fs-sm);color:var(--t2)}.xs{font-size:var(--fs-xs);color:var(--t3)}.mono{font-family:var(--font-mono)}.muted{color:var(--t3)}.dim{color:var(--t2)}.bright{color:var(--t1)}.gold{color:var(--p1)}.eyebrow{font-size:10px;font-weight:var(--fw-semibold);letter-spacing:.16em;text-transform:uppercase;color:var(--t3)}.row{display:flex;align-items:center}.row-g2{display:flex;align-items:center;gap:var(--sp-2)}.row-g3{display:flex;align-items:center;gap:var(--sp-3)}.row-g4{display:flex;align-items:center;gap:var(--sp-4)}.col{display:flex;flex-direction:column}.col-g2{display:flex;flex-direction:column;gap:var(--sp-2)}.col-g3{display:flex;flex-direction:column;gap:var(--sp-3)}.col-g4{display:flex;flex-direction:column;gap:var(--sp-4)}.col-g5{display:flex;flex-direction:column;gap:var(--sp-5)}.between{justify-content:space-between}.center{justify-content:center;align-items:center}.spacer{flex:1}.hidden{display:none!important}.no-select{-webkit-user-select:none;user-select:none}.scroll-y{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}:focus-visible{outline:2px solid var(--p1);outline-offset:2px;border-radius:var(--r-xs)}@keyframes pulse-soft{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(1.06)}}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes rotate{to{transform:rotate(360deg)}}.fade-in{animation:fade-in var(--dur-3) var(--ease-out) both}.slide-in-r{animation:slide-in-right var(--dur-3) var(--ease-out) both}.scale-in{animation:scale-in var(--dur-3) var(--ease-out) both}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.app-shell{display:grid;grid-template-columns:var(--rail-w) var(--side-w) 1fr var(--panel-w);grid-template-rows:100vh;background:var(--bg);overflow:hidden;transition:grid-template-columns var(--dur-3) var(--ease-out)}.app-shell.panel-collapsed{grid-template-columns:var(--rail-w) var(--side-w) 1fr 0}.app-shell.side-collapsed{grid-template-columns:var(--rail-w) 0 1fr var(--panel-w)}.app-shell.side-collapsed.panel-collapsed{grid-template-columns:var(--rail-w) 0 1fr 0}.rail{grid-column:1;grid-row:1;background:var(--bg);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:var(--sp-4) var(--sp-2);gap:var(--sp-2);align-items:center;position:relative;z-index:5}.rail-logo{width:44px;height:44px;border-radius:var(--r-md);overflow:hidden;display:grid;place-items:center;margin-bottom:var(--sp-3);cursor:pointer}.rail-logo img{width:100%;height:100%;object-fit:cover;display:block}.rail-btn{width:44px;height:44px;border-radius:var(--r-md);display:grid;place-items:center;color:var(--t3);transition:color var(--dur-2) var(--ease-out),background var(--dur-2) var(--ease-out),transform var(--dur-2) var(--ease-out);position:relative}.rail-btn:hover{color:var(--t1);background:var(--surface-1)}.rail-btn.active{color:var(--p1);background:var(--p-tint)}.rail-btn.active:before{content:"";position:absolute;left:-8px;top:10px;bottom:10px;width:3px;border-radius:var(--r-full);background:var(--p1);box-shadow:0 0 12px var(--p-glow)}.rail-btn .badge{position:absolute;top:4px;right:4px;min-width:16px;height:16px;padding:0 4px;border-radius:var(--r-full);background:var(--pri-critical);color:#fff;font-size:10px;font-weight:var(--fw-bold);display:grid;place-items:center;border:2px solid var(--bg)}.rail-divider{height:1px;width:28px;background:var(--border);margin:var(--sp-2) 0}.rail-spacer{flex:1}.sidebar{grid-column:2;grid-row:1;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;transition:width var(--dur-3) var(--ease-out)}.side-header{padding:var(--sp-5) var(--sp-5) var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-2)}.workspace-pill{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3);border-radius:var(--r-md);background:var(--surface-1);border:1px solid var(--border);cursor:pointer;transition:border-color var(--dur-2) var(--ease-out)}.workspace-pill:hover{border-color:var(--border-2)}.workspace-pill .ws-avatar{width:32px;height:32px;border-radius:var(--r-sm);background:var(--grad-gold);display:grid;place-items:center;color:#000;font-weight:var(--fw-bold);font-size:13px}.workspace-pill .ws-name{font-weight:var(--fw-semibold);font-size:var(--fs-md);color:var(--t1)}.workspace-pill .ws-plan{font-size:var(--fs-xs);color:var(--t3)}.side-search{margin:0 var(--sp-5);padding:var(--sp-2) var(--sp-3);background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-md);display:flex;align-items:center;gap:var(--sp-2);color:var(--t3);font-size:var(--fs-md);cursor:pointer;transition:border-color var(--dur-2) var(--ease-out)}.side-search:hover{border-color:var(--border-2);color:var(--t2)}.side-search .kbd{margin-left:auto}.side-nav{padding:var(--sp-3) var(--sp-3);flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--sp-1)}.nav-section{padding:var(--sp-3) var(--sp-3) var(--sp-1);font-size:10px;font-weight:var(--fw-semibold);letter-spacing:.16em;text-transform:uppercase;color:var(--t3);display:flex;align-items:center;justify-content:space-between}.nav-section button{color:var(--t3)}.nav-section button:hover{color:var(--t1)}.nav-item{display:flex;align-items:center;gap:var(--sp-3);padding:9px var(--sp-3);border-radius:var(--r-sm);color:var(--t2);font-size:var(--fs-md);font-weight:var(--fw-medium);transition:background var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out);cursor:pointer;position:relative}.nav-item .ico{width:18px;height:18px;flex:0 0 18px;color:var(--t3);transition:color var(--dur-1) var(--ease-out)}.nav-item:hover{background:var(--surface-1);color:var(--t1)}.nav-item:hover .ico{color:var(--t2)}.nav-item.active{background:var(--p-tint);color:var(--p1)}.nav-item.active .ico{color:var(--p1)}.nav-item .count{margin-left:auto;min-width:22px;height:18px;padding:0 6px;border-radius:var(--r-full);font-size:10px;font-weight:var(--fw-semibold);background:var(--surface-2);color:var(--t2);display:grid;place-items:center}.nav-item.active .count{background:var(--p-tint-2);color:var(--p1)}.nav-item .dot{width:8px;height:8px;border-radius:50%;margin-left:auto;background:var(--c-projects)}.side-footer{padding:var(--sp-3) var(--sp-4) var(--sp-4);border-top:1px solid var(--border);display:flex;align-items:center;gap:var(--sp-3)}.user-pill{flex:1;display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2);border-radius:var(--r-md);cursor:pointer;transition:background var(--dur-2) var(--ease-out)}.user-pill:hover{background:var(--surface-1)}.user-pill .avatar{width:32px;height:32px;border-radius:var(--r-full);background:var(--grad-gold);color:#000;font-weight:var(--fw-bold);display:grid;place-items:center;font-size:12px}.user-pill .name{font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--t1)}.user-pill .email{font-size:11px;color:var(--t3)}.main{grid-column:3;grid-row:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg);position:relative}.topbar{height:var(--topbar-h);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 var(--sp-6);gap:var(--sp-4);background:var(--blur-bg);backdrop-filter:blur(var(--blur-strength));-webkit-backdrop-filter:blur(var(--blur-strength));position:sticky;top:0;z-index:var(--z-sticky)}.crumbs{display:flex;align-items:center;gap:var(--sp-2);color:var(--t2);font-size:var(--fs-md)}.crumbs .sep{color:var(--t4)}.crumbs .crumb{cursor:pointer}.crumbs .crumb:hover{color:var(--t1)}.crumbs .crumb.current{color:var(--t1);font-weight:var(--fw-semibold)}.topbar .tools{margin-left:auto;display:flex;align-items:center;gap:var(--sp-2)}.content{flex:1;overflow-y:auto;padding:var(--sp-6) var(--sp-7) var(--sp-9);scroll-padding-top:var(--sp-7)}.content .container{max-width:var(--content-max);margin:0 auto}.panel{grid-column:4;grid-row:1;background:var(--surface);border-left:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;transition:width var(--dur-3) var(--ease-out)}.panel-tabs{display:flex;align-items:center;padding:var(--sp-3) var(--sp-3);gap:var(--sp-1);border-bottom:1px solid var(--border)}.panel-tab{padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--t3);border-radius:var(--r-sm);transition:color var(--dur-1) var(--ease-out),background var(--dur-1) var(--ease-out)}.panel-tab:hover{color:var(--t1);background:var(--surface-1)}.panel-tab.active{color:var(--p1);background:var(--p-tint)}.panel-tab .ico{width:14px;height:14px}.panel-body{flex:1;overflow-y:auto;padding:var(--sp-4)}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-4);margin-bottom:var(--sp-6);padding-bottom:var(--sp-4);border-bottom:1px solid var(--border)}.page-header .meta{display:flex;flex-direction:column;gap:var(--sp-2)}.page-header .title{font-size:var(--fs-3xl);font-weight:var(--fw-bold);letter-spacing:-.02em;line-height:1.1}.page-header .subtitle{color:var(--t2);font-size:var(--fs-md)}.page-header .actions{display:flex;align-items:center;gap:var(--sp-2)}@media(max-width:1400px){:root{--panel-w: 320px}}@media(max-width:1200px){:root{--side-w: 232px}.app-shell{grid-template-columns:var(--rail-w) var(--side-w) 1fr 0}.panel{display:none}}@media(max-width:980px){:root{--side-w: 0px;--rail-w: 64px}.app-shell{grid-template-columns:var(--rail-w) 0 1fr 0}.sidebar{display:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);height:36px;padding:0 14px;border-radius:var(--r-md);font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--t1);background:var(--surface-1);border:1px solid var(--border);transition:background var(--dur-1) var(--ease-out),border-color var(--dur-1) var(--ease-out),transform var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out);white-space:nowrap}.btn:hover{background:var(--surface-2);border-color:var(--border-2)}.btn:active{transform:translateY(1px)}.btn .ico{width:16px;height:16px}.btn-primary{background:var(--grad-gold);border:0;color:#000;box-shadow:var(--shadow-gold)}.btn-primary:hover{filter:brightness(1.06)}.btn-primary:active{filter:brightness(.96)}.btn-ghost{background:transparent;border:1px solid transparent;color:var(--t2)}.btn-ghost:hover{background:var(--surface-1);color:var(--t1)}.btn-soft{background:var(--p-tint);border:1px solid var(--border-glow);color:var(--p1)}.btn-soft:hover{background:var(--p-tint-2)}.btn-danger{background:#ef44441a;border:1px solid rgba(239,68,68,.35);color:var(--pri-critical)}.btn-danger:hover{background:#ef44442e}.btn-icon{padding:0;width:36px}.btn-sm{height:30px;padding:0 10px;font-size:var(--fs-sm)}.btn-lg{height:44px;padding:0 18px;font-size:var(--fs-base)}.btn-block{width:100%}.input{width:100%;height:40px;padding:0 var(--sp-3);border-radius:var(--r-md);background:var(--surface-1);border:1px solid var(--border);color:var(--t1);font-size:var(--fs-md);transition:border-color var(--dur-1) var(--ease-out),background var(--dur-1) var(--ease-out)}.input::placeholder{color:var(--t4)}.input:hover{border-color:var(--border-2)}.input:focus{border-color:var(--p1);background:var(--surface);box-shadow:0 0 0 3px var(--p-tint)}.textarea{width:100%;min-height:88px;padding:var(--sp-3);border-radius:var(--r-md);background:var(--surface-1);border:1px solid var(--border);color:var(--t1);font-family:inherit;font-size:var(--fs-md);resize:vertical;transition:border-color var(--dur-1) var(--ease-out)}.textarea:focus{border-color:var(--p1);box-shadow:0 0 0 3px var(--p-tint)}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--t2)}.field .hint{font-size:var(--fs-xs);color:var(--t3)}.input-wrap{position:relative;display:flex;align-items:center}.input-wrap .ico{position:absolute;left:12px;width:16px;height:16px;color:var(--t3);pointer-events:none}.input-wrap input{padding-left:36px}.card{background:var(--grad-surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-5);transition:border-color var(--dur-2) var(--ease-out);position:relative}.card:hover{border-color:var(--border-2)}.card-hd{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-4)}.card-hd .title{font-size:var(--fs-lg);font-weight:var(--fw-semibold);letter-spacing:-.01em}.card-hd .sub{font-size:var(--fs-sm);color:var(--t3)}.card-hd .actions{display:flex;align-items:center;gap:var(--sp-1)}.card-tight{padding:var(--sp-4)}.card-loose{padding:var(--sp-6)}.card-clickable{cursor:pointer}.card-clickable:hover{border-color:var(--border-glow)}.card.gold{background:var(--grad-gold-soft);border:1px solid var(--border-glow)}.card.gold:hover{box-shadow:var(--shadow-gold)}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;height:20px;border-radius:var(--r-full);background:var(--surface-2);font-size:10px;font-weight:var(--fw-semibold);letter-spacing:.04em;color:var(--t2);border:1px solid var(--border)}.badge.gold{background:var(--p-tint);color:var(--p1);border-color:var(--border-glow)}.badge.success{background:#10b9811f;color:var(--s-success);border-color:#10b98152}.badge.warn{background:#f59e0b1f;color:var(--s-warning);border-color:#f59e0b52}.badge.danger{background:#ef44441f;color:var(--s-danger);border-color:#ef444452}.badge.info{background:#22d3ee1f;color:var(--s-info);border-color:#22d3ee52}.priority{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:var(--r-full);font-size:10px;font-weight:var(--fw-semibold);letter-spacing:.04em;border:1px solid transparent}.priority:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.priority-critical{background:#ef44441f;color:var(--pri-critical);border-color:#ef444452}.priority-high{background:#f973161f;color:var(--pri-high);border-color:#f9731652}.priority-medium{background:#3b82f61f;color:var(--pri-medium);border-color:#3b82f652}.priority-low{background:#6b72801f;color:var(--pri-low);border-color:#6b728052}.priority-wishing{background:#ec48991f;color:var(--pri-wishing);border-color:#ec489952}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--r-full);background:var(--surface-1);border:1px solid var(--border);color:var(--t2);font-size:var(--fs-sm);font-weight:var(--fw-medium);cursor:pointer;transition:all var(--dur-1) var(--ease-out)}.chip:hover{background:var(--surface-2);color:var(--t1);border-color:var(--border-2)}.chip.active{background:var(--p-tint);border-color:var(--border-glow);color:var(--p1)}.segment{display:inline-flex;padding:3px;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-md);gap:2px}.segment button{padding:6px 12px;border-radius:7px;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--t3);transition:all var(--dur-1) var(--ease-out)}.segment button:hover{color:var(--t1)}.segment button.active{background:var(--surface-3);color:var(--t1);box-shadow:var(--shadow-1)}.switch{--w: 36px;--h: 20px;position:relative;width:var(--w);height:var(--h);background:var(--surface-3);border-radius:var(--r-full);transition:background var(--dur-2) var(--ease-out);cursor:pointer}.switch:after{content:"";position:absolute;top:2px;left:2px;width:calc(var(--h) - 4px);height:calc(var(--h) - 4px);border-radius:50%;background:var(--t2);transition:transform var(--dur-2) var(--ease-out),background var(--dur-2) var(--ease-out)}.switch.on{background:var(--p1)}.switch.on:after{transform:translate(calc(var(--w) - var(--h)));background:#000}.kbd{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:5px;background:var(--surface-2);color:var(--t3);font-family:var(--font-mono);font-size:10px;font-weight:var(--fw-semibold);border:1px solid var(--border);border-bottom-width:2px}.progress{height:6px;width:100%;background:var(--surface-2);border-radius:var(--r-full);overflow:hidden;position:relative}.progress>.bar{height:100%;background:var(--grad-gold);border-radius:var(--r-full);transition:width var(--dur-4) var(--ease-out);box-shadow:0 0 12px var(--p-glow)}.progress.success>.bar{background:var(--grad-success);box-shadow:0 0 12px #10b98173}.progress.danger>.bar{background:var(--grad-danger);box-shadow:0 0 12px #ef444473}.progress-pills{display:flex;gap:4px}.progress-pills .pill{flex:1;height:6px;background:var(--surface-2);border-radius:var(--r-full);transition:background var(--dur-2) var(--ease-out)}.progress-pills .pill.on{background:var(--grad-gold)}.ring{--size: 56px;width:var(--size);height:var(--size);position:relative;display:grid;place-items:center}.ring svg{transform:rotate(-90deg)}.ring .track{stroke:var(--surface-2)}.ring .bar{stroke:var(--p1);stroke-linecap:round;transition:stroke-dashoffset var(--dur-4) var(--ease-out)}.ring .label{position:absolute;font-size:11px;font-weight:var(--fw-bold);color:var(--t1)}.avatar{width:28px;height:28px;border-radius:var(--r-full);display:inline-grid;place-items:center;font-size:11px;font-weight:var(--fw-bold);color:var(--t1);background:var(--surface-3);border:2px solid var(--surface)}.avatar-lg{width:40px;height:40px;font-size:var(--fs-md)}.avatar-xl{width:64px;height:64px;font-size:var(--fs-lg)}.avatar-2xl{width:96px;height:96px;font-size:var(--fs-xl)}.avatar-group{display:inline-flex}.avatar-group .avatar{margin-left:-8px}.avatar-group .avatar:first-child{margin-left:0}.avatar-group .more{background:var(--surface-1);color:var(--t2);font-size:10px}.av-1{background:linear-gradient(135deg,#8b5cf6,#4f46e5)}.av-2{background:linear-gradient(135deg,#ec4899,#be185d)}.av-3{background:linear-gradient(135deg,#06b6d4,#0891b2)}.av-4{background:linear-gradient(135deg,#f59e0b,#d97706)}.av-5{background:linear-gradient(135deg,#10b981,#059669)}.av-6{background:linear-gradient(135deg,#f97316,#ea580c)}.av-7{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.av-8{background:linear-gradient(135deg,#c9a84c,#8b7220);color:#000}.tt{position:relative}.tt:after{content:attr(data-tt);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);padding:4px 8px;background:#000;color:var(--t1);font-size:11px;border-radius:var(--r-sm);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--dur-1) var(--ease-out);border:1px solid var(--border-2);z-index:60}.tt:hover:after{opacity:1}.divider{height:1px;background:var(--border);width:100%;margin:var(--sp-3) 0}.divider-y{width:1px;align-self:stretch;background:var(--border);margin:0 var(--sp-3)}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--sp-9) var(--sp-6);border:1px dashed var(--border-1);border-radius:var(--r-lg);color:var(--t3);gap:var(--sp-3)}.empty .em-ico{width:56px;height:56px;border-radius:var(--r-lg);display:grid;place-items:center;background:var(--surface-1);color:var(--t2)}.modal-root{position:fixed;inset:0;z-index:var(--z-modal);display:none;align-items:center;justify-content:center;padding:var(--sp-6)}.modal-root.open{display:flex}.modal-root .scrim{position:absolute;inset:0;background:var(--scrim);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.modal{position:relative;width:min(560px,96vw);max-height:90vh;background:var(--overlay);border:1px solid var(--border-1);border-radius:var(--r-xl);box-shadow:var(--shadow-3);display:flex;flex-direction:column;animation:scale-in var(--dur-3) var(--ease-bounce) both;overflow:hidden}.modal-hd{padding:var(--sp-5) var(--sp-5) var(--sp-3);display:flex;align-items:center;justify-content:space-between}.modal-hd .title{font-size:var(--fs-xl);font-weight:var(--fw-bold)}.modal-body{padding:var(--sp-3) var(--sp-5);overflow-y:auto}.modal-ft{padding:var(--sp-4) var(--sp-5);border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:var(--sp-2)}.modal-wide{width:min(820px,96vw)}.modal-narrow{width:min(420px,96vw)}.cmdk-root{position:fixed;inset:0;z-index:var(--z-cmdk);display:none;align-items:flex-start;justify-content:center;padding-top:12vh}.cmdk-root.open{display:flex;animation:fade-in var(--dur-2) var(--ease-out) both}.cmdk-root .scrim{position:absolute;inset:0;background:var(--scrim);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.cmdk{position:relative;width:min(640px,92vw);background:var(--overlay);border:1px solid var(--border-1);border-radius:var(--r-xl);box-shadow:var(--shadow-3),var(--shadow-gold);overflow:hidden;animation:scale-in var(--dur-3) var(--ease-bounce) both;display:flex;flex-direction:column}.cmdk-input-wrap{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border)}.cmdk-input-wrap .ico{width:18px;height:18px;color:var(--t3)}.cmdk-input{flex:1;background:transparent;border:0;font-size:var(--fs-lg);color:var(--t1)}.cmdk-input::placeholder{color:var(--t4)}.cmdk-list{max-height:48vh;overflow-y:auto;padding:var(--sp-2)}.cmdk-group-label{padding:var(--sp-3) var(--sp-3) var(--sp-1);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--t3);font-weight:var(--fw-semibold)}.cmdk-item{display:flex;align-items:center;gap:var(--sp-3);padding:10px var(--sp-3);border-radius:var(--r-sm);color:var(--t2);cursor:pointer;transition:background var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out)}.cmdk-item .ico{width:16px;height:16px;color:var(--t3)}.cmdk-item:hover,.cmdk-item.cmdk-active{background:var(--surface-1);color:var(--t1)}.cmdk-item .label{flex:1;font-size:var(--fs-md)}.cmdk-item .hint{font-size:var(--fs-xs);color:var(--t4)}.cmdk-ft{padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;color:var(--t3);font-size:var(--fs-xs)}.cmdk-ft .hints{display:flex;gap:var(--sp-3);align-items:center}.cmdk-ft .hint-row{display:flex;align-items:center;gap:6px}.toast-stack{position:fixed;bottom:var(--sp-6);right:var(--sp-6);display:flex;flex-direction:column;gap:var(--sp-2);z-index:var(--z-toast);pointer-events:none}.toast{pointer-events:auto;background:var(--overlay);border:1px solid var(--border-1);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4);display:flex;align-items:center;gap:var(--sp-3);box-shadow:var(--shadow-3);min-width:280px;animation:slide-in-right var(--dur-3) var(--ease-out) both}.toast .ico{width:16px;height:16px;color:var(--p1)}.toast.success .ico{color:var(--s-success)}.toast.danger .ico{color:var(--s-danger)}.tag{display:inline-flex;align-items:center;gap:4px;padding:1px 7px;border-radius:var(--r-xs);font-size:10px;font-weight:var(--fw-semibold);background:var(--surface-2);color:var(--t2);border:1px solid var(--border)}.tag .dot{width:6px;height:6px;border-radius:50%}.kanban{display:grid;grid-template-columns:repeat(4,minmax(280px,1fr));gap:var(--sp-4);align-items:start}.k-col{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);display:flex;flex-direction:column;max-height:calc(100vh - 220px);overflow:hidden}.k-col-hd{padding:var(--sp-4);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:var(--surface);border-bottom:1px solid var(--border)}.k-col-hd .title{font-size:var(--fs-md);font-weight:var(--fw-semibold);display:flex;align-items:center;gap:6px}.k-col-hd .dot{width:8px;height:8px;border-radius:50%}.k-col-hd .count{font-size:10px;padding:1px 6px;border-radius:var(--r-full);background:var(--surface-2);color:var(--t3)}.k-col-body{padding:var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-3);overflow-y:auto}.k-card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-2);cursor:grab;transition:border-color var(--dur-2) var(--ease-out),transform var(--dur-2) var(--ease-out)}.k-card:hover{border-color:var(--border-glow);transform:translateY(-1px)}.k-card .title{font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--t1)}.k-card .desc{font-size:var(--fs-xs);color:var(--t3)}.k-card .row{display:flex;align-items:center;gap:var(--sp-2);justify-content:space-between}.task-row{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);transition:all var(--dur-2) var(--ease-out);cursor:pointer}.task-row:hover{border-color:var(--border-glow);background:var(--surface-1)}.task-row.done .title{color:var(--t3);text-decoration:line-through}.task-row .check{width:18px;height:18px;border:1.5px solid var(--border-2);border-radius:6px;display:grid;place-items:center;transition:all var(--dur-2) var(--ease-out)}.task-row .check.on{background:var(--p1);border-color:var(--p1);color:#000}.task-row .core{display:flex;flex-direction:column;gap:4px;min-width:0}.task-row .title{font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--t1)}.task-row .meta{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center;font-size:var(--fs-xs);color:var(--t3)}.task-row .actions{display:flex;align-items:center;gap:var(--sp-1);opacity:0;transition:opacity var(--dur-1) var(--ease-out)}.task-row:hover .actions{opacity:1}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-grid .dow{font-size:10px;font-weight:var(--fw-semibold);color:var(--t3);text-align:center;padding:4px 0;letter-spacing:.06em;text-transform:uppercase}.cal-grid .day{aspect-ratio:1/1;border-radius:var(--r-sm);display:grid;place-items:center;font-family:inherit;padding:0;appearance:none;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--t2);background:transparent;border:1px solid transparent;cursor:pointer;transition:all var(--dur-1) var(--ease-out)}.cal-grid .day:hover:not(:disabled){background:var(--surface-1);color:var(--t1)}.cal-grid .day:disabled{cursor:default;color:var(--t4);opacity:.45}.cal-grid .day.today{border-color:var(--p1);color:var(--p1)}.cal-grid .day.has{background:var(--p-tint);color:var(--p1);border-color:var(--border-glow)}.cal-grid .day.miss{background:#ef444414;color:var(--pri-critical)}.cal-grid .day.dim{color:var(--t4)}.timer-pill{position:fixed;bottom:var(--sp-5);left:50%;transform:translate(-50%);background:var(--overlay);border:1px solid var(--border-glow);border-radius:var(--r-full);padding:6px var(--sp-3) 6px 6px;display:flex;align-items:center;gap:var(--sp-3);box-shadow:var(--shadow-3),var(--shadow-gold);z-index:var(--z-overlay);display:none}.timer-pill.on{display:flex;animation:scale-in var(--dur-3) var(--ease-bounce) both}.timer-pill .play{width:32px;height:32px;border-radius:var(--r-full);background:var(--grad-gold);display:grid;place-items:center;color:#000}.timer-pill .time{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:15px;font-weight:var(--fw-bold);color:var(--t1)}.timer-pill .task{font-size:var(--fs-sm);color:var(--t2);max-width:220px}.mood{width:36px;height:36px;border-radius:var(--r-full);display:grid;place-items:center;font-size:18px;background:var(--surface-1);border:1px solid var(--border);cursor:pointer;transition:all var(--dur-1) var(--ease-out)}.mood:hover{background:var(--surface-2);transform:scale(1.05)}.mood.selected{border-color:var(--p1);background:var(--p-tint);box-shadow:0 0 0 3px var(--p-tint)}.spark{width:100%;height:60px;display:block}.spark path.fill{fill:url(#sparkFill);opacity:.5}.spark path.line{fill:none;stroke:var(--p1);stroke-width:2;stroke-linecap:round}.tabs{display:flex;align-items:center;gap:var(--sp-1);border-bottom:1px solid var(--border);padding-bottom:0}.tab{position:relative;padding:10px 14px;font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--t3);transition:color var(--dur-1) var(--ease-out);cursor:pointer}.tab:hover,.tab.active{color:var(--t1)}.tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--p1);border-radius:2px 2px 0 0;box-shadow:0 0 12px var(--p-glow)}.stat{display:flex;flex-direction:column;gap:4px}.stat .label{font-size:10px;font-weight:var(--fw-semibold);letter-spacing:.12em;text-transform:uppercase;color:var(--t3)}.stat .value{font-size:var(--fs-3xl);font-weight:var(--fw-bold);letter-spacing:-.02em;color:var(--t1);line-height:1}.stat .delta{font-size:var(--fs-sm)}.stat .delta.up{color:var(--s-success)}.stat .delta.down{color:var(--s-danger)}.icon-btn{width:34px;height:34px;border-radius:var(--r-md);display:grid;place-items:center;color:var(--t2);background:transparent;border:1px solid transparent;transition:all var(--dur-1) var(--ease-out);position:relative}.icon-btn:hover{background:var(--surface-1);color:var(--t1);border-color:var(--border)}.icon-btn.active{background:var(--p-tint);color:var(--p1);border-color:var(--border-glow)}.icon-btn .ico{width:16px;height:16px}.sk{background:linear-gradient(90deg,var(--surface-1) 0%,var(--surface-2) 50%,var(--surface-1) 100%);background-size:200% 100%;animation:shimmer 1.4s linear infinite;border-radius:var(--r-sm)}.hero{position:relative;border-radius:var(--r-2xl);background:var(--grad-hero);border:1px solid var(--border);padding:var(--sp-7) var(--sp-7) var(--sp-6);overflow:hidden;margin-bottom:var(--sp-6)}.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(40% 30% at 90% 100%,rgba(201,168,76,.1),transparent 60%);pointer-events:none}.hero .row{gap:var(--sp-5);align-items:flex-end;justify-content:space-between}.hero .greet{font-size:var(--fs-4xl);font-weight:var(--fw-bold);letter-spacing:-.025em;line-height:1.1}.hero .greet .name{color:var(--p-soft)}.hero .meta{color:var(--t2);font-size:var(--fs-md);margin-top:var(--sp-2)}.hero .quick{display:flex;align-items:center;gap:var(--sp-2)}.hero-stats{margin-top:var(--sp-6);display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-4)}.hero-stat{padding:var(--sp-4);background:#00000052;border:1px solid var(--border);border-radius:var(--r-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hero-stat .top{display:flex;align-items:center;justify-content:space-between}.hero-stat .top .ico{width:32px;height:32px;border-radius:var(--r-sm);background:var(--p-tint);color:var(--p1);display:grid;place-items:center}.hero-stat .top .ico .ico{width:16px;height:16px}.hero-stat .label{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--t3);margin-top:var(--sp-3)}.hero-stat .value{font-size:var(--fs-2xl);font-weight:var(--fw-bold);letter-spacing:-.02em;color:var(--t1)}.hero-stat .meta{font-size:var(--fs-xs);color:var(--t3);margin-top:2px}.bento{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:auto auto auto;gap:var(--sp-4)}.bento .b-focus{grid-column:1;grid-row:1/span 2}.bento .b-today{grid-column:2;grid-row:1}.bento .b-habits{grid-column:3;grid-row:1}.bento .b-progress{grid-column:2;grid-row:2}.bento .b-shared{grid-column:3;grid-row:2}.bento .b-projects{grid-column:1/span 2;grid-row:3}.bento .b-finance{grid-column:3;grid-row:3}@media(max-width:1280px){.bento{grid-template-columns:1fr 1fr}.bento .b-focus{grid-column:1/span 2;grid-row:1}.bento .b-today{grid-column:1;grid-row:2}.bento .b-habits{grid-column:2;grid-row:2}.bento .b-progress{grid-column:1;grid-row:3}.bento .b-shared{grid-column:2;grid-row:3}.bento .b-projects{grid-column:1;grid-row:4}.bento .b-finance{grid-column:2;grid-row:4}}.focus-grid{display:grid;grid-template-columns:70px 1fr;gap:var(--sp-2)}.focus-grid .slot{display:contents}.focus-grid .time{font-size:var(--fs-xs);color:var(--t3);padding-top:var(--sp-2);font-variant-numeric:tabular-nums}.focus-grid .col{position:relative;border-left:1px solid var(--border);padding:var(--sp-2) 0 var(--sp-3) var(--sp-3);min-height:64px}.focus-grid .slot.now .time{color:var(--p1);font-weight:var(--fw-bold)}.focus-grid .slot.now .col:before{content:"";position:absolute;left:-4px;top:6px;width:7px;height:7px;border-radius:50%;background:var(--p1);box-shadow:0 0 12px var(--p-glow-strong)}.focus-item{display:flex;align-items:center;gap:var(--sp-2);padding:6px 10px;border-radius:var(--r-sm);background:var(--surface-1);border:1px solid var(--border);margin-bottom:6px;font-size:var(--fs-sm);color:var(--t1)}.focus-item.gold{background:var(--p-tint);border-color:var(--border-glow);color:var(--p1)}.focus-item.purple{background:#8b5cf61a;border-color:#8b5cf659;color:#c4b5fd}.focus-item.cyan{background:#06b6d41a;border-color:#06b6d459;color:#67e8f9}.today-list{display:flex;flex-direction:column;gap:var(--sp-2)}.today-row{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);transition:background var(--dur-1) var(--ease-out);cursor:pointer}.today-row:hover{background:var(--surface-1)}.today-row .check{width:18px;height:18px;border:1.5px solid var(--border-2);border-radius:6px;display:grid;place-items:center;flex:0 0 18px;transition:all var(--dur-2) var(--ease-out)}.today-row .check.on{background:var(--p1);border-color:var(--p1);color:#000}.today-row.done .title{color:var(--t3);text-decoration:line-through}.today-row .title{flex:1;font-size:var(--fs-md)}.today-row .time{font-size:var(--fs-xs);color:var(--t3)}.today-row .check.habit.on{background:var(--c-habits);border-color:var(--c-habits);color:#fff}.today-row.habit.done .title{color:var(--t3);text-decoration:line-through}.today-row .habit-tag{background:#06b6d424;color:var(--c-habits);border-color:#06b6d447}.habit-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2)}.habit-chip{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-3);border-radius:var(--r-md);background:var(--surface-1);border:1px solid var(--border);cursor:pointer;transition:all var(--dur-1) var(--ease-out)}.habit-chip:hover{border-color:var(--border-glow);transform:translateY(-1px)}.habit-chip .ico{width:32px;height:32px;border-radius:var(--r-sm);background:#06b6d424;color:var(--c-habits);display:grid;place-items:center}.habit-chip .info{flex:1;min-width:0}.habit-chip .name{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--t1)}.habit-chip .streak{font-size:10px;color:var(--t3)}.habit-chip.done{background:#10b9811a;border-color:#10b98152}.habit-chip.done .ico{background:#10b98133;color:var(--s-success)}.project-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--sp-3)}.project-mini{padding:var(--sp-4);border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface-1);display:flex;flex-direction:column;gap:var(--sp-2);transition:all var(--dur-2) var(--ease-out);cursor:pointer}.project-mini:hover{transform:translateY(-2px);border-color:var(--border-glow)}.project-mini .top{display:flex;align-items:center;gap:var(--sp-2);justify-content:space-between}.project-mini .dot{width:10px;height:10px;border-radius:50%}.project-mini .name{font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--t1)}.project-mini .meta{font-size:10px;color:var(--t3)}.fin-summary{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}.fin-tile{padding:var(--sp-3);border-radius:var(--r-md);background:var(--surface-1);border:1px solid var(--border)}.fin-tile .label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--t3)}.fin-tile .value{font-size:var(--fs-xl);font-weight:var(--fw-bold);margin-top:2px}.fin-tile.income .value{color:var(--s-success)}.fin-tile.expense .value{color:var(--s-danger)}.tasks-toolbar{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;margin-bottom:var(--sp-5)}.tasks-toolbar .filters{display:flex;gap:var(--sp-2);flex-wrap:wrap}.tasks-toolbar .spacer{flex:1}.tasks-grid{display:grid;gap:var(--sp-3)}.task-detail{display:flex;flex-direction:column;gap:var(--sp-4)}.task-detail .title{font-size:var(--fs-xl);font-weight:var(--fw-bold)}.goal-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-4);transition:border-color var(--dur-2) var(--ease-out)}.goal-card:hover{border-color:var(--border-glow)}.goal-card .top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3)}.goal-card .name{font-size:var(--fs-lg);font-weight:var(--fw-bold);color:var(--t1);letter-spacing:-.01em}.goal-card .desc{font-size:var(--fs-sm);color:var(--t3)}.goal-card .progress{margin-top:var(--sp-2)}.goal-card .milestones{display:flex;flex-direction:column;gap:var(--sp-2);border-top:1px dashed var(--border);padding-top:var(--sp-3)}.goal-card .ms{display:flex;align-items:center;gap:var(--sp-3);font-size:var(--fs-sm);color:var(--t2);cursor:pointer}.goal-card .ms .box{width:16px;height:16px;border:1.5px solid var(--border-2);border-radius:4px;display:grid;place-items:center;transition:all var(--dur-2) var(--ease-out)}.goal-card .ms.done .box{background:var(--p1);border-color:var(--p1);color:#000}.goal-card .ms.done .name{color:var(--t3);text-decoration:line-through}.goal-card .footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);padding-top:var(--sp-3)}.goal-card .proj-chain{flex-wrap:wrap}.goal-card .proj-chain .chain-sep{color:var(--t4)}.habit-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-3)}.habit-card .top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3)}.habit-card .name{font-size:var(--fs-lg);font-weight:var(--fw-bold)}.habit-card .meta{display:flex;gap:var(--sp-2);align-items:center;flex-wrap:wrap}.habit-card .streak-strip{display:grid;grid-template-columns:repeat(30,1fr);gap:3px;margin-top:var(--sp-2)}.habit-card .streak-strip .day{aspect-ratio:1/1;border-radius:3px;background:var(--surface-2)}.habit-card .streak-strip .day.on{background:var(--c-habits);box-shadow:0 0 6px #06b6d480}.habit-card .streak-strip .day.miss{background:#ef444433}.habit-card .actions{display:flex;align-items:center;gap:var(--sp-2);justify-content:space-between}.streak-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--r-full);background:linear-gradient(135deg,#f973162e,#ef44442e);color:#fb923c;font-size:var(--fs-sm);font-weight:var(--fw-bold);border:1px solid rgba(249,115,22,.32)}.journal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--sp-4)}.journal-card{padding:var(--sp-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);display:flex;flex-direction:column;gap:var(--sp-3);transition:border-color var(--dur-2) var(--ease-out)}.journal-card:hover{border-color:var(--border-glow)}.journal-card .top{display:flex;align-items:center;gap:var(--sp-3);justify-content:space-between}.journal-card .date{font-size:var(--fs-xs);color:var(--t3)}.journal-card .mood{font-size:24px;width:auto;height:auto;background:transparent;border:0;padding:0}.journal-card .title{font-size:var(--fs-lg);font-weight:var(--fw-bold);color:var(--t1)}.journal-card .body{font-size:var(--fs-sm);color:var(--t2);line-height:1.55}.fin-hero{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:var(--sp-4);margin-bottom:var(--sp-5)}.fin-card{padding:var(--sp-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);display:flex;flex-direction:column;gap:var(--sp-3)}.fin-card.gold-edge{border-color:var(--border-glow);background:var(--grad-gold-soft)}.fin-card .label{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--t3)}.fin-card .value{font-size:var(--fs-3xl);font-weight:var(--fw-bold);letter-spacing:-.02em}.fin-card .value.income{color:var(--s-success)}.fin-card .value.expense{color:var(--s-danger)}.fin-chart{position:relative;height:220px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-4);margin-bottom:var(--sp-5)}.fin-chart svg{width:100%;height:100%}.tx-row{display:grid;grid-template-columns:36px 1fr auto auto;gap:var(--sp-3);align-items:center;padding:var(--sp-3) var(--sp-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md)}.tx-row+.tx-row{margin-top:var(--sp-2)}.tx-row .ico{width:36px;height:36px;border-radius:var(--r-sm);display:grid;place-items:center;color:var(--t2)}.tx-row.income .ico{background:#10b98124;color:var(--s-success)}.tx-row.expense .ico{background:#ef44441f;color:var(--s-danger)}.tx-row .info .title{font-size:var(--fs-md);font-weight:var(--fw-semibold)}.tx-row .info .sub{font-size:var(--fs-xs);color:var(--t3)}.tx-row .amount{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:var(--fw-bold)}.tx-row.income .amount{color:var(--s-success)}.tx-row.expense .amount{color:var(--s-danger)}.shop-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--sp-4)}.shop-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);display:flex;flex-direction:column;overflow:hidden}.shop-list .hd{padding:var(--sp-4);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.shop-list .hd .name{font-weight:var(--fw-semibold)}.shop-list .body{padding:var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-2)}.shop-item{display:flex;align-items:center;gap:var(--sp-2);padding:8px 10px;border-radius:var(--r-sm);cursor:pointer;transition:background var(--dur-1) var(--ease-out)}.shop-item:hover{background:var(--surface-1)}.shop-item .check{width:16px;height:16px;border-radius:4px;border:1.5px solid var(--border-2);flex:0 0 16px;display:grid;place-items:center}.shop-item.on .check{background:var(--c-shopping);border-color:var(--c-shopping);color:#000}.shop-item.on .name{color:var(--t3);text-decoration:line-through}.shop-item .name{flex:1;font-size:var(--fs-md)}.shop-item .qty{font-size:var(--fs-xs);color:var(--t3)}.shop-item .price{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--t2)}.shop-list .ft{padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;font-size:var(--fs-xs);color:var(--t3)}.week-grid{display:grid;grid-template-columns:56px repeat(7,1fr);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;background:var(--surface)}.week-grid .head{padding:var(--sp-3);border-bottom:1px solid var(--border);background:var(--surface-1);font-size:var(--fs-sm);font-weight:var(--fw-semibold);display:flex;flex-direction:column;gap:2px;align-items:center}.week-grid .head .dow{font-size:10px;color:var(--t3);letter-spacing:.08em;text-transform:uppercase}.week-grid .head .num{font-size:var(--fs-xl);font-weight:var(--fw-bold)}.week-grid .head.today .num{color:var(--p1)}.week-grid .head.today{background:var(--p-tint)}.week-grid .corner{background:var(--surface-1);border-bottom:1px solid var(--border)}.week-grid .hour{padding:var(--sp-2) var(--sp-2);font-size:10px;color:var(--t3);border-bottom:1px dashed var(--border);font-variant-numeric:tabular-nums;text-align:right}.week-grid .cell{border-bottom:1px dashed var(--border);border-left:1px solid var(--border);min-height:56px;padding:4px;position:relative}.week-grid .cell:hover{background:var(--surface-1);cursor:pointer}.week-event{position:absolute;left:4px;right:4px;background:#c9a84c2e;border:1px solid var(--border-glow);border-left:3px solid var(--p1);border-radius:var(--r-sm);padding:4px 6px;font-size:10px;color:var(--p-soft);overflow:hidden;cursor:pointer}.week-event.purple{background:#8b5cf62e;border-left-color:var(--c-projects);color:#c4b5fd;border-color:#8b5cf652}.week-event.cyan{background:#06b6d42e;border-left-color:var(--c-habits);color:#67e8f9;border-color:#06b6d452}.week-event.amber{background:#f59e0b2e;border-left-color:var(--c-journal);color:#fcd34d;border-color:#f59e0b52}.week-event.green{background:#10b9812e;border-left-color:var(--c-finance);color:#6ee7b7;border-color:#10b98152}.proj-tree{display:flex;flex-direction:column;gap:var(--sp-3)}.proj-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-5);position:relative}.proj-card.sub{margin-left:var(--sp-6);border-left:2px solid var(--border-2)}.proj-card .top{display:flex;align-items:center;gap:var(--sp-3);justify-content:space-between}.proj-card .name-row{display:flex;align-items:center;gap:var(--sp-3)}.proj-card .swatch{width:8px;height:28px;border-radius:var(--r-xs)}.proj-card .name{font-size:var(--fs-lg);font-weight:var(--fw-bold)}.proj-card .stats{display:flex;gap:var(--sp-5);margin-top:var(--sp-3)}.proj-card .stat-mini .label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--t3)}.proj-card .stat-mini .value{font-size:var(--fs-md);font-weight:var(--fw-semibold)}.rewards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--sp-4)}.reward-card{padding:var(--sp-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);display:flex;flex-direction:column;gap:var(--sp-3);position:relative}.reward-card.redeemed{opacity:.6}.reward-card .badge-row{position:absolute;top:var(--sp-3);right:var(--sp-3)}.reward-card .ico{width:44px;height:44px;border-radius:var(--r-md);background:linear-gradient(135deg,#f9731633,#f59e0b33);color:var(--c-rewards);display:grid;place-items:center}.reward-card .name{font-size:var(--fs-lg);font-weight:var(--fw-bold)}.circle-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--sp-4)}.circle-card{padding:var(--sp-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);display:flex;flex-direction:column;gap:var(--sp-3)}.circle-card .top{display:flex;align-items:center;gap:var(--sp-3)}.circle-card .ico{width:44px;height:44px;border-radius:var(--r-md);display:grid;place-items:center;color:#fff;font-weight:var(--fw-bold)}.circle-card .name{font-size:var(--fs-lg);font-weight:var(--fw-bold)}.circle-card .desc{font-size:var(--fs-sm);color:var(--t3)}.auth-shell{height:100vh;display:grid;grid-template-columns:1.1fr 1fr;overflow:hidden}.auth-art{position:relative;background:var(--grad-hero);display:flex;flex-direction:column;justify-content:space-between;padding:var(--sp-9);border-right:1px solid var(--border);overflow:hidden}.auth-art:before{content:"";position:absolute;inset:0;background:radial-gradient(50% 50% at 20% 20%,var(--p-tint),transparent 60%),radial-gradient(40% 40% at 80% 80%,rgba(139,92,246,.15),transparent 60%);pointer-events:none}.auth-form-wrap{display:grid;place-items:center;background:var(--bg);padding:var(--sp-7)}.auth-form{width:min(420px,100%);display:flex;flex-direction:column;gap:var(--sp-5)}.auth-form .brand{display:flex;align-items:center;gap:var(--sp-3)}.auth-form .brand .logo{width:40px;height:40px;border-radius:var(--r-md);overflow:hidden;display:grid;place-items:center}.auth-form .brand .logo img{width:100%;height:100%;object-fit:cover;display:block}.brand-wordmark{height:26px;width:auto;display:block}.auth-form .head{display:flex;flex-direction:column;gap:6px}.settings-grid{display:grid;grid-template-columns:240px 1fr;gap:var(--sp-7)}.settings-nav{display:flex;flex-direction:column;gap:4px}.settings-nav .item{padding:10px 12px;border-radius:var(--r-sm);font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--t3);cursor:pointer;transition:all var(--dur-1) var(--ease-out)}.settings-nav .item:hover{color:var(--t1);background:var(--surface-1)}.settings-nav .item.active{color:var(--p1);background:var(--p-tint)}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-5);padding:var(--sp-4) 0;border-bottom:1px solid var(--border)}.setting-row:last-child{border-bottom:0}.setting-row .info .title{font-size:var(--fs-md);font-weight:var(--fw-semibold)}.setting-row .info .desc{font-size:var(--fs-xs);color:var(--t3)}.focus-mode-overlay{position:fixed;inset:0;background:var(--grad-hero);z-index:var(--z-modal);display:none;flex-direction:column;align-items:center;justify-content:center;padding:var(--sp-9);text-align:center}.focus-mode-overlay.on{display:flex;animation:fade-in var(--dur-4) var(--ease-out) both}.focus-mode-overlay .label{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--t3)}.focus-mode-overlay .title{font-size:var(--fs-display);font-weight:var(--fw-bold);letter-spacing:-.025em}.focus-mode-overlay .timer{font-family:var(--font-mono);font-size:96px;font-weight:var(--fw-bold);letter-spacing:-.04em;color:var(--p1);text-shadow:0 0 60px var(--p-glow)}.focus-mode-overlay .controls{display:flex;gap:var(--sp-3);margin-top:var(--sp-5)}.shared-row{display:grid;grid-template-columns:auto 1fr auto;gap:var(--sp-4);align-items:center;padding:var(--sp-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md)}.shared-row+.shared-row{margin-top:var(--sp-2)}.shared-row .info .title{font-size:var(--fs-md);font-weight:var(--fw-semibold)}.shared-row .info .sub{font-size:var(--fs-xs);color:var(--t3)}.shared-row .actions{display:flex;gap:var(--sp-2)}.quickadd{position:fixed;right:0;top:0;bottom:0;width:min(480px,96vw);background:var(--overlay);border-left:1px solid var(--border-1);z-index:var(--z-modal);transform:translate(100%);transition:transform var(--dur-3) var(--ease-out);display:flex;flex-direction:column;box-shadow:var(--shadow-3)}.quickadd.open{transform:translate(0)}.quickadd .hd{padding:var(--sp-5);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.quickadd .hd .title{font-size:var(--fs-xl);font-weight:var(--fw-bold)}.quickadd .body{flex:1;overflow-y:auto;padding:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-4)}.quickadd .ft{padding:var(--sp-4) var(--sp-5);border-top:1px solid var(--border);display:flex;gap:var(--sp-2);justify-content:flex-end}.type-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-2)}.type-tile{padding:var(--sp-3);border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface-1);display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;transition:all var(--dur-1) var(--ease-out)}.type-tile:hover{border-color:var(--border-glow);background:var(--p-tint)}.type-tile.active{border-color:var(--p1);background:var(--p-tint);color:var(--p1)}.type-tile .ico{width:18px;height:18px}.type-tile .name{font-size:10px;font-weight:var(--fw-semibold);letter-spacing:.04em;text-transform:uppercase}
