@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-display:swap;src:url("/fonts/bricolage-grotesque-XV2ZJLIL.woff2") format("woff2")}.landing{--l-ground: #E6E8EC;--l-ink: #1B1F29;--l-soft: #454B58;--l-line: #C3C7CF;--l-grid: rgba(27, 31, 41, .13);--l-accent: #2340FF;min-height:100vh;overflow:hidden;background:var(--l-ground);color:var(--l-ink);font-family:"Bricolage Grotesque",var(--font-sans)}.landing[data-mode=night]{--l-ground: #0F1115;--l-ink: #E8EAF0;--l-soft: #A3A9B7;--l-line: #2C313B;--l-grid: rgba(255, 255, 255, .14);--l-accent: #4D66FF}.landing a{color:inherit}.landing a:focus-visible{outline:3px solid var(--l-accent);outline-offset:4px;border-radius:4px}.landing-stage{position:relative;min-height:100vh;min-height:100svh;box-sizing:border-box;display:flex;flex-direction:column;touch-action:pan-y;-webkit-user-select:none;user-select:none}@media(hover:hover){.landing-stage{cursor:none}.landing-stage a{cursor:pointer}}.landing-grid{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(var(--l-grid) 1px,transparent 1px),linear-gradient(90deg,var(--l-grid) 1px,transparent 1px);background-size:28px 28px}.landing-head{position:relative;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:max(28px,calc(env(safe-area-inset-top) + 14px)) max(clamp(20px,4vw,56px),env(safe-area-inset-right)) 28px max(clamp(20px,4vw,56px),env(safe-area-inset-left));font-size:16px}.landing-brand{font-weight:600;letter-spacing:-.01em}.landing-cta{padding:10px 22px;border-radius:999px;border:1.5px solid var(--l-ink);text-decoration:none;font-weight:500;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.landing-cta:hover{background:var(--l-accent);border-color:var(--l-accent);color:#fff!important}.landing-hero{position:relative;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:40px;padding:8px 0 72px;will-change:transform}.landing-wordwrap{position:relative}.landing-word{font-size:clamp(84px,20.5vw,320px);line-height:.86;letter-spacing:-.05em;white-space:nowrap;margin:0;display:flex;font-weight:400}.landing-word-outline{color:var(--l-ground);-webkit-text-stroke:3px var(--l-ink);paint-order:stroke fill}.landing-word-fill{position:absolute;inset:0;color:var(--l-accent)}.landing-word>span{display:inline-block}.landing-l{display:inline-block;will-change:transform}.landing-tagline{margin:0;font-size:clamp(18px,1.7vw,24px);font-weight:500;color:var(--l-soft)}.landing-cursor{position:absolute;left:0;top:0;color:var(--l-accent);pointer-events:none;transition:opacity .2s ease}.landing-cursor-dot{position:absolute;left:-6px;top:-6px;width:12px;height:12px;border-radius:50%;background:currentColor}.landing-ring{position:absolute;left:0;top:0;width:120px;height:120px;margin:-60px 0 0 -60px;border-radius:50%;border:1.5px solid currentColor}.landing-scroll{position:absolute;left:50%;bottom:28px;width:1.5px;height:48px;margin-left:-.75px;background:var(--l-line);overflow:hidden}.landing-scroll>span{position:absolute;left:0;top:0;width:1.5px;height:10px;background:var(--l-accent)}.landing-band{position:relative;padding:28px 0;background:var(--l-accent);color:#fff;transform:rotate(-2deg);margin:24px -40px 0;box-shadow:0 30px 80px #141e5a2e}.landing-band-skew{transition:transform .15s linear}.landing-track{display:flex;width:max-content}.landing-band-item{display:inline-flex;align-items:center;gap:36px;padding-right:36px;font-size:clamp(40px,6vw,84px);line-height:1;letter-spacing:-.03em;white-space:nowrap}.landing-band-item.is-outline{font-weight:500;color:var(--l-accent);-webkit-text-stroke:3px #FFFFFF;paint-order:stroke fill}.landing-band-item.is-solid{font-weight:800}.landing-band-item svg{width:.5em;height:.5em;flex:none}.landing-close{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:48px;align-items:end;max-width:1240px;margin:0 auto;padding:160px clamp(20px,4vw,56px) 120px}.landing-close h2{margin:0;font-weight:800;font-size:clamp(52px,7.5vw,120px);line-height:.96;letter-spacing:-.045em}.landing-close h2>span{display:block;overflow:hidden;padding-bottom:.06em}.landing-close p{margin:0 0 28px;font-size:20px;line-height:1.5;color:var(--l-soft)}.landing-magnet{display:inline-block;padding:18px;margin:-18px}.landing-big{display:inline-flex;align-items:center;gap:14px;font-weight:700;font-size:32px;letter-spacing:-.02em;text-decoration:none;color:var(--l-accent)!important;transition:transform .35s cubic-bezier(.2,.8,.2,1)}.landing-line-in{display:inline-block;transform:translateY(108%);transition:transform 1s cubic-bezier(.2,.8,.2,1)}.landing-fade{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.8,.2,1)}.is-in .landing-line-in,.is-in .landing-fade{opacity:1;transform:none}.landing-giant{position:relative;max-width:1360px;margin:0 auto;padding:0 clamp(12px,2vw,40px);font-weight:800;font-size:clamp(72px,19vw,290px);line-height:.85;letter-spacing:-.055em;white-space:nowrap;text-align:center}.landing-giant>span{display:block}.landing-giant-outline{color:var(--l-ground);-webkit-text-stroke:3px var(--l-line);paint-order:stroke fill}.landing-giant-fill{position:absolute;inset:0;color:var(--l-ink);clip-path:inset(0 100% 0 0);transition:clip-path 1.8s cubic-bezier(.65,0,.35,1)}.is-in .landing-giant-fill{clip-path:inset(0 0 0 0)}.landing-foot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;max-width:1240px;margin:0 auto;padding:36px clamp(20px,4vw,56px) 40px;font-size:15px;color:var(--l-soft)}.landing-foot nav{display:flex;gap:24px}.landing-break,.landing-dock{display:none}.landing-dock-main{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:60px;border:0;border-radius:999px;background:var(--l-accent);color:#fff!important;font:inherit;font-size:19px;font-weight:600;letter-spacing:-.01em;text-decoration:none;cursor:pointer;box-shadow:0 18px 40px #2340ff47;transition:transform .2s cubic-bezier(.2,.8,.2,1)}.landing-dock-main:active{transform:scale(.97)}.landing-dock-main:disabled{opacity:.7}.landing-dock-main:focus-visible,.landing-dock-alt:focus-visible{outline:3px solid var(--l-ink);outline-offset:3px}.landing-dock-alt{display:flex;align-items:center;justify-content:center;height:48px;font-size:16px;font-weight:500;text-decoration:none}.landing-dock-error{margin:0;font-size:15px;text-align:center;color:var(--l-ink)}.landing-dock-legal{display:none;justify-content:center;gap:24px;font-size:14px;color:var(--l-soft)}.landing-dock-legal a{padding:8px 0;text-decoration:none}@media(max-width:760px){.landing-close{grid-template-columns:minmax(0,1fr);padding-top:110px}.landing-head .landing-cta,.landing-scroll{display:none}.landing-hero{align-items:stretch;justify-content:center;gap:28px;padding:0 max(20px,env(safe-area-inset-right)) 24px max(20px,env(safe-area-inset-left))}.landing-word{flex-wrap:wrap;font-size:39vw;line-height:.82}.landing-break{display:block;flex-basis:100%;height:0}.landing-tagline{font-size:20px}.landing-dock{position:relative;display:flex;flex-direction:column;gap:4px;padding:0 max(20px,env(safe-area-inset-right)) max(24px,calc(env(safe-area-inset-bottom) + 12px)) max(20px,env(safe-area-inset-left))}}@media(max-width:760px)and (display-mode:standalone){.landing .landing-band,.landing .landing-close,.landing .landing-giant,.landing .landing-foot{display:none}.landing .landing-dock-legal{display:flex}}@media(max-width:760px){.landing[data-app] .landing-band,.landing[data-app] .landing-close,.landing[data-app] .landing-giant,.landing[data-app] .landing-foot{display:none}.landing[data-app] .landing-dock-legal{display:flex}}@media(prefers-reduced-motion:no-preference){.landing-rise{animation:landing-rise .9s cubic-bezier(.2,.8,.2,1) both}.landing-drop{animation:landing-drop .8s .3s cubic-bezier(.2,.8,.2,1) both}.landing-track{animation:landing-marquee 38s linear infinite}.landing-ring{animation:landing-pulse 2s ease-out infinite}.landing-ring+.landing-ring{animation-delay:1s}.landing-scroll>span{animation:landing-drip 2.2s cubic-bezier(.6,0,.4,1) infinite}}@media(prefers-reduced-motion:reduce){.landing-line-in,.landing-fade,.landing-giant-fill{transition:none}}@keyframes landing-rise{0%{opacity:0;transform:translateY(.35em)}to{opacity:1;transform:none}}@keyframes landing-drop{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:none}}@keyframes landing-marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes landing-pulse{0%{transform:scale(.25);opacity:.7}to{transform:scale(1.7);opacity:0}}@keyframes landing-drip{0%{transform:translateY(0);opacity:0}15%{opacity:1}85%{opacity:1}to{transform:translateY(40px);opacity:0}}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/inter-400-5ETDIXQ5.woff") format("woff")}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url("/fonts/inter-500-DPNXW3OZ.woff") format("woff")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url("/fonts/inter-600-NLEUV734.woff") format("woff")}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url("/fonts/inter-700-5CTHZDWD.woff") format("woff")}:root{--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", system-ui, sans-serif;--font-mono: "SF Mono", "JetBrains Mono", ui-monospace, "Cascadia Code", Menlo, Consolas, "Liberation Mono", monospace;--radius-xs: 6px;--radius-sm: 8px;--ease-spring: cubic-bezier(.34, 1.4, .5, 1);--radius-md: 12px;--radius-lg: 16px;--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--text-xs: 11px;--text-sm: 12px;--text-md: 13px;--text-lg: 15px;--text-xl: 22px;--text-2xl: 32px;--tile-overview: #0A84FF;--tile-links: #5E5CE6;--tile-notes: #FF9F0A;--tile-projects: #BF5AF2;--tile-status: #30D158;--tile-settings: #8E8E93;--tile-finance: #FF375F;--tile-mail: #32ADE6;--tile-calendar: #FFD60A;--project-violet: #BF5AF2;--project-blue: #0A84FF;--project-cyan: #40C8E0;--project-green: #30D158;--project-yellow: #FFD60A;--project-orange: #FF9F0A;--project-red: #FF453A;--project-pink: #FF375F}:root,:root[data-theme=dark]{color-scheme:dark;--bg: #1C1C1E;--welcome-veil: rgba(28, 28, 30, .8);--panel: rgba(44, 44, 46, .72);--panel-border: rgba(255, 255, 255, .08);--panel-shadow: 0 8px 30px rgba(0, 0, 0, .35);--glass: rgba(255, 255, 255, .07);--glass-strong: rgba(255, 255, 255, .16);--glass-border: rgba(255, 255, 255, .08);--field: rgba(255, 255, 255, .08);--field-solid: rgba(0, 0, 0, .25);--field-border: rgba(255, 255, 255, .1);--surface: rgba(255, 255, 255, .045);--surface-solid: #2C2C2E;--surface-raised: #2C2C2E;--border: rgba(255, 255, 255, .07);--separator: rgba(255, 255, 255, .08);--track: rgba(255, 255, 255, .1);--hover: rgba(255, 255, 255, .06);--text: #F5F5F7;--text-secondary: #D1D1D6;--text-muted: #A1A1A6;--text-tertiary: rgba(235, 235, 245, .3);--accent: #0A84FF;--accent-hover: #409CFF;--accent-soft: rgba(10, 132, 255, .16);--accent-text: #6CB4FF;--focus-ring: rgba(10, 132, 255, .5);--success: #30D158;--success-text: #30D158;--danger: #FF453A;--danger-text: #FF6961;--danger-soft: rgba(255, 69, 58, .14);--warning: #FF9F0A;--warning-text: #FFB340;--warning-soft: rgba(255, 159, 10, .14);--dialog-bg: #2C2C2E;--backdrop: rgba(0, 0, 0, .5);--shadow-pop: 0 20px 50px rgba(0, 0, 0, .5);--code-bg: rgba(0, 0, 0, .3)}:root[data-theme=light]{color-scheme:light;--bg: #ECECEE;--welcome-veil: rgba(236, 236, 238, .82);--panel: rgba(255, 255, 255, .62);--panel-border: rgba(0, 0, 0, .07);--panel-shadow: 0 8px 30px rgba(0, 0, 0, .08);--glass: rgba(255, 255, 255, .7);--glass-strong: #FFFFFF;--glass-border: rgba(0, 0, 0, .08);--field: rgba(0, 0, 0, .06);--field-solid: #FFFFFF;--field-border: rgba(0, 0, 0, .14);--surface: #FFFFFF;--surface-solid: #FFFFFF;--surface-raised: #FFFFFF;--border: rgba(0, 0, 0, .06);--separator: rgba(0, 0, 0, .08);--track: rgba(0, 0, 0, .08);--hover: rgba(0, 0, 0, .04);--text: #1D1D1F;--text-secondary: #3A3A3C;--text-muted: #6E6E73;--text-tertiary: rgba(60, 60, 67, .3);--accent: #007AFF;--accent-hover: #0062CC;--accent-soft: rgba(0, 122, 255, .1);--accent-text: #0062CC;--focus-ring: rgba(0, 122, 255, .35);--success: #34C759;--success-text: #1E7E34;--danger: #FF3B30;--danger-text: #C9190B;--danger-soft: rgba(255, 59, 48, .1);--warning: #FF9F0A;--warning-text: #B25000;--warning-soft: rgba(255, 159, 10, .14);--dialog-bg: #FFFFFF;--backdrop: rgba(0, 0, 0, .25);--shadow-pop: 0 20px 50px rgba(0, 0, 0, .18);--code-bg: #F2F2F5;--tile-links: #5856D6}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--text-md);line-height:1.4;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,p{margin:0}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}button,input,select,textarea{font:inherit;color:inherit}code,pre,kbd,.mono{font-family:var(--font-mono)}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}::selection{background:var(--accent-soft)}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.boot{min-height:100vh;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.shell{min-height:100vh;display:flex;gap:10px;padding:10px}.sidebar{position:sticky;top:10px;align-self:flex-start;width:232px;flex:none;height:calc(100vh - 20px);display:flex;flex-direction:column;gap:16px;padding:12px 10px 10px;border-radius:var(--radius-lg);background:var(--panel);border:1px solid var(--panel-border);box-shadow:var(--panel-shadow);backdrop-filter:blur(30px) saturate(180%);-webkit-backdrop-filter:blur(30px) saturate(180%);overflow-y:auto}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:4px 6px 0}.sidebar-brand-text{display:flex;flex-direction:column;min-width:0}.sidebar-app{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user{font-size:var(--text-xs);color:var(--text-muted)}.app-tile{width:32px;height:32px;flex:none;border-radius:8px;background:var(--tile-overview);color:#fff;display:inline-flex;align-items:center;justify-content:center;box-shadow:inset 0 1px #ffffff40}.app-tile-lg{width:72px;height:72px;border-radius:18px;box-shadow:inset 0 1px #ffffff4d,0 10px 30px #0a84ff59}.nav-group{--nav-row: 31px;position:relative;display:flex;flex-direction:column;gap:1px}.nav-bottom{margin-top:auto}.nav-pill{position:absolute;left:0;right:0;top:0;height:30px;border-radius:var(--radius-sm);background:var(--accent);box-shadow:0 4px 14px color-mix(in srgb,var(--accent) 38%,transparent);transform:translateY(calc(var(--i, 0) * var(--nav-row)));transition:transform .45s var(--ease-spring),opacity .2s ease;pointer-events:none}.nav-pill.is-off{opacity:0;transform:translateY(calc(var(--i, 0) * var(--nav-row))) scaleX(.6)}.nav-item{position:relative;z-index:1;display:flex;align-items:center;gap:9px;height:30px;padding:0 7px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text);text-align:left;cursor:pointer;transition:background-color .18s ease,color .25s ease,transform .15s ease}.nav-item:hover{color:var(--text);background:var(--hover)}.nav-item:active{transform:scale(.97)}.nav-item-active,.nav-item-active:hover{background:transparent;color:#fff}.nav-item-active .nav-tile{background:#ffffff38!important;animation:nav-pop .5s var(--ease-spring)}.nav-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:transform .25s var(--ease-spring)}.nav-item:hover .nav-label{transform:translate(2px)}.nav-item-active:hover .nav-label{transform:none}.nav-item:hover .nav-tile{transform:translateY(-1px) scale(1.1) rotate(-6deg)}.nav-item-active:hover .nav-tile{transform:none}@keyframes nav-pop{0%{transform:scale(.7) rotate(-12deg)}60%{transform:scale(1.15) rotate(4deg)}to{transform:none}}@keyframes nav-badge-in{0%{transform:scale(0)}70%{transform:scale(1.25)}to{transform:scale(1)}}.nav-tile{width:22px;height:22px;flex:none;border-radius:var(--radius-xs);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:14px;transition:transform .3s var(--ease-spring),background-color .25s ease}.tile-overview{background:var(--tile-overview)}.tile-links{background:var(--tile-links)}.tile-notes{background:var(--tile-notes)}.tile-projects{background:var(--tile-projects)}.tile-status{background:var(--tile-status)}.tile-settings{background:var(--tile-settings)}.tile-finance{background:var(--tile-finance)}.tile-mail{background:var(--tile-mail)}.tile-calendar{background:var(--tile-calendar);color:#1c1c1e}.tile-neutral{background:var(--field);color:var(--text-muted)}.nav-badge{min-width:20px;height:18px;padding:0 6px;border-radius:9px;background:var(--danger);color:#fff;font-size:var(--text-xs);font-weight:600;display:inline-flex;align-items:center;justify-content:center;animation:nav-badge-in .4s var(--ease-spring)}.nav-item-active .nav-badge{background:#fff;color:var(--accent)}.content{flex:1;min-width:0;display:flex;flex-direction:column}.content-inner{flex:1;display:flex;flex-direction:column;min-width:0}.toolbar{min-height:52px;display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:6px 14px 6px 8px}.toolbar-nav{display:flex;height:30px;border-radius:var(--radius-pill);background:var(--glass);border:1px solid var(--glass-border)}.toolbar-nav button{width:34px;border:0;background:transparent;color:var(--text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border-radius:var(--radius-pill)}.toolbar-nav button:hover{background:var(--hover)}.toolbar-title{margin-left:4px;font-size:var(--text-lg);font-weight:600;min-width:0;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolbar-actions{margin-left:auto;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.page{padding:8px 28px 32px 22px;display:flex;flex-direction:column;gap:24px;max-width:1140px;width:100%}.page-narrow{max-width:760px}.footer{display:flex;flex-wrap:wrap;gap:6px 14px;padding:12px 22px 16px;font-size:var(--text-xs)}.footer a{color:var(--text-muted)}.footer a:hover{color:var(--text)}.tabbar,.mobile-settings{display:none}@media(max-width:767px){.shell{padding:0;gap:0;display:block}.sidebar{display:none}.content{min-height:100vh;padding-bottom:calc(84px + env(safe-area-inset-bottom))}.toolbar{padding:calc(20px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 8px max(16px,env(safe-area-inset-left))}.toolbar-nav{display:none}.toolbar-title{margin:0;font-size:var(--text-2xl);font-weight:700;letter-spacing:-.02em;flex-basis:100%;padding-right:52px;white-space:normal;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.toolbar-actions{margin-left:0}.page{padding:8px max(16px,env(safe-area-inset-right)) 24px max(16px,env(safe-area-inset-left))}.footer{padding:8px 16px 16px}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);padding:6px 4px calc(10px + env(safe-area-inset-bottom));background:var(--panel);border-top:1px solid var(--panel-border);backdrop-filter:blur(30px) saturate(180%);-webkit-backdrop-filter:blur(30px) saturate(180%)}.tab{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;min-height:48px;justify-content:center;font-size:10px;font-weight:500;color:var(--text-muted);transition:color .25s ease;-webkit-tap-highlight-color:transparent}.tab svg{position:relative;z-index:1;font-size:22px;transition:transform .3s var(--ease-spring)}.tab span{position:relative;z-index:1}.tab:before{content:"";position:absolute;top:5px;left:50%;width:52px;height:30px;margin-left:-26px;border-radius:15px;background:color-mix(in srgb,var(--accent) 15%,transparent);transform:scale(.4);opacity:0;transition:transform .4s var(--ease-spring),opacity .2s ease}.tab:active svg{transform:scale(.85)}.tab-active,.tab-active:hover{color:var(--accent)}.tab-active:before{transform:scale(1);opacity:1}.tab-active svg{animation:tab-bounce .5s var(--ease-spring)}@keyframes tab-bounce{0%{transform:translateY(0) scale(.85)}50%{transform:translateY(-3px) scale(1.12)}to{transform:none}}.mobile-settings{position:absolute;top:calc(16px + env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));width:44px;height:44px;border-radius:22px;display:inline-flex;align-items:center;justify-content:center;background:var(--surface-solid);color:var(--accent);font-size:20px}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:30px;padding:0 14px;border-radius:var(--radius-pill);border:1px solid var(--glass-border);background:var(--glass);color:var(--text);font-weight:500;white-space:nowrap;cursor:pointer;transition:background-color .12s ease,opacity .12s ease}.btn:hover:not(:disabled){background:var(--glass-strong)}.btn:disabled{opacity:.5;cursor:default}.btn[aria-busy=true]{opacity:.75}.btn svg{flex:none}.btn-primary{background:var(--accent);border-color:transparent;color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-danger{background:var(--danger);border-color:transparent;color:#fff}.btn-danger:hover:not(:disabled){background:var(--danger);filter:brightness(1.1)}.btn-ghost{background:transparent;border-color:transparent;color:var(--accent)}.btn-ghost:hover:not(:disabled){background:var(--hover)}.btn-sm{height:26px;padding:0 12px;font-size:var(--text-sm)}.btn-block{width:100%;height:34px;font-size:14px}.btn-icon{width:30px;padding:0}.btn-icon.btn-sm{width:26px}.spinner{width:14px;height:14px;flex:none;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field>label{font-weight:500;color:var(--text-secondary)}.field-hint{font-size:var(--text-sm);color:var(--text-muted)}.field-error{font-size:var(--text-sm);color:var(--danger-text)}.input,.select,.textarea{width:100%;min-height:32px;padding:6px 10px;border:1px solid var(--field-border);border-radius:var(--radius-sm);background:var(--field-solid);color:var(--text);font-size:14px}.textarea{min-height:120px;resize:vertical;line-height:1.5}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.field-invalid .input,.field-invalid .select,.field-invalid .textarea{border-color:var(--danger)}.input:disabled{opacity:.55}.input-code{font-size:20px;letter-spacing:.2em;text-align:center}.select{appearance:none;padding-right:30px;background-image:linear-gradient(45deg,transparent 50%,var(--text-muted) 50%),linear-gradient(135deg,var(--text-muted) 50%,transparent 50%);background-position:calc(100% - 15px) 14px,calc(100% - 10px) 14px;background-size:5px 5px;background-repeat:no-repeat}.check{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.check input{width:16px;height:16px;accent-color:var(--accent);margin:0}.group{display:flex;flex-direction:column;gap:8px}.group-title{margin:0 2px;font-size:var(--text-md);font-weight:600}.group-head{display:flex;align-items:center;gap:8px}.group-head .group-title{flex:1}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px}.form-panel{display:flex;flex-direction:column;gap:14px}.list{list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.list-row{position:relative;display:flex;align-items:center;gap:10px;min-height:44px;padding:6px 12px 6px 14px;color:var(--text)}.list-row+.list-row:before{content:"";position:absolute;top:0;right:0;left:var(--sep-inset, 14px);border-top:1px solid var(--separator)}a.list-row:hover,button.list-row:hover{background:var(--hover);color:var(--text)}.list-main{flex:1;min-width:0;display:flex;flex-direction:column}.list-main>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-sub{font-size:var(--text-xs);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis}.list-value{font-size:var(--text-sm);color:var(--text-muted);white-space:nowrap}.chevron{color:var(--text-tertiary);flex:none}.badge{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 8px;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:600;background:var(--field);color:var(--text-secondary);white-space:nowrap}.badge-accent{background:var(--accent-soft);color:var(--accent-text)}.badge-success{background:#30d15829;color:var(--success-text)}.badge-warning{background:var(--warning-soft);color:var(--warning-text)}.badge-danger{background:var(--danger-soft);color:var(--danger-text)}.status{display:inline-flex;align-items:center;gap:7px;font-weight:500}.status-dot{width:9px;height:9px;border-radius:50%;flex:none}.status-up{color:var(--success-text)}.status-up .status-dot{background:var(--success);box-shadow:0 0 0 3px #30d1582e}.status-down{color:var(--danger-text)}.status-down .status-dot{background:var(--danger);box-shadow:0 0 0 3px #ff453a33}.status-none{color:var(--text-muted)}.status-none .status-dot{border:1.5px solid var(--text-muted)}.dialog{width:min(480px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100vh - 48px);padding:0;border:1px solid var(--panel-border);border-radius:var(--radius-lg);background:var(--dialog-bg);color:var(--text);box-shadow:var(--shadow-pop)}.dialog-wide{width:min(640px,calc(100vw - 32px))}.dialog::backdrop{background:var(--backdrop);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dialog-inner{display:flex;flex-direction:column;max-height:calc(100vh - 50px)}.dialog-header{display:flex;align-items:center;gap:10px;padding:16px 16px 8px 20px}.dialog-header h2{flex:1;font-size:var(--text-lg);font-weight:600}.dialog-close{width:28px;height:28px;border:0;border-radius:14px;background:var(--field);color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.dialog-body{padding:8px 20px 16px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.dialog-footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:12px 20px 18px;border-top:1px solid var(--separator)}.toasts{position:fixed;right:16px;bottom:16px;z-index:100;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{display:flex;align-items:center;gap:8px;max-width:min(420px,calc(100vw - 32px));padding:10px 14px;border-radius:var(--radius-md);background:var(--surface-raised);border:1px solid var(--panel-border);box-shadow:var(--shadow-pop);pointer-events:auto}.toast-success svg{color:var(--success)}.toast-error svg{color:var(--danger)}@media(max-width:767px){.toasts{left:16px;right:16px;bottom:calc(96px + env(safe-area-inset-bottom))}}.empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px 16px;text-align:center;color:var(--text-muted)}.empty-icon{font-size:28px;color:var(--text-tertiary)}.empty-title{color:var(--text);font-weight:600;font-size:var(--text-lg)}.empty-text{max-width:420px}.callout{padding:12px 14px;border-radius:var(--radius-md);background:var(--accent-soft);color:var(--text);display:flex;flex-direction:column;gap:6px}.callout-danger{background:var(--danger-soft)}.callout-warning{background:var(--warning-soft)}.stack{display:flex;flex-direction:column;gap:16px}.actions{display:flex;flex-wrap:wrap;gap:8px}.actions-end{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.muted{color:var(--text-muted)}.center{text-align:center}.pre-line{white-space:pre-line}.form-error{color:var(--danger-text)}.code-panel{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:var(--code-bg)}.code-panel-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px 8px 14px;border-bottom:1px solid var(--separator);font-size:var(--text-sm);color:var(--text-muted)}.code-panel pre{margin:0;padding:14px;overflow:auto;max-height:420px;font-size:12px;line-height:1.55}.callout-info{flex-direction:row;align-items:flex-start;gap:10px;color:var(--accent-text);border:1px solid var(--accent-soft)}.callout-info svg{flex:none;margin-top:2px}.callout-inline{flex-direction:row;align-items:flex-start;gap:10px;margin:0}.callout-inline svg{flex:none;margin-top:2px}.callout-warning.callout-inline{color:var(--warning-text)}.search{position:relative;display:flex;align-items:center;width:220px;max-width:100%}.search-icon{position:absolute;left:10px;color:var(--text-muted);pointer-events:none}.search-input{width:100%;height:30px;padding:0 30px;border-radius:var(--radius-pill);border:1px solid var(--glass-border);background:var(--field);color:var(--text)}.search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.search-input::-webkit-search-cancel-button{display:none}.search-clear{position:absolute;right:6px;width:20px;height:20px;border:0;border-radius:10px;background:var(--glass-strong);color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.icon-action{width:28px;height:28px;flex:none;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:15px}.icon-action:hover:not(:disabled){background:var(--hover);color:var(--text)}.icon-action[aria-pressed=true]{color:var(--accent)}.icon-action:disabled{opacity:.5}.drag-handle{width:22px;height:32px;flex:none;border:0;border-radius:var(--radius-xs);background:transparent;color:var(--text-tertiary);display:inline-flex;align-items:center;justify-content:center;cursor:grab;touch-action:none}.drag-handle:hover{color:var(--text-muted);background:var(--hover)}.sortable-dragging,.sortable-dragging *{cursor:grabbing!important;-webkit-user-select:none;user-select:none}.sortable-item.is-dragging{opacity:.55}.sortable-item.is-dragging .link-row,.sortable-item.is-dragging .todo-row{background:var(--accent-soft)}.favicon{width:28px;height:28px;flex:none;border-radius:7px;object-fit:contain;background:#fff;padding:3px}.favicon-lg{width:48px;height:48px;border-radius:12px;padding:6px;box-shadow:inset 0 1px #ffffff38,0 2px 6px #00000040}.favicon-letter{display:inline-flex;align-items:center;justify-content:center;padding:0;color:#fff;font-weight:600;font-size:13px}.favicon-lg.favicon-letter{font-size:20px}.favicon-letter[data-color=violet]{background:var(--project-violet)}.favicon-letter[data-color=blue]{background:var(--project-blue)}.favicon-letter[data-color=cyan]{background:#0e9ab0}.favicon-letter[data-color=green]{background:#1f9e45}.favicon-letter[data-color=yellow]{background:#b58a00}.favicon-letter[data-color=orange]{background:#c76a00}.favicon-letter[data-color=red]{background:#d63a31}.favicon-letter[data-color=pink]{background:#d9264e}.textarea-sm{min-height:72px}.segmented{display:inline-flex;flex-wrap:wrap;padding:2px;gap:2px;border-radius:var(--radius-pill);background:var(--glass);border:1px solid var(--glass-border);align-self:flex-start;margin:0;min-width:0}.segmented>button,.segmented>label{height:24px;padding:0 14px;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--text);display:inline-flex;align-items:center;cursor:pointer;font-weight:500;white-space:nowrap}.segmented>button.is-active,.segmented>label.is-active{background:var(--glass-strong);box-shadow:0 1px 2px #00000026}.segmented-radio input{position:absolute;opacity:0;width:1px;height:1px}.segmented-radio label:focus-within{outline:3px solid var(--focus-ring);outline-offset:1px}.tag-input{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:34px;padding:4px 6px;border:1px solid var(--field-border);border-radius:var(--radius-sm);background:var(--field-solid)}.tag-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.tag-input-field{flex:1;min-width:120px;border:0;background:transparent;outline:none;height:24px;color:var(--text)}.tag-chip{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent-text);font-size:var(--text-sm);font-weight:500}.tag-chip button{width:16px;height:16px;border:0;padding:0;border-radius:8px;background:transparent;color:inherit;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.tag-chip-button{border:0;cursor:pointer;background:var(--field);color:var(--text-secondary)}.tag-chip-button.is-active{background:var(--accent);color:#fff}.tag-count{opacity:.7;font-variant-numeric:tabular-nums}.markdown{line-height:1.6;overflow-wrap:anywhere}.markdown>*+*{margin-top:.8em}.markdown h1,.markdown h2,.markdown h3{line-height:1.25;font-weight:600}.markdown h1{font-size:22px}.markdown h2{font-size:18px}.markdown h3{font-size:15px}.markdown ul,.markdown ol{padding-left:1.4em}.markdown blockquote{margin:0;padding-left:12px;border-left:3px solid var(--separator);color:var(--text-muted)}.markdown code{font-size:.92em;padding:1px 5px;border-radius:5px;background:var(--code-bg)}.markdown pre code{padding:0;background:transparent}.markdown table{border-collapse:collapse;display:block;overflow-x:auto}.markdown th,.markdown td{border:1px solid var(--separator);padding:4px 8px}.markdown img{max-width:100%}.markdown hr{border:0;border-top:1px solid var(--separator)}.code-block{margin:0;padding:14px;overflow:auto;border-radius:var(--radius-md);background:var(--code-bg);font-size:12.5px;line-height:1.55}.code-panel .code-block{border-radius:0;background:transparent;max-height:70vh}.hljs-comment,.hljs-quote{color:#8e8e93;font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-literal,.hljs-doctag{color:#ff7ab2}.hljs-string,.hljs-regexp,.hljs-addition{color:#ff8170}.hljs-number{color:#d9c97c}.hljs-title,.hljs-section,.hljs-title.function_{color:#6bdfff}.hljs-built_in,.hljs-type,.hljs-class .hljs-title{color:#dabaff}.hljs-attr,.hljs-attribute,.hljs-variable,.hljs-template-variable{color:#acf2e4}.hljs-meta,.hljs-symbol{color:#ffa14f}.hljs-deletion{color:#ff6961}:root[data-theme=light] .hljs-comment,:root[data-theme=light] .hljs-quote{color:#6e6e73}:root[data-theme=light] .hljs-keyword,:root[data-theme=light] .hljs-selector-tag,:root[data-theme=light] .hljs-literal{color:#ad3da4}:root[data-theme=light] .hljs-string,:root[data-theme=light] .hljs-regexp{color:#c41a16}:root[data-theme=light] .hljs-number{color:#1c00cf}:root[data-theme=light] .hljs-title,:root[data-theme=light] .hljs-section,:root[data-theme=light] .hljs-title.function_{color:#326d74}:root[data-theme=light] .hljs-built_in,:root[data-theme=light] .hljs-type{color:#5c2699}:root[data-theme=light] .hljs-attr,:root[data-theme=light] .hljs-attribute,:root[data-theme=light] .hljs-variable{color:#3f6e74}:root[data-theme=light] .hljs-meta{color:#643820}.login-or{align-self:center;font-size:var(--text-sm);color:var(--text-muted)}.auth{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:calc(48px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(16px,env(safe-area-inset-left));background:radial-gradient(1200px 700px at 50% 0%,var(--auth-glow, rgba(10, 132, 255, .12)) 0%,transparent 60%),var(--bg)}:root[data-theme=light] .auth{--auth-glow: rgba(0, 122, 255, .08)}.auth-main{width:100%;max-width:360px;display:flex;flex-direction:column;gap:20px;flex:1}.auth-wide{max-width:640px}.auth-head{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.auth-head h1{font-size:var(--text-xl);font-weight:600}.auth-subtitle{color:var(--text-muted);margin-top:-6px}.auth .footer{justify-content:center;padding:32px 16px 20px}.auth .panel{background:var(--panel);border-color:var(--panel-border);box-shadow:var(--panel-shadow)}.auth .list{background:var(--panel);border-color:var(--panel-border)}.step-title{font-size:var(--text-lg);font-weight:600;text-align:center}.req-icon{font-size:18px;display:inline-flex}.req-ok{color:var(--success-text)}.req-fail{color:var(--danger-text)}.req-warn{color:var(--warning-text)}.req-state{font-size:var(--text-sm);font-weight:500}.req{--sep-inset: 42px}.enroll{display:flex;flex-wrap:wrap;gap:20px;align-items:center}.enroll-qr{padding:10px;background:#fff;border-radius:var(--radius-md);line-height:0}.enroll-side{flex:1 1 220px;display:flex;flex-direction:column;gap:12px;min-width:0}.secret{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.secret-label{font-size:var(--text-sm);color:var(--text-muted)}.secret-value{font-size:15px;letter-spacing:.04em;word-break:break-word}.codes{list-style:none;padding:0;margin:14px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.codes li{padding:8px 10px;border-radius:var(--radius-sm);background:var(--code-bg);text-align:center;font-size:14px;letter-spacing:.05em}.legal{display:flex;flex-direction:column;gap:18px;line-height:1.55}.legal h2{font-size:var(--text-md);font-weight:600;margin-bottom:4px}.legal p{max-width:72ch}.sortable{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:24px;align-items:start}.link-list{padding:4px 0}.list-empty{margin:0;padding:14px;color:var(--text-muted);text-align:center;font-size:var(--text-sm)}.link-row{position:relative;display:flex;align-items:center;gap:6px;padding:4px 6px 4px 4px;min-height:52px}.sortable-item+.sortable-item .link-row:before{content:"";position:absolute;top:0;right:0;left:64px;border-top:1px solid var(--separator)}.link-main{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:4px 6px;border-radius:var(--radius-sm);color:var(--text)}.link-main:hover{color:var(--text);background:var(--hover)}.link-text{min-width:0;display:flex;flex-direction:column}.link-title{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-host{font-size:var(--text-xs);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-desc{font-size:var(--text-sm);color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.row-actions{display:flex;gap:2px;flex:none}@media(hover:hover)and (min-width:768px){.link-row .row-actions{opacity:0;transition:opacity .12s ease}.link-row:hover .row-actions,.link-row:focus-within .row-actions{opacity:1}}.notes{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:24px;align-items:start;max-width:1400px}.notes-list{position:sticky;top:10px;display:flex;flex-direction:column;min-width:0}.note-list{display:flex;flex-direction:column;gap:10px}.note-list .search{width:100%}.tag-filter{display:flex;flex-wrap:wrap;gap:6px}.note-items{max-height:calc(100vh - 260px);overflow-y:auto}.note-items li+li .note-item:before{content:"";position:absolute;top:0;right:0;left:48px;border-top:1px solid var(--separator)}.note-item{position:relative;display:flex;gap:10px;padding:10px 12px;color:var(--text)}.note-item:hover{color:var(--text);background:var(--hover)}.note-item.is-selected{background:var(--accent);color:#fff}.note-item.is-selected .note-excerpt,.note-item.is-selected .note-meta{color:#fffc}.note-item.is-selected:before,.note-items li:has(.is-selected)+li .note-item:before{display:none}.note-icon{width:26px;height:26px;flex:none;border-radius:7px;background:var(--tile-notes);color:#fff;display:inline-flex;align-items:center;justify-content:center}.note-icon-snippet{background:#636366}.note-text{min-width:0;flex:1;display:flex;flex-direction:column;gap:1px}.note-head{display:flex;align-items:center;gap:6px;min-width:0}.note-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-pin{flex:none;font-size:12px;opacity:.8}.note-excerpt{font-size:var(--text-sm);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-meta{font-size:var(--text-xs);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notes-editor{min-width:0}.back-link{display:none;align-items:center;gap:6px;margin-bottom:12px;font-weight:500}.editor{display:flex;flex-direction:column;gap:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px}.editor-top{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.editor-title{flex:1 1 260px}.input-title{font-size:17px;font-weight:600}.editor-actions{display:flex;gap:8px}.editor-meta{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.editor-lang{flex-direction:row;align-items:center;gap:8px}.editor-lang .select{width:auto;min-width:160px}.editor-content{min-height:360px;font-size:13px;tab-size:2}.editor-preview{min-height:200px}@media(max-width:1023px){.notes{grid-template-columns:minmax(0,1fr)}.notes-list{position:static}.note-items{max-height:none}.notes-editing .notes-list{display:none}.notes:not(.notes-editing) .notes-editor{display:none}.back-link{display:inline-flex}}[data-color=violet]{--project: var(--project-violet)}[data-color=blue]{--project: var(--project-blue)}[data-color=cyan]{--project: var(--project-cyan)}[data-color=green]{--project: var(--project-green)}[data-color=yellow]{--project: var(--project-yellow)}[data-color=orange]{--project: var(--project-orange)}[data-color=red]{--project: var(--project-red)}[data-color=pink]{--project: var(--project-pink)}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:16px}.project-card{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:12px;padding:14px;border-radius:18px;background:var(--surface);border:1px solid var(--border);color:var(--text);transition:background-color .15s ease,border-color .15s ease,transform .15s ease}.project-card:hover{color:var(--text);background:var(--hover);border-color:color-mix(in srgb,var(--project, var(--accent)) 45%,transparent)}.project-link{color:inherit;text-decoration:none}.project-link:after{content:"";position:absolute;inset:0}.project-link:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;border-radius:4px}.project-card .drag-handle{position:relative;z-index:1}.project-card.is-blocked{border-style:dashed;border-color:var(--warning)}.project-waiting{display:flex;align-items:flex-start;gap:6px;font-size:var(--text-sm);color:var(--text-secondary);overflow-wrap:anywhere}.project-waiting svg{flex:none;margin-top:3px;color:var(--warning-text)}.project-stripe{position:absolute;top:0;left:0;right:0;height:4px;background:var(--project)}.project-card-head{display:flex;align-items:center;gap:10px;min-width:0}.project-card-title{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.project-progress-text{font-size:var(--text-xs);color:var(--text-muted)}.project-card-title .project-name{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere;line-height:1.25}.project-chips{display:flex;flex-wrap:wrap;gap:6px}.project-chip{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:3px 8px;border-radius:7px;background:var(--hover);color:var(--text-secondary);font-size:var(--text-xs);font-weight:500}.project-chip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-chip svg{flex:none}.project-chip.is-event{background:color-mix(in srgb,var(--tile-calendar) 16%,transparent)}.project-chip.is-event svg{color:var(--tile-calendar)}.project-chip.is-waiting{background:color-mix(in srgb,var(--warning) 16%,transparent)}.project-chip.is-waiting svg{color:var(--warning-text)}.progress-ring{position:relative;flex:none;display:inline-flex;align-items:center;justify-content:center}.progress-ring svg{position:absolute;inset:0}.progress-ring-track{fill:none;stroke:var(--track);stroke-width:5}.progress-ring-fill{fill:none;stroke:var(--project, var(--accent));stroke-width:5;stroke-linecap:round;transition:stroke-dasharray .4s var(--ease-spring)}.progress-ring-text{position:relative;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-secondary)}.project-dot{width:10px;height:10px;border-radius:50%;background:var(--project);flex:none}.project-name{flex:1;min-width:0;font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-desc{color:var(--text-muted);font-size:var(--text-sm);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.project-meta{display:flex;justify-content:space-between;gap:8px;font-size:var(--text-xs);color:var(--text-muted)}.project-meta>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.progress{height:6px;border-radius:3px;background:var(--track);overflow:hidden}.progress-fill{height:100%;border-radius:3px;background:var(--project, var(--accent));transition:width .2s ease}.project-status{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.project-progress{flex:1 1 220px;display:flex;align-items:center;gap:12px}.project-progress .progress{flex:1}.project-progress .muted{font-size:var(--text-sm);white-space:nowrap}.form-row{display:flex;flex-wrap:wrap;gap:16px}.form-row>*{flex:1 1 200px}.color-field{border:0;margin:0;padding:0}.color-field legend{font-weight:500;color:var(--text-secondary);margin-bottom:5px;padding:0}.swatches{display:flex;flex-wrap:wrap;gap:8px;min-height:32px;align-items:center}.swatch{width:24px;height:24px;border-radius:50%;background:var(--project);cursor:pointer;position:relative;box-shadow:inset 0 0 0 1px #00000026}.swatch input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}.swatch:has(input:checked){box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--project)}.swatch:has(input:focus-visible){outline:3px solid var(--focus-ring);outline-offset:3px}.todos{display:flex;flex-direction:column;gap:10px}.todo-add{display:flex;gap:8px}.todo-add .input{flex:1;min-width:0}.todo-list{padding:2px 0}.todo-list .sortable{display:block}.todo-row{position:relative;display:flex;align-items:center;gap:8px;min-height:42px;padding:2px 6px 2px 4px}.sortable-item+.sortable-item .todo-row:before,.todo-list .sortable+.sortable-item .todo-row:before{content:"";position:absolute;top:0;right:0;left:58px;border-top:1px solid var(--separator)}.todo-check{display:inline-flex;padding:4px}.todo-check input{width:18px;height:18px;accent-color:var(--project, var(--accent));margin:0;cursor:pointer}.todo-title{flex:1;min-width:0;overflow-wrap:anywhere}.todo-row.is-done .todo-title{color:var(--text-muted);text-decoration:line-through}.todo-edit{flex:1;min-height:28px}.drag-spacer{width:22px;flex:none}@media(hover:hover)and (min-width:768px){.todo-row .row-actions{opacity:0;transition:opacity .12s ease}.todo-row:hover .row-actions,.todo-row:focus-within .row-actions{opacity:1}}.monitor-table{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.monitor-head,.monitor-row{display:grid;grid-template-columns:104px minmax(160px,1.3fr) 168px minmax(110px,.7fr) 128px 168px;gap:16px;align-items:center;padding:0 12px 0 16px}.monitor-head{height:32px;font-size:var(--text-xs);font-weight:600;color:var(--text-muted);border-bottom:1px solid var(--separator)}.monitor-head .num,.monitor-ms,.monitor-uptime{text-align:right}.monitor-row{position:relative;min-height:56px;padding-top:6px;padding-bottom:6px}.monitor-row+.monitor-row:before{content:"";position:absolute;top:0;left:16px;right:0;border-top:1px solid var(--separator)}.monitor-main{display:flex;flex-direction:column;min-width:0}.monitor-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monitor-target{font-size:var(--text-xs);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monitor-ms,.monitor-uptime{font-size:var(--text-sm);font-variant-numeric:tabular-nums;white-space:nowrap}.monitor-ms{overflow:hidden;text-overflow:ellipsis}.monitor-ms.is-down{color:var(--danger-text);font-family:var(--font-sans);white-space:normal;overflow-wrap:anywhere}.monitor-uptime{color:var(--text-secondary)}.monitor-actions{display:flex;align-items:center;justify-content:flex-end;gap:2px}.monitor-actions .btn-sm{margin-right:4px}.sparkline{display:block;overflow:visible}.monitor-spark{display:flex;flex-direction:column;gap:5px;min-width:0}.day-bars{display:flex;gap:2px;height:10px;width:160px;max-width:100%}.day-bar{flex:1;border-radius:2px;background:var(--track)}.day-bar.is-up{background:var(--success);opacity:.85}.day-bar.is-short{background:var(--warning)}.day-bar.is-long{background:var(--danger)}.sparkline-base{stroke:var(--separator);stroke-width:1}.sparkline-line{fill:none;stroke:var(--accent);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}.sparkline-point{fill:var(--accent)}.sparkline-down{fill:var(--danger)}@media(max-width:1180px){.monitor-head{display:none}.monitor-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"main state" "spark ms" "uptime actions";row-gap:6px;padding:10px 12px 10px 16px}.monitor-main{grid-area:main}.monitor-state{grid-area:state;justify-self:end}.monitor-spark{grid-area:spark}.monitor-ms{grid-area:ms}.monitor-uptime{grid-area:uptime;text-align:left}.monitor-actions{grid-area:actions}}.cron-url{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 14px}.cron-code{flex:1 1 300px;min-width:0;display:flex;align-items:center;height:28px;padding:0 10px;border-radius:var(--radius-xs);background:var(--code-bg);border:1px solid var(--border);font-size:var(--text-sm);color:var(--text-secondary);overflow-x:auto;white-space:nowrap}.cron-steps{margin:0;padding:12px 16px 4px 34px;border-top:1px solid var(--separator);color:var(--text-secondary);display:flex;flex-direction:column;gap:4px}.cron-note{margin:0;padding:4px 16px 12px;font-size:var(--text-xs)}.form-row-host>:last-child{flex:0 1 120px}.list-row.row-wrap{flex-wrap:wrap;row-gap:8px}@media(max-width:767px){.cron-url>.nav-tile{display:none}}.toolbar-meta{font-size:var(--text-sm);color:var(--text-muted)}.stat-summary{display:flex;flex-direction:column;gap:10px;padding:14px 16px}.stat-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px}.stat-title{font-size:var(--text-lg);font-weight:600}.stat-bar{display:flex;gap:2px;height:8px;border-radius:4px;overflow:hidden;background:var(--track)}.stat-bar>span{display:block;height:100%}.stat-up{background:var(--success)}.stat-down{background:var(--danger)}.stat-none{background:var(--text-tertiary)}.stat-legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:var(--text-xs);color:var(--text-muted)}.stat-legend>span{display:inline-flex;align-items:center;gap:6px}.legend-dot{width:8px;height:8px;border-radius:2px}.stat-summary+.list-row{border-top:1px solid var(--separator)}.stat-summary+.list-row:before{display:none}.app-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:14px 8px}.app-link{display:flex;flex-direction:column;align-items:center;gap:7px;padding:8px 4px;border-radius:var(--radius-md);color:var(--text);min-width:0}.app-link:hover{background:var(--hover);color:var(--text)}.app-link-title{max-width:100%;font-size:var(--text-sm);text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overview-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:24px;align-items:start}.overview-progress{display:flex;align-items:center;gap:8px;width:140px;flex:none}.overview-progress .progress{flex:1}.small{font-size:var(--text-xs);margin:0}.event-icon{width:22px;height:22px;border-radius:6px;flex:none;display:inline-flex;align-items:center;justify-content:center;background:var(--field);color:var(--text-secondary)}.event-icon.is-warn{background:var(--danger-soft);color:var(--danger-text)}.monitor-shared{font-size:var(--text-xs);color:var(--accent-text)}.viewer-field{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.viewer-field legend{padding:0;margin-bottom:4px;font-weight:500;color:var(--text-secondary)}.viewer-list{display:flex;flex-wrap:wrap;gap:8px 16px}.danger-actions{justify-content:flex-start;border-top:1px solid var(--separator);padding-top:10px}.text-danger{color:var(--danger-text)}.page-wide{max-width:1480px}.kanban{margin:0 -4px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding:0 4px}.kanban .kanban-columns{display:grid;grid-template-columns:repeat(4,minmax(210px,1fr));gap:16px;align-items:stretch;padding:0 4px 8px}.kanban .sortable-container{display:flex;min-width:0;scroll-snap-align:start}.kanban-column{flex:1;display:flex;flex-direction:column;gap:10px;min-width:0;padding:12px;border-radius:22px;background:var(--track)}.kanban-column-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 4px;font-size:var(--text-md);font-weight:600}.kanban-column-head>span:first-child{display:inline-flex;align-items:center;gap:8px}.kanban-column-head>span:first-child:before{content:"";width:8px;height:8px;border-radius:4px;background:var(--status-dot, var(--text-muted))}.kanban-column[data-status=waiting]{--status-dot: var(--warning)}.kanban-column[data-status=todo]{--status-dot: var(--text-muted)}.kanban-column[data-status=doing]{--status-dot: var(--accent)}.kanban-column[data-status=done]{--status-dot: var(--success)}.kanban-count{min-width:22px;padding:0 7px;border-radius:11px;background:var(--surface);color:var(--text-muted);font-size:var(--text-xs);font-weight:500;line-height:20px;text-align:center}.kanban-cards{flex:1;display:flex;flex-direction:column;gap:10px;min-height:96px}.kanban-cards .project-card{padding:12px 12px 12px 8px}.kanban-empty{margin:0;flex:1;display:flex;align-items:center;justify-content:center;min-height:80px;border:1px dashed var(--separator);border-radius:var(--radius-sm);color:var(--text-tertiary);font-size:var(--text-sm)}.kanban-move{position:relative;z-index:1;flex:none;width:28px;height:28px;margin:-4px -2px -4px 0;border-radius:var(--radius-xs);color:var(--text-tertiary);display:inline-flex;align-items:center;justify-content:center}.kanban-move:hover{background:var(--hover);color:var(--text-muted)}.kanban-move:has(select:focus-visible){outline:3px solid var(--focus-ring)}.kanban-move select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:16px}.kanban .sortable-item.is-dragging .project-card{background:var(--accent-soft)}@media(max-width:767px){.kanban .kanban-columns{grid-template-columns:repeat(4,calc(100vw - 56px))}}.depmap-wrap{display:flex;flex-direction:column;gap:12px;overflow-x:auto;overscroll-behavior-x:contain}.depmap-hint{margin:0;color:var(--text-muted);font-size:var(--text-sm)}.depmap{position:relative;flex:none}.depmap-lines{position:absolute;inset:0;overflow:visible}.depmap-line{fill:none;stroke:var(--text-tertiary);stroke-width:2;stroke-dasharray:5 5;transition:stroke .15s ease}.depmap-line.is-done{stroke:var(--success);stroke-dasharray:none}.depmap-line.is-active{stroke:var(--accent);stroke-width:3}.depmap-node-wrap{position:absolute}.depmap-node{display:flex;align-items:center;gap:10px;height:100%;padding:0 12px;border-radius:var(--radius-md);background:var(--surface-solid);border:1px solid var(--border);border-left:4px solid var(--project);color:var(--text);transition:opacity .15s ease}.depmap-node:hover{background:var(--hover);color:var(--text)}.depmap-node.is-blocked{border-style:dashed;border-left-style:solid}.depmap-node.is-dim{opacity:.55}.depmap-text{display:flex;flex-direction:column;min-width:0}.depmap-name{font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.depmap-sub{font-size:var(--text-xs);color:var(--text-muted)}@media(prefers-reduced-motion:reduce){.depmap-line,.depmap-node{transition:none}}.relation-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.relation-label{flex:0 0 150px;color:var(--text-secondary);font-size:var(--text-sm);font-weight:500}.relation-chips{flex:1 1 240px;display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:0;list-style:none;min-width:0}.relation-chips .muted{font-size:var(--text-sm)}.relation-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;height:28px;padding:0 4px 0 10px;border-radius:var(--radius-pill);background:var(--field);font-size:var(--text-sm)}.relation-chip a{min-width:0;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.relation-chip:not(:has(button)){padding-right:10px}.relation-chip.is-done a{text-decoration:line-through;text-decoration-color:var(--text-tertiary)}.relation-status{color:var(--text-muted);font-size:var(--text-xs);white-space:nowrap}.relation-chip button{width:20px;height:20px;border:0;padding:0;border-radius:10px;background:transparent;color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.relation-chip button:hover{background:var(--hover);color:var(--text)}.relation-chips>li:has(.relation-add){flex:0 1 auto;min-width:0;max-width:100%}.group-head .relation-add{flex:0 1 auto;min-width:0;max-width:60%}.relation-add{width:auto;min-width:0;max-width:100%;text-overflow:ellipsis;height:28px;padding-top:0;padding-bottom:0;font-size:var(--text-sm)}.note-projects{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;font-size:var(--text-sm);color:var(--text-secondary)}@media(max-width:767px){.relation-label{flex-basis:100%}}.fin-month{display:flex;align-items:center;gap:4px}.fin-month-label{min-width:128px;text-align:center;font-weight:600;font-variant-numeric:tabular-nums}.fin-hero{display:flex;flex-direction:column;gap:10px;padding:20px 22px}.fin-hero-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.fin-hero-label{color:var(--text-secondary);font-weight:500}.fin-total{font-size:clamp(40px,6vw,60px);font-weight:700;letter-spacing:-.02em;line-height:1.05;font-variant-numeric:tabular-nums}.fin-budget{display:flex;flex-direction:column;gap:8px;--fin-tone: var(--success)}.fin-budget[data-tone=warn]{--fin-tone: var(--warning)}.fin-budget[data-tone=over]{--fin-tone: var(--danger)}.fin-budget-bar{height:10px;border-radius:5px;background:var(--track);overflow:hidden}.fin-budget-bar>span{display:block;height:100%;border-radius:5px;background:var(--fin-tone);transition:width .3s ease}.fin-budget-text{display:flex;justify-content:space-between;gap:12px;font-size:var(--text-sm);color:var(--text-secondary)}.fin-budget-pct{font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.fin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:24px}.fin-history{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;padding:14px 12px 10px;height:200px;box-sizing:border-box}.fin-history-col{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;padding:4px 2px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font:inherit;cursor:pointer}.fin-history-col:hover{background:var(--hover)}.fin-history-col:focus-visible{outline:3px solid var(--focus-ring)}.fin-history-value{font-size:var(--text-xs);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.fin-history-track{flex:1;width:min(32px,70%);display:flex;align-items:flex-end}.fin-history-track>span{display:block;width:100%;border-radius:6px 6px 2px 2px;background:var(--text-tertiary);transition:height .3s ease}.fin-history-col.is-current{color:var(--text);font-weight:600}.fin-history-col.is-current .fin-history-track>span{background:var(--tile-finance)}.fin-history-label{font-size:var(--text-sm)}.fin-cats{padding:14px 16px;min-height:200px;box-sizing:border-box}.fin-cats ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.fin-cat{display:grid;grid-template-columns:minmax(110px,36%) minmax(0,1fr) 88px;align-items:center;gap:10px;font-size:var(--text-sm)}.fin-cat-name{display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fin-cat-track{height:8px;border-radius:4px;background:var(--track);overflow:hidden}.fin-cat-track>span{display:block;height:100%;border-radius:4px}.fin-cat-sum{text-align:right;font-variant-numeric:tabular-nums;font-weight:500}.fin-none{margin:0}.fin-dot{flex:none;width:10px;height:10px;border-radius:50%}.fin-dot-lg{width:12px;height:12px;margin:0 6px}.fin-day{display:flex;flex-direction:column;gap:6px}.fin-day+.fin-day{margin-top:10px}.fin-day-title{margin:0 2px;font-size:var(--text-sm);font-weight:600;color:var(--text-secondary)}.fin-row{flex-wrap:wrap;row-gap:6px}.fin-cat-select{width:auto;max-width:170px;height:30px;padding-top:0;padding-bottom:0;font-size:var(--text-sm)}.fin-amount{min-width:90px;text-align:right;font-weight:600;font-variant-numeric:tabular-nums}.fin-connect-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.fin-key{padding:12px 14px;border-radius:var(--radius-sm);background:var(--warning-soft)}.fin-key p{margin:0 0 8px}.fin-copy{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px}.fin-copy code{padding:6px 10px;border-radius:var(--radius-xs);background:var(--field);font-family:var(--font-mono);font-size:var(--text-sm);overflow-wrap:anywhere;min-width:0}.fin-steps{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:10px;color:var(--text-secondary)}.fin-steps code{padding:1px 5px;border-radius:4px;background:var(--field);font-family:var(--font-mono);font-size:.92em}@media(max-width:767px){.fin-row .list-main{flex:1 1 calc(100% - 140px)}.fin-cat-select{order:5;max-width:none;flex:1}}.login-alert-mode{width:auto;flex:0 1 220px;min-width:0}.sec-hero{display:flex;flex-direction:column;gap:6px;padding:22px}.sec-score{font-size:var(--text-2xl);font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.sec-score-label{color:var(--text-muted)}.sec-bar{display:block;height:6px;margin-top:8px;border-radius:var(--radius-pill);background:var(--track);overflow:hidden}.sec-bar>span{display:block;height:100%;border-radius:inherit;background:var(--success)}.sec-hero[data-tone=warn] .sec-bar>span{background:var(--warning)}.sec-hero[data-tone=fail] .sec-bar>span{background:var(--danger)}.sec-icon{flex:none;font-size:20px}.sec-item[data-status=ok] .sec-icon{color:var(--success)}.sec-item[data-status=warn] .sec-icon{color:var(--warning)}.sec-item[data-status=fail] .sec-icon{color:var(--danger)}.sec-item[data-status=info] .sec-icon{color:var(--accent)}.setup-row{display:flex;align-items:center;gap:10px;min-width:0}.setup-main{flex:1;min-width:0;display:flex;flex-direction:column;overflow-wrap:anywhere}.setup-target{font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.setup-checks{display:flex;flex-direction:column;gap:8px}.setup-checks .check{flex-wrap:wrap}.setup-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.setup-link-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;gap:10px;align-items:end}@media(max-width:640px){.setup-link-form{grid-template-columns:minmax(0,1fr)}}.projects-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}.projects-main{min-width:0}.projects-side-panel{border-radius:20px;padding:16px}.projects-side-head{display:flex;align-items:center;justify-content:space-between;gap:8px}@media(min-width:1720px){.projects-layout{grid-template-columns:minmax(0,1fr) 300px}}@media(max-width:1719px){.projects-side-panel .cal-upcoming-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:6px}}.status-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.status-card{display:flex;align-items:center;gap:16px;border-radius:20px;padding:16px 20px}.status-card strong{font-size:26px;font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.status-card-plain{flex-direction:column;align-items:flex-start;justify-content:center;gap:2px}.status-card-text{display:flex;flex-direction:column}.status-ring-track{fill:none;stroke:var(--track);stroke-width:12}.status-ring-fill{fill:none;stroke:var(--success);stroke-width:12;stroke-linecap:round;transition:stroke-dasharray .5s var(--ease-spring)}.overview-page{max-width:1180px}.overview-hello{display:flex;flex-direction:column;gap:2px}.overview-greeting{margin:0;font-size:30px;font-weight:700;letter-spacing:-.02em}.widgets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(176px,auto);gap:18px}.widget{--tone: var(--accent);min-width:0;display:flex;flex-direction:column;gap:10px;padding:16px 18px;border-radius:24px;background:var(--surface);border:1px solid var(--border)}.widget-m{grid-column:span 2}.widget-l{grid-column:span 2;grid-row:span 2}.widget[data-tone=status]{--tone: var(--tile-status)}.widget[data-tone=calendar]{--tone: var(--tile-calendar)}.widget[data-tone=finance]{--tone: var(--tile-finance)}.widget[data-tone=mail]{--tone: var(--tile-mail)}.widget[data-tone=notes]{--tone: var(--tile-notes)}.widget[data-tone=projects]{--tone: var(--tile-projects)}.widget[data-tone=links]{--tone: var(--tile-links)}.widget-head{display:flex;align-items:center;gap:7px;min-width:0}.widget-icon{display:inline-flex;color:var(--tone);font-size:15px}.widget-title{margin:0;font-size:var(--text-md);font-weight:600;color:var(--tone)}.widget-title a{color:inherit}.widget-title a:hover{text-decoration:underline}.widget-aside{margin-left:auto;font-size:var(--text-sm);color:var(--text-muted);white-space:nowrap}.widget-empty{margin:0;color:var(--text-muted);font-size:var(--text-sm)}.widget-big{font-size:34px;font-weight:700;letter-spacing:-.02em;line-height:1.1;font-variant-numeric:tabular-nums}.widget-small{font-size:var(--text-sm)}.widget-strong{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.widget-foot{margin-top:auto;display:flex;flex-direction:column;min-width:0;font-size:var(--text-sm)}.widget-foot .muted{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.widget-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;min-width:0}.widget-row{display:flex;align-items:center;gap:10px;min-width:0;padding:6px;margin:0 -6px;border-radius:10px;color:var(--text);font-size:var(--text-md)}.widget-row:hover{background:var(--hover);color:var(--text)}.widget-row-main{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.widget-row-main .muted{font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.widget-row-value{font-size:var(--text-sm);color:var(--text-muted);white-space:nowrap}.widget-row-icon{display:inline-flex;color:var(--tile-notes)}.widget-status-hero{display:flex;align-items:center;gap:18px}.widget-ring{position:relative;width:112px;height:112px;flex:none;display:inline-flex;align-items:center;justify-content:center}.widget-ring svg{position:absolute;inset:0;width:100%;height:100%}.widget-ring-track{fill:none;stroke:var(--track);stroke-width:13}.widget-ring-fill{fill:none;stroke:var(--success);stroke-width:13;stroke-linecap:round;transition:stroke-dasharray .6s var(--ease-spring)}.widget-ring-text{position:relative;display:flex;align-items:baseline;font-weight:700;font-variant-numeric:tabular-nums}.widget-ring-text strong{font-size:32px;letter-spacing:-.02em}.widget-ring-text span{font-size:16px;color:var(--text-muted)}.widget-status-text{display:flex;flex-direction:column;gap:2px;min-width:0}.widget-status-text strong{font-size:20px}.widget-event-bar{width:4px;align-self:stretch;border-radius:2px;background:var(--project, var(--tile-settings));flex:none}.widget-event-when{flex:0 0 82px;font-size:var(--text-sm);color:var(--text-muted);line-height:1.3}.widget-finance{flex:1;display:flex;align-items:flex-end;gap:16px;min-width:0}.widget-finance-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.widget-meter{display:block;height:8px;border-radius:4px;background:var(--track);overflow:hidden}.widget-meter>span{display:block;height:100%;border-radius:4px;background:var(--tile-finance)}.widget-meter>span.is-warn{background:var(--warning)}.widget-meter>span.is-over{background:var(--danger)}.widget-bars{display:flex;align-items:flex-end;gap:6px;height:64px;flex:none}.widget-bars>span{width:12px;border-radius:4px;background:color-mix(in srgb,var(--tile-finance) 35%,transparent)}.widget-bars>span.is-now{background:var(--tile-finance)}.widget-apps{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px}@media(max-width:960px){.widgets{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.widget-l{grid-row:auto}}@media(max-width:767px){.overview-hello{display:none}.widget{border-radius:22px;padding:14px}.widget-ring{width:92px;height:92px}.widget-big{font-size:28px}.widget-bars{display:none}}.mail{display:grid;grid-template-columns:196px minmax(280px,360px) minmax(0,1fr);gap:12px;height:max(520px,calc(100vh - 150px));min-height:0}.mail>*{min-height:0}.mail-folders{display:flex;flex-direction:column;gap:8px;min-width:0}.mail-folder-select{display:none}.mail-folder-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px;overflow-y:auto;flex:1}.mail-folder{width:100%;display:flex;align-items:center;gap:9px;min-height:32px;padding:4px 10px;border:0;border-radius:var(--radius-sm);background:none;color:var(--text);font:inherit;font-size:var(--text-md);text-align:left;cursor:pointer}.mail-folder svg{flex:none;color:var(--tile-mail);font-size:16px}.mail-folder:hover{background:var(--hover)}.mail-folder.is-active{background:var(--accent-soft);font-weight:600}.mail-folder-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-count{font-size:var(--text-xs);font-weight:600;color:var(--text-muted);font-variant-numeric:tabular-nums}.mail-folder.is-active .mail-count{color:var(--accent-text)}.mail-account{display:flex;flex-direction:column;gap:2px;padding:8px 10px 0;border-top:1px solid var(--separator);font-size:var(--text-xs)}.mail-account-email{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-account-off{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;padding:2px 0;border:0;background:none;color:var(--text-muted);font:inherit;cursor:pointer}.mail-account-off:hover{color:var(--danger-text)}.mail-list-pane{display:flex;flex-direction:column;gap:8px;min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:8px}.mail-list-pane>.search{flex:none}.mail-items{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1;min-height:0;transition:opacity .15s}.mail-items.is-loading{opacity:.6}.mail-item{position:relative;width:100%;display:flex;gap:6px;align-items:flex-start;padding:9px 10px 9px 4px;border:0;border-radius:var(--radius-sm);background:none;color:var(--text);font:inherit;text-align:left;cursor:pointer}.mail-items li+li .mail-item:before{content:"";position:absolute;top:0;left:18px;right:6px;border-top:1px solid var(--separator)}.mail-item:hover{background:var(--hover)}.mail-item.is-active{background:var(--accent);color:#fff}.mail-item.is-active:before,.mail-items li:has(.is-active)+li .mail-item:before{border-color:transparent}.mail-dot{flex:none;width:8px;height:8px;margin:6px 2px 0;border-radius:50%}.mail-item.is-unread .mail-dot{background:var(--accent)}.mail-item.is-active.is-unread .mail-dot{background:#fff}.mail-item-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.mail-item-top{display:flex;align-items:baseline;gap:8px}.mail-item-from{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-md)}.mail-item.is-unread .mail-item-from{font-weight:600}.mail-item-date{flex:none;font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums}.mail-item-subject{display:flex;align-items:center;gap:5px;min-width:0;font-size:var(--text-sm);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mail-item-icon{flex:none;color:var(--text-muted)}.mail-item-icon.is-flag{color:var(--warning)}.mail-item.is-active .mail-item-date,.mail-item.is-active .mail-item-subject,.mail-item.is-active .mail-item-icon{color:#ffffffd9}.mail-pager{flex:none;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:var(--text-sm)}.mail-reader{display:flex;flex-direction:column;gap:14px;min-width:0;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:10px 22px 28px}.mail-reader.is-empty{justify-content:center}.mail-toolbar{position:sticky;top:-10px;z-index:1;display:flex;align-items:center;gap:2px;flex-wrap:wrap;margin:-10px -22px 0;padding:8px 14px;background:var(--surface-raised);border-bottom:1px solid var(--separator);border-radius:var(--radius-md) var(--radius-md) 0 0}.mail-toolbar-gap{flex:1}.mail-toolbar .is-flagged{color:var(--warning)}.mail-back{display:none}.mail-move{width:auto;max-width:160px;height:30px;font-size:var(--text-sm)}.mail-head{display:flex;flex-direction:column;gap:10px;padding-bottom:14px;border-bottom:1px solid var(--separator)}.mail-subject{margin:0;font-size:var(--text-xl);font-weight:700;letter-spacing:-.01em;line-height:1.25;overflow-wrap:anywhere}.mail-meta{margin:0;display:grid;grid-template-columns:max-content minmax(0,1fr);gap:3px 12px;font-size:var(--text-sm)}.mail-meta-row{display:contents}.mail-meta dt{color:var(--text-muted)}.mail-meta dd{margin:0;overflow-wrap:anywhere}.mail-attachments{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.mail-attachments .btn>span{display:inline-flex;align-items:baseline;gap:6px;min-width:0}.mail-att-name{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-att-size{color:var(--text-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.mail-text{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--text-lg);line-height:1.55;max-width:72ch}.mail-line.is-quote{color:var(--text-muted)}.mail-text a{color:var(--accent-text);text-decoration:underline;text-underline-offset:2px}.mail-connect{max-width:460px;display:flex;flex-direction:column;gap:10px;padding:24px}.mail-connect h2{margin:0;font-size:var(--text-xl)}.mail-connect p{margin:0 0 6px}.mail-connect-icon{width:44px;height:44px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;background:var(--tile-mail);color:#fff;font-size:22px}.dialog-footer-gap{flex:1}.mail-compose .mail-body{min-height:260px;resize:vertical;font:inherit;line-height:1.5}.mail-copies{align-self:flex-start;margin-top:-6px;border:0;background:none;padding:0;color:var(--accent-text);font:inherit;font-size:var(--text-sm);cursor:pointer}.mail-files ul{list-style:none;margin:0 0 4px;padding:0;display:flex;flex-direction:column;gap:4px}.mail-file{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius-sm);background:var(--field);font-size:var(--text-sm)}.mail-file .mail-att-name{flex:1;max-width:none}.mail-file-remove{display:inline-flex;padding:4px;border:0;border-radius:var(--radius-xs);background:none;color:var(--text-muted);cursor:pointer}.mail-file-remove:hover{background:var(--hover);color:var(--text)}.mail-rules{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;counter-reset:rule}.mail-rule{display:flex;flex-direction:column;gap:6px;padding:8px 10px;border-radius:var(--radius-sm);background:var(--field)}.mail-rule-line{display:flex;align-items:center;gap:6px;min-width:0}.mail-rule .input{width:auto;flex:1 1 0;min-width:0;height:32px;font-size:var(--text-sm)}.mail-rule-word{flex:none;width:52px;font-size:var(--text-sm);color:var(--text-muted)}.mail-rule-word+.input+.mail-rule-word{width:auto}.mail-rules-empty{margin:12px 0 0;color:var(--text-muted);font-size:var(--text-sm)}@media(max-width:1100px){.mail{grid-template-columns:minmax(260px,320px) minmax(0,1fr)}.mail-folders{grid-column:1 / -1;flex-direction:row;align-items:center}.mail-folder-select{display:block;flex:0 1 260px}.mail-folder-list{display:none}.mail-account{flex-direction:row;align-items:center;gap:10px;padding:0;border:0;margin-left:auto;min-width:0}.mail{grid-template-rows:auto minmax(0,1fr)}}@media(max-width:767px){.mail{display:flex;flex-direction:column;height:auto}.mail-list-pane{border:0;background:none;padding:0}.mail-items{overflow:visible}.mail-reader{overflow:visible;padding:10px 14px 24px}.mail-toolbar{margin:-10px -14px 0;padding:6px 8px;top:0}.mail-back{display:inline-flex}.mail-reader.is-empty,.mail.is-reading .mail-folders,.mail.is-reading .mail-list-pane,.mail-account-email{display:none}.mail-folder-select{flex:1}.mail-toolbar-gap{display:none}.mail-move{flex:1 1 90px;min-width:0;max-width:none}}@media(prefers-reduced-motion:reduce){.mail-items{transition:none}}.cal-page{max-width:1400px;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}.cal-main{display:flex;flex-direction:column;gap:12px;min-width:0}.cal-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.cal-title{margin:0;font-size:var(--text-xl);font-weight:700;letter-spacing:-.01em}.cal-nav{display:flex;align-items:center;gap:4px}.cal-scroll{overflow-x:auto;border-radius:20px;background:var(--surface);border:1px solid var(--border);padding:8px}.cal-grid{min-width:620px;display:flex;flex-direction:column;gap:4px}.cal-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.cal-weekday{padding:2px 8px 4px;font-size:var(--text-xs);font-weight:600;color:var(--text-muted)}.cal-day{min-height:96px;min-width:0;box-sizing:border-box;padding:4px;border-radius:12px;display:flex;flex-direction:column;gap:3px;background:var(--hover)}.cal-day.is-other{background:transparent}.cal-day.is-other .cal-day-num{color:var(--text-muted)}.cal-day-add{align-self:flex-start;border:0;border-radius:12px;background:transparent;color:var(--text);padding:0;cursor:pointer;font:inherit}.cal-day-add:hover .cal-day-num{background:var(--hover)}.cal-day-add:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.cal-day-num{min-width:24px;height:24px;padding:0 5px;box-sizing:border-box;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-md);font-weight:500}.cal-day.is-today .cal-day-num{background:var(--danger);color:#fff;font-weight:700}.cal-chip{display:block;width:100%;text-align:left;font:inherit;font-size:var(--text-xs);font-weight:500;line-height:1.3;padding:3px 6px;border:0;border-left:3px solid var(--project, var(--tile-settings));border-radius:6px;background:color-mix(in srgb,var(--project, var(--tile-settings)) 22%,transparent);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:background-color .15s ease,transform .12s ease}.cal-chip:hover{background:color-mix(in srgb,var(--project, var(--tile-settings)) 34%,transparent)}.cal-chip:active{transform:scale(.97)}.cal-chip.is-selected{background:var(--project, var(--tile-settings));color:#fff}.cal-chip.is-done{text-decoration:line-through;opacity:.6}.cal-chip-time{font-variant-numeric:tabular-nums;opacity:.8;margin-right:4px}.cal-side{display:flex;flex-direction:column;gap:14px;min-width:0;position:sticky;top:12px}.cal-side .panel{border-radius:20px;padding:18px}.cal-panel-title{margin:0 0 4px;font-size:var(--text-lg);font-weight:700}.cal-label{display:block;font-size:var(--text-sm);font-weight:600;color:var(--text-muted);margin-bottom:6px;padding:0}.cal-small{margin:6px 0 0;font-size:var(--text-sm)}.cal-detail{display:flex;flex-direction:column;gap:16px}.cal-detail-head{display:flex;gap:12px}.cal-detail-bar{width:4px;flex:none;border-radius:2px;background:var(--project, var(--tile-settings))}.cal-detail-title{margin:0;font-size:20px;font-weight:700;overflow-wrap:anywhere}.cal-detail-title.is-done{text-decoration:line-through;color:var(--text-muted)}.cal-detail-when{margin:4px 0 0}.cal-done-note{margin:6px 0 0;display:flex;align-items:center;gap:6px;color:var(--success);font-size:var(--text-sm)}.cal-detail-block{display:flex;flex-direction:column}.cal-project-link{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;background:color-mix(in srgb,var(--project, var(--tile-settings)) 14%,transparent);border:1px solid color-mix(in srgb,var(--project, var(--tile-settings)) 40%,transparent);color:var(--text);font-weight:600}.cal-project-tile{width:30px;height:30px;border-radius:9px;background:var(--project, var(--tile-settings));color:#fff;display:inline-flex;align-items:center;justify-content:center}.cal-reminders{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.cal-reminders li{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;background:var(--hover);font-size:var(--text-md)}.cal-reminders svg{color:var(--tile-calendar);flex:none}.cal-note{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--text-md)}.cal-detail-actions{display:flex;flex-wrap:wrap;gap:8px}.cal-detail-actions .cal-delete{margin-left:auto}.cal-form{display:flex;flex-direction:column;gap:12px}.cal-form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}.cal-fieldset{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.cal-upcoming-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.cal-upcoming-item{width:100%;display:flex;align-items:center;gap:12px;padding:6px;border:0;border-radius:12px;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}.cal-upcoming-item:hover{background:var(--hover)}.cal-date-tile{width:42px;flex:none;padding:3px 0;border-radius:10px;background:var(--hover);display:flex;flex-direction:column;align-items:center;border-top:3px solid var(--project, var(--tile-settings))}.cal-date-tile span{font-size:10px;font-weight:600;color:var(--danger)}.cal-date-tile strong{font-size:17px}.cal-upcoming-text{display:flex;flex-direction:column;min-width:0;font-size:var(--text-sm)}.cal-upcoming-title{font-size:var(--text-md);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:1100px){.cal-page{grid-template-columns:minmax(0,1fr)}.cal-side{position:static}}@media(max-width:767px){.cal-scroll{padding:4px;border-radius:16px}.cal-grid{min-width:0;gap:2px}.cal-row{gap:2px}.cal-weekday{padding:2px 0 4px;text-align:center}.cal-day{min-height:58px;padding:2px;border-radius:8px;align-items:center}.cal-day-add{align-self:center}.cal-chip{height:12px;padding:0;font-size:0;border-left:0;border-radius:4px;background:var(--project, var(--tile-settings))}.cal-chip.is-selected{box-shadow:0 0 0 2px var(--text)}}.welcome{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--welcome-veil);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);pointer-events:none;animation:welcome-veil 2.2s ease both}.welcome-inner{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;animation:welcome-text 2.2s cubic-bezier(.2,.8,.2,1) both}.welcome-tile{margin-bottom:10px;animation:welcome-tile 2.2s cubic-bezier(.2,.8,.2,1) both}.welcome-word{font-size:clamp(13px,1.4vw,16px);font-weight:600;letter-spacing:.34em;margin-right:-.34em;color:var(--accent-text)}.welcome-name{max-width:min(90vw,900px);font-size:clamp(48px,13vw,96px);font-weight:700;line-height:1.02;letter-spacing:-.035em;color:var(--text);overflow-wrap:anywhere}@keyframes welcome-veil{0%,55%{opacity:1}78%,to{opacity:0}}@keyframes welcome-text{0%{opacity:0;transform:scale(.96) translateY(6px)}22%,50%{opacity:1;transform:none}72%,to{opacity:0;transform:scale(1.02) translateY(-4px)}}@keyframes welcome-tile{0%{opacity:0;transform:scale(.7)}20%,to{opacity:1;transform:none}}.shell.is-entering .sidebar{animation:enter-side .6s cubic-bezier(.2,.8,.2,1) 1s both}.shell.is-entering .toolbar{animation:enter-up .5s cubic-bezier(.2,.8,.2,1) 1.1s both}.shell.is-entering .page>*{animation:enter-up .55s cubic-bezier(.2,.8,.2,1) both;animation-delay:1.5s}.shell.is-entering .page>:nth-child(1){animation-delay:1.18s}.shell.is-entering .page>:nth-child(2){animation-delay:1.24s}.shell.is-entering .page>:nth-child(3){animation-delay:1.3s}.shell.is-entering .page>:nth-child(4){animation-delay:1.36s}.shell.is-entering .page>:nth-child(5){animation-delay:1.42s}.shell.is-entering .footer{animation:enter-up .5s ease 1.5s both}.shell.is-entering .tabbar{animation:enter-bottom .5s cubic-bezier(.2,.8,.2,1) 1.1s both}@keyframes enter-side{0%{opacity:0;transform:translate(-24px) scale(.98)}to{opacity:1;transform:none}}@keyframes enter-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes enter-bottom{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.welcome{animation-name:welcome-veil;animation-duration:1.4s}.welcome-inner,.welcome-tile{animation-name:welcome-fade;animation-duration:1.4s}.shell.is-entering .sidebar,.shell.is-entering .toolbar,.shell.is-entering .page>*,.shell.is-entering .footer,.shell.is-entering .tabbar{animation:none}}@keyframes welcome-fade{0%{opacity:0}20%,55%{opacity:1}78%,to{opacity:0}}
