.wrapper{gap:var(--space-1);flex-direction:column;display:flex}.fullWidth{width:100%}.label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--md-sys-color-on-surface-variant);padding-left:var(--space-1)}.inputWrapper{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--md-sys-color-surface-container);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--radius-lg);transition:border-color var(--transition-fast);display:flex}.inputWrapper:focus-within{border-color:var(--md-sys-color-primary)}.inputWrapperError{border-color:var(--md-sys-color-error)}.startIcon{color:var(--md-sys-color-on-surface-variant);flex-shrink:0}.input{color:var(--md-sys-color-on-surface);font-size:var(--text-sm);font-family:var(--sans);background:0 0;border:none;outline:none;flex:1}.input::placeholder{color:var(--md-sys-color-on-surface-variant);opacity:.6}.helperText{font-size:var(--text-xs);color:var(--md-sys-color-on-surface-variant);padding-left:var(--space-1)}.errorText{font-size:var(--text-xs);color:var(--md-sys-color-error);padding-left:var(--space-1)}.screen{background:var(--md-sys-color-surface,#faf9fd);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.card{background:var(--md-sys-color-surface-container,#fff);border-radius:20px;width:100%;max-width:380px;padding:32px 28px;box-shadow:0 2px 12px #00000014}.brand{align-items:center;gap:10px;margin-bottom:4px;display:flex}.title{color:var(--md-sys-color-on-surface,#1c1b1f);margin:0;font-size:22px;font-weight:600}.subtitle{font-size:var(--text-sm);color:var(--md-sys-color-on-surface-variant,#49454f);margin:0 0 24px}.field{margin-bottom:16px}.modeToggle{font:inherit;font-size:var(--text-sm);color:var(--md-sys-color-primary,#4a4459);cursor:pointer;background:0 0;border:0;margin:-4px 0 0;padding:0;text-decoration:underline;display:block}.modeToggle:hover{opacity:.8}.actions{margin-top:24px}.submit{justify-content:center;width:100%}.totpInput{font-size:var(--text-3xl);letter-spacing:8px;text-align:center}@font-face{font-family:Outfit;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/Outfit-af882907.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/Outfit-562aff8e.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Outfit-af882907.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Outfit-562aff8e.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/Outfit-af882907.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/Outfit-562aff8e.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/Outfit-af882907.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/Outfit-562aff8e.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/Outfit-af882907.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/Outfit-562aff8e.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/OutfitCyrillic-c2bfcaaa.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Outfit;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/OutfitCyrillic-b74651ef.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Outfit;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/OutfitCyrillic-c2bfcaaa.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Outfit;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/OutfitCyrillic-b74651ef.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Outfit;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/OutfitCyrillic-c2bfcaaa.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Outfit;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/OutfitCyrillic-b74651ef.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Outfit;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/OutfitCyrillic-c2bfcaaa.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Outfit;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/OutfitCyrillic-b74651ef.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Outfit;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/OutfitCyrillic-c2bfcaaa.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Outfit;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/OutfitCyrillic-b74651ef.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Material Symbols Outlined;font-style:normal;font-weight:100 700;font-display:block;src:url(/fonts/MaterialSymbolsOutlined-53a5f7a5.woff2)format("woff2")}:root{--sans:"Outfit", system-ui, -apple-system, sans-serif;--node-w:160px;--node-h:120px;--bp-sm:480px;--bp-md:768px;--bp-lg:1024px;--bp-xl:1440px;--touch-target:44px;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--content-max:1400px;--measure:68ch;--space-0:0px;--space-0-5:2px;--space-1:4px;--space-1-5:6px;--space-2:8px;--space-2-5:10px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--text-xs:12px;--text-sm:13px;--text-body-sm:13px;--text-body:14px;--text-base:14px;--text-md:15px;--text-input:16px;--text-lg:16px;--text-prose:15.5px;--text-xl:18px;--text-2xl:20px;--text-3xl:24px;--text-4xl:28px;--text-5xl:48px;--text-6xl:64px;--label-size:var(--text-xs);--label-weight:600;--label-tracking:.5px;--leading-tight:1.25;--leading-normal:1.45;--leading-prose:1.68;--font-light:300;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--radius-xs:2px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:10px;--radius-2xl:12px;--radius-full:9999px;--z-base:1;--z-sticky:10;--z-dropdown:100;--z-modal:2000;--z-toast:3000;--z-tooltip:4000;--bg:#fafafa;--surface:#fff;--surface-2:#f4f4f5;--surface-3:#ebebed;--surface-4:#e2e2e5;--line:#e4e4e7;--line-2:#d3d3d8;--fg:#18181b;--fg-2:#56565f;--fg-3:#8e8e98;--accent:#0061a4;--accent-strong:#004b80;--accent-fg:#fff;--accent-soft:#e9f1f9;--accent-soft-fg:#00355f;--tertiary-soft:#e4eeec;--tertiary-soft-fg:#17403a;--color-domain-personal:#0061a4;--color-domain-personal-rgb:0, 97, 164;--color-domain-relations:#b8306b;--color-domain-relations-rgb:184, 48, 107;--color-domain-career:#a8620d;--color-domain-career-rgb:168, 98, 13;--color-success:#1c7a4a;--color-success-light:#e8f3ed;--color-warning:#a8620d;--color-warning-light:#fbf1e4;--color-info:#0061a4;--color-info-light:#e9f1f9;--color-danger:#b4322c;--md-sys-color-background:var(--bg);--md-sys-color-on-background:var(--fg);--md-sys-color-surface:var(--surface);--md-sys-color-surface-container-lowest:var(--bg);--md-sys-color-surface-container-low:var(--surface-2);--md-sys-color-surface-container:var(--surface-2);--md-sys-color-surface-container-high:var(--surface-3);--md-sys-color-surface-container-highest:var(--surface-4);--md-sys-color-on-surface:var(--fg);--md-sys-color-on-surface-variant:var(--fg-2);--md-sys-color-primary:var(--accent);--md-sys-color-primary-dark:var(--accent-strong);--md-sys-color-on-primary:var(--accent-fg);--md-sys-color-primary-container:var(--accent-soft);--md-sys-color-on-primary-container:var(--accent-soft-fg);--md-sys-color-secondary:#535f70;--md-sys-color-on-secondary:#fff;--md-sys-color-secondary-container:var(--surface-3);--md-sys-color-on-secondary-container:var(--fg-2);--md-sys-color-tertiary-container:var(--tertiary-soft);--md-sys-color-on-tertiary-container:var(--tertiary-soft-fg);--md-sys-color-outline:var(--fg-3);--md-sys-color-outline-variant:var(--line);--md-sys-color-shadow:#0000001f;--md-sys-color-error:var(--color-danger);--md-sys-color-on-error:#fff;--md-sys-color-error-container:#f7dedd;--md-sys-color-on-error-container:#410002;--shadow-1:none;--shadow-2:0 1px 2px #0000000d;--shadow-3:0 2px 6px -2px #00000014;--shadow-4:0 12px 32px -8px #00000024, 0 3px 8px -3px #0000000f;--shadow-5:0 18px 44px -12px #0000002e, 0 4px 10px -4px #00000012;--shadow-float:var(--shadow-4);--transition-fast:.15s cubic-bezier(.2, 0, 0, 1);--transition-medium:.3s cubic-bezier(.2, 0, 0, 1);--transition-normal:var(--transition-medium);--transition-slow:.5s cubic-bezier(.2, 0, 0, 1)}:root.dark{--bg:#0b0b0d;--surface:#151518;--surface-2:#1c1c20;--surface-3:#26262b;--surface-4:#303036;--line:#26262b;--line-2:#35353c;--fg:#f4f4f5;--fg-2:#a4a4ae;--fg-3:#71717a;--accent:#7fb6ea;--accent-strong:#a8d0f5;--accent-fg:#04243f;--accent-soft:#132b40;--accent-soft-fg:#cfe4f7;--tertiary-soft:#16302c;--tertiary-soft-fg:#cfe6e0;--color-domain-personal:#7fb6ea;--color-domain-personal-rgb:127, 182, 234;--color-domain-relations:#e691b4;--color-domain-relations-rgb:230, 145, 180;--color-domain-career:#e0a862;--color-domain-career-rgb:224, 168, 98;--color-success:#5cc08b;--color-success-light:#5cc08b24;--color-warning:#e0a862;--color-warning-light:#e0a86224;--color-info:#7fb6ea;--color-info-light:#7fb6ea24;--color-danger:#e88b85;--md-sys-color-secondary:#bbc7db;--md-sys-color-on-secondary:#253140;--md-sys-color-shadow:#00000080;--md-sys-color-error-container:#5c1a17;--md-sys-color-on-error-container:#ffdad6;--shadow-2:0 1px 2px #0006;--shadow-3:0 2px 6px -2px #00000080;--shadow-4:0 16px 40px -10px #0009, 0 3px 10px -3px #0006;--shadow-5:0 22px 52px -14px #000000b3, 0 4px 12px -4px #00000080}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--sans);background-color:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior-y:contain;width:100%;height:100dvh;transition:background-color var(--transition-medium), color var(--transition-medium)}#root{flex-direction:column;width:100%;height:100dvh;display:flex}body:has(.app-shell[data-screen=plan][data-view=map]){overflow:hidden}button{font-family:var(--sans);cursor:pointer;background:0 0;border:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}input,textarea,select{font-family:var(--sans)}@media (width<=768px){input,textarea,select{font-size:max(16px,1em)}button,[role=button],a[href],input[type=checkbox],input[type=radio]{min-width:var(--touch-target);min-height:var(--touch-target)}button.compact-target,[role=button].compact-target,a[href].compact-target{min-width:0;min-height:0}}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--fg-3)}*{scrollbar-width:thin;scrollbar-color:var(--line-2) var(--bg)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.icon{letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;direction:ltr;font-family:Material Symbols Outlined;font-size:24px;font-style:normal;font-weight:400;line-height:1;display:inline-block}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.ripple{position:relative;overflow:hidden}.ripple:after{content:"";pointer-events:none;opacity:0;background-image:radial-gradient(circle,#000 10%,#0000 10.01%);background-position:50%;background-repeat:no-repeat;width:100%;height:100%;transition:transform .5s,opacity 1s;display:block;position:absolute;top:0;left:0;transform:scale(10)}.ripple:active:after{opacity:.2;transition:all;transform:scale(0)}:root.dark .ripple:after{background-image:radial-gradient(circle,#fff 10%,#0000 10.01%)}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-family:var(--sans);font-size:var(--text-base);font-weight:var(--font-medium);border-radius:var(--radius-2xl);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);-webkit-user-select:none;user-select:none;background:0 0;border:none;outline:none;display:inline-flex}.btn:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}.btn:disabled{cursor:default;opacity:.6}.btn-primary{background-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.btn-primary:hover:not(:disabled){background-color:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);box-shadow:var(--shadow-1)}.btn-primary:disabled{background-color:var(--md-sys-color-outline-variant);color:var(--md-sys-color-outline)}.btn-secondary{background-color:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.btn-secondary:hover:not(:disabled){background-color:var(--md-sys-color-surface-container-high)}.btn-outlined{border:1px solid var(--md-sys-color-outline);color:var(--md-sys-color-on-surface);background:0 0}.btn-outlined:hover:not(:disabled){background-color:var(--md-sys-color-surface-container-low)}.btn-text{color:var(--md-sys-color-primary);padding:var(--space-2) var(--space-3);background:0 0}.btn-text:hover:not(:disabled){background-color:var(--md-sys-color-surface-container-low)}.btn .icon{font-size:var(--text-xl)}.badge{align-items:center;gap:var(--space-1-5);background-color:var(--md-sys-color-surface-container-high);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--radius-xl);padding:var(--space-1) var(--space-2-5);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--md-sys-color-on-surface);line-height:1;display:inline-flex}.badge-remove-btn{cursor:pointer;font-size:var(--text-body);color:var(--md-sys-color-outline);transition:color var(--transition-fast);background:0 0;border:none;outline:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.badge-remove-btn:hover{color:var(--md-sys-color-error)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal);background-color:#00000080;justify-content:center;align-items:center;animation:.2s ease-out modalFadeIn;display:flex;position:fixed;inset:0}.modal-card{background-color:var(--md-sys-color-surface-container-high);border-radius:var(--radius-xl);width:450px;max-width:90%;box-shadow:var(--shadow-3);border:1px solid var(--md-sys-color-outline-variant);animation:.3s cubic-bezier(.34,1.56,.64,1) modalSlideUp;overflow:hidden}.modal-header{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--md-sys-color-outline-variant);justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.modal-header-title{align-items:center;gap:var(--space-3);display:flex}.modal-header h3{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--md-sys-color-on-surface);margin:0}.modal-header-subtitle{font-size:var(--text-body-sm);color:var(--md-sys-color-on-surface-variant)}.modal-body{padding:var(--space-6)}.modal-close-btn{color:var(--md-sys-color-outline);border-radius:var(--radius-full);width:32px;height:32px;transition:background-color var(--transition-fast), color var(--transition-fast);cursor:pointer;background:0 0;border:none;outline:none;justify-content:center;align-items:center;display:flex}.modal-close-btn:hover{background-color:var(--md-sys-color-surface-container);color:var(--md-sys-color-primary)}.app-shell{background-color:var(--md-sys-color-background);flex-direction:column;width:100%;height:100dvh;display:flex;overflow:hidden}.app-header{background-color:var(--md-sys-color-surface-container-low);border-bottom:1px solid var(--md-sys-color-outline-variant);z-index:99;transition:background-color var(--transition-medium), border-color var(--transition-medium);justify-content:space-between;align-items:center;padding:12px 24px;display:flex}.header-logo{align-items:center;gap:10px;display:flex}.app-logo-icon{color:var(--md-sys-color-primary);font-size:26px}.header-logo h1{font-size:var(--text-2xl);color:var(--md-sys-color-on-surface);letter-spacing:-.5px;font-weight:600}.mode-tabs{background-color:var(--md-sys-color-surface-container-high);border-radius:28px;gap:4px;padding:4px;display:flex}.tab-btn{font-size:var(--text-sm);color:var(--md-sys-color-on-surface-variant);transition:background-color var(--transition-fast), color var(--transition-fast);border-radius:24px;align-items:center;gap:8px;padding:8px 18px;font-weight:500;display:flex}.tab-btn .icon{font-size:18px}.tab-btn.active{background-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);box-shadow:var(--shadow-1)}.tab-btn:not(.active):hover{background-color:rgba(var(--md-sys-color-on-surface-variant), .08);color:var(--md-sys-color-on-surface)}.badge-count{color:#fff;font-size:var(--text-xs);background-color:#d32f2f;border-radius:10px;margin-left:4px;padding:2px 6px;font-weight:700}.header-actions{align-items:center;gap:12px;display:flex}.header-action-btn{background-color:var(--md-sys-color-surface-container);border:1px solid var(--md-sys-color-outline-variant);width:40px;height:40px;color:var(--md-sys-color-on-surface-variant);transition:background-color var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;display:flex}.header-action-btn:hover{background-color:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface)}.search-trigger-btn{width:80px;font-size:var(--text-xs);border-radius:20px;gap:6px;font-weight:500}.search-trigger-btn .icon{font-size:18px}.shortcut-tag{font-size:var(--text-xs);background-color:var(--md-sys-color-surface-container-high);border:1px solid var(--md-sys-color-outline-variant);opacity:.8;border-radius:4px;padding:2px 4px}.app-body{flex:1;width:100%;min-height:0;display:flex}@media (width<=768px){.mode-tabs{display:none}.app-header{padding:8px 14px;padding-top:calc(8px + var(--safe-top))}.header-logo h1{font-size:var(--text-lg)}.search-trigger-btn{width:var(--touch-target)}.shortcut-tag{display:none}}.app-viewport{flex:1;min-width:0;position:relative;overflow:hidden}.plan-screen{flex-direction:column;height:100%;min-height:0;display:flex;position:relative}.plan-screen>:last-child{flex:1;min-height:0}.search-modal-overlay{z-index:10000;background-color:#0006;justify-content:center;align-items:flex-start;width:100%;height:100dvh;padding-top:15vh;display:flex;position:fixed;inset:0}.search-modal-card{background-color:var(--md-sys-color-surface-container);border:1px solid var(--md-sys-color-outline-variant);width:100%;max-width:550px;max-height:min(450px,80dvh);box-shadow:var(--shadow-5);animation:modalAppear var(--transition-fast) forwards;border-radius:16px;flex-direction:column;margin:0 16px;display:flex;overflow:hidden}@keyframes modalAppear{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.search-input-header{border-bottom:1px solid var(--md-sys-color-outline-variant);align-items:center;gap:12px;padding:12px 16px;display:flex}.search-input-icon{color:var(--md-sys-color-outline)}.search-input-header input{font-size:var(--text-md);font-family:var(--sans);color:var(--md-sys-color-on-surface);background:0 0;border:none;outline:none;flex:1}.search-modal-close{color:var(--md-sys-color-outline)}.search-results-area{flex:1;min-height:80px;padding:8px;overflow-y:auto}.search-info-tip{font-size:var(--text-xs);color:var(--md-sys-color-outline);text-align:center;padding:16px}.search-empty-state{text-align:center;font-size:var(--text-sm);color:var(--md-sys-color-outline);padding:32px 16px}.search-result-row{width:100%;color:inherit;text-align:left;cursor:pointer;transition:background-color var(--transition-fast);background:0 0;border:none;border-radius:8px;align-items:center;gap:12px;padding:10px 12px;font-family:inherit;display:flex}.search-result-row:hover,.search-result-row:focus-visible{background-color:var(--md-sys-color-surface-container-high)}.search-result-row:focus-visible .result-action-icon{opacity:1}.result-type-icon{color:var(--md-sys-color-outline);font-size:20px}.result-text-area{flex-direction:column;flex:1;display:flex}.result-title{font-size:var(--text-sm);color:var(--md-sys-color-on-surface);font-weight:500}.result-subtitle{font-size:var(--text-xs);color:var(--md-sys-color-outline)}.result-action-icon{color:var(--md-sys-color-outline);opacity:0;transition:opacity var(--transition-fast);font-size:16px}.search-result-row:hover .result-action-icon{opacity:1}.search-info-tip kbd{background-color:var(--md-sys-color-surface-container-low);border:1px solid var(--md-sys-color-outline-variant);border-radius:4px;padding:1px 4px;font-family:inherit}.root{min-width:0;max-width:100%}.tabs{align-items:center;gap:var(--space-1);scrollbar-width:none;-webkit-overflow-scrolling:touch;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{align-items:center;gap:var(--space-2);color:var(--fg-2);font-family:inherit;font-weight:var(--font-medium);cursor:pointer;white-space:nowrap;transition:color var(--transition-fast), background-color var(--transition-fast);background:0 0;border:none;flex:none;display:flex}.dot{border-radius:50%;flex:none;width:6px;height:6px}.tab:hover{color:var(--fg)}@media (width<=768px){.tab{min-height:var(--touch-target)}}.sm .tab{padding:var(--space-1-5) var(--space-3);font-size:var(--text-body-sm)}.md .tab{padding:var(--space-2) var(--space-4);font-size:var(--text-body)}.nav{gap:var(--space-2)}.nav .tab{background:0 0;border-radius:0;position:relative}.nav .tab:after{content:"";left:var(--space-2);right:var(--space-2);height:2px;transition:background-color var(--transition-fast);background:0 0;border-radius:2px;position:absolute;bottom:-1px}.nav .tab[data-state=active]{color:var(--fg);font-weight:var(--font-semibold)}.nav .tab[data-state=active]:after{background:var(--accent)}.primary{padding:var(--space-1);background:var(--surface-2);border-radius:var(--radius-pill)}.primary .tab{border-radius:var(--radius-pill)}.primary .tab[data-state=active]{background:var(--accent);color:#fff}.secondary{padding:var(--space-1);background:var(--surface-2);border-radius:var(--radius-lg)}.secondary .tab{border-radius:var(--radius)}.secondary .tab[data-state=active]{background:var(--surface);color:var(--fg);border:1px solid var(--line)}.badge{min-width:18px;height:18px;padding:0 var(--space-1-5);border-radius:var(--radius-pill);background:var(--accent);color:#fff;font-size:var(--text-xs);font-weight:var(--font-semibold);justify-content:center;align-items:center;line-height:1;display:inline-flex}.avatar-btn{background:var(--accent);width:34px;height:34px;color:var(--accent-fg);font-family:var(--sans);font-size:var(--text-xs);letter-spacing:.02em;cursor:pointer;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:700;display:flex}.profile-menu{z-index:var(--z-dropdown);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);min-width:232px;box-shadow:var(--shadow-float);flex-direction:column;padding:6px;display:flex}.profile-identity{align-items:center;gap:10px;padding:8px 10px 10px;display:flex}.avatar-lg{background:var(--accent);width:34px;height:34px;color:var(--accent-fg);font-size:var(--text-xs);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:700;display:flex}.profile-name{font-size:var(--text-body);color:var(--fg);font-weight:550}.menu-sep{background:var(--line);height:1px;margin:4px 6px}.menu-item{border-radius:var(--radius-lg);width:100%;min-height:40px;color:var(--fg-2);font-family:var(--sans);font-size:var(--text-body);text-align:left;cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border:none;align-items:center;gap:12px;padding:0 10px;font-weight:450;display:flex}.menu-item:hover,.menu-item[data-highlighted]{background:var(--surface-2);color:var(--fg);outline:none}.menu-item-on{color:var(--accent);font-weight:550}.menu-item-danger,.menu-item-danger:hover,.menu-item-danger[data-highlighted]{color:var(--color-danger)}.menu-item .icon{font-size:18px}.menu-value{font-size:var(--text-xs);color:var(--fg-3);margin-left:auto}.notice{font-size:var(--text-sm);background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface);border-bottom:1px solid var(--md-sys-color-outline-variant);justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.urgent{background:var(--md-sys-color-error-container,#fceeee);color:var(--md-sys-color-on-error-container,#8c1d18)}.text{flex:1}.dismiss{font:inherit;font-size:var(--text-sm);color:inherit;cursor:pointer;background:0 0;border:0;flex-shrink:0;padding:0;text-decoration:underline}.dismiss:hover{opacity:.8}.bottom-nav{display:none}@media (width<=768px){.bottom-nav{background:var(--surface);border-top:1px solid var(--line);padding-bottom:var(--safe-bottom);flex:none;display:flex}}.nav-item{min-height:52px;color:var(--fg-3);font-family:var(--sans);font-size:var(--text-xs);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-weight:530;display:flex;position:relative}.nav-item .icon{font-size:22px}.nav-item-on{color:var(--accent);font-weight:600}.nav-badge{background:var(--color-danger);color:#fff;min-width:17px;height:17px;font-size:var(--text-xs);border-radius:9px;justify-content:center;align-items:center;padding:0 4px;font-weight:700;display:flex;position:absolute;top:4px;left:calc(50% + 6px)}.canvas-container{touch-action:none;background-color:var(--md-sys-color-background);cursor:grab;-webkit-user-select:none;user-select:none;flex:1;width:100%;height:100%;position:relative;overflow:hidden}.canvas-container:active{cursor:grabbing}.canvas-transform-layer{width:0;height:0;position:absolute;top:0;left:0}.minimap-container{background-color:var(--md-sys-color-surface-container-low);border:1px solid var(--md-sys-color-outline-variant);box-shadow:none;cursor:crosshair;z-index:100;transition:background-color var(--transition-medium);border-radius:12px;padding:8px;position:absolute;bottom:24px;right:24px}.minimap-container:hover{background-color:var(--md-sys-color-surface-container)}.minimap-label{font-size:var(--text-xs);text-align:center;color:var(--md-sys-color-outline);margin-top:4px;font-weight:500}.canvas-controls{right:16px;bottom:calc(16px + var(--safe-bottom));border-radius:var(--radius-lg);background:var(--line);box-shadow:var(--shadow-float);z-index:var(--z-dropdown);flex-direction:column;gap:1px;display:flex;position:absolute;overflow:hidden}.canvas-controls button{background:var(--surface);width:40px;height:40px;color:var(--fg-2);cursor:pointer;border:none;justify-content:center;align-items:center;display:flex}.canvas-controls button:hover{background:var(--surface-2);color:var(--fg)}.canvas-controls .icon{font-size:20px}@media (width<=768px){.minimap-container{display:none}}.hud-controls{background-color:rgba(var(--md-sys-color-surface-container-low), .85);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--md-sys-color-outline-variant);font-size:var(--text-xs);color:var(--md-sys-color-outline);pointer-events:none;box-shadow:none;border-radius:8px;flex-direction:column;gap:6px;padding:8px 12px;display:flex;position:absolute;bottom:24px;left:24px}.hud-controls div{align-items:center;gap:6px;display:flex}.hud-controls .icon{font-size:14px}.ui-layer{pointer-events:auto}.node-card-interactive{transition:left var(--transition-medium), top var(--transition-medium)}.card-body{background-color:var(--md-sys-color-surface-container-low);border:1px solid var(--md-sys-color-outline-variant);-webkit-user-select:none;user-select:none;cursor:pointer;width:100%;height:100%;box-shadow:none;transition:background-color var(--transition-medium), box-shadow var(--transition-fast), transform var(--transition-fast), border-color var(--transition-medium);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;padding:8px;display:flex}.card-body:hover{box-shadow:var(--shadow-3);background-color:var(--md-sys-color-surface-container);border-color:var(--md-sys-color-primary);transform:translateY(-2px)}.card-body.selected-node{transform:scale(1.03);border:1px solid var(--md-sys-color-primary)!important;background-color:var(--md-sys-color-primary-container)!important;box-shadow:none!important}.card-body.selected-node .card-label{font-weight:600;color:var(--md-sys-color-on-primary-container)!important}.card-body.selected-node .central-icon{color:var(--md-sys-color-primary)!important}.domain-personal{--domain-accent:var(--color-domain-personal);--domain-accent-rgb:var(--color-domain-personal-rgb)}.domain-relations{--domain-accent:var(--color-domain-relations);--domain-accent-rgb:var(--color-domain-relations-rgb)}.domain-career{--domain-accent:var(--color-domain-career);--domain-accent-rgb:var(--color-domain-career-rgb)}.root-node-card .card-body{background:linear-gradient(135deg, rgba(var(--domain-accent-rgb), .08) 0%, rgba(var(--domain-accent-rgb), .2) 100%);border-color:var(--domain-accent);box-shadow:var(--shadow-3);border-width:2px;border-radius:24px}.root-node-card .card-body:hover{box-shadow:var(--shadow-5);transform:translateY(-4px)}.root-node-card .card-body.selected-node{background:linear-gradient(135deg, rgba(var(--domain-accent-rgb), .16) 0%, rgba(var(--domain-accent-rgb), .35) 100%)!important;box-shadow:0 0 24px rgba(var(--domain-accent-rgb), .55)!important;border-color:var(--domain-accent)!important;transform:scale(1.03)!important}.root-node-card .card-body.selected-node .card-label{color:var(--md-sys-color-on-surface)!important}.details-btn{width:24px;height:24px;color:var(--md-sys-color-outline);transition:background-color var(--transition-fast), color var(--transition-fast);z-index:12;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:6px;right:6px}.details-btn:hover{background-color:var(--md-sys-color-surface-container-high);color:var(--domain-accent)}.details-btn .icon{font-size:16px}.icon-ring-container{justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:6px;display:flex;position:relative}.progress-ring{position:absolute;top:0;left:0;transform:rotate(-90deg)}.progress-ring-bg{fill:#0000;stroke:var(--md-sys-color-outline-variant);opacity:.3}.progress-ring-active{fill:#0000;stroke-linecap:round;transition:stroke-dashoffset var(--transition-medium)}.central-icon{z-index:2;transition:color var(--transition-medium);font-size:26px}.card-label{font-size:var(--text-xs);text-align:center;white-space:nowrap;text-overflow:ellipsis;width:100%;color:var(--md-sys-color-on-surface);font-weight:500;overflow:hidden}.expand-indicator{opacity:.7;justify-content:center;align-items:center;display:flex;position:absolute;bottom:2px}.expand-indicator .icon{font-size:16px}.card-body.zoomed-out{pointer-events:none;pointer-events:auto;box-shadow:none!important;background:0 0!important;border:none!important}.card-body.zoomed-out:hover{box-shadow:none!important;transform:none!important}.card-body.zoomed-out .card-label{white-space:normal;text-shadow:0 2px 8px #0006;line-height:1.2;overflow:visible}.outline{background:var(--bg);height:100%;padding-bottom:24px;overflow:hidden auto}.row{width:100%;min-width:0;min-height:56px;padding:6px 14px 6px min(calc(14px + var(--depth,0) * 20px), 33%);padding-right:max(14px, var(--safe-right));text-align:left;font-family:var(--sans);cursor:pointer;background:0 0;border:none;align-items:center;gap:11px;display:flex}.row+.row{border-top:1px solid var(--line)}.row-selected{background:var(--accent-soft)}.twisty{width:28px;min-height:40px;color:var(--fg-3);cursor:pointer;border-radius:var(--radius-md);background:0 0;border:none;flex:none;justify-content:center;align-items:center;display:flex}.twisty-spacer{flex:none;width:28px}.twisty .icon{font-size:20px}.badge{border-radius:var(--radius-lg);background:color-mix(in srgb, var(--domain) 14%, transparent);width:30px;height:30px;color:var(--domain);flex:none;justify-content:center;align-items:center;display:flex}.badge .icon{font-size:17px}.text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.title{font-size:var(--text-md);color:var(--fg);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;font-weight:520;overflow:hidden}.meta{font-size:var(--text-xs);color:var(--fg-3)}.bar{background:var(--surface-3);border-radius:2px;flex:none;width:54px;min-width:54px;height:3px;overflow:hidden}.bar>i{background:var(--domain);border-radius:2px;height:100%;display:block}.empty{text-align:center;color:var(--fg-3);font-size:var(--text-sm);padding:48px 24px}.card{background-color:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-lg);flex-direction:column;display:flex}.row{border-left:3px solid var(--domain-color,transparent);padding:var(--space-3);gap:var(--space-3)}.headerRow{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.titleGroup,.titleWrap{align-items:center;gap:var(--space-2);flex:1;min-width:0;display:flex}.title{min-width:0;font-size:var(--text-body-sm);color:var(--fg);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;font-weight:600;overflow:hidden}.count{padding:2px var(--space-1-5);border-radius:var(--radius-pill);background-color:var(--surface-3);color:var(--fg-2);font-size:var(--text-xs);flex:none;font-weight:500}.actions{align-items:center;gap:var(--space-2);flex:none;display:flex}.actionBtn{padding:var(--space-1);border-radius:var(--radius);color:var(--fg-3);cursor:pointer;opacity:.6;transition:opacity var(--transition-fast), color var(--transition-fast);background:0 0;border:none;align-items:center;display:inline-flex}.actionBtn:hover,.actionBtn:focus-visible{opacity:1;color:var(--accent)}.actionBtnDanger:hover,.actionBtnDanger:focus-visible{color:var(--color-danger)}@media (width<=768px){.actionBtn{opacity:1;min-width:var(--touch-target);min-height:var(--touch-target);justify-content:center}}.editInput{border:1px solid var(--accent);border-radius:var(--radius);min-width:0;padding:var(--space-0-5) var(--space-1-5);background:var(--surface-3);color:var(--fg);outline:none;flex:1;font-family:inherit}.titleInput{font-size:var(--text-body);font-weight:600}.descSection{margin-top:var(--space-1);padding-left:28px}.descInput{width:100%;font-size:var(--text-body-sm)}.desc{font-size:var(--text-body-sm);color:var(--fg-2);cursor:pointer}.descEmpty{color:var(--fg-3);font-style:italic}@media (width<=768px){.editInput{font-size:max(var(--text-input), 1em)}}.grid{border-top:3px solid var(--domain-color,var(--accent));padding:var(--space-4);gap:var(--space-3);background-color:var(--surface-2);transition:transform var(--transition-fast) ease, box-shadow var(--transition-fast) ease, border-color var(--transition-fast) ease, background-color var(--transition-fast) ease}.clickable{cursor:pointer}.clickable:hover{background-color:var(--surface-3);border-color:var(--line-2);box-shadow:var(--shadow-2);transform:translateY(-2px)}.selected{background-color:var(--surface-3);border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.gridHeader{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.metaBadge{align-items:center;gap:var(--space-1-5);flex:1;min-width:0;display:flex}.headerRight{align-items:center;gap:var(--space-1-5);flex:none;display:flex}.completedBadge{background-color:var(--surface-3);color:var(--color-success,#10b981);border-radius:var(--radius-pill);font-size:var(--text-xs);align-items:center;gap:3px;padding:2px 7px;font-weight:600;display:inline-flex}.emptyBadge{background-color:var(--surface-3);color:var(--fg-3);border-radius:var(--radius-pill);font-size:var(--text-xs);padding:2px 7px;font-weight:500;display:inline-flex}.icon{color:var(--domain-color,var(--accent));font-size:var(--text-lg);flex:none}.nodeBadge{font-size:var(--text-xs);color:var(--fg-3);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.chevron{color:var(--fg-3);font-size:var(--text-base);transition:transform var(--transition-fast) ease, color var(--transition-fast) ease;flex:none}.clickable:hover .chevron{color:var(--fg);transform:translate(2px)}.gridBody{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.gridTitle{font-size:var(--text-body);color:var(--fg);-webkit-line-clamp:2;word-break:break-word;-webkit-box-orient:vertical;margin:0;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.gridDesc{font-size:var(--text-xs);color:var(--fg-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;line-height:1.4;display:-webkit-box;overflow:hidden}.taskPreviewSection{gap:var(--space-1-5);background-color:var(--surface-1);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-2);margin-top:var(--space-1);flex-direction:column;display:flex}.taskPreviewList{gap:var(--space-1);flex-direction:column;display:flex}.taskPreviewItem{align-items:center;gap:var(--space-2);padding:3px var(--space-1);border-radius:var(--radius-sm);transition:background-color var(--transition-fast) ease;cursor:pointer;display:flex}.taskPreviewItem:hover{background-color:var(--surface-2)}.taskCheckbox{border:1.5px solid var(--fg-3);width:15px;height:15px;transition:all var(--transition-fast) ease;background-color:#0000;border-radius:3px;flex:none;justify-content:center;align-items:center;display:inline-flex}.taskCheckboxChecked{background-color:var(--domain-color,var(--accent));border-color:var(--domain-color,var(--accent));color:#fff}.taskTitle{font-size:var(--text-xs);color:var(--fg-2);white-space:nowrap;text-overflow:ellipsis;flex:1;line-height:1.3;overflow:hidden}.taskPreviewDone .taskTitle{color:var(--fg-3);opacity:.75;text-decoration:line-through}.moreTasksBadge{font-size:var(--text-xs);color:var(--fg-3);padding-left:var(--space-1);font-weight:500}.gridFooter{gap:var(--space-1-5);padding-top:var(--space-1);flex-direction:column;margin-top:auto;display:flex}.progressTrack{border-radius:var(--radius-pill);background:var(--surface-3);width:100%;height:6px;overflow:hidden}.progressFill{border-radius:var(--radius-pill);background:var(--domain-color,var(--accent));height:100%;transition:width var(--transition-medium) ease}.progressTextRow{font-size:var(--text-xs);color:var(--fg-2);justify-content:space-between;align-items:center;font-weight:500;display:flex}.percentText{color:var(--fg-3);font-weight:600}.ai-copilot-content{flex-direction:column;flex:1;gap:0;height:100%;min-height:0;padding:0;display:flex;overflow:hidden!important}.widget-custom-header{border-bottom:1px solid var(--md-sys-color-outline-variant);background-color:var(--md-sys-color-surface-container);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.header-btn{color:var(--md-sys-color-outline);transition:color var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;padding:4px;display:flex}.header-btn:hover{color:var(--md-sys-color-primary)}.header-btn .icon{font-size:18px}.chat-model-selector{border-bottom:1px solid var(--md-sys-color-outline-variant);background-color:var(--md-sys-color-surface-container-low);align-items:center;gap:8px;padding:8px 16px;display:flex}.model-sel-icon{color:var(--md-sys-color-outline);font-size:16px!important}.chat-model-selector select{font-family:inherit;font-size:var(--text-xs);border:1px solid var(--md-sys-color-outline-variant);background-color:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface);cursor:pointer;transition:border-color var(--transition-fast);border-radius:6px;outline:none;flex:1;padding:4px 8px}.chat-model-selector select:focus{border-color:var(--md-sys-color-primary)}.ai-loading-bubble{align-items:center;gap:8px;display:flex}.chat-stop-btn{color:var(--md-sys-color-error);cursor:pointer;transition:background-color var(--transition-fast), transform var(--transition-fast);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;margin-left:4px;padding:4px;display:flex}.chat-stop-btn:hover{background-color:#d32f2f1a;transform:scale(1.1)}.chat-stop-btn .icon{font-size:18px!important}.chat-messages-frame{background-color:rgba(var(--md-sys-color-surface-container), .15);flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.chat-welcome-tip{text-align:center;opacity:.85;flex-direction:column;align-items:center;gap:8px;max-width:280px;margin:auto;display:flex}.robot-welcome-icon{color:var(--md-sys-color-primary);font-size:48px}.chat-welcome-tip h4{font-size:var(--text-md);color:var(--md-sys-color-on-surface);font-weight:600}.chat-welcome-tip p{font-size:var(--text-xs);color:var(--md-sys-color-outline);line-height:1.5}.chat-bubble-row{width:100%;display:flex}.msg-user-row{justify-content:flex-end}.msg-ai-row{justify-content:flex-start}.chat-bubble{max-width:80%;box-shadow:var(--shadow-1);border-radius:16px;flex-direction:column;gap:4px;padding:10px 14px;display:flex}.msg-user-row .chat-bubble{background-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border-bottom-right-radius:2px}.msg-ai-row .chat-bubble{background-color:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface);border:1px solid var(--md-sys-color-outline-variant);border-bottom-left-radius:2px}.bubble-text{font-size:var(--text-sm);word-break:break-word;line-height:1.5}.bubble-text pre,.bubble-text code{white-space:pre-wrap;word-break:break-all}.bubble-text p{margin-bottom:8px}.bubble-text p:last-child{margin-bottom:0}.bubble-text ul,.bubble-text ol{margin-bottom:8px;padding-left:20px;list-style-position:outside}.bubble-text ul{list-style-type:disc}.bubble-text ol{list-style-type:decimal}.bubble-text li{margin-bottom:4px}.bubble-text kbd{font-size:var(--text-xs);background-color:var(--md-sys-color-surface-container);border-radius:4px;padding:2px 4px}.ai-bubble-text li{cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);border-radius:8px;margin-bottom:6px;padding:6px 32px 6px 8px;position:relative}.ai-bubble-text li.task-list-item{align-items:center;gap:8px;padding-left:0;list-style-type:none;display:flex}.ai-bubble-text li:hover:not(.added-task):not(.adding-task){color:var(--md-sys-color-primary);background-color:#0061a414}.ai-bubble-text .task-list-item-checkbox{vertical-align:middle;margin-right:6px}.ai-bubble-text .li-content{font-size:var(--text-sm);flex:1;line-height:1.4}.ai-bubble-text .li-add-icon{color:var(--md-sys-color-primary);opacity:0;transition:opacity var(--transition-fast), transform var(--transition-fast);-webkit-user-select:none;user-select:none;position:absolute;top:50%;right:8px;transform:translateY(-50%);font-family:Material Symbols Outlined!important;font-size:18px!important}.ai-bubble-text li:hover .li-add-icon{opacity:.85}.ai-bubble-text li:hover .li-add-icon:hover{opacity:1;transform:translateY(-50%)scale(1.15)}.ai-bubble-text li.adding-task{opacity:.55}.ai-bubble-text li.adding-task .li-add-icon{opacity:1!important}.ai-bubble-text li.added-task{color:var(--md-sys-color-outline);cursor:default}.ai-bubble-text li.added-task .li-content{text-decoration:line-through}.ai-bubble-text li.added-task .li-add-icon{color:var(--color-success);opacity:1!important}.bubble-footer{-webkit-user-select:none;user-select:none;justify-content:flex-end;align-self:flex-end;align-items:center;gap:6px;margin-top:2px;display:flex}.bubble-time{font-size:var(--text-xs);opacity:.65}.delete-msg-btn,.add-to-notes-btn{cursor:pointer;opacity:0;transition:opacity var(--transition-fast), color var(--transition-fast);color:var(--md-sys-color-outline);-webkit-user-select:none;user-select:none;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.delete-msg-btn .icon,.add-to-notes-btn .icon{font-size:16px!important}.chat-bubble:hover .delete-msg-btn,.chat-bubble:hover .add-to-notes-btn{opacity:.7}.delete-msg-btn:hover{opacity:1!important;color:var(--md-sys-color-error)!important}.add-to-notes-btn:hover{opacity:1!important;color:var(--md-sys-color-primary)!important}.msg-user-row .delete-msg-btn,.msg-user-row .add-to-notes-btn{color:#ffffffd9}.msg-user-row .delete-msg-btn:hover{color:#ffcdd2!important}.msg-user-row .add-to-notes-btn:hover{color:#e3f2fd!important}.suggestions-chips-wrapper{border-top:1px solid var(--md-sys-color-outline-variant);background-color:var(--md-sys-color-surface-container-low);flex-wrap:wrap;gap:8px;padding:12px 16px;display:flex}.suggest-chip{font-family:inherit;font-size:var(--text-xs);color:var(--md-sys-color-primary);background-color:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);border-radius:16px;padding:6px 12px;font-weight:500}.suggest-chip:hover:not(:disabled){border-color:var(--md-sys-color-primary);background-color:#0061a40d;transform:translateY(-1px)}.suggest-chip:disabled{opacity:.5;cursor:not-allowed}.chat-entry-form{border-top:1px solid var(--md-sys-color-outline-variant);background-color:var(--md-sys-color-surface-container);align-items:center;gap:12px;padding:12px 16px;display:flex}.chat-entry-form textarea{font-family:inherit;font-size:var(--text-sm);border:1px solid var(--md-sys-color-outline-variant);background-color:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface);resize:none;box-sizing:border-box;height:38px;max-height:150px;transition:border-color var(--transition-fast);border-radius:20px;outline:none;flex:1;padding:8px 16px;line-height:1.5}.chat-entry-form textarea:focus{border-color:var(--md-sys-color-primary)}.chat-send-btn{background-color:var(--md-sys-color-primary);width:38px;height:38px;color:var(--md-sys-color-on-primary);transition:opacity var(--transition-fast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-send-btn:disabled{opacity:.5;cursor:not-allowed}.chat-send-btn .icon{font-size:18px!important}.spinner-dots{gap:4px;display:flex}.spinner-dots span{background-color:var(--md-sys-color-outline);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite both bounce;display:inline-block}.spinner-dots span:first-child{animation-delay:-.32s}.spinner-dots span:nth-child(2){animation-delay:-.16s}.details-panel{background-color:var(--md-sys-color-surface-container-low);border-left:1px solid var(--md-sys-color-outline-variant);height:100dvh;box-shadow:var(--shadow-4);z-index:1000;transition:transform var(--transition-medium), background-color var(--transition-medium);flex-direction:column;display:flex;position:fixed;top:0;right:0}@media (width<=768px){.details-panel{border-left:none;width:auto;left:0;right:0}.resize-handle{display:none}}@media (width>=769px){.details-panel{height:100%;z-index:var(--z-base);box-shadow:none;border-left:1px solid var(--md-sys-color-outline-variant);flex:none;position:relative;top:auto;right:auto}}.resize-handle{cursor:ew-resize;touch-action:none;z-index:1010;width:8px;height:100%;transition:background-color var(--transition-fast);background-color:#0000;position:absolute;top:0;left:-4px}.resize-handle:hover,.resize-handle:active{background-color:var(--md-sys-color-primary)}.slide-in{animation:slideIn var(--transition-medium) forwards}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.panel-header{border-bottom:1px solid var(--md-sys-color-outline-variant);justify-content:space-between;align-items:center;padding:16px;display:flex}.panel-title-area{align-items:center;gap:12px;display:flex}.panel-icon{font-size:28px}.close-btn{width:36px;height:36px;color:var(--md-sys-color-on-surface-variant);border-radius:50%;justify-content:center;align-items:center;display:flex}.close-btn:hover{background-color:var(--md-sys-color-surface-container-high)}.panel-tabs{background-color:var(--md-sys-color-surface-container);border-bottom:1px solid var(--md-sys-color-outline-variant);display:flex}.panel-content{flex-direction:column;flex:1;gap:20px;min-height:0;padding:16px;display:flex;overflow-y:auto}.domain-badge-container{margin-bottom:-10px}.domain-badge{font-size:var(--label-size);font-weight:var(--label-weight);letter-spacing:var(--label-tracking);color:#fff;border-radius:var(--radius-pill);text-transform:uppercase;padding:4px 10px;display:inline-block}.section-block{background-color:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:12px;padding:16px}.section-block h3{font-size:var(--text-body);color:var(--md-sys-color-on-surface);margin-bottom:12px;font-weight:600}.tag-badges-area{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tag-pill{background-color:var(--md-sys-color-surface-container-high);border:1px solid var(--md-sys-color-outline-variant);font-size:var(--text-xs);color:var(--md-sys-color-on-surface);border-radius:16px;align-items:center;gap:6px;padding:4px 10px;font-weight:500;display:flex}.tag-remove-btn{cursor:pointer;font-size:var(--text-sm);color:var(--md-sys-color-outline);background:0 0;border:none;padding:0}.tag-remove-btn:hover{color:#d32f2f}.tag-input-wrapper input{font-size:var(--text-xs);font-family:var(--sans);color:var(--md-sys-color-on-surface);background:0 0;border:none;outline:none;width:80px}.desc-display-box{font-size:var(--text-sm);color:var(--md-sys-color-on-surface);cursor:pointer;min-height:50px;transition:border-color var(--transition-fast), background-color var(--transition-fast);border:1px solid #0000;border-radius:8px;padding:8px;line-height:1.6}.desc-display-box:hover{background-color:var(--md-sys-color-surface-container-low);border-color:var(--md-sys-color-outline)}.placeholder-text{color:var(--md-sys-color-outline);font-style:italic}.desc-textarea{width:100%;min-height:80px;font-size:var(--text-sm);line-height:1.6;font-family:var(--sans);background-color:var(--md-sys-color-surface-container-low);color:var(--md-sys-color-on-surface);border:1px solid var(--md-sys-color-outline);resize:vertical;border-radius:8px;outline:none;padding:8px}.add-goal-form{gap:8px;margin-bottom:16px;display:flex}.add-goal-form input{background-color:var(--md-sys-color-surface-container-low);border:1px solid var(--md-sys-color-outline-variant);font-size:var(--text-sm);color:var(--md-sys-color-on-surface);font-family:var(--sans);border-radius:8px;outline:none;flex:1;padding:8px 12px}.add-goal-form input:focus{border-color:var(--md-sys-color-primary)}.goal-add-btn{background-color:var(--md-sys-color-primary);width:38px;height:38px;color:var(--md-sys-color-on-primary);box-shadow:var(--shadow-1);border-radius:8px;justify-content:center;align-items:center;display:flex}.goals-hierarchy-list{flex-direction:column;gap:16px;display:flex}.empty-goals-hint{text-align:center;font-size:var(--text-xs);color:var(--md-sys-color-outline);line-style:italic;padding:24px 8px}.notes-panel-content{flex-direction:column;gap:20px;padding:20px;display:flex;overflow-y:auto}.quick-note-section,.node-notes-list-section{flex-direction:column;gap:12px;display:flex}.quick-note-section h3,.node-notes-list-section h3{font-size:var(--text-body);color:var(--md-sys-color-on-surface);border-bottom:1px solid var(--md-sys-color-outline-variant);margin:0;padding-bottom:6px;font-weight:600}.quick-note-form{background-color:var(--md-sys-color-surface-container-low);border:1px solid var(--md-sys-color-outline-variant);border-radius:12px;flex-direction:column;gap:10px;padding:12px;display:flex}.quick-note-form input,.quick-note-form textarea{background-color:var(--md-sys-color-surface-container-high);border:1px solid var(--md-sys-color-outline-variant);font-size:var(--text-sm);color:var(--md-sys-color-on-surface);font-family:var(--sans);resize:none;border-radius:8px;outline:none;padding:8px 12px}.quick-note-form input:focus,.quick-note-form textarea:focus{border-color:var(--md-sys-color-primary)}.add-quick-note-btn{color:#fff;font-size:var(--text-xs);cursor:pointer;border:none;border-radius:20px;align-self:flex-end;align-items:center;gap:6px;padding:8px 16px;font-weight:500;display:flex}.add-quick-note-btn:disabled{opacity:.5;cursor:not-allowed}.node-notes-list{flex-direction:column;gap:12px;display:flex}.empty-notes-prompt{color:var(--md-sys-color-outline);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:24px;display:flex}.empty-notes-prompt .icon{font-size:32px}.node-note-item-card{background-color:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);box-shadow:none;border-radius:12px;padding:12px}.note-item-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.note-item-header h4{font-size:var(--text-sm);color:var(--md-sys-color-on-surface);margin:0;font-weight:600}.note-item-actions{gap:4px;display:flex}.note-item-actions button{cursor:pointer;width:28px;height:28px;color:var(--md-sys-color-outline);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.note-item-actions button:hover{background-color:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-primary)}.note-item-actions button.delete-btn:hover{color:var(--md-sys-color-error)}.note-item-actions button .icon{font-size:16px}.note-item-body{color:var(--md-sys-color-on-surface-variant);word-break:break-word;margin-bottom:4px;font-size:12.5px;line-height:1.5}.note-item-body.collapsed{-webkit-line-clamp:6;text-overflow:ellipsis;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.note-expand-toggle-btn{color:var(--md-sys-color-primary);font-size:var(--text-xs);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;align-self:flex-start;align-items:center;gap:4px;margin-bottom:8px;padding:4px 0;font-weight:500;display:inline-flex}.note-expand-toggle-btn:hover{color:var(--md-sys-color-primary-dark);text-decoration:underline}.note-item-body p{margin:0 0 6px}.note-item-date{font-size:var(--text-xs);color:var(--md-sys-color-outline);display:block}.inline-note-editor{flex-direction:column;gap:8px;display:flex}.inline-note-editor input,.inline-note-editor textarea{background-color:var(--md-sys-color-surface-container-high);border:1px solid var(--md-sys-color-outline-variant);font-size:var(--text-sm);color:var(--md-sys-color-on-surface);font-family:var(--sans);resize:none;border-radius:8px;outline:none;padding:8px 12px}.inline-editor-controls{justify-content:flex-end;gap:8px;display:flex}.inline-editor-controls .save-btn{background-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);font-size:var(--text-xs);cursor:pointer;border:none;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-weight:500;display:flex}.inline-editor-controls .cancel-btn{border:1px solid var(--md-sys-color-outline);color:var(--md-sys-color-on-surface-variant);font-size:var(--text-xs);cursor:pointer;background:0 0;border-radius:6px;padding:6px 12px;font-weight:500}.kanban-shell{width:100%;height:100%;min-height:0;max-width:var(--content-max);gap:16px;margin-inline:auto;display:flex}.kanban-container{background-color:var(--md-sys-color-background);flex-direction:column;flex:1;min-width:0;height:100%;padding:24px;display:flex;overflow:hidden}.kanban-header{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.kanban-title{font-size:var(--text-2xl);letter-spacing:-.02em;color:var(--fg);margin:0;font-weight:640}.week-chip{border-radius:var(--radius-full);border:1px solid var(--line);height:30px;color:var(--fg-2);font-size:var(--text-xs);white-space:nowrap;align-items:center;padding:0 12px;font-weight:520;display:inline-flex}.header-spacer{flex:auto}.group-mode-toggle{border-radius:var(--radius-full);border:1px solid var(--line);background:var(--surface-2);gap:2px;padding:3px;display:inline-flex}.group-mode-btn{border-radius:var(--radius-full);min-height:28px;color:var(--fg-2);font-family:var(--sans);font-size:var(--text-xs);cursor:pointer;background:0 0;border:none;padding:0 12px;font-weight:530}.group-mode-btn-on{background:var(--surface);color:var(--fg);font-weight:600}.copilot-btn{border:1px solid var(--line);border-radius:var(--radius-full);width:34px;height:34px;color:var(--fg-2);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;flex:none;justify-content:center;align-items:center;display:flex}.copilot-btn:hover{background:var(--surface-2);color:var(--fg)}.copilot-btn-on{background:var(--accent);color:var(--accent-fg);border-color:#0000}.copilot-btn .icon{font-size:19px}.goals-summary-toggle{border:1px solid var(--line);border-radius:var(--radius-lg);width:100%;min-height:40px;color:var(--fg-2);font-family:var(--sans);font-size:var(--text-xs);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:9px;margin-bottom:14px;padding:0 13px;display:flex}.goals-summary-toggle:hover{background:var(--surface-2)}.goals-summary-toggle strong{color:var(--fg);font-weight:560}.goals-summary-toggle .icon{font-size:18px}.kanban-header h2{font-size:var(--text-3xl);color:var(--md-sys-color-on-background);font-weight:600}.kanban-header p{font-size:var(--text-sm);color:var(--md-sys-color-outline)}.capacity-meter{border-radius:var(--radius-full);border:1px solid var(--line);height:30px;color:var(--fg-2);font-size:var(--text-xs);white-space:nowrap;align-items:center;gap:9px;padding:0 12px;display:inline-flex}.capacity-scope{color:var(--fg-3)}.capacity-hours strong{color:var(--fg);font-weight:620}.capacity-limit{color:var(--fg-3)}.capacity-bar{background:var(--surface-3);border-radius:2px;width:68px;height:3px;overflow:hidden}.capacity-bar>i{background:var(--accent);height:100%;transition:width var(--transition-medium);border-radius:2px;display:block}.capacity-bar-over{background:var(--color-danger)!important}.capacity-pct{font-weight:560}.capacity-pct-over{color:var(--color-danger)}.capacity-wins{color:var(--color-success);align-items:center;gap:3px;font-weight:600;display:inline-flex}.capacity-wins .icon{font-size:14px}.goals-summary-section{background-color:var(--md-sys-color-surface-container-low);border:1px solid var(--md-sys-color-outline-variant);border-radius:16px;margin-bottom:20px;padding:12px 16px}.goals-summary-section h3{font-size:var(--label-size);font-weight:var(--label-weight);letter-spacing:var(--label-tracking);text-transform:uppercase;color:var(--fg-3);margin-bottom:8px}.goals-summary-list{flex-wrap:wrap;gap:12px;display:flex}.goal-summary-chip{background-color:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);box-shadow:none;min-width:220px;max-width:320px;transition:background-color var(--transition-fast);border-radius:12px;flex:1;align-items:center;gap:16px;padding:8px 12px;display:flex}.goal-summary-chip:hover{background-color:var(--md-sys-color-surface-container)}.goal-summary-chip-left{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.goal-summary-icon{font-size:20px}.goal-summary-info{flex-direction:column;min-width:0;display:flex}.goal-summary-title{font-size:var(--text-xs);color:var(--md-sys-color-on-surface);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.goal-summary-node{font-size:var(--label-size);font-weight:var(--label-weight);letter-spacing:var(--label-tracking);color:var(--fg-3);text-transform:uppercase}.goal-summary-chip-right{flex-direction:column;align-items:flex-end;gap:4px;width:75px;display:flex}.goal-summary-progress-text{font-size:var(--text-xs);color:var(--md-sys-color-on-surface-variant);font-weight:600}.goal-summary-progress-bar-bg{background-color:var(--md-sys-color-surface-container-high);border-radius:2px;width:100%;height:4px;overflow:hidden}.goal-summary-progress-bar-fill{height:100%;transition:width var(--transition-medium);border-radius:2px}.kanban-board{flex:1;grid-template-columns:repeat(4,1fr);gap:20px;display:grid;overflow:hidden}.column-switcher{scrollbar-width:none;gap:8px;margin-bottom:4px;padding-bottom:12px;display:flex;overflow-x:auto}.column-switcher::-webkit-scrollbar{display:none}.kanban-column{background-color:var(--md-sys-color-surface-container-low);border:1px solid var(--md-sys-color-outline-variant);height:100%;transition:background-color var(--transition-medium);border-radius:16px;flex-direction:column;padding:12px;display:flex;overflow:hidden}.column-header{border-bottom:1px solid var(--md-sys-color-outline-variant);align-items:center;gap:8px;margin-bottom:12px;padding-bottom:8px;display:flex}.column-icon{color:var(--md-sys-color-outline);font-size:20px}.column-ToDo .column-icon{color:var(--md-sys-color-primary)}.column-InProgress .column-icon{color:var(--color-warning)}.column-Waiting .column-icon{color:var(--md-sys-color-outline)}.column-Done .column-icon{color:var(--color-success)}.column-header h3{font-size:var(--text-md);color:var(--md-sys-color-on-surface);flex:1;font-weight:600}.column-count{background-color:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface-variant);font-size:var(--text-xs);border-radius:12px;padding:2px 8px;font-weight:600}.column-cards-list{flex-direction:column;flex:1;gap:12px;padding-bottom:16px;display:flex;overflow-y:auto}.column-empty-state{border:2px dashed var(--md-sys-color-outline-variant);text-align:center;font-size:var(--text-xs);color:var(--md-sys-color-outline);-webkit-user-select:none;user-select:none;border-radius:12px;padding:32px 16px;font-style:italic}.kanban-card{background-color:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);border-left:4.5px solid var(--domain-color);box-shadow:none;cursor:grab;-webkit-user-select:none;user-select:none;transition:box-shadow var(--transition-medium), transform var(--transition-medium), border-color var(--transition-medium), background-color var(--transition-medium);border-radius:12px;padding:12px}.kanban-card:active{cursor:grabbing}.kanban-card.dragging{opacity:.15;border:2px dashed var(--md-sys-color-outline);box-shadow:none!important;background-color:#0000!important;transform:none!important}.kanban-card:hover{box-shadow:var(--shadow-3), 0 4px 12px var(--domain-color-glow);border-color:var(--domain-color);background-color:var(--md-sys-color-surface-container-low);transform:translateY(-3px)}.card-status{float:right;align-items:center;margin:-2px -2px 0 8px;display:inline-flex;position:relative}.card-status-select{appearance:none;font-family:inherit;font-size:var(--text-xs);color:var(--md-sys-color-on-surface-variant);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--radius-full);cursor:pointer;transition:border-color var(--transition-fast), color var(--transition-fast);background:0 0;padding:3px 22px 3px 10px;font-weight:500}.card-status-select:hover{border-color:var(--md-sys-color-outline);color:var(--md-sys-color-on-surface)}.card-status-chevron{font-size:var(--text-md);color:var(--md-sys-color-outline);pointer-events:none;position:absolute;right:5px}@media (width<=768px){.card-status{float:none;margin:8px 0 0;display:flex}.card-status-select{min-height:40px;font-size:var(--text-sm);flex:1}}.card-domain-header{border-bottom:1px solid var(--md-sys-color-outline-variant);align-items:center;gap:6px;margin-bottom:8px;padding-bottom:4px;display:flex}.domain-icon{font-size:16px}.domain-text{font-size:var(--label-size);font-weight:var(--label-weight);letter-spacing:var(--label-tracking);text-transform:uppercase;color:var(--fg-3);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.unassign-btn{color:#fbc02d;padding:2px}.unassign-btn:hover{color:var(--md-sys-color-outline)}.unassign-btn .icon{font-size:16px}.card-title{font-size:var(--text-body);color:var(--md-sys-color-on-surface);margin-bottom:6px;font-weight:500;line-height:1.4}.card-title-row{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.card-title-row .card-title{cursor:pointer;flex:1;margin-bottom:0}.card-edit-btn{cursor:pointer;opacity:0;transition:opacity var(--transition-fast), color var(--transition-fast);color:var(--md-sys-color-outline);background:0 0;border:none;justify-content:center;align-items:center;padding:2px;display:flex}.kanban-card:hover .card-edit-btn{opacity:.6}.card-edit-btn:hover{opacity:1!important;color:var(--domain-color)!important}.card-edit-btn .icon{font-size:14px}.card-title-edit-input{background-color:var(--md-sys-color-surface-container-high);border:1px solid var(--domain-color);font-size:var(--text-sm);color:var(--md-sys-color-on-surface);font-weight:500;font-family:var(--sans);box-sizing:border-box;border-radius:4px;outline:none;width:100%;margin-bottom:6px;padding:4px 8px}.card-goal-subtitle{font-size:var(--text-xs);color:var(--md-sys-color-outline);align-items:center;gap:6px;margin-bottom:8px;display:flex}.goal-sub-icon{font-size:12px}.card-tags-list{flex-wrap:wrap;gap:4px;display:flex}.kb-tag-pill{background-color:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface-variant);font-size:var(--text-xs);border-radius:8px;padding:1px 6px;font-weight:500}.card-expand-btn{border-radius:var(--radius);color:var(--fg-3);cursor:pointer;transition:color var(--transition-fast), background-color var(--transition-fast);background:0 0;border:none;flex:none;justify-content:center;align-items:center;display:inline-flex}.card-expand-btn:hover,.card-expand-btn:focus-visible{color:var(--fg);background:var(--surface-2)}@media (width<=768px){.card-expand-btn{min-width:var(--touch-target);min-height:var(--touch-target)}}.card-details{gap:var(--space-2);flex-direction:column;display:flex;overflow:hidden}.card-details[data-state=open]{animation:cardDetailsOpen var(--transition-fast) ease-out}@keyframes cardDetailsOpen{0%{opacity:0;height:0}to{height:var(--radix-collapsible-content-height);opacity:1}}@media (prefers-reduced-motion:reduce){.card-details[data-state=open]{animation:none}}.card-meta-chip{align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--fg-2);display:flex}.card-meta-overdue{color:var(--color-danger);font-weight:600}.card-drag-handle{top:var(--space-2);right:var(--space-2);min-width:var(--touch-target);min-height:var(--touch-target);border-radius:var(--radius);color:var(--fg-3);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex;position:absolute}.card-drag-handle:active{cursor:grabbing}.card-drag-handle:hover,.card-drag-handle:focus-visible{color:var(--fg);background:var(--surface-2)}.kanban-card{position:relative}.dragging{opacity:.4}.column-drop-over{outline:2px solid var(--accent);outline-offset:-2px;background:var(--accent-soft)}.column-switcher-active{outline:1px dashed var(--line-2);outline-offset:4px;border-radius:var(--radius)}.column-switcher-active [data-drop-status]{background:var(--surface-2)}.admin-container{max-width:var(--content-max);background-color:var(--md-sys-color-background);flex:1;width:100%;height:100%;margin-inline:auto;padding:24px;overflow-y:auto}.admin-header{margin-bottom:20px}.admin-header h2{font-size:var(--text-3xl);color:var(--md-sys-color-on-background);font-weight:600}.admin-header p{font-size:var(--text-sm);color:var(--md-sys-color-outline)}.admin-grid{grid-template-columns:repeat(auto-fit,minmax(320px,560px));justify-content:center;align-items:start;gap:24px;display:grid}.admin-card-col{flex-direction:column;gap:24px;display:flex}.admin-card-group{flex-direction:column;gap:12px;display:flex}.admin-panel-card{background-color:var(--md-sys-color-surface-container-low);border:1px solid var(--md-sys-color-outline-variant);box-shadow:none;border-radius:16px;padding:20px}.admin-panel-card h3{font-size:var(--text-lg);color:var(--md-sys-color-on-surface);border-bottom:1px solid var(--md-sys-color-outline-variant);margin-bottom:16px;padding-bottom:8px;font-weight:600}.form-group{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.form-group label{font-size:var(--text-xs);color:var(--md-sys-color-on-surface-variant);font-weight:600}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--md-sys-color-outline-variant);font-size:var(--text-body);font-family:var(--sans);background-color:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface);border-radius:8px;outline:none;padding:10px 12px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--md-sys-color-primary)}.form-group textarea{resize:vertical;min-height:80px}.admin-btn-primary{background-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);font-size:var(--text-body);width:100%;box-shadow:var(--shadow-1);transition:background-color var(--transition-fast), box-shadow var(--transition-fast);border-radius:8px;padding:12px 24px;font-weight:500}.admin-btn-primary:hover{box-shadow:var(--shadow-2);opacity:.9}.admin-btn-secondary{background-color:var(--md-sys-color-surface-container-high);border:1px solid var(--md-sys-color-outline-variant);color:var(--md-sys-color-on-surface);font-size:var(--text-sm);transition:background-color var(--transition-fast);border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-weight:500;display:inline-flex}.admin-btn-secondary:hover{background-color:var(--md-sys-color-surface-container)}.backup-card{flex-direction:column;gap:16px;display:flex}.backup-actions{gap:12px;display:flex}.import-form{border-top:1px solid var(--md-sys-color-outline-variant);flex-direction:column;gap:8px;margin-top:12px;padding-top:16px;display:flex}.import-form label{font-size:var(--text-xs);color:var(--md-sys-color-on-surface-variant);font-weight:600}.import-form textarea{border:1px solid var(--md-sys-color-outline-variant);background-color:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface);font-family:var(--sans);font-size:var(--text-xs);border-radius:8px;outline:none;min-height:80px;padding:10px}.import-form textarea:focus{border-color:var(--md-sys-color-primary)}.import-btn{margin-top:6px}.error-text{font-size:var(--text-xs);color:#d32f2f;font-weight:500}.success-text{font-size:var(--text-xs);color:#2e7d32;font-weight:500}.hierarchy-manager-card{flex-direction:column;max-height:650px;display:flex}.helper-text{font-size:var(--text-xs);color:var(--md-sys-color-outline);margin-bottom:12px}.nodes-admin-list{flex-direction:column;flex:1;gap:10px;display:flex;overflow-y:auto}.admin-node-row{background-color:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:12px;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.node-row-meta{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.node-row-icon{color:var(--md-sys-color-outline);font-size:24px}.node-row-title-area{flex-direction:column;min-width:0;display:flex}.node-row-title{font-size:var(--text-sm);color:var(--md-sys-color-on-surface);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.node-row-parent{font-size:var(--text-xs);color:var(--md-sys-color-outline)}.node-row-actions{align-items:center;gap:8px;display:flex}.action-icon-btn{color:var(--md-sys-color-outline);transition:background-color var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;padding:6px;display:flex}.action-icon-btn:hover{background-color:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-primary)}.action-icon-btn.delete:hover{color:#d32f2f}.action-icon-btn .icon{font-size:18px}.reparent-actions{align-items:center;gap:4px;display:flex}.reparent-actions select{font-size:var(--text-xs);background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:4px;padding:4px}.confirm-btn{color:#2e7d32}.cancel-btn{color:#d32f2f}.confirm-btn .icon,.cancel-btn .icon{font-size:18px}.statusRow{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.badge{font-size:var(--text-xs);border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-weight:600;display:inline-flex}.badgeOn{background:var(--md-sys-color-tertiary-container,#d7f2dd);color:var(--md-sys-color-on-tertiary-container,#0d5223)}.badgeOff{background:var(--md-sys-color-surface-container-high,#eceaf0);color:var(--md-sys-color-on-surface-variant,#49454f)}.warn{font-size:var(--text-xs);color:var(--md-sys-color-on-surface-variant,#49454f)}.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-sm);letter-spacing:.5px;color:var(--md-sys-color-on-surface,#1c1b1f);overflow-wrap:anywhere;flex:1}.expiry{font-size:var(--text-xs);opacity:.75;margin:0}.dangerBtn{border:1px solid var(--md-sys-color-error,#b3261e);width:100%;color:var(--md-sys-color-error,#b3261e);font-size:var(--text-xs);cursor:pointer;background:0 0;border-radius:10px;padding:9px 12px;font-weight:600}.dangerBtn:disabled{opacity:.5;cursor:default}.tzBlock{border-top:1px solid var(--md-sys-color-outline-variant,#cac4d0);margin-top:16px;padding-top:14px}.tzLabel{font-size:var(--text-xs);color:var(--md-sys-color-on-surface-variant,#49454f);margin-bottom:6px;font-weight:600;display:block}.tzSelect{width:100%;font-size:var(--text-xs);border:1px solid var(--md-sys-color-outline-variant,#cac4d0);background:var(--md-sys-color-surface-container-low,#f5f3f7);color:var(--md-sys-color-on-surface,#1c1b1f);border-radius:8px;outline:none;padding:8px 10px}.tzHelp{font-size:var(--text-xs);opacity:.75;margin:6px 0 0}.list{margin:0;padding:0;list-style:none}.row{border-bottom:1px solid var(--md-sys-color-outline-variant,#ffffff14);justify-content:space-between;align-items:center;gap:8px;padding:8px 0;display:flex}.row:last-child{border-bottom:none}.who{flex-direction:column;gap:2px;min-width:0;display:flex}.name{font-size:var(--text-sm);color:var(--md-sys-color-on-surface,#1c1b1f);overflow-wrap:anywhere;align-items:center;gap:6px;font-weight:600;display:flex}.you{font-size:var(--text-xs);background:var(--md-sys-color-secondary-container,#e8def8);color:var(--md-sys-color-on-secondary-container,#1d192b);border-radius:999px;padding:1px 6px;font-weight:500}.meta{font-size:var(--text-xs);opacity:.7}.disableBtn,.enableBtn{font-size:var(--text-xs);cursor:pointer;background:0 0;border-radius:8px;flex-shrink:0;padding:4px 10px;font-weight:600}.disableBtn{border:1px solid var(--md-sys-color-error,#b3261e);color:var(--md-sys-color-error,#b3261e)}.enableBtn{border:1px solid var(--md-sys-color-outline,#79747e);color:var(--md-sys-color-on-surface-variant,#49454f)}.disableBtn:disabled,.enableBtn:disabled{opacity:.5;cursor:default}.codeBox{background:var(--md-sys-color-surface-container-low,#ffffff0a);border:1px solid var(--md-sys-color-outline-variant,#ffffff1f);border-radius:10px;align-items:center;gap:8px;margin:8px 0 6px;padding:8px 10px;display:flex}.code{min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-xs);color:var(--md-sys-color-on-surface,#1c1b1f);overflow-wrap:anywhere;flex:1}.copyBtn{font-size:var(--text-xs);cursor:pointer;background:var(--md-sys-color-primary,#6750a4);color:var(--md-sys-color-on-primary,#fff);border:none;border-radius:8px;flex-shrink:0;padding:4px 10px;font-weight:600}.warn{font-size:var(--text-xs);opacity:.75;align-items:center;gap:4px;margin:0;display:flex}.muted{font-size:var(--text-xs);opacity:.7;margin:0}.error{font-size:var(--text-xs);background:var(--md-sys-color-error-container,#fceeee);color:var(--md-sys-color-on-error-container,#8c1d18);border-radius:8px;margin-bottom:10px;padding:8px 10px}.pending{font-size:var(--text-xs);opacity:.8;justify-content:space-between;align-items:center;margin-top:10px;display:flex}.linkBtn{font-size:var(--text-xs);cursor:pointer;color:var(--md-sys-color-error,#b3261e);background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.qr{border:1px solid var(--md-sys-color-outline-variant);background:#fff;border-radius:12px;width:176px;height:176px;margin:12px auto;padding:8px;display:block}.secretRow{align-items:center;gap:8px;margin-bottom:16px;display:flex}.secret{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-sm);letter-spacing:1px;word-break:break-all;-webkit-user-select:all;user-select:all;background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface);border-radius:8px;flex:1;padding:8px 10px}.status{font-size:var(--text-sm);color:var(--md-sys-color-on-surface);align-items:center;gap:6px;margin-bottom:12px;font-weight:600;display:flex}.codesPanel{border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-high);border-radius:12px;padding:16px}.codesHeading{font-size:var(--text-base);color:var(--md-sys-color-on-surface);margin:0 0 8px;font-weight:600}.codeGrid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px;margin:12px 0;padding:0;list-style:none;display:grid}.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-sm);text-align:center;-webkit-user-select:all;user-select:all;background:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface);border-radius:6px;padding:6px 8px}.issued{border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-high);border-radius:12px;margin-bottom:16px;padding:16px}.issuedHeading{font-size:var(--text-base);color:var(--md-sys-color-on-surface);margin:0 0 8px;font-weight:600}.token{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-sm);word-break:break-all;-webkit-user-select:all;user-select:all;background:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface);border-radius:8px;padding:10px;display:block}.shownOnce{font-size:var(--text-xs);color:var(--md-sys-color-on-surface-variant);align-items:center;gap:6px;margin:12px 0;display:flex}.actions{flex-wrap:wrap;gap:8px;display:flex}.list{flex-direction:column;gap:8px;margin:20px 0 0;padding:0;list-style:none;display:flex}.row{border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-low);border-radius:10px;padding:10px 80px 10px 12px;position:relative}.dead{opacity:.55}.rowMain{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.rowName{font-size:var(--text-sm);color:var(--md-sys-color-on-surface);font-weight:600}.badge{font-size:var(--text-xs);background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface-variant);border-radius:999px;padding:1px 8px}.rowMeta{font-size:var(--text-xs);color:var(--md-sys-color-on-surface-variant);margin-top:2px}.revoke{font:inherit;font-size:var(--text-xs);color:var(--md-sys-color-error,#b3261e);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline;position:absolute;top:10px;right:12px}.revoke:disabled{opacity:.5;cursor:default}.header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;display:flex}.titleGroup{align-items:center;gap:var(--space-2);min-width:0;display:flex}.icon{color:var(--md-sys-color-primary);flex-shrink:0;font-size:20px}.title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--md-sys-color-on-surface);white-space:nowrap;margin:0}.count{background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface-variant);font-size:var(--text-xs);border-radius:var(--radius-full);flex-shrink:0;padding:2px 8px;line-height:1.4}.notes-vault-container{width:100%;height:100%;max-width:var(--content-max);background-color:var(--md-sys-color-surface-container-lowest);margin-inline:auto;display:flex;overflow:hidden}.notes-sidebar{border-right:1px solid var(--md-sys-color-outline-variant);background-color:var(--md-sys-color-surface-container-low);flex-direction:column;width:320px;display:flex}.sidebar-header{border-bottom:1px solid var(--md-sys-color-outline-variant);justify-content:space-between;align-items:center;padding:16px;display:flex}.sidebar-header h2{font-size:var(--text-xl);color:var(--md-sys-color-on-surface);font-weight:600}.new-note-btn{background-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);font-size:var(--text-xs);cursor:pointer;border:none;border-radius:20px;align-items:center;gap:6px;padding:8px 12px;font-weight:500;display:flex}.new-note-btn .icon{font-size:16px}.sidebar-filters{border-bottom:1px solid var(--md-sys-color-outline-variant);flex-direction:column;gap:8px;padding:12px 16px;display:flex}.search-bar-wrapper,.node-filter-wrapper{background-color:var(--md-sys-color-surface-container-high);border:1px solid var(--md-sys-color-outline-variant);border-radius:8px;align-items:center;gap:8px;padding:6px 12px;display:flex}.search-bar-wrapper input,.node-filter-wrapper select{font-size:var(--text-sm);color:var(--md-sys-color-on-surface);font-family:var(--sans);background:0 0;border:none;outline:none;flex:1}.search-bar-wrapper .icon,.node-filter-wrapper .icon{color:var(--md-sys-color-outline);font-size:18px}.notes-cards-list{flex-direction:column;flex:1;gap:10px;padding:12px 16px;display:flex;overflow-y:auto}.no-notes-placeholder{color:var(--md-sys-color-outline);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:40px 16px;display:flex}.no-notes-placeholder .icon{font-size:36px}.note-card{background-color:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-fast), background-color var(--transition-fast);border-radius:12px;padding:12px}.note-card:hover{background-color:var(--md-sys-color-surface-container-high);transform:translateY(-1px)}.note-card.active{background-color:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);border-color:var(--md-sys-color-primary)!important}.note-card-header{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:4px;display:flex}.note-card-header h4{font-size:var(--text-sm);color:var(--md-sys-color-on-surface);white-space:nowrap;text-overflow:ellipsis;flex:1;margin:0;font-weight:600;overflow:hidden}.note-card.active .note-card-header h4{color:var(--md-sys-color-on-primary-container)}.note-card-date{font-size:var(--text-xs);color:var(--md-sys-color-outline)}.note-card.active .note-card-date{color:var(--md-sys-color-primary)}.note-card-snippet{font-size:var(--text-xs);color:var(--md-sys-color-on-surface-variant);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 8px;line-height:1.4;display:-webkit-box;overflow:hidden}.note-card.active .note-card-snippet{color:var(--md-sys-color-on-primary-container);opacity:.85}.note-card-node-link{font-size:var(--text-xs);align-items:center;gap:4px;font-weight:500;display:flex}.note-card-node-link .icon{font-size:12px}.node-link-title{color:var(--md-sys-color-on-surface-variant)}.note-card.active .node-link-title{color:var(--md-sys-color-on-primary-container)}@media (width<=768px){.notes-sidebar{border-right:none;width:100%}.notes-vault-container[data-has-selection=true] .notes-sidebar,.notes-vault-container[data-has-selection=false] .notes-editor-workspace{display:none}}.notes-editor-workspace{background-color:var(--md-sys-color-surface-container-lowest);flex-direction:column;flex:1;display:flex}.no-note-selected-placeholder{color:var(--md-sys-color-outline);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;display:flex}.no-note-selected-placeholder .icon{font-size:64px}.no-note-selected-placeholder h3{font-size:var(--text-lg);color:var(--md-sys-color-on-surface);font-weight:600}.active-editor-pane{width:100%;height:100%;max-width:var(--measure);flex-direction:column;margin-inline:auto;padding:24px;display:flex}.editor-meta-bar{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.editor-node-linker{background-color:var(--md-sys-color-surface-container-low);border:1px solid var(--md-sys-color-outline-variant);border-radius:8px;align-items:center;gap:8px;padding:6px 12px;display:flex}.editor-node-linker select{font-size:var(--text-xs);color:var(--md-sys-color-on-surface-variant);font-weight:500;font-family:var(--sans);cursor:pointer;background:0 0;border:none;outline:none}.editor-node-linker .icon{color:var(--md-sys-color-outline);font-size:16px}.editor-action-buttons{align-items:center;gap:10px;display:flex}.save-note-btn{font-size:var(--text-xs);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);border:none;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-weight:500;display:flex}.save-note-btn:not(:disabled){background-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.save-note-btn:disabled{background-color:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-outline);cursor:default}.save-note-btn .icon{font-size:16px}.delete-note-btn{border:1px solid var(--md-sys-color-error);color:var(--md-sys-color-error);font-size:var(--text-xs);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-weight:500;display:flex}.delete-note-btn:hover{background-color:#ba1a1a14}.delete-note-btn .icon{font-size:16px}.editor-title-input{font-size:var(--text-4xl);color:var(--md-sys-color-on-surface);width:100%;font-weight:700;font-family:var(--sans);background:0 0;border:none;outline:none;margin-bottom:12px}.editor-rich-toolbar{background-color:var(--md-sys-color-surface-container-low);border:1px solid var(--md-sys-color-outline-variant);border-radius:8px;align-items:center;gap:4px;margin-bottom:16px;padding:4px;display:flex}.toolbar-btn{width:32px;height:32px;color:var(--md-sys-color-on-surface-variant);cursor:pointer;transition:background-color var(--transition-fast);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:flex}.toolbar-btn:hover{background-color:var(--md-sys-color-surface-container-high)}.toolbar-btn.active{background-color:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.toolbar-btn .icon{font-size:18px}.toolbar-divider{background-color:var(--md-sys-color-outline-variant);width:1px;height:18px;margin:0 4px}.editor-content-area{font-family:var(--sans);outline:none;flex:1;overflow-y:auto}.ProseMirror{min-height:200px;font-size:var(--text-prose);line-height:var(--leading-prose);color:var(--md-sys-color-on-surface);outline:none}.ProseMirror p{margin:0 0 10px}.ProseMirror ul,.ProseMirror ol{margin:0 0 10px;padding-left:20px}.ProseMirror code{background-color:var(--md-sys-color-surface-container-high);font-family:monospace;font-size:var(--text-xs);border-radius:4px;padding:2px 4px}.ProseMirror blockquote{border-left:3px solid var(--md-sys-color-primary);color:var(--md-sys-color-outline);margin:0 0 10px;padding-left:12px;font-style:italic}.ProseMirror pre{background-color:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface);font-family:monospace;font-size:var(--text-xs);border-radius:8px;margin:0 0 10px;padding:8px 12px;overflow-x:auto}.diary-vault-container{width:100%;height:100%;max-width:var(--content-max);background-color:var(--md-sys-color-surface-container-lowest);font-family:var(--sans);margin-inline:auto;display:flex;overflow:hidden}.diary-sidebar{border-right:1px solid var(--md-sys-color-outline-variant);background-color:var(--md-sys-color-surface-container-low);flex-direction:column;width:320px;display:flex}.sidebar-header{border-bottom:1px solid var(--md-sys-color-outline-variant);flex-direction:column;gap:12px;padding:16px;display:flex}.header-top{justify-content:space-between;align-items:center;display:flex}.header-top h2{font-size:var(--text-xl);color:var(--md-sys-color-on-surface);margin:0;font-weight:600}.write-today-btn{background-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);font-size:var(--text-xs);cursor:pointer;transition:opacity var(--transition-fast);border:none;border-radius:20px;justify-content:center;align-self:center;align-items:center;gap:6px;padding:8px 12px;font-weight:500;display:flex}.write-today-btn:hover{opacity:.9}.write-today-btn .icon{font-size:16px}.sidebar-controls{align-items:center;gap:8px;display:flex}.search-bar-wrapper{background-color:var(--md-sys-color-surface-container-high);border:1px solid var(--md-sys-color-outline-variant);border-radius:8px;flex:1;align-items:center;gap:8px;padding:6px 12px;display:flex}.search-bar-wrapper input{font-size:var(--text-sm);color:var(--md-sys-color-on-surface);background:0 0;border:none;outline:none;flex:1}.search-bar-wrapper .icon{color:var(--md-sys-color-outline);font-size:18px}.mode-toggle-btn{border:1px solid var(--md-sys-color-outline-variant);background-color:var(--md-sys-color-surface-container-high);width:32px;height:32px;color:var(--md-sys-color-on-surface-variant);cursor:pointer;transition:all var(--transition-fast);border-radius:8px;justify-content:center;align-items:center;display:flex}.mode-toggle-btn:hover{background-color:var(--md-sys-color-surface-container-highest)}.mode-toggle-btn.active{background-color:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);border-color:var(--md-sys-color-primary)}.mode-toggle-btn .icon{font-size:18px}.diary-cards-list{flex-direction:column;flex:1;gap:10px;padding:12px 16px;display:flex;overflow-y:auto}.no-entries-placeholder{color:var(--md-sys-color-outline);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:40px 16px;display:flex}.no-entries-placeholder .icon{font-size:36px}.diary-card{background-color:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-fast), background-color var(--transition-fast);border-radius:12px;padding:12px}.diary-card:hover{background-color:var(--md-sys-color-surface-container-high);transform:translateY(-1px)}.diary-card.active{background-color:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);border-color:var(--md-sys-color-primary)!important}.diary-card-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.diary-card-header h4{font-size:var(--text-sm);color:var(--md-sys-color-on-surface);margin:0;font-weight:600}.diary-card.active .diary-card-header h4{color:var(--md-sys-color-on-primary-container)}.diary-card-date{font-size:var(--text-xs);color:var(--md-sys-color-outline)}.diary-card.active .diary-card-date{color:var(--md-sys-color-primary)}.diary-card-snippet{font-size:var(--text-xs);color:var(--md-sys-color-on-surface-variant);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 8px;line-height:1.4;display:-webkit-box;overflow:hidden}.diary-card.active .diary-card-snippet{color:var(--md-sys-color-on-primary-container);opacity:.85}.diary-card-trackers{flex-wrap:wrap;gap:6px;display:flex}.card-tracker-badge{font-size:var(--text-xs);background-color:var(--md-sys-color-surface-container-highest);border:1px solid var(--md-sys-color-outline-variant);color:var(--md-sys-color-on-surface-variant);border-radius:10px;align-items:center;gap:2px;padding:2px 6px;display:inline-flex}.diary-card.active .card-tracker-badge{color:var(--md-sys-color-on-primary-container);background-color:#ffffff26;border-color:#fff3}.calendar-container{flex-direction:column;flex:1;padding:16px;display:flex;overflow-y:auto}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.calendar-header h3{font-size:var(--text-md);color:var(--md-sys-color-on-surface);margin:0;font-weight:600}.calendar-nav-btn{color:var(--md-sys-color-on-surface-variant);cursor:pointer;width:28px;height:28px;transition:background-color var(--transition-fast);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.calendar-nav-btn:hover{background-color:var(--md-sys-color-surface-container-highest)}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.calendar-day-header{text-align:center;font-size:var(--text-xs);color:var(--md-sys-color-outline);text-transform:uppercase;padding:4px 0;font-weight:600}.calendar-cell{aspect-ratio:1;background-color:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);cursor:pointer;font-size:var(--text-xs);color:var(--md-sys-color-on-surface);transition:all var(--transition-fast);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;font-weight:500;display:flex;position:relative}.calendar-cell:hover:not(.empty){background-color:var(--md-sys-color-surface-container-high)}.calendar-cell.empty{cursor:default;background:0 0;border:none}.calendar-cell.today{border:2px solid var(--md-sys-color-primary);font-weight:700}.calendar-cell.selected{background-color:var(--md-sys-color-primary);border-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)!important}.calendar-cell.selected .calendar-dot{background-color:var(--md-sys-color-on-primary)}.calendar-dot{background-color:var(--md-sys-color-primary);border-radius:50%;width:4px;height:4px;position:absolute;bottom:4px}@media (width<=768px){.diary-sidebar{border-right:none;width:100%}.diary-vault-container[data-has-selection=true] .diary-sidebar,.diary-vault-container[data-has-selection=false] .diary-editor-workspace{display:none}}.diary-editor-workspace{background-color:var(--md-sys-color-surface-container-lowest);flex-direction:column;flex:1;height:100%;display:flex;overflow:hidden}.active-editor-pane{width:100%;min-height:0;max-width:var(--measure);flex-direction:column;flex:1;margin-inline:auto;padding:24px 24px 80px;display:flex;overflow-y:auto}.editor-date-header{font-size:var(--text-4xl);color:var(--md-sys-color-on-surface);border-bottom:2px solid var(--md-sys-color-outline-variant);margin:0 0 16px;padding-bottom:8px;font-weight:700}.editor-trackers-row{background-color:var(--md-sys-color-surface-container-low);border:1px solid var(--md-sys-color-outline-variant);border-radius:12px;flex-direction:column;gap:12px;margin-bottom:16px;padding:14px 16px;display:flex}.tracker-group{align-items:center;gap:12px;display:flex}.tracker-label{font-size:var(--label-size);font-weight:var(--label-weight);letter-spacing:var(--label-tracking);color:var(--fg-3);text-transform:uppercase;width:80px}.chip-selector{flex-wrap:wrap;gap:6px;display:flex}.chip-btn{border:1px solid var(--md-sys-color-outline-variant);background-color:var(--md-sys-color-surface);font-size:var(--text-xs);color:var(--md-sys-color-on-surface-variant);cursor:pointer;transition:all var(--transition-fast);border-radius:16px;align-items:center;gap:4px;padding:4px 10px;display:flex}.chip-btn:hover{background-color:var(--md-sys-color-surface-container-highest);transform:scale(1.02)}.chip-btn.active{background-color:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);border-color:var(--md-sys-color-primary);font-weight:600}.weekly-stats-bar{flex-wrap:wrap;gap:16px;margin-bottom:16px;display:flex}.stat-card{background-color:var(--md-sys-color-surface-container-low);border:1px solid var(--md-sys-color-outline-variant);border-radius:12px;flex-direction:column;flex:1;gap:4px;min-width:140px;padding:12px;display:flex}.stat-card-title{font-size:var(--label-size);font-weight:var(--label-weight);letter-spacing:var(--label-tracking);color:var(--fg-3);text-transform:uppercase;align-items:center;gap:4px;display:flex}.stat-card-title .icon{font-size:12px}.stat-card-value{font-size:var(--text-lg);color:var(--md-sys-color-on-surface);font-weight:700}.stat-progress-container{background-color:var(--md-sys-color-surface-container-highest);border-radius:3px;height:6px;margin-top:4px;overflow:hidden}.stat-progress-bar{background-color:var(--md-sys-color-primary);height:100%;transition:width var(--transition-slow);border-radius:3px}.editor-actions-bar{align-items:center;gap:10px;margin-bottom:16px;display:flex}.insert-btn{border:1px solid var(--md-sys-color-primary);color:var(--md-sys-color-primary);font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-fast);background-color:#0000;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-weight:500;display:flex}.insert-btn:hover{background-color:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.insert-btn .icon{font-size:16px}.delete-diary-btn{border:1px solid var(--md-sys-color-error);color:var(--md-sys-color-error);font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-fast);background:0 0;border-radius:8px;align-items:center;gap:6px;margin-left:auto;padding:6px 12px;font-weight:500;display:flex}.delete-diary-btn:hover{background-color:#ba1a1a14}.delete-diary-btn .icon{font-size:16px}.editor-content-area{border-top:1px solid var(--md-sys-color-outline-variant);outline:none;min-height:200px;padding-top:16px;flex:none!important;overflow:visible!important}.editor-content-area .ProseMirror{min-height:200px;height:auto!important;overflow:visible!important}.no-diary-selected-placeholder{color:var(--md-sys-color-outline);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;display:flex}.no-diary-selected-placeholder .icon{font-size:64px}.no-diary-selected-placeholder h3{font-size:var(--text-lg);color:var(--md-sys-color-on-surface);font-weight:600}.no-diary-selected-placeholder p{font-size:var(--text-sm);margin:0}.stat-progress-bar.over{background-color:var(--md-sys-color-error)}.mobile-back-btn{min-height:var(--touch-target);border-radius:var(--radius-full);color:var(--md-sys-color-primary);font-family:var(--sans);font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;align-self:flex-start;align-items:center;gap:6px;margin:8px 8px 0;padding:0 14px 0 10px;font-weight:500;display:inline-flex}.mobile-back-btn:hover{background:var(--md-sys-color-surface-container-high)}.context-toggle{align-items:center;gap:var(--space-2);width:100%;min-height:40px;margin-bottom:var(--space-3);padding:0 var(--space-3);border:1px solid var(--line);border-radius:var(--radius-lg);color:var(--fg-2);font-family:var(--sans);font-size:var(--text-body-sm);text-align:left;cursor:pointer;transition:background-color var(--transition-fast);background:0 0;display:flex}.context-toggle:hover{background:var(--surface-2)}.context-toggle .icon{flex:none;font-size:18px}.context-summary{color:var(--fg-3);font-size:var(--text-xs);white-space:nowrap;text-overflow:ellipsis;margin-left:auto;overflow:hidden}@media (width<=768px){.context-toggle{min-height:var(--touch-target)}}.tactics-shell{width:100%;height:100%;max-width:var(--content-max);margin-inline:auto;display:flex}.tactics-workspace{background-color:var(--md-sys-color-background);flex-direction:column;flex:1;min-width:0;height:100%;padding:24px;display:flex;position:relative;overflow:hidden auto}.tactics-header-bar{border-bottom:1px solid var(--md-sys-color-outline-variant);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;min-width:0;margin-bottom:24px;padding-bottom:12px;display:flex}.tactics-filter-bar{flex:1;min-width:0;display:flex}.view-toggle-group{background-color:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);flex-shrink:0;align-items:center;gap:2px;padding:2px;display:inline-flex}.view-toggle-btn{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--fg-3);cursor:pointer;transition:all var(--transition-fast) ease;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.view-toggle-btn:hover{color:var(--fg);background-color:var(--surface-3)}.view-toggle-active{color:var(--accent);background-color:var(--surface-3)}.tactics-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));align-content:start;gap:16px;display:grid}.tactics-list{flex-direction:column;align-content:start;gap:12px;display:flex}@media (width<=500px){.tactics-grid{grid-template-columns:1fr}}.progress-bar-container{background-color:var(--md-sys-color-surface-container-highest);border-radius:3px;width:100%;height:6px;overflow:hidden}.progress-bar-fill{height:100%;transition:width var(--transition-medium) ease;border-radius:3px}.tactic-details-panel{background-color:var(--md-sys-color-surface-container);border-left:1px solid var(--md-sys-color-outline-variant);z-index:105;flex-direction:column;width:clamp(360px,32vw,460px);animation:.22s cubic-bezier(.1,.9,.2,1) slideInPanel;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-4px 0 24px #00000026}@keyframes slideInPanel{0%{transform:translate(100%)}to{transform:translate(0)}}@media (width<=768px){.tactic-details-panel{border-left:none;width:auto;left:0}}@media (width>=769px){.tactic-details-panel{height:100%;z-index:var(--z-base);box-shadow:none;border-left:1px solid var(--md-sys-color-outline-variant);flex:none;animation:none;position:relative;top:auto;bottom:auto;right:auto}}.panel-header{border-bottom:1px solid var(--md-sys-color-outline-variant);background-color:var(--md-sys-color-surface-container-low);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.panel-title-area{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.panel-title-text{flex-direction:column;min-width:0;display:flex}.panel-title-text h3{font-size:var(--text-lg);color:var(--md-sys-color-on-surface);white-space:nowrap;text-overflow:ellipsis;margin:0;font-weight:700;overflow:hidden}.panel-node-badge{font-size:var(--text-xs);color:var(--md-sys-color-on-surface-variant);margin-top:2px}.close-btn{color:var(--md-sys-color-on-surface-variant);cursor:pointer;width:36px;height:36px;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.close-btn:hover{background-color:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface)}.panel-icon{flex-shrink:0;font-size:28px}.panel-progress-stats{flex-direction:column;gap:6px;display:flex}.progress-stats-text{font-size:var(--text-xs);color:var(--md-sys-color-on-surface-variant)}.panel-body{flex:1;padding:24px;overflow-y:auto}.todo-sub-list{flex-direction:column;gap:12px;margin-top:8px;display:flex}.todo-row-card{background-color:var(--md-sys-color-surface-container-low);border:1px solid var(--md-sys-color-outline-variant);box-shadow:none;transition:all var(--transition-fast) ease;border-radius:12px;grid-template-columns:auto 1fr auto auto auto;grid-template-areas:"check title edit assign delete""tags tags tags tags tags""meta meta meta meta meta";align-items:center;gap:8px 12px;padding:12px 16px;display:grid}.todo-row-card:hover{background-color:var(--md-sys-color-surface-container-high);border-color:var(--md-sys-color-outline);box-shadow:var(--shadow-2);transform:translateY(-1.5px)}.todo-checkbox-wrapper{cursor:pointer;grid-area:check;align-items:center;display:flex}.todo-checkbox-wrapper input{display:none}.checkbox-custom{border:2px solid var(--md-sys-color-outline);width:18px;height:18px;transition:border-color var(--transition-fast), background-color var(--transition-fast);border-radius:4px;display:inline-block;position:relative}.todo-checkbox-wrapper input:checked+.checkbox-custom{background-color:var(--md-sys-color-primary);border-color:var(--md-sys-color-primary)}.todo-checkbox-wrapper input:checked+.checkbox-custom:after{content:"✓";color:#fff;font-size:var(--text-xs);font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.todo-title-label,.todo-title-edit-input{font-size:var(--text-sm);color:var(--md-sys-color-on-surface);grid-area:title;font-weight:500}.todo-title-edit-input{background-color:var(--md-sys-color-surface-container);border:1px solid var(--md-sys-color-primary);border-radius:4px;outline:none;width:100%;padding:4px 8px}.todo-edit-btn{grid-area:edit}.assign-todo-btn{grid-area:assign}.todo-delete-btn{grid-area:delete}.todo-edit-btn,.assign-todo-btn,.todo-delete-btn{color:var(--md-sys-color-on-surface-variant);cursor:pointer;width:28px;height:28px;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.todo-edit-btn:hover,.assign-todo-btn:hover,.todo-delete-btn:hover{background-color:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface)}.assign-todo-btn.active{color:var(--color-warning)!important}.todo-title-label.done-line{color:var(--md-sys-color-outline);opacity:.7;text-decoration:line-through}.todo-tags-row{border-top:1px solid var(--md-sys-color-outline-variant);flex-wrap:wrap;grid-area:tags;align-items:center;gap:6px;margin-top:4px;padding-top:8px;display:flex}.todo-tag-pill{background-color:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);font-size:var(--text-xs);border-radius:6px;align-items:center;gap:4px;padding:2px 8px;font-weight:500;display:inline-flex}.todo-tag-pill button{color:inherit;cursor:pointer;font-size:var(--text-xs);background:0 0;border:none;padding:0;line-height:1}.todo-tags-row input{border:1px dashed var(--md-sys-color-outline);font-size:var(--text-xs);color:var(--md-sys-color-on-surface);width:60px;transition:width var(--transition-fast) ease, border-color var(--transition-fast) ease;background:0 0;border-radius:4px;padding:2px 6px}.todo-tags-row input:focus{border-style:solid;border-color:var(--md-sys-color-primary);outline:none;width:100px}.todo-meta-edit-row{grid-area:meta}.add-todo-row{background-color:var(--md-sys-color-surface-container-lowest);border:1px dashed var(--md-sys-color-outline-variant);transition:border-color var(--transition-fast);border-radius:12px;align-items:center;gap:12px;margin-top:12px;padding:10px 16px;display:flex}.add-todo-row:focus-within{border-color:var(--md-sys-color-primary);border-style:solid}.add-todo-row input{font-size:var(--text-sm);color:var(--md-sys-color-on-surface);background:0 0;border:none;outline:none;flex:1}.add-todo-row input::placeholder{color:var(--md-sys-color-outline)}.todo-add-btn{background-color:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);cursor:pointer;width:28px;height:28px;transition:background-color var(--transition-fast), color var(--transition-fast);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.todo-add-btn:hover{background-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.tactics-empty-state{text-align:center;background-color:var(--md-sys-color-surface-container-low);border:1px dashed var(--md-sys-color-outline-variant);color:var(--md-sys-color-on-surface-variant);border-radius:20px;flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;padding:80px 24px;display:flex}.tactics-empty-state .icon{color:var(--md-sys-color-outline);margin-bottom:16px;font-size:48px}.tactics-empty-state p{margin:4px 0;font-weight:500}.tactics-empty-state .subtitle{font-size:var(--text-xs);opacity:.8;margin-top:8px}@media (width<=768px){.todo-tag-pill button{width:22px;min-width:0;height:22px;min-height:0}}.panel-section{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--line);background-color:var(--surface-2);flex-shrink:0}.panel-section-label{margin:0 0 var(--space-1-5) 0}.label{font-size:var(--label-size);font-weight:var(--label-weight);letter-spacing:var(--label-tracking);text-transform:uppercase;color:var(--fg-3);margin:0}.switcher{padding:var(--space-3) var(--space-4) 0;flex:none;align-items:center;min-width:0;display:flex}.switcher-over-map{z-index:var(--z-dropdown);position:absolute;top:0;left:0}
