@import"https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&family=JetBrains+Mono:wght@400;500;700&display=swap";:root{--status-editing-color: #10b981;--status-referenced-color: #10b981;--status-ai-reading-color: #8b5cf6;--status-recommended-color: #1a73e8;--status-modified-color: #f59e0b;--status-starred-color: #f59e0b;--filename-active-color: #1a73e8;--filename-modified-color: #202124;--filename-recommended-color: #1a73e8;--filename-referenced-color: #8b5cf6;--filename-ai-reading-color: #8b5cf6;--filename-search-match-color: #f59e0b;--filename-health-danger-color: #ef4444;--filename-health-warning-color: #f59e0b;--filename-starred-color: #f59e0b;--filename-tot-linked-color: #f97316;--filename-editing-color: #10b981;--status-icon-size: 12px;--modified-dot-size: 6px;--modified-dot-opacity: .9;--pulse-animation-duration: 2s;--rotate-animation-duration: 2s}@keyframes pulse-glow{0%,to{opacity:1}50%{opacity:.5}}:root{--text-primary: #202124;--text-secondary: #5f6368;--text-tertiary: #9aa0a6;--bg-transparent: transparent;--bg-ultra-light: rgba(0, 0, 0, .02);--bg-light: rgba(0, 0, 0, .04);--bg-secondary: #f8f9fa;--border-light: #e8eaed;--border-medium: #dadce0;--primary: #1a73e8;--primary-hover: #1557b0;--divider-ultra-light: rgba(0, 0, 0, .06);--divider-light: rgba(0, 0, 0, .12);--space-xs: 4px;--space-sm: 6px;--space-md: 8px;--space-lg: 12px;--space-xl: 16px;--font-xs: 11px;--font-sm: 13px;--font-base: 14px;--font-lg: 16px;--font-mono: "Menlo", "Monaco", "Courier New", monospace;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px}button:not(:disabled):active,.btn:not(:disabled):active,.action-btn:not(:disabled):active{transform:scale(.98)!important;transition:transform var(--transition-fast)}button[style*="borderRadius: 50%"]:active,button[style*="borderRadius:'50%'"]:active{transform:scale(.98)!important}a[role=button]:active{transform:scale(.98);transition:transform var(--transition-fast)}:root{--font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", sans-serif;--font-family-mono: "JetBrains Mono", "SF Mono", "Menlo", "Monaco", "Consolas", "Courier New", monospace;--font-family-logo: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--primary: #1a1a1a;--primary-hover: #333333;--primary-light: #333333;--primary-dark: #000000;--brand-blue: #1a73e8;--brand-blue-light: #4285f4;--brand-blue-dark: #1557b0;--accent: #34a853;--warning: #fbbc04;--danger: #ea4335;--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--bg-tertiary: #e8eaed;--text-primary: #202124;--text-secondary: #5f6368;--text-tertiary: #80868b;--text-disabled: #bdc1c6;--border-lightest: #f1f3f4;--border-light: #e8eaed;--border-medium: #dadce0;--border-dark: #bdc1c6;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .04);--shadow-sm: 0 2px 4px 0 rgba(0, 0, 0, .06);--shadow-md: 0 2px 8px 0 rgba(0, 0, 0, .08);--shadow-lg: 0 4px 12px 0 rgba(0, 0, 0, .1);--shadow-xl: 0 8px 16px 0 rgba(0, 0, 0, .12);--shadow-hover: 0 4px 12px 0 rgba(0, 0, 0, .12);--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", "Arial", sans-serif;--font-family-mono: "SF Mono", "Menlo", "Monaco", "Consolas", "Liberation Mono", "Courier New", monospace;--font-family-logo: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs: 11px;--font-size-sm: 13px;--font-size-base: 14px;--font-size-md: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 32px;--transition-fast: 80ms cubic-bezier(.05, .7, .1, 1);--transition-base: .15s cubic-bezier(.05, .7, .1, 1);--transition-slow: .25s cubic-bezier(.4, 0, .2, 1);--transition-layout: .3s cubic-bezier(.4, 0, .2, 1);--transition-spring: .3s cubic-bezier(.175, .885, .32, 1.275)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.5;color:var(--text-primary);background:var(--bg-secondary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}#root{min-height:100vh}*:focus{outline:none}*:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}button:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:none;box-shadow:0 0 0 3px #1a1a1a1a}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #1a1a1a14}.content-wrapper{max-width:1200px;margin:0 auto;padding:var(--space-6)}.page-header{margin-bottom:var(--space-8)}.page-title{font-size:var(--font-size-3xl);font-weight:400;color:var(--text-primary);margin-bottom:var(--space-2);letter-spacing:-.5px}.page-subtitle{font-size:var(--font-size-base);color:var(--text-secondary);font-weight:400}.card{background:var(--bg-primary);border-radius:8px;box-shadow:0 1px 2px #0000000a;transition:box-shadow .12s ease-out,border-color 80ms ease-out;overflow:hidden;border:1px solid var(--border-light)}.card:hover{box-shadow:0 2px 8px #00000014;border-color:var(--border-medium)}.card:hover .avatar,.card:hover img{transform:scale(1.02);transition:transform .15s cubic-bezier(.05,.7,.1,1)}.card-compact{padding:var(--space-4)}.card-normal{padding:var(--space-6)}.card-spacious{padding:var(--space-8)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:0 var(--space-4);height:32px;font-size:var(--font-size-sm);font-weight:500;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-family);white-space:nowrap}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 1px 2px #00000014}.btn-primary:hover{background:var(--primary-light);box-shadow:0 2px 4px #0000001f}.btn-primary:active{background:var(--primary-dark);transition:all var(--transition-fast)}.btn-secondary{background:#fff;color:var(--text-primary);border:1px solid var(--border-medium)}.btn-secondary:hover{background:var(--bg-secondary);border-color:var(--border-dark)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover{background:var(--bg-secondary);color:var(--text-primary)}.btn-large{height:40px;padding:0 var(--space-6);font-size:var(--font-size-base)}.btn-small{height:28px;padding:0 var(--space-3);font-size:var(--font-size-xs)}.input{width:100%;height:40px;padding:0 var(--space-3);font-size:var(--font-size-sm);font-family:var(--font-family);color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-medium);border-radius:var(--radius-sm);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input:hover{border-color:var(--border-dark)}.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #1a1a1a14}.input::-moz-placeholder{color:var(--text-tertiary)}.input::placeholder{color:var(--text-tertiary)}.avatar{display:flex;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--bg-secondary)}.avatar-sm{width:32px;height:32px;font-size:var(--font-size-xs)}.avatar-md{width:40px;height:40px;font-size:var(--font-size-sm)}.avatar-lg{width:56px;height:56px;font-size:var(--font-size-lg)}.avatar-xl{width:72px;height:72px;font-size:var(--font-size-2xl)}.avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:0 var(--space-2);height:20px;font-size:var(--font-size-xs);font-weight:500;border-radius:var(--radius-xs);white-space:nowrap}.badge-success{background:#34a8531a;color:#137333}.badge-warning{background:#fbbc041a;color:#b06000}.badge-danger{background:#ea43351a;color:#c5221f}.badge-info{background:#1a73e81a;color:#1557b0}.divider{height:1px;background:var(--border-light);margin:var(--space-6) 0}svg{flex-shrink:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--border-dark);border-radius:var(--radius-xs)}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.fade-in{animation:fadeIn var(--transition-base) forwards}.slide-in{animation:slideIn var(--transition-base)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.bg-primary{background:var(--bg-primary)}.bg-secondary{background:var(--bg-secondary)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-full{border-radius:var(--radius-full)}.logo-font{font-family:var(--font-family-logo);font-weight:800;font-style:italic;letter-spacing:-1px}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#00000014;border-radius:2px;-webkit-transition:background .2s ease;transition:background .2s ease}*:hover::-webkit-scrollbar-thumb{background:#00000026}::-webkit-scrollbar-thumb:hover{background:#00000040}::-webkit-scrollbar-thumb:active{background:#00000059}::-webkit-scrollbar-corner{background:transparent}*{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.08) transparent}pre::-webkit-scrollbar-thumb{background:#0000001f}pre:hover::-webkit-scrollbar-thumb{background:#0003}pre::-webkit-scrollbar-thumb:hover{background:#0000004d}.modal-content::-webkit-scrollbar,.drawer-content::-webkit-scrollbar{width:4px;height:4px}.sidebar::-webkit-scrollbar,.panel::-webkit-scrollbar{width:4px;height:4px}.hide-scrollbar::-webkit-scrollbar{display:none}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.\!visible{visibility:visible!important}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.-inset-4{inset:-1rem}.inset-0{inset:0}.inset-x-0{left:0;right:0}.-bottom-6{bottom:-1.5rem}.-left-\[17px\]{left:-17px}.-left-\[22px\]{left:-22px}.-right-3{right:-.75rem}.-top-3{top:-.75rem}.-top-4{top:-1rem}.-top-8{top:-2rem}.bottom-0{bottom:0}.bottom-10{bottom:2.5rem}.bottom-6{bottom:1.5rem}.bottom-8{bottom:2rem}.left-0{left:0}.left-1\/2{left:50%}.left-10{left:2.5rem}.left-4{left:1rem}.left-8{left:2rem}.left-\[15px\]{left:15px}.left-\[20\%\]{left:20%}.left-\[26px\]{left:26px}.right-0{right:0}.right-10{right:2.5rem}.right-2{right:.5rem}.right-4{right:1rem}.right-6{right:1.5rem}.right-8{right:2rem}.right-\[20\%\]{right:20%}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-10{top:2.5rem}.top-2{top:.5rem}.top-4{top:1rem}.top-8{top:2rem}.top-\[-16px\]{top:-16px}.top-\[-32px\]{top:-32px}.top-full{top:100%}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[9999\]{z-index:9999}.col-span-1{grid-column:span 1 / span 1}.col-span-2{grid-column:span 2 / span 2}.row-span-1{grid-row:span 1 / span 1}.row-span-2{grid-row:span 2 / span 2}.mx-auto{margin-left:auto;margin-right:auto}.-mt-0\.5{margin-top:-.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-20{margin-bottom:5rem}.mb-24{margin-bottom:6rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-1\.5{margin-left:.375rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mr-auto{margin-right:auto}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-20{margin-top:5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.\!block{display:block!important}.block{display:block}.inline-block{display:inline-block}.\!inline{display:inline!important}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.table-cell{display:table-cell}.table-row{display:table-row}.grid{display:grid}.hidden{display:none}.aspect-\[4\/3\]{aspect-ratio:4/3}.aspect-video{aspect-ratio:16 / 9}.h-0{height:0px}.h-0\.5{height:.125rem}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-32{height:8rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-96{height:24rem}.h-\[320px\]{height:320px}.h-\[40\%\]{height:40%}.h-\[50\%\]{height:50%}.h-\[500px\]{height:500px}.h-\[60\%\]{height:60%}.h-\[600px\]{height:600px}.h-\[80\%\]{height:80%}.h-\[calc\(100\%-44px\)\]{height:calc(100% - 44px)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.min-h-\[300px\]{min-height:300px}.min-h-\[320px\]{min-height:320px}.min-h-\[400px\]{min-height:400px}.min-h-\[90vh\]{min-height:90vh}.min-h-screen{min-height:100vh}.w-0\.5{width:.125rem}.w-1\.5{width:.375rem}.w-1\/3{width:33.333333%}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-4{width:1rem}.w-40{width:10rem}.w-5{width:1.25rem}.w-5\/6{width:83.333333%}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-\[240px\]{width:240px}.w-\[340px\]{width:340px}.w-\[60\%\]{width:60%}.w-\[85\%\]{width:85%}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-\[140px\]{max-width:140px}.max-w-\[160px\]{max-width:160px}.max-w-\[50\%\]{max-width:50%}.max-w-\[80\%\]{max-width:80%}.max-w-\[90\%\]{max-width:90%}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.origin-left{transform-origin:left}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-4{--tw-translate-y: 1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-8{--tw-translate-y: 2rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-90{--tw-rotate: -90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-105{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-disc{list-style-type:disc}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.auto-rows-\[minmax\(180px\,auto\)\]{grid-auto-rows:minmax(180px,auto)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-0{gap:0px}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-12{gap:3rem}.gap-16{gap:4rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse: 0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.divide-zinc-200>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(228 228 231 / var(--tw-divide-opacity, 1))}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-b-xl{border-bottom-right-radius:.75rem;border-bottom-left-radius:.75rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.rounded-bl-none{border-bottom-left-radius:0}.rounded-br-none{border-bottom-right-radius:0}.rounded-tl-sm{border-top-left-radius:.125rem}.rounded-tr-sm{border-top-right-radius:.125rem}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-b-3{border-bottom-width:3px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-t-2{border-top-width:2px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-amber-500{--tw-border-opacity: 1;border-color:rgb(245 158 11 / var(--tw-border-opacity, 1))}.border-amber-500\/20{border-color:#f59e0b33}.border-amber-500\/30{border-color:#f59e0b4d}.border-black\/10{border-color:#0000001a}.border-black\/20{border-color:#0003}.border-black\/5{border-color:#0000000d}.border-blue-100{--tw-border-opacity: 1;border-color:rgb(219 234 254 / var(--tw-border-opacity, 1))}.border-blue-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-blue-500\/20{border-color:#3b82f633}.border-blue-500\/30{border-color:#3b82f64d}.border-brutalist-black{--tw-border-opacity: 1;border-color:rgb(0 0 0 / var(--tw-border-opacity, 1))}.border-current{border-color:currentColor}.border-emerald-200{--tw-border-opacity: 1;border-color:rgb(167 243 208 / var(--tw-border-opacity, 1))}.border-emerald-500\/20{border-color:#10b98133}.border-emerald-500\/30{border-color:#10b9814d}.border-gray-100{--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-gray-500{--tw-border-opacity: 1;border-color:rgb(107 114 128 / var(--tw-border-opacity, 1))}.border-gray-700{--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}.border-gray-800{--tw-border-opacity: 1;border-color:rgb(31 41 55 / var(--tw-border-opacity, 1))}.border-green-100{--tw-border-opacity: 1;border-color:rgb(220 252 231 / var(--tw-border-opacity, 1))}.border-green-200{--tw-border-opacity: 1;border-color:rgb(187 247 208 / var(--tw-border-opacity, 1))}.border-green-300{--tw-border-opacity: 1;border-color:rgb(134 239 172 / var(--tw-border-opacity, 1))}.border-green-500{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity, 1))}.border-green-500\/10{border-color:#22c55e1a}.border-green-500\/20{border-color:#22c55e33}.border-green-500\/30{border-color:#22c55e4d}.border-green-500\/50{border-color:#22c55e80}.border-orange-200{--tw-border-opacity: 1;border-color:rgb(254 215 170 / var(--tw-border-opacity, 1))}.border-orange-500{--tw-border-opacity: 1;border-color:rgb(249 115 22 / var(--tw-border-opacity, 1))}.border-orange-500\/10{border-color:#f973161a}.border-orange-500\/20{border-color:#f9731633}.border-orange-500\/30{border-color:#f973164d}.border-purple-100{--tw-border-opacity: 1;border-color:rgb(243 232 255 / var(--tw-border-opacity, 1))}.border-purple-200{--tw-border-opacity: 1;border-color:rgb(233 213 255 / var(--tw-border-opacity, 1))}.border-purple-500\/20{border-color:#a855f733}.border-purple-500\/30{border-color:#a855f74d}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.border-red-500\/30{border-color:#ef44444d}.border-red-500\/50{border-color:#ef444480}.border-transparent{border-color:transparent}.border-white\/10{border-color:#ffffff1a}.border-white\/20{border-color:#fff3}.border-white\/5{border-color:#ffffff0d}.border-yellow-500\/50{border-color:#eab30880}.border-zinc-200{--tw-border-opacity: 1;border-color:rgb(228 228 231 / var(--tw-border-opacity, 1))}.border-zinc-300{--tw-border-opacity: 1;border-color:rgb(212 212 216 / var(--tw-border-opacity, 1))}.border-zinc-800{--tw-border-opacity: 1;border-color:rgb(39 39 42 / var(--tw-border-opacity, 1))}.border-zinc-800\/50{border-color:#27272a80}.border-zinc-900{--tw-border-opacity: 1;border-color:rgb(24 24 27 / var(--tw-border-opacity, 1))}.border-t-amber-500{--tw-border-opacity: 1;border-top-color:rgb(245 158 11 / var(--tw-border-opacity, 1))}.border-t-orange-500{--tw-border-opacity: 1;border-top-color:rgb(249 115 22 / var(--tw-border-opacity, 1))}.bg-\[\#0e0e0e\]{--tw-bg-opacity: 1;background-color:rgb(14 14 14 / var(--tw-bg-opacity, 1))}.bg-\[\#0e0e0e\]\/80{background-color:#0e0e0ecc}.bg-\[\#0e0e0e\]\/90{background-color:#0e0e0ee6}.bg-\[\#111\]{--tw-bg-opacity: 1;background-color:rgb(17 17 17 / var(--tw-bg-opacity, 1))}.bg-\[\#111\]\/50{background-color:#11111180}.bg-\[\#191919\]{--tw-bg-opacity: 1;background-color:rgb(25 25 25 / var(--tw-bg-opacity, 1))}.bg-\[\#1a1a1a\]{--tw-bg-opacity: 1;background-color:rgb(26 26 26 / var(--tw-bg-opacity, 1))}.bg-\[\#1a1a1a\]\/80{background-color:#1a1a1acc}.bg-\[\#1e1e1e\]{--tw-bg-opacity: 1;background-color:rgb(30 30 30 / var(--tw-bg-opacity, 1))}.bg-\[\#222\]{--tw-bg-opacity: 1;background-color:rgb(34 34 34 / var(--tw-bg-opacity, 1))}.bg-\[\#252526\]{--tw-bg-opacity: 1;background-color:rgb(37 37 38 / var(--tw-bg-opacity, 1))}.bg-\[\#27c93f\]{--tw-bg-opacity: 1;background-color:rgb(39 201 63 / var(--tw-bg-opacity, 1))}.bg-\[\#ff5f56\]{--tw-bg-opacity: 1;background-color:rgb(255 95 86 / var(--tw-bg-opacity, 1))}.bg-\[\#ffbd2e\]{--tw-bg-opacity: 1;background-color:rgb(255 189 46 / var(--tw-bg-opacity, 1))}.bg-amber-500{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity, 1))}.bg-amber-500\/10{background-color:#f59e0b1a}.bg-amber-500\/20{background-color:#f59e0b33}.bg-amber-500\/30{background-color:#f59e0b4d}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-black\/10{background-color:#0000001a}.bg-black\/20{background-color:#0003}.bg-black\/30{background-color:#0000004d}.bg-black\/5{background-color:#0000000d}.bg-black\/60{background-color:#0009}.bg-black\/80{background-color:#000c}.bg-blue-400{--tw-bg-opacity: 1;background-color:rgb(96 165 250 / var(--tw-bg-opacity, 1))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-blue-500\/10{background-color:#3b82f61a}.bg-blue-500\/30{background-color:#3b82f64d}.bg-blue-500\/5{background-color:#3b82f60d}.bg-blue-500\/50{background-color:#3b82f680}.bg-blue-500\/80{background-color:#3b82f6cc}.bg-blue-600\/20{background-color:#2563eb33}.bg-brutalist-accent{background-color:var(--theme-accent)}.bg-brutalist-gray-light{--tw-bg-opacity: 1;background-color:rgb(240 240 240 / var(--tw-bg-opacity, 1))}.bg-brutalist-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-cyan-50{--tw-bg-opacity: 1;background-color:rgb(236 254 255 / var(--tw-bg-opacity, 1))}.bg-cyan-500\/10{background-color:#06b6d41a}.bg-emerald-50{--tw-bg-opacity: 1;background-color:rgb(236 253 245 / var(--tw-bg-opacity, 1))}.bg-emerald-500{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity, 1))}.bg-emerald-500\/10{background-color:#10b9811a}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-gray-400\/20{background-color:#9ca3af33}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-gray-50\/50{background-color:#f9fafb80}.bg-gray-500{--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity, 1))}.bg-gray-500\/10{background-color:#6b72801a}.bg-green-200{--tw-bg-opacity: 1;background-color:rgb(187 247 208 / var(--tw-bg-opacity, 1))}.bg-green-400{--tw-bg-opacity: 1;background-color:rgb(74 222 128 / var(--tw-bg-opacity, 1))}.bg-green-400\/80{background-color:#4ade80cc}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-green-50\/50{background-color:#f0fdf480}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-green-500\/10{background-color:#22c55e1a}.bg-green-500\/20{background-color:#22c55e33}.bg-green-500\/30{background-color:#22c55e4d}.bg-green-500\/5{background-color:#22c55e0d}.bg-green-500\/80{background-color:#22c55ecc}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.bg-green-900\/10{background-color:#14532d1a}.bg-green-900\/20{background-color:#14532d33}.bg-indigo-50{--tw-bg-opacity: 1;background-color:rgb(238 242 255 / var(--tw-bg-opacity, 1))}.bg-indigo-500\/10{background-color:#6366f11a}.bg-indigo-600{--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity, 1))}.bg-orange-50{--tw-bg-opacity: 1;background-color:rgb(255 247 237 / var(--tw-bg-opacity, 1))}.bg-orange-50\/50{background-color:#fff7ed80}.bg-orange-500{--tw-bg-opacity: 1;background-color:rgb(249 115 22 / var(--tw-bg-opacity, 1))}.bg-orange-500\/10{background-color:#f973161a}.bg-orange-500\/20{background-color:#f9731633}.bg-orange-500\/30{background-color:#f973164d}.bg-orange-500\/5{background-color:#f973160d}.bg-orange-600{--tw-bg-opacity: 1;background-color:rgb(234 88 12 / var(--tw-bg-opacity, 1))}.bg-pink-50{--tw-bg-opacity: 1;background-color:rgb(253 242 248 / var(--tw-bg-opacity, 1))}.bg-pink-500\/10{background-color:#ec48991a}.bg-purple-50{--tw-bg-opacity: 1;background-color:rgb(250 245 255 / var(--tw-bg-opacity, 1))}.bg-purple-500{--tw-bg-opacity: 1;background-color:rgb(168 85 247 / var(--tw-bg-opacity, 1))}.bg-purple-500\/10{background-color:#a855f71a}.bg-purple-500\/20{background-color:#a855f733}.bg-purple-500\/5{background-color:#a855f70d}.bg-red-400{--tw-bg-opacity: 1;background-color:rgb(248 113 113 / var(--tw-bg-opacity, 1))}.bg-red-400\/80{background-color:#f87171cc}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-red-500\/20{background-color:#ef444433}.bg-red-500\/80{background-color:#ef4444cc}.bg-red-900\/20{background-color:#7f1d1d33}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/10{background-color:#ffffff1a}.bg-white\/20{background-color:#fff3}.bg-white\/5{background-color:#ffffff0d}.bg-white\/50{background-color:#ffffff80}.bg-white\/80{background-color:#fffc}.bg-white\/90{background-color:#ffffffe6}.bg-white\/\[0\.02\]{background-color:#ffffff05}.bg-white\/\[0\.03\]{background-color:#ffffff08}.bg-yellow-400{--tw-bg-opacity: 1;background-color:rgb(250 204 21 / var(--tw-bg-opacity, 1))}.bg-yellow-400\/80{background-color:#facc15cc}.bg-yellow-500{--tw-bg-opacity: 1;background-color:rgb(234 179 8 / var(--tw-bg-opacity, 1))}.bg-yellow-500\/20{background-color:#eab30833}.bg-yellow-500\/80{background-color:#eab308cc}.bg-zinc-100{--tw-bg-opacity: 1;background-color:rgb(244 244 245 / var(--tw-bg-opacity, 1))}.bg-zinc-200{--tw-bg-opacity: 1;background-color:rgb(228 228 231 / var(--tw-bg-opacity, 1))}.bg-zinc-300{--tw-bg-opacity: 1;background-color:rgb(212 212 216 / var(--tw-bg-opacity, 1))}.bg-zinc-50{--tw-bg-opacity: 1;background-color:rgb(250 250 250 / var(--tw-bg-opacity, 1))}.bg-zinc-600{--tw-bg-opacity: 1;background-color:rgb(82 82 91 / var(--tw-bg-opacity, 1))}.bg-zinc-800{--tw-bg-opacity: 1;background-color:rgb(39 39 42 / var(--tw-bg-opacity, 1))}.bg-zinc-800\/20{background-color:#27272a33}.bg-zinc-800\/30{background-color:#27272a4d}.bg-zinc-900{--tw-bg-opacity: 1;background-color:rgb(24 24 27 / var(--tw-bg-opacity, 1))}.bg-zinc-900\/30{background-color:#18181b4d}.bg-zinc-900\/40{background-color:#18181b66}.bg-zinc-900\/50{background-color:#18181b80}.bg-zinc-900\/80{background-color:#18181bcc}.bg-zinc-950{--tw-bg-opacity: 1;background-color:rgb(9 9 11 / var(--tw-bg-opacity, 1))}.bg-zinc-950\/50{background-color:#09090b80}.bg-zinc-950\/80{background-color:#09090bcc}.bg-\[linear-gradient\(rgba\(255\,255\,255\,0\.02\)_1px\,transparent_1px\)\,linear-gradient\(90deg\,rgba\(255\,255\,255\,0\.02\)_1px\,transparent_1px\)\]{background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px)}.bg-\[linear-gradient\(rgba\(255\,255\,255\,0\.03\)_1px\,transparent_1px\)\,linear-gradient\(90deg\,rgba\(255\,255\,255\,0\.03\)_1px\,transparent_1px\)\]{background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px)}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-amber-200{--tw-gradient-from: #fde68a var(--tw-gradient-from-position);--tw-gradient-to: rgb(253 230 138 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-amber-500\/10{--tw-gradient-from: rgb(245 158 11 / .1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-amber-500\/5{--tw-gradient-from: rgb(245 158 11 / .05) var(--tw-gradient-from-position);--tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-500\/5{--tw-gradient-from: rgb(59 130 246 / .05) var(--tw-gradient-from-position);--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-emerald-500\/5{--tw-gradient-from: rgb(16 185 129 / .05) var(--tw-gradient-from-position);--tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-400{--tw-gradient-from: #4ade80 var(--tw-gradient-from-position);--tw-gradient-to: rgb(74 222 128 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-500{--tw-gradient-from: #22c55e var(--tw-gradient-from-position);--tw-gradient-to: rgb(34 197 94 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-600{--tw-gradient-from: #16a34a var(--tw-gradient-from-position);--tw-gradient-to: rgb(22 163 74 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-orange-400{--tw-gradient-from: #fb923c var(--tw-gradient-from-position);--tw-gradient-to: rgb(251 146 60 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-orange-500{--tw-gradient-from: #f97316 var(--tw-gradient-from-position);--tw-gradient-to: rgb(249 115 22 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-orange-600{--tw-gradient-from: #ea580c var(--tw-gradient-from-position);--tw-gradient-to: rgb(234 88 12 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-500{--tw-gradient-from: #a855f7 var(--tw-gradient-from-position);--tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-transparent{--tw-gradient-from: transparent var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-white{--tw-gradient-from: #fff var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-zinc-500{--tw-gradient-from: #71717a var(--tw-gradient-from-position);--tw-gradient-to: rgb(113 113 122 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-zinc-900{--tw-gradient-from: #18181b var(--tw-gradient-from-position);--tw-gradient-to: rgb(24 24 27 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-zinc-900\/50{--tw-gradient-from: rgb(24 24 27 / .5) var(--tw-gradient-from-position);--tw-gradient-to: rgb(24 24 27 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-zinc-950{--tw-gradient-from: #09090b var(--tw-gradient-from-position);--tw-gradient-to: rgb(9 9 11 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-amber-500\/50{--tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(245 158 11 / .5) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-black\/10{--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / .1) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-blue-500{--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #3b82f6 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-blue-600{--tw-gradient-to: rgb(37 99 235 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #2563eb var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-purple-500{--tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #a855f7 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-purple-600{--tw-gradient-to: rgb(147 51 234 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #9333ea var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-transparent{--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), transparent var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-white\/10{--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / .1) var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-\[\#0e0e0e\]{--tw-gradient-to: #0e0e0e var(--tw-gradient-to-position)}.to-amber-500{--tw-gradient-to: #f59e0b var(--tw-gradient-to-position)}.to-blue-500{--tw-gradient-to: #3b82f6 var(--tw-gradient-to-position)}.to-blue-600{--tw-gradient-to: #2563eb var(--tw-gradient-to-position)}.to-emerald-500{--tw-gradient-to: #10b981 var(--tw-gradient-to-position)}.to-orange-500\/10{--tw-gradient-to: rgb(249 115 22 / .1) var(--tw-gradient-to-position)}.to-purple-500{--tw-gradient-to: #a855f7 var(--tw-gradient-to-position)}.to-purple-600{--tw-gradient-to: #9333ea var(--tw-gradient-to-position)}.to-red-500{--tw-gradient-to: #ef4444 var(--tw-gradient-to-position)}.to-red-600{--tw-gradient-to: #dc2626 var(--tw-gradient-to-position)}.to-teal-500{--tw-gradient-to: #14b8a6 var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.to-white{--tw-gradient-to: #fff var(--tw-gradient-to-position)}.to-zinc-500{--tw-gradient-to: #71717a var(--tw-gradient-to-position)}.to-zinc-950{--tw-gradient-to: #09090b var(--tw-gradient-to-position)}.to-zinc-950\/50{--tw-gradient-to: rgb(9 9 11 / .5) var(--tw-gradient-to-position)}.bg-\[size\:24px_24px\]{background-size:24px 24px}.bg-\[size\:40px_40px\]{background-size:40px 40px}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.object-contain{-o-object-fit:contain;object-fit:contain}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-10{padding:2.5rem}.p-12{padding:3rem}.p-2{padding:.5rem}.p-20{padding:5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-32{padding-top:8rem;padding-bottom:8rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-1{padding-bottom:.25rem}.pb-10{padding-bottom:2.5rem}.pb-20{padding-bottom:5rem}.pb-4{padding-bottom:1rem}.pb-8{padding-bottom:2rem}.pl-2{padding-left:.5rem}.pl-24{padding-left:6rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pl-6{padding-left:1.5rem}.pt-2{padding-top:.5rem}.pt-20{padding-top:5rem}.pt-32{padding-top:8rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.font-serif{font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.text-amber-500{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}.text-amber-500\/50{color:#f59e0b80}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.text-blue-200{--tw-text-opacity: 1;color:rgb(191 219 254 / var(--tw-text-opacity, 1))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-brutalist-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.text-brutalist-gray-dark{--tw-text-opacity: 1;color:rgb(51 51 51 / var(--tw-text-opacity, 1))}.text-cyan-400{--tw-text-opacity: 1;color:rgb(34 211 238 / var(--tw-text-opacity, 1))}.text-cyan-600{--tw-text-opacity: 1;color:rgb(8 145 178 / var(--tw-text-opacity, 1))}.text-emerald-300{--tw-text-opacity: 1;color:rgb(110 231 183 / var(--tw-text-opacity, 1))}.text-emerald-400{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.text-emerald-500{--tw-text-opacity: 1;color:rgb(16 185 129 / var(--tw-text-opacity, 1))}.text-emerald-700{--tw-text-opacity: 1;color:rgb(4 120 87 / var(--tw-text-opacity, 1))}.text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-green-300{--tw-text-opacity: 1;color:rgb(134 239 172 / var(--tw-text-opacity, 1))}.text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-600\/80{color:#16a34acc}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-indigo-400{--tw-text-opacity: 1;color:rgb(129 140 248 / var(--tw-text-opacity, 1))}.text-indigo-600{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity, 1))}.text-orange-400{--tw-text-opacity: 1;color:rgb(251 146 60 / var(--tw-text-opacity, 1))}.text-orange-500{--tw-text-opacity: 1;color:rgb(249 115 22 / var(--tw-text-opacity, 1))}.text-orange-600{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity, 1))}.text-orange-700{--tw-text-opacity: 1;color:rgb(194 65 12 / var(--tw-text-opacity, 1))}.text-pink-400{--tw-text-opacity: 1;color:rgb(244 114 182 / var(--tw-text-opacity, 1))}.text-pink-600{--tw-text-opacity: 1;color:rgb(219 39 119 / var(--tw-text-opacity, 1))}.text-purple-400{--tw-text-opacity: 1;color:rgb(192 132 252 / var(--tw-text-opacity, 1))}.text-purple-500{--tw-text-opacity: 1;color:rgb(168 85 247 / var(--tw-text-opacity, 1))}.text-purple-500\/80{color:#a855f7cc}.text-purple-600{--tw-text-opacity: 1;color:rgb(147 51 234 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-transparent{color:transparent}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.text-yellow-500{--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity, 1))}.text-yellow-600{--tw-text-opacity: 1;color:rgb(202 138 4 / var(--tw-text-opacity, 1))}.text-zinc-100{--tw-text-opacity: 1;color:rgb(244 244 245 / var(--tw-text-opacity, 1))}.text-zinc-200{--tw-text-opacity: 1;color:rgb(228 228 231 / var(--tw-text-opacity, 1))}.text-zinc-300{--tw-text-opacity: 1;color:rgb(212 212 216 / var(--tw-text-opacity, 1))}.text-zinc-400{--tw-text-opacity: 1;color:rgb(161 161 170 / var(--tw-text-opacity, 1))}.text-zinc-500{--tw-text-opacity: 1;color:rgb(113 113 122 / var(--tw-text-opacity, 1))}.text-zinc-600{--tw-text-opacity: 1;color:rgb(82 82 91 / var(--tw-text-opacity, 1))}.text-zinc-700{--tw-text-opacity: 1;color:rgb(63 63 70 / var(--tw-text-opacity, 1))}.text-zinc-800{--tw-text-opacity: 1;color:rgb(39 39 42 / var(--tw-text-opacity, 1))}.text-zinc-900{--tw-text-opacity: 1;color:rgb(24 24 27 / var(--tw-text-opacity, 1))}.text-zinc-950{--tw-text-opacity: 1;color:rgb(9 9 11 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.accent-amber-500{accent-color:#f59e0b}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-5{opacity:.05}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_15px_rgba\(34\,197\,94\,0\.2\)\]{--tw-shadow: 0 0 15px rgba(34,197,94,.2);--tw-shadow-colored: 0 0 15px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_20px_rgba\(255\,255\,255\,0\.2\)\]{--tw-shadow: 0 0 20px rgba(255,255,255,.2);--tw-shadow-colored: 0 0 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_30px_rgba\(16\,185\,129\,0\.2\)\]{--tw-shadow: 0 0 30px rgba(16,185,129,.2);--tw-shadow-colored: 0 0 30px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_30px_rgba\(168\,85\,247\,0\.2\)\]{--tw-shadow: 0 0 30px rgba(168,85,247,.2);--tw-shadow-colored: 0 0 30px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_30px_rgba\(245\,158\,11\,0\.2\)\]{--tw-shadow: 0 0 30px rgba(245,158,11,.2);--tw-shadow-colored: 0 0 30px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_30px_rgba\(59\,130\,246\,0\.2\)\]{--tw-shadow: 0 0 30px rgba(59,130,246,.2);--tw-shadow-colored: 0 0 30px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_30px_rgba\(59\,130\,246\,0\.3\)\]{--tw-shadow: 0 0 30px rgba(59,130,246,.3);--tw-shadow-colored: 0 0 30px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_40px_rgba\(16\,185\,129\,0\.4\)\]{--tw-shadow: 0 0 40px rgba(16,185,129,.4);--tw-shadow-colored: 0 0 40px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_40px_rgba\(255\,255\,255\,0\.3\)\]{--tw-shadow: 0 0 40px rgba(255,255,255,.3);--tw-shadow-colored: 0 0 40px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_8px_rgba\(168\,85\,247\,0\.5\)\]{--tw-shadow: 0 0 8px rgba(168,85,247,.5);--tw-shadow-colored: 0 0 8px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[var\(--brutalist-shadow-md\)\]{--tw-shadow-color: var(--brutalist-shadow-md);--tw-shadow: var(--tw-shadow-colored)}.shadow-green-500\/20{--tw-shadow-color: rgb(34 197 94 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-orange-500\/10{--tw-shadow-color: rgb(249 115 22 / .1);--tw-shadow: var(--tw-shadow-colored)}.shadow-orange-500\/20{--tw-shadow-color: rgb(249 115 22 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-orange-500\/5{--tw-shadow-color: rgb(249 115 22 / .05);--tw-shadow: var(--tw-shadow-colored)}.outline{outline-style:solid}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-white\/20{--tw-ring-color: rgb(255 255 255 / .2)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-3xl{--tw-blur: blur(64px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-xl{--tw-blur: blur(24px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\[-\:\\s\|\]{-: s|}.selection\:bg-green-500\/20 *::-moz-selection{background-color:#22c55e33}.selection\:bg-green-500\/20 *::selection{background-color:#22c55e33}.selection\:bg-green-500\/30 *::-moz-selection{background-color:#22c55e4d}.selection\:bg-green-500\/30 *::selection{background-color:#22c55e4d}.selection\:bg-orange-500\/20 *::-moz-selection{background-color:#f9731633}.selection\:bg-orange-500\/20 *::selection{background-color:#f9731633}.selection\:bg-orange-500\/30 *::-moz-selection{background-color:#f973164d}.selection\:bg-orange-500\/30 *::selection{background-color:#f973164d}.selection\:bg-green-500\/20::-moz-selection{background-color:#22c55e33}.selection\:bg-green-500\/20::selection{background-color:#22c55e33}.selection\:bg-green-500\/30::-moz-selection{background-color:#22c55e4d}.selection\:bg-green-500\/30::selection{background-color:#22c55e4d}.selection\:bg-orange-500\/20::-moz-selection{background-color:#f9731633}.selection\:bg-orange-500\/20::selection{background-color:#f9731633}.selection\:bg-orange-500\/30::-moz-selection{background-color:#f973164d}.selection\:bg-orange-500\/30::selection{background-color:#f973164d}.hover\:-translate-y-1:hover{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-\[1\.02\]:hover{--tw-scale-x: 1.02;--tw-scale-y: 1.02;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-amber-500\/30:hover{border-color:#f59e0b4d}.hover\:border-black\/10:hover{border-color:#0000001a}.hover\:border-blue-500\/30:hover{border-color:#3b82f64d}.hover\:border-emerald-500\/30:hover{border-color:#10b9814d}.hover\:border-gray-300:hover{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.hover\:border-green-500\/30:hover{border-color:#22c55e4d}.hover\:border-orange-500\/30:hover{border-color:#f973164d}.hover\:border-white\/10:hover{border-color:#ffffff1a}.hover\:border-white\/20:hover{border-color:#fff3}.hover\:border-zinc-700:hover{--tw-border-opacity: 1;border-color:rgb(63 63 70 / var(--tw-border-opacity, 1))}.hover\:bg-\[\#161616\]:hover{--tw-bg-opacity: 1;background-color:rgb(22 22 22 / var(--tw-bg-opacity, 1))}.hover\:bg-\[\#1a1a1a\]:hover{--tw-bg-opacity: 1;background-color:rgb(26 26 26 / var(--tw-bg-opacity, 1))}.hover\:bg-black\/5:hover{background-color:#0000000d}.hover\:bg-brutalist-gray-light:hover{--tw-bg-opacity: 1;background-color:rgb(240 240 240 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-700:hover{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-800:hover{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.hover\:bg-green-500:hover{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.hover\:bg-orange-100:hover{--tw-bg-opacity: 1;background-color:rgb(255 237 213 / var(--tw-bg-opacity, 1))}.hover\:bg-orange-500:hover{--tw-bg-opacity: 1;background-color:rgb(249 115 22 / var(--tw-bg-opacity, 1))}.hover\:bg-orange-500\/20:hover{background-color:#f9731633}.hover\:bg-red-400:hover{--tw-bg-opacity: 1;background-color:rgb(248 113 113 / var(--tw-bg-opacity, 1))}.hover\:bg-red-900\/50:hover{background-color:#7f1d1d80}.hover\:bg-white:hover{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.hover\:bg-white\/5:hover{background-color:#ffffff0d}.hover\:bg-white\/\[0\.02\]:hover{background-color:#ffffff05}.hover\:bg-white\/\[0\.05\]:hover{background-color:#ffffff0d}.hover\:bg-zinc-50:hover{--tw-bg-opacity: 1;background-color:rgb(250 250 250 / var(--tw-bg-opacity, 1))}.hover\:bg-zinc-800:hover{--tw-bg-opacity: 1;background-color:rgb(39 39 42 / var(--tw-bg-opacity, 1))}.hover\:text-black:hover{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.hover\:text-gray-300:hover{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.hover\:text-gray-400:hover{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.hover\:text-gray-600:hover{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.hover\:text-green-400:hover{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.hover\:text-green-600:hover{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.hover\:text-zinc-300:hover{--tw-text-opacity: 1;color:rgb(212 212 216 / var(--tw-text-opacity, 1))}.hover\:text-zinc-400:hover{--tw-text-opacity: 1;color:rgb(161 161 170 / var(--tw-text-opacity, 1))}.hover\:text-zinc-900:hover{--tw-text-opacity: 1;color:rgb(24 24 27 / var(--tw-text-opacity, 1))}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-80:hover{opacity:.8}.hover\:shadow-lg:hover{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:ring-2:hover{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.hover\:ring-blue-500:hover{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}.hover\:ring-green-500:hover{--tw-ring-opacity: 1;--tw-ring-color: rgb(34 197 94 / var(--tw-ring-opacity, 1))}.hover\:ring-offset-2:hover{--tw-ring-offset-width: 2px}.hover\:grayscale-0:hover{--tw-grayscale: grayscale(0);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.active\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-1{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-2{--tw-translate-x: .5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:bg-current{background-color:currentColor}.group:hover .group-hover\:opacity-10{opacity:.1}.group:hover .group-hover\:opacity-100{opacity:1}.group:hover .group-hover\:opacity-20{opacity:.2}.group:hover .group-hover\:ring-white\/50{--tw-ring-color: rgb(255 255 255 / .5)}@media(min-width:640px){.sm\:inline{display:inline}}@media(min-width:768px){.md\:col-span-1{grid-column:span 1 / span 1}.md\:col-span-2{grid-column:span 2 / span 2}.md\:col-span-4{grid-column:span 4 / span 4}.md\:col-span-8{grid-column:span 8 / span 8}.md\:mb-12{margin-bottom:3rem}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:aspect-\[16\/9\]{aspect-ratio:16/9}.md\:h-12{height:3rem}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:flex-row-reverse{flex-direction:row-reverse}.md\:gap-12{gap:3rem}.md\:gap-4{gap:1rem}.md\:gap-6{gap:1.5rem}.md\:border-b-0{border-bottom-width:0px}.md\:border-r{border-right-width:1px}.md\:p-10{padding:2.5rem}.md\:p-12{padding:3rem}.md\:p-16{padding:4rem}.md\:px-12{padding-left:3rem;padding-right:3rem}.md\:px-8{padding-left:2rem;padding-right:2rem}.md\:py-32{padding-top:8rem;padding-bottom:8rem}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-7xl{font-size:4.5rem;line-height:1}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media(min-width:1024px){.lg\:aspect-\[21\/9\]{aspect-ratio:21/9}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:gap-16{gap:4rem}}@media(prefers-color-scheme:dark){.dark\:border-white\/5{border-color:#ffffff0d}.dark\:bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.dark\:bg-white\/5{background-color:#ffffff0d}.dark\:text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.dark\:hover\:bg-white\/5:hover{background-color:#ffffff0d}}.custom-tooltip{display:inline-block;padding:6px 12px;max-width:300px;background:#202124f2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font-size:12px;font-weight:500;line-height:1.5;white-space:normal;word-break:break-word;border-radius:6px;box-shadow:0 4px 12px #00000026;animation:tooltipFadeIn .15s cubic-bezier(.4,0,.2,1);pointer-events:none}@keyframes tooltipFadeIn{0%{opacity:0;transform:scale(.95) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.custom-tooltip-top{animation:tooltipFadeInTop .15s cubic-bezier(.4,0,.2,1)}@keyframes tooltipFadeInTop{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.custom-tooltip-bottom{animation:tooltipFadeInBottom .15s cubic-bezier(.4,0,.2,1)}@keyframes tooltipFadeInBottom{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.custom-tooltip-left{animation:tooltipFadeInLeft .15s cubic-bezier(.4,0,.2,1)}@keyframes tooltipFadeInLeft{0%{opacity:0;transform:translate(4px)}to{opacity:1;transform:translate(0)}}.custom-tooltip-right{animation:tooltipFadeInRight .15s cubic-bezier(.4,0,.2,1)}@keyframes tooltipFadeInRight{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}.avatar-picker{display:flex;flex-direction:column;gap:20px;padding:24px;background:var(--bg-primary, #ffffff);border-radius:12px;max-width:500px}.avatar-picker-header{display:flex;flex-direction:column;gap:8px}.avatar-picker-title{font-size:18px;font-weight:600;color:var(--text-primary, #202124);margin:0}.avatar-picker-description{font-size:13px;color:var(--text-secondary, #5f6368);margin:0;line-height:1.5}.avatar-picker-error{padding:12px 16px;background:#fee2e2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:13px}.avatar-picker-tabs{display:flex;gap:8px;border-bottom:1px solid var(--border-light, #e8eaed)}.avatar-picker-tab{position:relative}.avatar-picker-tab-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;background:transparent;color:var(--text-secondary, #5f6368);font-size:14px;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;transition:all .15s}.avatar-picker-tab.active .avatar-picker-tab-btn{color:var(--primary, #1a73e8);border-bottom-color:var(--primary, #1a73e8)}.avatar-picker-tab-btn:hover{color:var(--text-primary, #202124)}.avatar-picker-content{display:flex;flex-direction:column;gap:20px}.avatar-styles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:4px}.avatar-style-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px;border:2px solid var(--border-light, #e8eaed);border-radius:12px;background:var(--bg-primary, #ffffff);cursor:pointer;transition:all .15s}.avatar-style-card:hover{border-color:var(--primary, #1a73e8);box-shadow:0 2px 8px #1a73e81a}.avatar-style-card.selected{border-color:var(--primary, #1a73e8);background:#1a73e80d;box-shadow:0 0 0 1px var(--primary, #1a73e8)}.avatar-style-check{position:absolute;top:8px;right:8px;width:20px;height:20px;border-radius:50%;background:var(--primary, #1a73e8);color:#fff;display:flex;align-items:center;justify-content:center}.avatar-style-preview{width:72px;height:72px;border-radius:50%;overflow:hidden;background:var(--bg-secondary, #f8f9fa);flex-shrink:0}.avatar-style-preview img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.avatar-style-info{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%}.avatar-style-label{font-size:13px;font-weight:500;color:var(--text-primary, #202124);text-align:center;line-height:1.3}.avatar-style-description{font-size:11px;color:var(--text-tertiary, #80868b);text-align:center;line-height:1.2}.avatar-upload-preview{display:flex;align-items:center;justify-content:center;width:200px;height:200px;margin:0 auto;border-radius:50%;overflow:hidden;border:2px solid var(--border-light, #e8eaed);background:var(--bg-secondary, #f8f9fa)}.avatar-upload-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.avatar-upload-placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text-tertiary, #80868b)}.avatar-upload-info{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.avatar-upload-tips{font-size:12px;color:var(--text-secondary, #5f6368);margin:0}.avatar-upload-filename{font-size:11px;color:var(--text-tertiary, #80868b);margin:0}.avatar-upload-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border:1px solid var(--border-light, #e8eaed);border-radius:8px;background:var(--bg-primary, #ffffff);color:var(--text-primary, #202124);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s;margin:0 auto}.avatar-upload-btn:hover{border-color:var(--primary, #1a73e8);background:#1a73e80d;color:var(--primary, #1a73e8)}.avatar-picker-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid var(--border-light, #e8eaed)}.avatar-picker-btn{display:flex;align-items:center;gap:6px;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s;border:none}.avatar-picker-btn.secondary{background:var(--bg-secondary, #f8f9fa);color:var(--text-secondary, #5f6368)}.avatar-picker-btn.secondary:hover:not(:disabled){background:var(--bg-tertiary, #e8eaed);color:var(--text-primary, #202124)}.avatar-picker-btn.primary{background:var(--primary, #1a73e8);color:#fff}.avatar-picker-btn.primary:hover:not(:disabled){background:var(--primary-hover, #1557b0);box-shadow:0 2px 8px #1a73e84d}.avatar-picker-btn:disabled{opacity:.5;cursor:not-allowed}.proactive-toast{position:fixed;bottom:24px;right:24px;width:380px;max-width:calc(100vw - 48px);background:#fff;border-radius:var(--radius-sm);box-shadow:0 4px 16px #3c404326,0 8px 32px #3c40431a;padding:20px;animation:slideInUp .3s cubic-bezier(.4,0,.2,1);z-index:1000;border-left:4px solid var(--primary)}.proactive-toast--high{border-left-color:var(--warning)}.proactive-toast--low{border-left-color:var(--success)}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.proactive-toast__header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.proactive-toast__icon{font-size:20px;line-height:1}.proactive-toast__title{flex:1;font-size:15px;font-weight:600;color:var(--text-primary)}.proactive-toast__close{background:none;border:none;padding:4px;cursor:pointer;border-radius:4px;color:var(--text-secondary);transition:all var(--transition-fast)}.proactive-toast__close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.proactive-toast__content{font-size:14px;line-height:1.6;color:var(--text-primary);margin-bottom:16px}.proactive-toast__actions{display:flex;gap:10px;flex-wrap:wrap}.proactive-toast__action-btn{flex:1;min-width:100px;padding:10px 16px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.proactive-toast__action-btn:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 4px 12px #1a73e84d}.proactive-toast__action-btn:active{transform:translateY(0)}.proactive-toast__action-btn:not(:first-child){background:#fff;color:var(--primary);border:1px solid var(--border-medium)}.proactive-toast__action-btn:not(:first-child):hover{background:var(--bg-secondary);border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px #1a73e826}@media(max-width:640px){.proactive-toast{bottom:16px;right:16px;width:calc(100vw - 32px)}.proactive-toast__actions{flex-direction:column}.proactive-toast__action-btn{width:100%}}.task-popover-overlay{position:fixed;inset:0;z-index:2000;background:transparent;display:flex;align-items:flex-end;justify-content:flex-start;padding-bottom:32px;padding-left:12px}.task-popover{width:380px;max-height:480px;background:#fff;border:1px solid #e8eaed;border-radius:8px;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;overflow:hidden;animation:slideUp .18s cubic-bezier(.4,0,.2,1)}.task-popover-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #e8eaed}.task-popover-title{font-size:13px;font-weight:600;color:#202124}.task-popover-actions{display:flex;align-items:center;gap:8px}.task-action-btn{font-size:11px;padding:4px 8px;border-radius:6px;border:none;background:transparent;color:#5f6368;cursor:pointer;transition:all .12s cubic-bezier(.4,0,.2,1)}.task-action-btn:hover{background:#f8f9fa;color:#202124}.task-action-icon-btn{width:24px;height:24px;border-radius:6px;border:none;background:transparent;color:#5f6368;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .12s cubic-bezier(.4,0,.2,1)}.task-action-icon-btn:hover:not(:disabled){background:#f8f9fa;color:#ef4444}.task-action-icon-btn:disabled{opacity:.3;cursor:not-allowed}.task-close-btn{width:24px;height:24px;border-radius:6px;border:none;background:transparent;color:#5f6368;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .12s cubic-bezier(.4,0,.2,1)}.task-close-btn:hover{background:#f8f9fa;color:#202124}.task-list{flex:1;overflow-y:auto;padding:8px}.task-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;gap:8px}.task-empty-icon{color:#9aa0a6;opacity:.5}.task-empty-text{font-size:14px;font-weight:500;color:#5f6368}.task-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:6px;margin-bottom:2px;transition:background .12s cubic-bezier(.4,0,.2,1);flex-wrap:wrap}.task-item:hover{background:#f8f9fa}.task-item-icon{flex-shrink:0;width:16px;height:16px;margin-top:1px}.task-status-processing .task-item-icon{color:#1a73e8}.task-status-completed .task-item-icon{color:#10b981}.task-status-failed .task-item-icon{color:#ef4444}.task-status-pending .task-item-icon{color:#9aa0a6}.task-icon-spinning{animation:spin 1s linear infinite}.task-item-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.task-item-name{font-size:13px;font-weight:500;color:#202124;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-item-status{font-size:11px;color:#5f6368}.task-item-error{font-size:11px;color:#ef4444;margin-top:4px;width:100%;padding-left:0}.task-item-progress{width:100%;height:2px;background:#e8eaed;border-radius:1px;margin-top:6px;margin-left:26px;overflow:hidden}.task-progress-bar{height:100%;background:#1a73e8;transition:width .3s cubic-bezier(.4,0,.2,1)}@media(prefers-color-scheme:dark){.task-popover{background:#1e1e1e;border-color:#3c4043}.task-popover-header{border-bottom-color:#3c4043}.task-popover-title{color:#e8eaed}.task-close-btn,.task-action-btn{color:#9aa0a6}.task-close-btn:hover,.task-action-btn:hover{background:#2d2e30;color:#e8eaed}.task-item:hover{background:#2d2e30}.task-item-name{color:#e8eaed}.task-item-status{color:#9aa0a6;background:#2d2e30}.task-item-progress{background:#3c4043}.task-empty-text{color:#9aa0a6}}.vitality-popover-overlay{position:fixed;inset:0;z-index:2000;background:transparent}.vitality-popover{width:360px;max-height:520px;background:#fff;border:1px solid #e8eaed;border-radius:8px;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;overflow:hidden;animation:slideUp .18s cubic-bezier(.4,0,.2,1)}.vitality-popover-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #e8eaed}.vitality-popover-title{font-size:13px;font-weight:600;color:#202124}.vitality-empty-state{padding:48px 24px;text-align:center}.vitality-empty-text{font-size:14px;font-weight:500;color:#5f6368;margin-bottom:8px}.vitality-empty-hint{font-size:12px;color:#9aa0a6}.vitality-close-btn{width:24px;height:24px;border-radius:6px;border:none;background:transparent;color:#5f6368;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .12s ease}.vitality-close-btn:hover{background:#f1f3f4;color:#202124}.vitality-score-section{padding:24px 16px 16px;border-bottom:1px solid #e8eaed;text-align:center}.vitality-score-value{font-size:64px;font-weight:700;line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-bottom:4px}.vitality-status-label{font-size:14px;font-weight:600;margin-bottom:8px}.vitality-score-trend{display:flex;align-items:center;justify-content:center;gap:4px;font-size:11px;color:#5f6368}.trend-icon{flex-shrink:0}.trend-text{line-height:1}.vitality-dimensions{flex:1;overflow-y:auto;padding:16px}.dimensions-title{font-size:11px;font-weight:600;color:#9aa0a6;text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px}.vitality-dimension-item{margin-bottom:14px}.vitality-dimension-item:last-child{margin-bottom:0}.dimension-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.dimension-label-with-icon{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.dimension-icon{color:#5f6368;flex-shrink:0}.dimension-label{font-size:12px;color:#202124;font-weight:500;flex-shrink:0}.dimension-desc{font-size:11px;color:#9aa0a6;margin-left:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dimension-value{font-size:13px;font-weight:600;color:#202124;font-variant-numeric:tabular-nums;flex-shrink:0;min-width:24px;text-align:right}.dimension-value.low{color:#f59e0b}.dimension-bar{width:100%;height:2px;background:#e8eaed;border-radius:1px;position:relative;overflow:hidden}.dimension-bar-fill{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,#3b82f6,#10b981);border-radius:1px;transition:width .3s cubic-bezier(.4,0,.2,1)}.dimension-hint{margin-top:4px;font-size:10px;color:#f59e0b;line-height:1.4}@media(prefers-color-scheme:dark){.vitality-popover{background:#1e1e1e;border-color:#2d2d2d}.vitality-popover-header{border-bottom-color:#2d2d2d}.vitality-popover-title,.dimension-label{color:#e8eaed}.dimension-desc,.dimension-hint,.trend-text,.dimension-icon,.dimensions-title,.vitality-close-btn{color:#9aa0a6}.vitality-close-btn:hover{background:#2d2d2d;color:#e8eaed}.dimension-value{color:#e8eaed}.vitality-score-section{border-bottom-color:#2d2d2d}.dimension-bar{background:#2d2d2d}}.ai-memory-popover-overlay{position:fixed;inset:0;z-index:2000;background:transparent;display:flex;align-items:flex-end;justify-content:flex-end;padding-right:16px;padding-bottom:32px}.ai-memory-popover{width:420px;max-height:520px;background:#fff;border:1px solid #e8eaed;border-radius:8px;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;overflow:hidden;animation:slideUp .18s cubic-bezier(.4,0,.2,1)}@keyframes slideUp{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}.ai-memory-popover-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px 8px 8px;border-bottom:1px solid #e8eaed;gap:8px}.ai-memory-tabs{display:flex;gap:4px;flex:1}.ai-memory-tab{display:flex;align-items:center;gap:6px;padding:6px 10px;background:transparent;border:none;border-radius:6px;font-size:12px;font-weight:500;color:#5f6368;cursor:pointer;transition:all .12s cubic-bezier(.4,0,.2,1);white-space:nowrap}.ai-memory-tab:hover{background:#f1f3f4;color:#202124}.ai-memory-tab.active{background:#e8eaed;color:#202124}.ai-memory-tab-count{font-size:11px;color:#9aa0a6;background:#f8f9fa;padding:2px 6px;border-radius:4px;font-variant-numeric:tabular-nums}.ai-memory-tab.active .ai-memory-tab-count{background:#fff;color:#5f6368}.ai-memory-popover-title{font-size:13px;font-weight:600;color:#202124}.ai-memory-close-btn{width:24px;height:24px;border-radius:6px;border:none;background:transparent;color:#5f6368;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .12s cubic-bezier(.4,0,.2,1)}.ai-memory-close-btn:hover{background:#f1f3f4;color:#202124}.ai-memory-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;gap:8px}.ai-memory-empty-icon{color:#9aa0a6;opacity:.5}.ai-memory-empty-text{font-size:14px;font-weight:500;color:#5f6368}.ai-memory-empty-hint{font-size:12px;color:#9aa0a6}.ai-memory-extract-btn{margin-top:16px;padding:8px 16px;background:#1a73e8;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .12s cubic-bezier(.4,0,.2,1)}.ai-memory-extract-btn:hover:not(:disabled){background:#1557b0;box-shadow:0 1px 3px #1a73e84d}.ai-memory-extract-btn:disabled{background:#e8eaed;color:#9aa0a6;cursor:not-allowed}.ai-memory-list{flex:1;overflow-y:auto;padding:0}.ai-memory-tab-panel{padding:12px 16px;min-height:200px}.ai-memory-items{display:flex;flex-direction:column;gap:6px}.ai-memory-item{display:flex;align-items:flex-start;gap:8px;padding:8px 12px;background:#f8f9fa;border-radius:6px;transition:background .12s cubic-bezier(.4,0,.2,1)}.ai-memory-item:hover{background:#e8eaed}.ai-memory-item-icon{flex-shrink:0;margin-top:2px;color:#5f6368}.ai-memory-item-content{flex:1;font-size:13px;color:#202124;line-height:1.5;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ai-memory-item-tag{display:inline-block;padding:2px 6px;background:#e8eaed;color:#5f6368;font-size:11px;border-radius:3px;font-weight:500}.ai-memory-item-highlight{background:#1a73e814;border:1px solid rgba(26,115,232,.2)}.ai-memory-item-highlight:hover{background:#1a73e81f}.ai-memory-item-highlight .ai-memory-item-icon{color:#1a73e8}.ai-memory-item-highlight .ai-memory-item-content{color:#1a73e8;font-weight:500}.ai-memory-item-more{padding:6px 12px;font-size:12px;color:#9aa0a6;text-align:center}.ai-memory-footer{padding:12px 16px;border-top:1px solid #e8eaed}.ai-memory-view-all-btn{width:100%;padding:8px 12px;background:transparent;border:1px solid #e8eaed;border-radius:6px;font-size:13px;font-weight:500;color:#5f6368;cursor:pointer;transition:all .12s cubic-bezier(.4,0,.2,1)}.ai-memory-view-all-btn:hover{background:#f8f9fa;border-color:#9aa0a6;color:#202124}@media(prefers-color-scheme:dark){.ai-memory-popover{background:#1e1e1e;border-color:#2d2d2d}.ai-memory-popover-header{border-bottom-color:#2d2d2d}.ai-memory-popover-title{color:#e8eaed}.ai-memory-close-btn{color:#9aa0a6}.ai-memory-close-btn:hover{background:#2d2d2d;color:#e8eaed}.ai-memory-empty-text,.ai-memory-tab{color:#9aa0a6}.ai-memory-tab:hover,.ai-memory-tab.active{background:#2d2d2d;color:#e8eaed}.ai-memory-tab-count{background:#2d2d2d;color:#9aa0a6}.ai-memory-tab.active .ai-memory-tab-count{background:#3c4043;color:#9aa0a6}.ai-memory-item{background:#2d2d2d}.ai-memory-item:hover{background:#3c4043}.ai-memory-item-content{color:#e8eaed}.ai-memory-footer{border-top-color:#2d2d2d}.ai-memory-view-all-btn{border-color:#2d2d2d;color:#9aa0a6}.ai-memory-view-all-btn:hover{background:#2d2d2d;border-color:#5f6368;color:#e8eaed}.ai-memory-extract-btn{background:#1a73e8}.ai-memory-extract-btn:hover:not(:disabled){background:#1557b0}.ai-memory-extract-btn:disabled{background:#2d2d2d;color:#5f6368}}.system-pulse{display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:transparent;border:none;transition:all .2s ease;cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none}.system-pulse:hover{background:transparent}.pulse-dot{width:8px;height:8px;border-radius:50%;position:relative}.pulse-text{font-size:12px;font-weight:500;color:#000000b3;white-space:nowrap}.pulse-icon{color:#00000080}.system-pulse.standby .pulse-dot{animation:pulse-breathing 2s ease-in-out infinite}@keyframes pulse-breathing{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.9)}}.system-pulse.thinking .pulse-dot{animation:pulse-blink .8s ease-in-out infinite}@keyframes pulse-blink{0%,to{opacity:1}50%{opacity:.3}}.system-pulse.executing .pulse-dot{animation:pulse-flow 1.5s ease-in-out infinite}.system-pulse.executing .pulse-dot:before{content:"";position:absolute;top:50%;left:50%;width:100%;height:100%;border-radius:50%;background:inherit;transform:translate(-50%,-50%);animation:pulse-ripple 1.5s ease-out infinite}@keyframes pulse-flow{0%,to{box-shadow:0 0 #3b82f666}50%{box-shadow:0 0 0 4px #3b82f600}}@keyframes pulse-ripple{0%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(-50%,-50%) scale(2.5);opacity:0}}@media(max-width:768px){.pulse-text{display:none}.system-pulse{padding:6px}}@media(prefers-color-scheme:dark){.pulse-text{color:#fffc}.pulse-icon{color:#fff9}}.global-footer{flex-shrink:0;height:28px;background:var(--bg-primary);border-top:1px solid var(--border-light, #e8eaed);display:flex;align-items:center;justify-content:space-between;padding:0 12px;font-size:12px;color:var(--text-secondary);z-index:1000;-webkit-user-select:none;-moz-user-select:none;user-select:none}.footer-section{display:flex;align-items:center;gap:12px;height:100%}.footer-left{flex:0 0 auto}.footer-center{flex:1 1 auto;justify-content:center}.footer-right{flex:0 0 auto}.footer-item{display:flex;align-items:center;gap:6px;padding:0 8px;height:100%;cursor:default;transition:background .12s ease}.footer-item-clickable{cursor:pointer}.footer-item-clickable:hover{background:var(--hover-bg)}.footer-item:not(.footer-item-clickable):hover{background:transparent}.footer-item.task-failed .footer-text{color:#f59e0b;font-weight:500}.footer-item.task-processing .footer-text{color:var(--primary, #1a73e8)}.footer-item.task-idle .footer-text{color:var(--text-secondary)}.footer-task-status{padding:0 4px;max-width:200px}.footer-text-status{color:var(--text-tertiary, #5f6368);font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.footer-divider{width:1px;height:16px;background:var(--border-color);opacity:.5}.footer-text{font-size:11px;line-height:1;white-space:nowrap;display:flex;align-items:center}.footer-text-muted{color:var(--text-tertiary)}.status-icon{flex-shrink:0;display:flex;align-items:center}.status-online{color:#10b981}.status-offline{color:#ef4444}.status-checking{color:var(--text-tertiary);animation:pulse 1.5s ease-in-out infinite}.status-processing{color:var(--primary);animation:spin 1s linear infinite}.status-warning{color:#f59e0b}.trend-up{color:#10b981}.trend-down{color:#ef4444}.trend-stable{color:var(--text-tertiary)}@media(prefers-color-scheme:dark){.global-footer{background:#1e1e1e;border-top-color:#2d2d2d}.footer-divider{background:#2d2d2d}}@media(max-width:768px){.footer-center{display:none}}.app-layout{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden;background:var(--bg-secondary, #f8f9fa)}.main-content{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;position:relative}.top-right-corner{position:absolute;top:16px;right:16px;z-index:100}.user-avatar-container{position:relative;cursor:pointer}.user-avatar{width:40px;height:40px;border-radius:50%;border:2px solid white;box-shadow:0 2px 6px #3c404326;transition:all var(--transition-fast, .15s)}.user-avatar:hover{box-shadow:0 4px 8px #3c404333}.avatar-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:180px;background:#fff;border-radius:8px;box-shadow:0 4px 16px #3c404326;padding:8px;animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.avatar-menu-item{width:100%;padding:10px 12px;display:flex;align-items:center;gap:10px;background:none;border:none;border-radius:4px;font-size:14px;color:var(--text-primary, #202124);cursor:pointer;transition:all var(--transition-fast, .15s);text-align:left}.avatar-menu-item:hover{background:var(--bg-secondary, #f8f9fa)}.avatar-menu-item:active{transform:scale(.98)}.profile-modal-overlay{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:10000;display:flex;align-items:center;justify-content:center;padding:40px;animation:fadeIn .2s ease-out}.profile-modal-content{background:#fff;border-radius:8px;width:100%;max-width:640px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 2px 8px #00000014;animation:slideUp .25s cubic-bezier(.4,0,.2,1);will-change:transform,opacity}.profile-modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 20px 16px;border-bottom:1px solid var(--border-light);flex-shrink:0}.profile-modal-title{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 4px;line-height:1.4}.profile-modal-subtitle{font-size:13px;color:var(--text-secondary);margin:0}.profile-modal-close{width:32px;height:32px;border-radius:6px;border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .12s,color .12s;flex-shrink:0}.profile-modal-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.profile-modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:20px}.profile-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;gap:16px;color:var(--text-secondary)}.profile-section{margin-bottom:20px}.profile-section:last-child{margin-bottom:0}.profile-section-label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:10px}.profile-section-label svg{color:var(--text-tertiary)}.profile-avatar-section{display:flex;gap:16px;align-items:center;margin-bottom:20px}.profile-avatar-wrapper{flex-shrink:0}.profile-avatar-controls{display:flex;flex-direction:column;gap:8px}.profile-avatar-buttons{display:flex;gap:8px}.profile-avatar-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border-light, #e8eaed);border-radius:6px;background:var(--bg-primary, #ffffff);color:var(--text-primary, #202124);font-size:13px;font-weight:500;cursor:pointer;transition:background-color .12s,border-color .12s;white-space:nowrap}.profile-avatar-btn:hover{background:var(--bg-secondary, #f8f9fa);border-color:var(--border-medium, #dadce0)}.profile-avatar-btn:disabled{opacity:.5;cursor:not-allowed}.profile-avatar-btn svg{flex-shrink:0}.profile-field{flex:1}.profile-label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--text-primary);margin-bottom:8px}.profile-label svg{color:var(--text-tertiary)}.profile-label .optional{color:var(--text-tertiary);font-weight:400;font-size:12px}.profile-input,.profile-textarea{width:100%;padding:8px 12px;font-size:14px;border:1px solid var(--border-medium);border-radius:6px;background:#fff;color:var(--text-primary);transition:border-color .12s;font-family:inherit}.profile-input:focus,.profile-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #1a73e81a}.profile-textarea{resize:vertical;min-height:72px}.profile-hint{font-size:12px;color:var(--text-tertiary);margin:6px 0 0}.profile-radio-group{display:flex;flex-direction:row;gap:8px;flex-wrap:wrap}.profile-radio-option{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border:1px solid var(--border-light);border-radius:6px;cursor:pointer;transition:border-color .12s,background-color .12s;flex:1;min-width:0}.profile-radio-option:hover{border-color:var(--border-medium);background:var(--bg-secondary)}.profile-radio-option:has(input:checked){border-color:var(--primary);background:#1a73e80a}.profile-radio-option input[type=radio]{margin-top:2px;flex-shrink:0}.profile-radio-content{display:flex;flex-direction:column;gap:2px}.profile-radio-title{font-size:13px;font-weight:500;color:var(--text-primary);line-height:1.4}.profile-radio-desc{font-size:11px;color:var(--text-tertiary);line-height:1.4}.profile-tags{display:flex;flex-wrap:wrap;gap:6px}.profile-tag{padding:5px 10px;font-size:12px;font-weight:500;border:1px solid var(--border-light);border-radius:6px;background:#fff;color:var(--text-secondary);cursor:pointer;transition:border-color .12s,background-color .12s,color .12s;white-space:nowrap}.profile-tag:hover{border-color:var(--border-medium);background:var(--bg-secondary)}.profile-tag.active{border-color:var(--primary);background:#1a73e814;color:var(--primary)}.profile-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--border-light);flex-shrink:0}.profile-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;border-radius:6px;border:none;cursor:pointer;transition:background-color .12s,opacity .12s}.profile-btn:disabled{opacity:.5;cursor:not-allowed}.profile-btn-secondary{background:transparent;color:var(--text-secondary);border:1px solid var(--border-medium)}.profile-btn-secondary:hover:not(:disabled){background:var(--bg-secondary);color:var(--text-primary)}.profile-btn-primary{background:var(--primary);color:#fff}.profile-btn-primary:hover:not(:disabled){background:#1557b0;box-shadow:0 2px 8px #1a73e84d}.profile-modal-body::-webkit-scrollbar{width:8px}.profile-modal-body::-webkit-scrollbar-track{background:transparent}.profile-modal-body::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:4px}.profile-modal-body::-webkit-scrollbar-thumb:hover{background:var(--border-dark)}@media(max-width:768px){.profile-modal-content{max-width:100%;max-height:100%;border-radius:0}.profile-avatar-section{flex-direction:column;align-items:center}}.user-menu-overlay{position:fixed;inset:0;z-index:2000;background:transparent}.user-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:240px;background:#fff;border:1px solid var(--border-light);border-radius:8px;box-shadow:0 4px 20px #00000026;z-index:1003;padding:8px 0;animation:scaleIn .2s cubic-bezier(.16,1,.3,1);transform-origin:top right}.user-menu-header{display:flex;align-items:center;gap:12px;padding:8px 16px 12px;border-bottom:1px solid var(--border-light);margin-bottom:4px}.user-menu-avatar{flex-shrink:0}.user-menu-info{flex:1;min-width:0}.user-menu-name{font-size:14px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu-email{font-size:12px;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu-section{padding:4px 0;border-bottom:1px solid var(--border-light)}.user-menu-section:last-child{border-bottom:none}.user-menu-item{width:100%;display:flex;align-items:center;gap:12px;padding:8px 16px;border:none;background:transparent;color:var(--text-primary);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);text-align:left}.user-menu-item:hover{background:var(--bg-secondary);color:var(--text-primary);transform:translate(2px)}.user-menu-item:active{transform:scale(.98) translate(2px)}.user-menu-item svg{color:var(--text-tertiary)}.user-menu-item:hover svg{color:var(--text-secondary)}.user-menu-item.danger{color:var(--danger)}.user-menu-item.danger svg{color:var(--danger)}.user-menu-item.danger:hover{background:#ea433514}.user-menu-chevron{margin-left:auto;opacity:.5}.dashboard-test{padding:24px;max-width:1400px;margin:0 auto;background:#f8f9fa;min-height:100vh}.dashboard-header{margin-bottom:32px}.dashboard-header h1{font-size:24px;font-weight:600;color:var(--text-primary, #202124);margin-bottom:8px}.dashboard-header p{font-size:14px;color:var(--text-secondary, #5f6368)}.dashboard-section{margin-bottom:32px}.dashboard-section h2{font-size:16px;font-weight:600;color:var(--text-primary, #202124);margin-bottom:16px}.dashboard-section h3{font-size:14px;font-weight:500;color:var(--text-primary, #202124);margin-bottom:12px}.dashboard-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.dashboard-metric-card{background:#fff;border:1px solid var(--border-light, #e8eaed);border-radius:8px;box-shadow:0 2px 8px #00000014;padding:16px;transition:all .12s}.dashboard-metric-card:hover{border-color:var(--border-medium, #dadce0);box-shadow:0 4px 12px #0000001f}.metric-title{font-size:13px;color:var(--text-secondary, #5f6368);margin-bottom:8px}.metric-value{font-size:32px;font-weight:600;color:var(--text-primary, #202124);font-variant-numeric:tabular-nums;margin-bottom:8px}.metric-trend{font-size:14px;font-weight:500;display:flex;align-items:center;gap:4px}.metric-trend.positive{color:#10b981}.metric-trend.negative{color:#ef4444}.metric-trend.neutral{color:var(--text-secondary, #5f6368)}.dashboard-chart-container{background:#fff;border:1px solid var(--border-light, #e8eaed);border-radius:8px;box-shadow:0 2px 8px #00000014;padding:16px}.dashboard-charts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.test-result{background:#fff;border:1px solid var(--border-light, #e8eaed);border-radius:8px;box-shadow:0 2px 8px #00000014;padding:16px}.test-result.success{border-left:4px solid #10b981}.test-result h3{font-size:16px;font-weight:600;color:#10b981;margin-bottom:12px}.test-result ul{list-style:none;padding:0;margin:0}.test-result ul li{font-size:14px;color:var(--text-primary, #202124);padding:4px 0 4px 24px;position:relative}.test-result ul li:before{content:"✓";position:absolute;left:0;color:#10b981;font-weight:600}@media(max-width:1024px){.dashboard-metrics{grid-template-columns:repeat(2,1fr)}.dashboard-charts-grid{grid-template-columns:1fr}}@media(max-width:640px){.dashboard-test{padding:16px}.dashboard-metrics{grid-template-columns:1fr}.metric-value{font-size:24px}}.code-playground{width:100%;height:100%;display:flex;flex-direction:column;background:#f6f6f7;border:1px solid #e4e7eb;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #00000014}.code-playground-header{display:flex;align-items:center;justify-content:space-between;height:48px;padding:0 16px;background:#fff;border-bottom:1px solid #e4e7eb;flex-shrink:0}.header-left,.header-center,.header-right{display:flex;align-items:center;gap:8px}.header-center{flex:1;justify-content:center}.project-name{font-size:13px;font-weight:500;color:#374151}.header-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;height:32px;background:transparent;border:1px solid #e4e7eb;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;color:#374151;transition:all .12s}.header-btn:hover{background:#f6f6f7;border-color:#d1d5db}.header-btn svg{width:14px;height:14px}.header-btn-primary{background:#1a73e8;border-color:#1a73e8;color:#fff}.header-btn-primary:hover{background:#1765cc;border-color:#1765cc}.sandpack-wrapper-stackblitz{width:100%;height:100%;border-radius:0!important;box-shadow:none!important;flex:1;min-height:0}.sandpack-layout-stackblitz{border:none!important;background:transparent!important}.sandpack-editor-stackblitz{background:#fff!important;border-right:1px solid #e4e7eb!important}.sandpack-preview-stackblitz{background:#fff!important}:global(.sp-navigator){background:#f6f6f7!important;border-right:1px solid #e4e7eb!important;width:200px!important;min-width:200px!important}:global(.sp-file-explorer){background:#f6f6f7!important}:global(.sp-file-item){padding:6px 12px!important;font-size:13px!important;color:#374151!important;border-radius:4px!important;margin:2px 4px!important}:global(.sp-file-item:hover){background:#e8eaed!important}:global(.sp-file-item[data-active=true]){background:#fff!important;color:#1a73e8!important;font-weight:500!important}:global(.sp-tabs){background:#f6f6f7!important;border-bottom:1px solid #e4e7eb!important;padding:0 8px!important;min-height:40px!important;height:40px!important}:global(.sp-tab-button){padding:8px 12px!important;font-size:13px!important;color:#6b7280!important;border-radius:0!important;border:none!important;border-bottom:2px solid transparent!important;background:transparent!important;margin:0!important;height:40px!important}:global(.sp-tab-button:hover){color:#374151!important;background:#00000005!important}:global(.sp-tab-button[data-active=true]){color:#1a73e8!important;background:transparent!important;border-bottom-color:#1a73e8!important;font-weight:500!important}:global(.sp-code-editor){background:#fff!important}:global(.sp-cm){background:#fff!important}:global(.cm-editor){background:#fff!important}:global(.cm-scroller){font-family:Monaco,Menlo,Ubuntu Mono,monospace!important;font-size:13px!important;line-height:1.6!important}:global(.cm-line){padding:0 4px!important}:global(.cm-lineNumbers){color:#9ca3af!important;font-size:12px!important}:global(.sp-preview-container){background:#fff!important}:global(.sp-preview-iframe){background:#fff!important;border:none!important}:global(.sp-preview-actions){background:#f6f6f7!important;border-bottom:1px solid #e4e7eb!important;padding:8px 12px!important;min-height:40px!important;height:40px!important}:global(.sp-button){background:transparent!important;border:1px solid #e4e7eb!important;border-radius:6px!important;padding:6px 10px!important;font-size:12px!important;color:#374151!important;height:28px!important}:global(.sp-button:hover){background:#fff!important;border-color:#d1d5db!important}:global(.sp-console){background:#1a1a1a!important;border-top:1px solid #e4e7eb!important}:global(.sp-console-header){background:#2d2d2d!important;border-bottom:1px solid #404040!important}:global(.sp-error-message){background:#fef2f2!important;border-left:3px solid #ef4444!important;color:#991b1b!important}:global(.sp-loading){background:#fff!important}:global(.sp-code-editor::-webkit-scrollbar),:global(.sp-preview::-webkit-scrollbar),:global(.cm-scroller::-webkit-scrollbar){width:10px;height:10px}:global(.sp-code-editor::-webkit-scrollbar-track),:global(.sp-preview::-webkit-scrollbar-track),:global(.cm-scroller::-webkit-scrollbar-track){background:#f6f6f7}:global(.sp-code-editor::-webkit-scrollbar-thumb),:global(.sp-preview::-webkit-scrollbar-thumb),:global(.cm-scroller::-webkit-scrollbar-thumb){background:#d1d5db;border-radius:5px}:global(.sp-code-editor::-webkit-scrollbar-thumb:hover),:global(.sp-preview::-webkit-scrollbar-thumb:hover),:global(.cm-scroller::-webkit-scrollbar-thumb:hover){background:#9ca3af}:global(.sp-folder-icon){color:#9ca3af!important}:global(.sp-file-icon){color:#6b7280!important}.code-playground-advanced{width:100%;height:100%;display:flex;flex-direction:column;background:#f6f6f7}.file-explorer-wrapper{width:200px;min-width:200px;background:#f6f6f7;border-right:1px solid #e4e7eb;overflow-y:auto}.editor-preview-wrapper{display:flex;flex:1;overflow:hidden;min-height:0}@media(max-width:768px){.code-playground-header{padding:0 8px}.header-center,.header-btn span,.file-explorer-wrapper{display:none}.editor-preview-wrapper{flex-direction:column}}.code-playground-test-page{min-height:100vh;background:#f8f9fa;padding:24px}.page-header{max-width:1200px;margin:0 auto 32px;text-align:center}.page-header h1{font-size:32px;font-weight:600;color:#202124;margin-bottom:8px}.page-header p{font-size:16px;color:#5f6368}.demo-selector{max-width:1200px;margin:0 auto 24px;display:flex;gap:12px;justify-content:center}.demo-selector button{padding:10px 20px;background:#fff;border:1px solid #e8eaed;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;color:#5f6368;transition:all .12s}.demo-selector button:hover{border-color:#1a73e8;color:#1a73e8}.demo-selector button.active{background:#1a73e8;border-color:#1a73e8;color:#fff}.playground-container{max-width:1200px;margin:0 auto 48px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden}.feature-list{max-width:1200px;margin:0 auto}.feature-list h2{font-size:24px;font-weight:600;color:#202124;margin-bottom:24px;text-align:center}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.feature{background:#fff;border:1px solid #e8eaed;border-radius:8px;padding:20px;box-shadow:0 2px 8px #00000014}.feature h3{font-size:16px;font-weight:600;color:#202124;margin-bottom:8px}.feature p{font-size:14px;color:#5f6368;line-height:1.5}@media(max-width:768px){.code-playground-test-page{padding:16px}.page-header h1{font-size:24px}.demo-selector{flex-direction:column}.features{grid-template-columns:1fr}}.knowledge-health-loading,.knowledge-health-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12);gap:var(--space-4);color:var(--text-tertiary)}.knowledge-health-loading .spinner{width:32px;height:32px;border:3px solid var(--bg-tertiary);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}.knowledge-health-report{display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-6);background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.report-header{display:flex;justify-content:space-between;align-items:center}.report-title{display:flex;align-items:center;gap:var(--space-2)}.report-title h3{margin:0;font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary)}.btn-refresh{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid var(--border-medium);border-radius:var(--radius-sm);background:#fff;color:var(--text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.btn-refresh:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--primary);color:var(--primary)}.btn-refresh:disabled{opacity:.5;cursor:not-allowed}.btn-refresh .spinning{animation:spin 1s linear infinite}.health-overview{display:flex;align-items:center;gap:var(--space-8);padding:var(--space-6);background:var(--bg-secondary);border-radius:var(--radius-md)}.health-score-circle{position:relative;width:120px;height:120px}.health-score-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center}.health-score-number{font-size:32px;font-weight:700;color:var(--text-primary)}.health-score-label{font-size:var(--font-size-xs);color:var(--text-tertiary)}.health-stats{flex:1;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4)}.health-stat{display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.health-stat .stat-value{font-size:var(--font-size-xl);font-weight:600;color:var(--text-primary)}.health-stat .stat-label{font-size:var(--font-size-xs);color:var(--text-tertiary)}.health-insights{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}.insight-card{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4);background:#fff;border:1px solid var(--border-light);border-radius:var(--radius-sm)}.insight-label{font-size:var(--font-size-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.insight-value{font-size:var(--font-size-md);font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.insight-detail{font-size:var(--font-size-sm);color:var(--text-secondary)}.cleanup-recommendations{display:flex;flex-direction:column;gap:var(--space-4)}.cleanup-recommendations h4{margin:0;font-size:var(--font-size-md);font-weight:600;color:var(--text-primary)}.recommendation-section{padding:var(--space-4);background:var(--bg-secondary);border-radius:var(--radius-sm);border-left:3px solid var(--primary)}.recommendation-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);font-weight:600;color:var(--text-primary)}.recommendation-desc{margin:0;font-size:var(--font-size-sm);color:var(--text-secondary)}.btn-cleanup{margin-left:auto;padding:var(--space-1) var(--space-3);border:1px solid var(--danger);border-radius:var(--radius-sm);background:#fff;color:var(--danger);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.btn-cleanup:hover{background:var(--danger);color:#fff}.report-footer{padding-top:var(--space-4);border-top:1px solid var(--border-light);text-align:center;font-size:var(--font-size-xs);color:var(--text-tertiary)}@media(max-width:768px){.health-overview{flex-direction:column}.health-stats{grid-template-columns:repeat(2,1fr)}.health-insights{grid-template-columns:1fr}}.health-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;transition:all .12s cubic-bezier(.4,0,.2,1);cursor:default}.health-dot.clickable{cursor:pointer}.health-dot.clickable:hover{transform:scale(1.5);box-shadow:0 0 0 2px #fffc,0 0 0 4px currentColor;opacity:1}.health-dot.processing{animation:healthDotPulse 2s ease-in-out infinite}@keyframes healthDotPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.smart-file-tree{display:flex;flex-direction:column;height:100%;background:var(--bg-primary, #ffffff)}.view-mode-toggle{display:flex;gap:4px;padding:8px;border-bottom:1px solid var(--border-light, #e8eaed)}.view-mode-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;height:32px;border:none;background:none;color:var(--text-secondary, #5f6368);font-size:var(--font-size-sm, 13px);font-weight:500;border-radius:6px;cursor:pointer;transition:all .12s ease}.view-mode-btn:hover{background:var(--bg-secondary, #f8f9fa);color:var(--text-primary, #202124)}.view-mode-btn.active{background:var(--primary, #1a73e8);color:#fff}.view-content{flex:1;overflow-y:auto;padding:2px 8px}.placeholder-text{padding:20px;text-align:center;color:var(--text-tertiary, #80868b);font-size:var(--font-size-sm, 13px)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;gap:12px}.loading-spinner{width:24px;height:24px;border:2px solid var(--border-light, #e8eaed);border-top-color:var(--primary, #1a73e8);border-radius:50%;animation:spin .6s linear infinite}.loading-state p{font-size:var(--font-size-sm, 13px);color:var(--text-secondary, #5f6368)}.empty-state{display:flex;flex-direction:column;align-items:center;padding:40px 20px;gap:12px}.empty-icon{color:var(--text-tertiary, #80868b)}.empty-title{font-size:var(--font-size-base, 14px);font-weight:600;color:var(--text-primary, #202124);margin:0}.empty-desc{font-size:var(--font-size-sm, 13px);color:var(--text-tertiary, #80868b);text-align:center;margin:0}.categories-list{display:flex;flex-direction:column;gap:16px}.category-group{display:flex;flex-direction:column;gap:4px}.category-header{display:flex;align-items:center;gap:8px;padding:8px;background:var(--bg-secondary, #f8f9fa);border-radius:6px;cursor:pointer;transition:background .12s ease}.category-header:hover{background:var(--bg-tertiary, #e8eaed)}.category-chevron{color:var(--text-tertiary, #80868b);flex-shrink:0;transition:transform .12s ease}.category-chevron.expanded{transform:rotate(90deg)}.category-icon{color:var(--primary, #1a73e8);flex-shrink:0}.category-name{flex:1;font-size:var(--font-size-sm, 13px);font-weight:600;color:var(--text-primary, #202124);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-count{font-size:var(--font-size-xs, 11px);color:var(--text-tertiary, #80868b);padding:2px 6px;background:#fff;border-radius:4px}.category-files{display:flex;flex-direction:column;gap:0;padding-left:12px}.category-file{display:flex;align-items:center;gap:8px;height:32px;padding:0 8px;border-radius:4px;cursor:pointer;transition:background .12s ease}.category-file:hover{background:var(--bg-secondary, #f8f9fa)}.category-file.active{background:#1a73e814;color:var(--primary);padding:0 8px;gap:8px}.category-file.active .file-icon{color:var(--primary)}.category-file.active:hover{background:#1a73e81f}.category-file.referenced{background:#34a8530f}.category-file.editing{background:#fbbc040f}.file-icon{color:var(--text-tertiary, #80868b);flex-shrink:0}.file-icon-slides{color:#e05a33}.file-name{flex:1;font-size:var(--font-size-sm, 13px);color:var(--text-secondary, #5f6368);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .12s cubic-bezier(.4,0,.2,1);min-width:0;font-weight:400}.category-file.active .file-name{color:var(--filename-active-color)}.category-file.recommended .file-name{color:var(--filename-recommended-color);animation:pulse-glow var(--pulse-animation-duration) ease-in-out infinite}.category-file.referenced .file-name{color:var(--filename-referenced-color)}.category-file.ai-reading .file-name{color:var(--filename-ai-reading-color);animation:pulse-glow 1.5s ease-in-out infinite}.category-file.search-match .file-name{color:var(--filename-search-match-color)}.category-file.health-danger .file-name{color:var(--filename-health-danger-color)}.category-file.health-warning .file-name{color:var(--filename-health-warning-color)}.category-file.starred .file-name{color:var(--filename-starred-color)}.category-file.tot-linked .file-name{color:var(--filename-tot-linked-color)}.category-file.editing .file-name{color:var(--filename-editing-color)}.status-icon{flex-shrink:0;transition:all .12s cubic-bezier(.4,0,.2,1);width:var(--status-icon-size)!important;height:var(--status-icon-size)!important;background:none!important;border-radius:0!important}.status-icon.status-recommended{color:var(--status-recommended-color)}.status-icon.status-ai-reading{color:var(--status-ai-reading-color);animation:rotate var(--rotate-animation-duration) linear infinite}.status-icon.status-editing{color:var(--status-editing-color)!important}.status-icon.status-referenced{color:var(--status-referenced-color)}.file-modified-dot,.file-editing-dot{color:var(--status-modified-color);font-size:var(--modified-dot-size);margin-left:2px;line-height:1;opacity:var(--modified-dot-opacity)}.search-input-container{padding:8px 12px;border-bottom:1px solid var(--border-light, #e8eaed);background:var(--bg-primary, #ffffff);flex-shrink:0;display:flex;align-items:center;gap:8px;position:relative}.search-input-container>.search-icon{position:static!important;left:auto!important;color:var(--text-tertiary, #9aa0a6)!important;flex-shrink:0!important;margin-left:6px!important;margin-right:0!important}.search-input{flex:1;height:32px;padding:0 32px 0 8px;background:var(--bg-secondary, #f8f9fa);border:1px solid transparent;border-radius:8px;font-size:13px;color:var(--text-primary, #202124);outline:none;transition:all .12s ease}.search-input::-moz-placeholder{color:var(--text-tertiary, #9aa0a6)}.search-input::placeholder{color:var(--text-tertiary, #9aa0a6)}.search-input:focus{background:var(--bg-primary, #ffffff);border-color:var(--primary, #1a73e8);box-shadow:0 0 0 2px #1a73e81a}.clear-search-icon{position:absolute;right:20px;color:var(--text-tertiary, #9aa0a6);cursor:pointer;transition:all .12s ease;flex-shrink:0;padding:2px;border-radius:4px}.clear-search-icon:hover{background:var(--bg-tertiary, #e8eaed);color:var(--text-secondary, #5f6368)}.category-file.search-match .file-name{color:var(--filename-search-match-color);font-weight:600;background:#fbbc0426;padding:2px 4px;margin:-2px -4px;border-radius:4px}.file-tree-searching .category-file:not(.search-match){opacity:.4}.category-file.starred .file-name{color:var(--filename-starred-color);font-weight:600}.file-context-menu{position:fixed;z-index:10000;background:var(--bg-primary, #ffffff);border:1px solid var(--border-light, #e8eaed);border-radius:8px;box-shadow:0 4px 12px #00000026;padding:4px 0;min-width:160px}.context-menu-item{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:13px;color:var(--text-primary, #202124);cursor:pointer;transition:background .12s ease;border:none;background:none;width:100%;text-align:left}.context-menu-divider{height:1px;background:var(--border-light, #e8eaed);margin:4px 0}.layout-toggle-overlay{position:fixed;inset:0;z-index:9999;background:transparent}.layout-toggle-menu{z-index:10000;min-width:200px;background:var(--bg-primary, #ffffff);border-radius:8px;box-shadow:0 4px 16px #0000001f;border:1px solid var(--border-secondary, #e8eaed);overflow:hidden;animation:menuFadeIn .12s ease-out}@keyframes menuFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.layout-menu-header{padding:8px 12px;font-size:11px;font-weight:600;color:var(--text-tertiary, #8a9099);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-secondary, #e8eaed)}.layout-menu-items{padding:4px;display:flex;flex-direction:column;gap:2px}.layout-menu-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:transparent;border:none;border-radius:6px;cursor:pointer;transition:background .12s ease;width:100%;text-align:left;font-size:13px;color:var(--text-primary, #1f2328)}.layout-menu-item:hover{background:var(--bg-secondary, #f6f7f9)}.layout-menu-item.active{color:var(--primary, #1a73e8)}.menu-item-left{display:flex;align-items:center;gap:10px}.menu-item-left svg{color:currentColor;flex-shrink:0}.menu-item-checkbox{width:16px;height:16px;border-radius:4px;border:1.5px solid var(--border-tertiary, #d1d5db);display:flex;align-items:center;justify-content:center;background:transparent;transition:all .12s ease}.layout-menu-item.active .menu-item-checkbox{background:var(--primary, #1a73e8);border-color:var(--primary, #1a73e8)}.menu-item-checkbox svg{color:#fff}@media(max-width:768px){.layout-toggle-menu{min-width:180px}.layout-menu-item{font-size:14px;padding:10px 12px}}.global-header{position:fixed;top:0;left:0;right:0;height:50px;z-index:1000;background:#fffffff2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-light)}.global-header-container{display:flex;align-items:center;justify-content:space-between;height:100%;padding:0 12px;max-width:100vw}.global-header-left{display:flex;align-items:center;gap:12px}.global-logo-container{display:flex;align-items:center;cursor:pointer;transition:opacity .12s ease}.global-logo-container:hover{opacity:.8}.global-logo{height:28px;-o-object-fit:contain;object-fit:contain}.breadcrumb-separator{font-size:18px;font-weight:300;color:var(--text-tertiary);-webkit-user-select:none;-moz-user-select:none;user-select:none;margin:0 8px}.project-selector-container{position:relative}.project-selector-btn{display:flex;align-items:center;gap:6px;padding:6px 8px;background:transparent;border:none;border-radius:6px;font-size:14px;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all .12s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.project-selector-btn:hover{background:var(--bg-secondary)}.project-name{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-selector-btn .chevron{transition:transform .12s ease}.project-selector-btn .chevron.open{transform:rotate(180deg)}.project-dropdown{position:absolute;top:calc(100% + 6px);left:0;min-width:220px;background:#fff;border:1px solid var(--border-light);border-radius:8px;box-shadow:0 4px 12px #00000014;z-index:1000;animation:dropdownSlideIn .15s ease}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.project-dropdown-section{padding:4px}.project-dropdown-label{padding:6px 10px 4px;font-size:10px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.project-dropdown-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:6px 10px;background:transparent;border:none;border-radius:4px;font-size:13px;color:var(--text-primary);cursor:pointer;transition:all .12s ease;text-align:left}.project-dropdown-item:hover{background:var(--bg-secondary)}.project-dropdown-item.active{color:var(--primary);font-weight:500}.project-dropdown-item.action{gap:8px;color:var(--text-secondary)}.project-dropdown-item.action:hover{color:var(--text-primary)}.project-dropdown-divider{height:1px;background:var(--border-light);margin:4px 0}.connect-btn.capsule{display:flex;align-items:center;gap:6px;padding:6px 14px;background:var(--primary);color:#fff;border:none;border-radius:18px;font-size:13px;font-weight:500;cursor:pointer;transition:all .12s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative}.connect-btn.capsule:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 2px 8px #1a73e840}.connect-btn.capsule:active{transform:translateY(0)}.connect-btn.capsule.outline{background:#fff;color:var(--text-secondary);border:1px solid var(--border-medium);padding:5px 13px}.connect-btn.capsule.outline:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-dark);transform:translateY(-1px);box-shadow:0 2px 8px #00000014}.connect-btn.capsule.outline:active{transform:translateY(0)}.connect-btn.capsule.uploading{background:linear-gradient(90deg,var(--primary) 0%,var(--primary-light) 100%);animation:uploadPulse 2s ease-in-out infinite}@keyframes uploadPulse{0%,to{box-shadow:0 2px 8px #1a73e826}50%{box-shadow:0 2px 12px #1a73e859}}.upload-progress-badge{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:18px;padding:0 6px;background:#ffffff40;border-radius:9px;font-size:11px;font-weight:600;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:all .12s ease}.header-divider{width:1px;height:20px;background:var(--border-light);margin:0 8px}.global-header-right{display:flex;align-items:center;gap:4px}.header-icon-btn{position:relative;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .12s ease;margin-right:-2px}.header-icon-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.header-icon-btn:active{transform:scale(.95)}.header-icon-btn.scratchpad-btn{color:var(--text-secondary)}.header-icon-btn.scratchpad-btn:hover{color:#f97316;background:#f9731614}.user-menu-container{position:relative;display:flex;align-items:center;z-index:1002;margin-left:2px}.health-btn .health-icon.healthy{color:#34a853}.health-btn .health-icon.warning{color:#fbbc04}.health-btn .health-icon.error{color:#ea4335}.health-btn:hover .health-icon{filter:brightness(1.1)}.health-badge{position:absolute;top:3px;right:3px;min-width:14px;height:14px;padding:0 3px;display:flex;align-items:center;justify-content:center;background:#ea4335;color:#fff;font-size:9px;font-weight:600;border-radius:7px;border:2px solid white;box-shadow:0 1px 3px #0003}.notification-badge{position:absolute;top:3px;right:3px;min-width:14px;height:14px;padding:0 3px;display:flex;align-items:center;justify-content:center;background:var(--primary);color:#fff;font-size:9px;font-weight:600;border-radius:7px;border:2px solid white;box-shadow:0 1px 3px #0003}.header-menu-btn{display:none;width:28px;height:28px;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .12s ease}.header-menu-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}@media(max-width:1024px){.global-header-container{padding:0 10px}.global-header-left{gap:6px}.project-name{max-width:120px}}@media(max-width:768px){.header-menu-btn{display:flex}.project-selector-container,.breadcrumb-separator,.connect-btn span{display:none}.connect-btn{padding:4px 8px}.header-icon-btn:nth-child(1),.header-icon-btn:nth-child(2){display:none}}.mobile-only{display:none}@media(max-width:768px){.mobile-only{display:flex}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.global-header{animation:slideDown .25s ease-out}.auth-btn{padding:6px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:all .2s ease;white-space:nowrap}.auth-btn.primary{background:var(--primary-color, #1a73e8);color:#fff}.auth-btn.primary:hover{background:var(--primary-hover, #1557b0);transform:translateY(-1px)}.auth-btn.secondary{background:#fff;color:var(--primary-color, #1a73e8);border:1px solid var(--border-color, #e8eaed)}.auth-btn.secondary:hover{background:var(--hover-bg, #f8f9fa)}.context-menu-overlay{position:fixed;inset:0;z-index:9998;background:transparent}.file-context-menu{position:fixed;z-index:9999;min-width:180px;background:var(--bg-primary, #ffffff);border:1px solid var(--border-light, #e8eaed);border-radius:var(--radius-sm, 8px);box-shadow:var(--shadow-lg, 0 4px 8px rgba(60, 64, 67, .15), 0 1px 3px rgba(60, 64, 67, .3));padding:var(--space-1, 4px);animation:contextMenuSlideIn .12s cubic-bezier(.4,0,.2,1)}@keyframes contextMenuSlideIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.context-menu-item{width:100%;display:flex;align-items:center;gap:var(--space-2, 8px);padding:var(--space-2, 8px) var(--space-3, 12px);border:none;background:transparent;border-radius:var(--radius-xs, 4px);font-size:var(--font-size-sm, 13px);color:var(--text-primary, #202124);text-align:left;cursor:pointer;transition:background .12s}.context-menu-item:hover{background:var(--bg-secondary, #f8f9fa)}.context-menu-item:active{background:var(--bg-tertiary, #e8eaed)}.context-menu-item svg{flex-shrink:0;color:var(--text-secondary, #5f6368)}.context-menu-item.primary-action{color:var(--primary, #1a73e8);font-weight:500}.context-menu-item.primary-action svg{color:var(--primary, #1a73e8)}.context-menu-divider{height:1px;margin:var(--space-1, 4px) 0;background:var(--border-light, #e8eaed)}.context-menu-item.danger:hover{background:#ea433514}.context-menu-item.danger svg{color:var(--danger, #ea4335)}.context-menu-item .starred-icon{color:var(--status-starred-color, #f59e0b);fill:var(--status-starred-color, #f59e0b)}.folder-context-menu{position:fixed;z-index:10000;min-width:160px;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026,0 0 0 1px #0000000d;padding:4px;animation:menuSlideIn .12s ease}@keyframes menuSlideIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.menu-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:6px;cursor:pointer;transition:background .12s ease;font-size:var(--font-size-sm, 13px);color:var(--text-primary, #202124);-webkit-user-select:none;-moz-user-select:none;user-select:none}.menu-item:hover{background:var(--bg-secondary, #f8f9fa)}.menu-item svg{flex-shrink:0;color:var(--text-tertiary, #80868b)}.menu-item.danger{color:var(--danger, #ea4335)}.menu-item.danger svg{color:var(--danger, #ea4335)}.menu-item.danger:hover{background:#ea433514}.menu-separator{height:1px;background:var(--border-light, #e8eaed);margin:4px 0}.skill-tree{display:flex;flex-direction:column;height:100%;background:#fff}.skill-tree-content{flex:1;overflow-y:auto;padding-top:10px}.skill-tree-header{display:flex;align-items:center;justify-content:center;gap:8px;padding:4px 12px;background:var(--bg-secondary);border-bottom:1px solid var(--border-light, #e8eaed)}.skill-tree-icon{color:var(--primary, #1a73e8)}.skill-tree-title{font-size:var(--font-size-sm, 13px);font-weight:600;color:var(--text-primary, #202124)}.skill-tree-content{flex:1;overflow-y:auto;padding:8px}.skill-category{margin-bottom:8px}.skill-category:last-child{margin-bottom:0}.skill-category-header{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;background:transparent;border:none;border-radius:6px;cursor:pointer;transition:all .12s ease}.skill-category-header:hover{background:var(--bg-secondary, #f8f9fa)}.category-name{flex:1;text-align:left;font-size:var(--font-size-sm, 13px);font-weight:600;color:var(--text-primary, #202124)}.category-count{font-size:var(--font-size-xs, 11px);color:var(--text-tertiary, #80868b);background:var(--bg-secondary, #f8f9fa);padding:2px 6px;border-radius:10px}.skill-category-content{padding:4px 0 0 32px;display:flex;flex-direction:column;gap:4px}.skill-list{display:flex;flex-direction:column;padding-left:20px}.skill-item{display:flex;align-items:center;gap:8px;width:100%;height:32px;padding:0 8px 0 12px;background:transparent;border:none;border-radius:6px;cursor:pointer;transition:all .12s ease;text-align:left;font-family:inherit}.skill-item:hover{background:var(--bg-secondary, #f8f9fa)}.skill-item-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--primary, #1a73e8)}.skill-item-name{flex:1;font-size:13px;color:var(--text-secondary, #5f6368);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:400}.skill-badge{flex-shrink:0;padding:2px 6px;font-size:10px;border-radius:4px;font-weight:500}.skill-badge-system{background:#1a73e81a;color:var(--primary, #1a73e8)}.skill-badge-example{background:#00acc11a;color:#00acc1}.skill-card{display:flex;flex-direction:column;gap:6px;padding:10px 12px;background:#fff;border:1px solid var(--border-light, #e8eaed);border-radius:6px;cursor:pointer;transition:all .12s ease;text-align:left}.skill-card:hover{background:var(--bg-secondary, #f8f9fa);border-color:var(--border-medium, #dadce0);transform:translateY(-1px);box-shadow:0 2px 6px #00000014}.skill-card:active{transform:translateY(0)}.skill-card-header{display:flex;align-items:center;gap:8px}.skill-card-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#1a73e81a;border-radius:4px;color:var(--primary, #1a73e8)}.skill-card-name{font-size:var(--font-size-sm, 13px);font-weight:600;color:var(--text-primary, #202124)}.skill-card-description{margin:0;font-size:var(--font-size-xs, 11px);line-height:1.5;color:var(--text-secondary, #5f6368)}.skill-tree-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.skill-tree-empty .empty-icon{color:var(--text-tertiary, #80868b);margin-bottom:16px}.skill-tree-empty .empty-title{margin:0 0 8px;font-size:var(--font-size-base, 14px);font-weight:600;color:var(--text-primary, #202124)}.skill-tree-empty .empty-desc{margin:0;font-size:var(--font-size-sm, 13px);color:var(--text-secondary, #5f6368)}.skill-tree-content::-webkit-scrollbar{width:6px}.skill-tree-content::-webkit-scrollbar-track{background:transparent}.skill-tree-content::-webkit-scrollbar-thumb{background:#0000001a;border-radius:3px}.skill-tree-content::-webkit-scrollbar-thumb:hover{background:#00000026}.create-skill-button{display:flex;align-items:center;justify-content:center;gap:4px;height:32px;padding:0 12px;background:transparent;color:var(--text-primary, #202124);border:none;border-radius:6px;font-size:var(--font-size-sm, 13px);font-weight:500;cursor:pointer;transition:all .12s cubic-bezier(.4,0,.2,1);font-family:inherit}.create-skill-button:hover{background:#1a73e814;color:var(--primary)}.create-skill-button:active{transform:translateY(0)}.import-skill-button-secondary{display:flex;align-items:center;justify-content:center;gap:4px;height:32px;padding:0 12px;background:transparent;color:var(--text-primary, #202124);border:none;border-radius:6px;font-size:var(--font-size-sm, 13px);font-weight:500;cursor:pointer;transition:all .12s cubic-bezier(.4,0,.2,1);font-family:inherit}.import-skill-button-secondary:hover{background:#1a73e814;color:var(--primary)}.import-skill-button{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;height:32px;padding:0 12px;background:var(--primary, #1a73e8);color:#fff;border:none;border-radius:8px;font-size:var(--font-size-sm, 13px);font-weight:500;cursor:pointer;transition:all .15s}.import-skill-button:hover{background:var(--primary-dark, #1557b0)}.skill-tree-loading,.skill-tree-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 16px;text-align:center}.loading-icon{color:var(--text-secondary, #5f6368);animation:spin 1s linear infinite}.loading-text{margin-top:16px;font-size:var(--font-size-sm, 13px);color:var(--text-secondary, #5f6368)}.error-title{font-size:var(--font-size-base, 14px);color:var(--text-primary, #202124);font-weight:500;margin-bottom:4px}.error-desc{font-size:var(--font-size-sm, 13px);color:var(--text-secondary, #5f6368);margin-bottom:16px}.error-retry{padding:8px 16px;background:var(--primary, #1a73e8);color:#fff;border:none;border-radius:8px;font-size:var(--font-size-sm, 13px);cursor:pointer;transition:all .15s}.error-retry:hover{background:var(--primary-dark, #1557b0)}.skill-badge{margin-left:auto;padding:2px 8px;background:#1a73e81a;color:var(--primary, #1a73e8);font-size:11px;border-radius:4px;font-weight:500}.skill-card-stats{display:flex;gap:12px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border-light, #e8eaed)}.stat-item{font-size:11px;color:var(--text-tertiary, #80868b)}.skill-folder{margin-bottom:2px}.skill-folder-header{display:flex;align-items:center;gap:8px;width:100%;height:32px;padding:0 8px 0 12px;background:transparent;border:none;border-radius:6px;cursor:pointer;transition:all .12s ease;text-align:left;font-family:inherit}.skill-folder-header:hover{background:var(--bg-secondary, #f8f9fa)}.skill-item-zap-icon{color:var(--primary, #1a73e8)}.category-icon{color:var(--text-tertiary, #80868b)}.skill-item-icon{color:var(--primary, #1a73e8)}.skill-file-item{display:flex;align-items:center;gap:8px;width:100%;height:28px;padding:0 8px;background:transparent;border:none;border-radius:4px;cursor:pointer;transition:all .12s ease;text-align:left;font-family:inherit;font-size:12px;color:var(--text-secondary, #5f6368)}.skill-file-item .file-icon{flex-shrink:0;color:var(--text-tertiary, #80868b)}.skill-file-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.skill-file-item:hover{background:var(--bg-secondary, #f8f9fa);color:var(--text-primary, #202124)}.skill-file-type-badge{flex-shrink:0;margin-left:auto;padding:1px 6px;font-size:10px;border-radius:3px;font-weight:500;transition:all .12s ease}.skill-file-type-skill{background:#1a73e81a;color:var(--primary, #1a73e8)}.skill-file-type-template{background:#9c27b01a;color:#9c27b0}.skill-file-type-example{background:#00acc11a;color:#00acc1}.skill-file-type-resource{background:#34a8531a;color:#34a853}.skill-file-type-script{background:#fbbc041a;color:#fbbc04}.skill-file-type-config{background:#5f63681a;color:#5f6368}.skill-badge-folder{margin-left:4px;background:#1a73e81a;color:var(--primary, #1a73e8);font-size:9px;padding:1px 4px;border-radius:3px;font-weight:600;text-transform:uppercase}.skill-badge-loading{margin-left:4px;background:#3b82f61a;color:#3b82f6;font-size:9px;padding:1px 4px;border-radius:3px;font-weight:600;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.skill-file-item:hover .file-icon{color:var(--text-secondary, #5f6368)}.skill-item.active{background:#1a73e814}.skill-item.active:hover{background:#1a73e81f}.skill-item.active .skill-item-name,.skill-item.active .file-icon{color:var(--primary, #1a73e8)}.skill-item.modified .skill-item-name{color:var(--filename-modified-color)}.skill-item.recommended .skill-item-name{color:var(--filename-recommended-color);animation:pulse-glow var(--pulse-animation-duration) ease-in-out infinite}.skill-item.referenced .skill-item-name{color:var(--filename-referenced-color)}.skill-item.ai-reading .skill-item-name{color:var(--filename-ai-reading-color);animation:pulse-glow 1.5s ease-in-out infinite}.skill-item.search-match .skill-item-name{color:var(--filename-search-match-color)}.skill-item.health-danger .skill-item-name{color:var(--filename-health-danger-color)}.skill-item.health-warning .skill-item-name{color:var(--filename-health-warning-color)}.skill-item.starred .skill-item-name{color:var(--filename-starred-color)}.skill-item.tot-linked .skill-item-name{color:var(--filename-tot-linked-color)}.skill-item.editing .skill-item-name{color:var(--filename-editing-color)}.context-menu{position:fixed;background:#fff;border:1px solid var(--border-light, #e8eaed);border-radius:8px;box-shadow:0 4px 16px #0000001f;padding:8px;min-width:180px;z-index:10000;animation:contextMenuFadeIn .12s cubic-bezier(.4,0,.2,1)}@keyframes contextMenuFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.context-menu-item{display:flex;align-items:center;gap:12px;width:100%;padding:8px 12px;background:transparent;border:none;border-radius:6px;font-size:14px;font-weight:400;color:var(--text-primary, #202124);cursor:pointer;transition:all .12s ease;text-align:left}.context-menu-item:hover:not(:disabled){background:var(--bg-secondary, #f8f9fa)}.context-menu-item:disabled{opacity:.5;cursor:not-allowed}.context-menu-item.danger{color:var(--danger, #ea4335)}.context-menu-item.danger:hover:not(:disabled){background:#ea433514}.context-menu-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-secondary, #5f6368)}.context-menu-item.danger .context-menu-icon{color:var(--danger, #ea4335)}.context-menu-label{flex:1}.import-skill-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .15s}.import-skill-dialog{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000001f;width:560px;max-width:90vw;max-height:80vh;overflow:hidden;animation:slideUp .2s cubic-bezier(.4,0,.2,1)}.import-section{margin-bottom:24px}.import-label{display:block;margin-bottom:12px;font-size:var(--font-size-sm, 13px);font-weight:500;color:var(--text-primary, #202124)}.upload-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:48px;border:2px dashed var(--border-medium, #dadce0);border-radius:8px;background:var(--bg-secondary, #f8f9fa);color:var(--text-primary, #202124);font-size:var(--font-size-base, 14px);font-weight:500;cursor:pointer;transition:all .15s}.upload-button:hover:not(:disabled){border-color:var(--primary, #1a73e8);background:#1a73e80d;color:var(--primary, #1a73e8)}.upload-button:disabled{opacity:.5;cursor:not-allowed}.import-divider{position:relative;text-align:center;margin:24px 0}.import-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--border-light, #e8eaed)}.import-divider span{position:relative;display:inline-block;padding:0 12px;background:#fff;font-size:var(--font-size-sm, 13px);color:var(--text-secondary, #5f6368)}.markdown-input{width:100%;padding:12px;border:1px solid var(--border-medium, #dadce0);border-radius:8px;font-size:var(--font-size-sm, 13px);font-family:SF Mono,Monaco,Courier New,monospace;color:var(--text-primary, #202124);background:#fff;resize:vertical;transition:all .15s}.markdown-input:focus{outline:none;border-color:var(--primary, #1a73e8);box-shadow:0 0 0 2px #1a73e81a}.markdown-input:disabled{background:var(--bg-secondary, #f8f9fa);cursor:not-allowed}.import-success{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.success-icon{color:var(--accent, #34a853);margin-bottom:16px}.import-success h4{margin:0 0 8px;font-size:var(--font-size-lg, 18px);font-weight:600;color:var(--text-primary, #202124)}.import-success p{margin:0;font-size:var(--font-size-base, 14px);color:var(--text-secondary, #5f6368)}.import-error{padding:12px;background:#ea43351a;border-radius:8px;font-size:var(--font-size-sm, 13px);color:var(--danger, #ea4335);margin-bottom:16px}.create-skill-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .15s ease-out}.create-skill-modal{background:var(--bg-primary, #ffffff);border-radius:12px;box-shadow:0 8px 24px #0003;width:90%;max-width:520px;max-height:80vh;overflow:hidden;animation:scaleIn .2s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;align-items:center}.create-skill-modal .modal-header{display:flex;align-items:center;gap:12px;padding:24px 24px 16px;border-bottom:1px solid var(--border-light, #e8eaed)}.create-skill-modal .modal-header h3{flex:1;margin:0;font-size:18px;font-weight:600;color:var(--text-primary, #202124);letter-spacing:-.01em}.create-skill-modal .close-button{width:32px;height:32px;border-radius:8px;background:transparent;border:none;color:var(--text-secondary, #5f6368);cursor:pointer;transition:all .12s ease;display:flex;align-items:center;justify-content:center}.create-skill-modal .close-button:hover{background:var(--bg-secondary, #f8f9fa);color:var(--text-primary, #202124)}.create-skill-modal .modal-content{flex:1;overflow-y:auto;padding:24px;width:100%;max-width:500px}.create-skill-modal .form-group{margin-bottom:24px}.create-skill-modal .form-group:last-child{margin-bottom:0}.create-skill-modal .form-group label{display:block;margin-bottom:8px;font-size:13px;font-weight:500;color:var(--text-primary, #202124)}.create-skill-modal .form-group .required{color:var(--danger, #ea4335);margin-left:2px}.create-skill-modal .form-group input[type=text],.create-skill-modal .form-group textarea{width:100%;padding:10px 12px;border:1.5px solid var(--border-light, #e8eaed);border-radius:8px;font-size:14px;color:var(--text-primary, #202124);font-family:inherit;transition:all .12s ease;box-sizing:border-box}.create-skill-modal .form-group input[type=text]:focus,.create-skill-modal .form-group textarea:focus{outline:none;border-color:var(--primary, #1a73e8);box-shadow:0 0 0 3px #1a73e81f}.create-skill-modal .form-group textarea{resize:vertical;min-height:80px;line-height:1.5}.create-skill-modal .category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.create-skill-modal .category-option{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--bg-secondary, #f8f9fa);border:2px solid transparent;border-radius:8px;font-size:13px;font-weight:500;color:var(--text-primary, #202124);cursor:pointer;transition:all .12s ease;font-family:inherit}.create-skill-modal .category-option:hover{background:var(--bg-tertiary, #e8eaed)}.create-skill-modal .category-option.selected{background:#1a73e814;border-color:var(--primary, #1a73e8)}.create-skill-modal .modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid var(--border-light, #e8eaed);background:var(--bg-secondary, #f8f9fa)}.create-skill-modal .modal-footer button{min-width:100px;height:40px;padding:0 20px;border-radius:8px;border:none;font-size:14px;font-weight:500;cursor:pointer;transition:all .12s ease;display:flex;align-items:center;justify-content:center;font-family:inherit}.create-skill-modal .btn-cancel{background:#fff;color:var(--text-primary, #202124);border:1px solid var(--border-medium, #dadce0)}.create-skill-modal .btn-cancel:hover{background:var(--bg-secondary, #f8f9fa);border-color:var(--border-dark, #bdc1c6)}.create-skill-modal .btn-confirm{background:var(--primary, #1a73e8);color:#fff;box-shadow:0 1px 3px #1a73e84d}.create-skill-modal .btn-confirm:hover{background:#1557b0;box-shadow:0 2px 6px #1a73e866;transform:translateY(-1px)}.create-skill-modal .btn-confirm:active{transform:translateY(0)}.create-skill-modal .btn-confirm:disabled{background:var(--bg-tertiary, #e8eaed);color:var(--text-disabled, #bdc1c6);cursor:not-allowed;box-shadow:none;transform:none}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:#fff;border-radius:12px;box-shadow:0 8px 24px #00000026;width:90%;max-width:480px;height:50vh;max-height:400px;min-height:300px;display:flex;flex-direction:column;overflow:hidden;animation:modalFadeIn .2s ease}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-light, #e8eaed)}.modal-title{display:flex;align-items:center;gap:12px;font-size:var(--font-size-lg, 18px);font-weight:600;color:var(--text-primary, #202124)}.modal-close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:none;color:var(--text-secondary, #5f6368);border-radius:6px;cursor:pointer;transition:all .12s ease}.modal-close-btn:hover{background:var(--bg-secondary, #f8f9fa);color:var(--text-primary, #202124)}.modal-body{padding:24px}.form-label{display:block;font-size:var(--font-size-sm, 13px);font-weight:600;color:var(--text-primary, #202124);margin-bottom:8px}.form-input{width:100%;height:48px;padding:0 16px;border:1px solid var(--border-light, #e8eaed);border-radius:8px;font-size:var(--font-size-base, 14px);color:var(--text-primary, #202124);background:#fff;transition:all .12s ease}.form-input.error{border-color:var(--danger, #ea4335)}.form-input::-moz-placeholder{color:var(--text-tertiary, #80868b)}.form-input::placeholder{color:var(--text-tertiary, #80868b)}.form-error{margin-top:8px;font-size:var(--font-size-sm, 13px);color:var(--danger, #ea4335)}.modal-footer{display:flex;gap:12px;justify-content:flex-end}.btn-secondary,.btn-primary{height:40px;padding:0 20px;border:none;border-radius:8px;font-size:var(--font-size-sm, 13px);font-weight:600;cursor:pointer;transition:all .12s ease}.btn-secondary{background:var(--bg-secondary, #f8f9fa);color:var(--text-secondary, #5f6368)}.btn-secondary:hover{background:var(--bg-tertiary, #e8eaed);color:var(--text-primary, #202124)}.btn-primary:hover{background:var(--primary-dark, #1557b0)}.folder-select-wrapper{position:relative}.form-select{width:100%;height:48px;padding:0 40px 0 16px;border:1px solid var(--border-light, #e8eaed);border-radius:8px;font-size:var(--font-size-base, 14px);color:var(--text-primary, #202124);background:#fff;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:all .12s ease}.form-select:hover{border-color:var(--border-medium, #dadce0);background:var(--bg-secondary, #f8f9fa)}.form-select:focus{outline:none;border-color:var(--primary, #1a73e8);box-shadow:0 0 0 3px #1a73e81a;background:#fff}.form-select:disabled{opacity:.5;cursor:not-allowed}.select-icon{position:absolute;right:16px;top:50%;transform:translateY(-50%);color:var(--text-secondary, #5f6368);pointer-events:none}.form-hint{margin-top:8px;font-size:var(--font-size-xs, 12px);color:var(--text-tertiary, #80868b)}.new-folder-modal{width:440px!important;max-width:90vw;padding:0}.new-folder-modal.modal-content{width:440px!important;max-width:90vw!important;height:auto!important;min-height:auto!important;max-height:90vh}.new-folder-modal .modal-header{padding:20px 20px 0}.new-folder-modal .modal-body{padding:20px}.parent-folder-hint{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--bg-secondary, #f8f9fa);border-radius:6px;font-size:var(--font-size-sm, 13px);color:var(--text-secondary, #5f6368);margin-bottom:16px}.parent-folder-hint svg{color:var(--primary, #1a73e8);flex-shrink:0}.parent-folder-hint strong{color:var(--text-primary, #202124);font-weight:600}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:var(--font-size-sm, 13px);font-weight:600;color:var(--text-primary, #202124)}.form-input{width:100%;height:36px;padding:0 12px;border:1px solid var(--border-medium, #dadce0);border-radius:6px;font-size:var(--font-size-base, 14px);color:var(--text-primary, #202124);background:#fff;transition:all .15s cubic-bezier(.4,0,.2,1)}.form-input:focus{outline:none;border-color:var(--primary, #1a73e8);box-shadow:0 0 0 3px #1a73e81a}.form-input:disabled{background:var(--bg-secondary, #f8f9fa);cursor:not-allowed;opacity:.6}.form-input::-moz-placeholder{color:var(--text-tertiary, #80868b);font-size:var(--font-size-sm, 13px)}.form-input::placeholder{color:var(--text-tertiary, #80868b);font-size:var(--font-size-sm, 13px)}.error-message{padding:10px 12px;background:#ea433514;border-left:3px solid var(--danger, #ea4335);border-radius:4px;font-size:var(--font-size-sm, 13px);color:var(--danger, #ea4335);margin-top:12px}.modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border-light, #e8eaed)}.btn-secondary,.btn-primary{height:32px;padding:0 16px;border:none;border-radius:6px;font-size:var(--font-size-sm, 13px);font-weight:500;cursor:pointer;transition:all .15s cubic-bezier(.4,0,.2,1)}.btn-primary:hover:not(:disabled){background:var(--primary-dark, #1557b0);box-shadow:0 2px 8px #1a73e84d}.folder-tree{display:flex;flex-direction:column;gap:0;padding-left:8px}.root-folder-node{position:relative;margin-bottom:2px;padding:0}.root-folder-header{display:flex;align-items:center;gap:8px;height:32px;padding:0 8px 0 4px;border-radius:6px;cursor:pointer;transition:background .12s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.root-folder-header:hover{background:var(--bg-secondary, #f8f9fa)}.root-folder-node.selected .root-folder-header{background:#1a73e81a}.root-folder-node.selected .root-folder-icon{color:var(--primary, #1a73e8)}.root-folder-node.selected .root-folder-name{color:var(--primary, #1a73e8);font-weight:600}.root-folder-node.drag-over .root-folder-header{background:#1a73e81f}.root-folder-icon{color:var(--text-tertiary, #80868b);flex-shrink:0}.root-folder-name{flex:1;font-size:var(--font-size-sm, 13px);color:var(--text-secondary, #5f6368);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-tree-item{display:flex;flex-direction:column;position:relative}.folder-tree-item:before{content:"";position:absolute;left:11px;top:16px;bottom:0;width:1px;background:var(--border-color, #e8eaed);opacity:0;transition:opacity .15s ease;pointer-events:none}.folder-tree-item:hover:before{opacity:.6}.folder-tree-item:last-child:before{bottom:50%}.folder-row{display:flex;align-items:center;gap:8px;height:32px;padding:0 8px;position:relative;border-radius:6px;cursor:pointer;transition:background .12s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.folder-row:hover{background:var(--bg-secondary, #f8f9fa)}.folder-row.selected{background:#1a73e814}.folder-row.selected:hover{background:#1a73e81f}.folder-icon{color:var(--text-tertiary, #80868b);flex-shrink:0;margin-left:4px}.folder-row.selected .folder-icon{color:var(--primary, #1a73e8)}.folder-name{flex:1;font-size:var(--font-size-sm, 13px);color:var(--text-secondary, #5f6368);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-row.selected .folder-name{color:var(--primary, #1a73e8)}.file-count{font-size:var(--font-size-xs, 11px);color:var(--text-tertiary, #80868b);padding:2px 6px;background:#0000000a;border-radius:4px;flex-shrink:0;margin-left:4px}.folder-row.selected .file-count{background:#1a73e81a;color:var(--primary, #1a73e8)}.folder-row.dragging{opacity:.4}.folder-row.drag-over{background:#1a73e814!important;border-left:3px solid var(--primary, #1a73e8)}.folder-tree-item.drop-before:before,.folder-row.drop-before:before,.file-row.drop-before:before{content:"";position:absolute;left:0;right:0;top:-1px;height:2px;background:var(--primary, #1a73e8);z-index:10;box-shadow:0 0 4px #1a73e880;pointer-events:none}.folder-tree-item.drop-after:after,.folder-row.drop-after:after,.file-row.drop-after:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--primary, #1a73e8);z-index:10;box-shadow:0 0 4px #1a73e880;pointer-events:none}.folder-tree-item,.file-row{position:relative}.file-row{display:flex;align-items:center;gap:8px;height:32px;padding:0 8px;border-radius:6px;cursor:pointer;transition:background .12s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.file-row:hover{background:var(--bg-secondary, #f8f9fa)}.file-icon-wrapper{display:flex;align-items:center;justify-content:center;flex-shrink:0}.file-icon{flex-shrink:0;color:var(--text-tertiary, #80868b)}.file-icon-spreadsheet{color:#10b981!important}.file-name{flex:1;font-size:var(--font-size-sm, 13px);color:var(--text-secondary, #5f6368);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .12s cubic-bezier(.4,0,.2,1);min-width:0;font-weight:400}.file-rename-input{flex:1;font-size:var(--font-size-sm, 13px);color:var(--text-primary, #202124);background:var(--bg-primary, #ffffff);border:1px solid var(--primary-color, #1a73e8);border-radius:4px;padding:2px 6px;outline:none;min-width:0;font-weight:400;box-shadow:0 0 0 2px #1a73e81a}.file-rename-input:focus{box-shadow:0 0 0 2px #1a73e833}.file-row.active{background:transparent;padding:0 8px;gap:8px}.file-row.active:hover{background:var(--bg-secondary, #f8f9fa)}.file-row.active .file-name,.file-row.active .file-icon{color:#f97316}.file-row.selected{background:#1a73e81a;padding:0 8px;gap:8px}.file-row.selected:hover{background:#1a73e824}.file-row.active.selected{background:#1a73e81a}.file-row.active.selected .file-name{color:#f97316}.file-row.recommended .file-name{color:var(--primary, #1a73e8);animation:textPulse 2s ease-in-out infinite}.file-row.referenced .file-name{color:#8b5cf6}.file-row.ai-reading .file-name{color:#8b5cf6;animation:textPulse 1.5s ease-in-out infinite}.file-row.search-match .file-name{color:#f59e0b}.file-row.health-danger .file-name{color:#ef4444}.file-row.health-warning .file-name,.file-row.starred .file-name{color:#f59e0b}.file-row.tot-linked .file-name{color:#f97316}.file-row.editing .file-name{color:#10b981}@keyframes textPulse{0%,to{opacity:1}50%{opacity:.7}}.folder-content{display:flex;flex-direction:column}.empty-folder-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.empty-folder-state svg{color:var(--text-tertiary, #80868b);margin-bottom:12px}.empty-folder-state p{margin:0;font-size:var(--font-size-sm, 13px);color:var(--text-secondary, #5f6368)}.empty-folder-state p.hint{margin-top:4px;font-size:var(--font-size-xs, 11px);color:var(--text-tertiary, #80868b)}.file-status-indicators{display:flex;align-items:center;gap:4px;margin-left:auto;flex-shrink:0}.file-modified-dot,.file-editing-dot{color:var(--status-modified-color);font-size:var(--modified-dot-size);line-height:1;opacity:var(--modified-dot-opacity, .9)}.star-icon{flex-shrink:0;color:var(--text-tertiary, #9aa0a6);cursor:pointer;transition:all .12s ease}.star-icon:hover{color:var(--status-starred-color);transform:scale(1.1)}.star-icon.starred{color:var(--status-starred-color);fill:var(--status-starred-color)}.file-row.starred .file-name{color:var(--filename-starred-color);font-weight:600}.file-row.creating{background:#1a73e80d;border:1px solid var(--primary, #1a73e8);border-radius:6px;padding:4px 8px;transition:all .12s cubic-bezier(.4,0,.2,1)}.file-row.creating:focus-within{background:#1a73e814;box-shadow:0 0 0 2px #1a73e826}.file-row.creating input.new-file-input{flex:1;border:none;background:transparent;outline:none;font-size:13px;color:var(--text-primary, #202124);font-family:var(--font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif);padding:0;height:28px;min-width:0;font-weight:400}.file-row.creating input.new-file-input::-moz-placeholder{font-size:11px;color:var(--text-tertiary, #80868b);opacity:.8}.file-row.creating input.new-file-input::placeholder{font-size:11px;color:var(--text-tertiary, #80868b);opacity:.8}.health-detail-modal-overlay{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s}.health-detail-modal{background:#fff;border-radius:12px;width:90%;max-width:600px;height:70vh;max-height:700px;min-height:500px;display:flex;flex-direction:column;overflow-y:auto;box-shadow:0 8px 32px #0000001f;animation:slideUp .25s cubic-bezier(.4,0,.2,1)}.health-detail-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid rgba(0,0,0,.08)}.health-detail-title h3{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 4px}.health-detail-filename{font-size:13px;color:var(--text-secondary)}.health-detail-close{background:transparent;border:none;padding:6px;cursor:pointer;color:var(--text-secondary);border-radius:6px;transition:all .15s}.health-detail-close:hover{background:#0000000f;color:var(--text-primary)}.health-detail-summary{display:flex;align-items:center;justify-content:space-between;padding:24px;background:#1a73e80a}.health-detail-score-circle{text-align:center}.health-detail-score-number{font-size:48px;font-weight:700;color:var(--primary);line-height:1}.health-detail-score-label{font-size:13px;color:var(--text-secondary);margin-top:8px}.health-detail-status-badge{padding:6px 12px;border-radius:6px;font-size:14px;font-weight:500}.health-detail-dimensions{padding:24px}.health-detail-dimensions h4{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 16px}.health-dimension{margin-bottom:16px}.health-dimension:last-child{margin-bottom:0}.health-dimension-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.health-dimension-label{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-primary)}.health-dimension-weight{font-size:11px;color:var(--text-secondary)}.health-dimension-score{font-size:14px;font-weight:600;color:var(--primary)}.health-dimension-bar{height:8px;background:#0000000f;border-radius:4px;overflow:hidden}.health-dimension-bar-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--primary-light));border-radius:4px;transition:width .3s cubic-bezier(.4,0,.2,1)}.health-detail-timeline{padding:16px 24px;background:#00000005;border-top:1px solid rgba(0,0,0,.08)}.health-detail-timeline-item{display:flex;justify-content:space-between;font-size:13px;margin-bottom:8px}.health-detail-timeline-item:last-child{margin-bottom:0}.health-detail-timeline-label{color:var(--text-secondary)}.health-detail-timeline-value{color:var(--text-primary);font-weight:500}.health-detail-advice{padding:16px 24px;background:#fbbc0414;border-top:1px solid rgba(251,188,4,.2)}.health-detail-advice h4{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.health-detail-advice p{font-size:13px;color:var(--text-secondary);line-height:1.5;margin:0}.outline-panel{display:flex;flex-direction:column;background:var(--bg-primary, #ffffff);overflow:hidden;flex-shrink:0;transition:height .12s ease;position:relative}.outline-panel.dragging{transition:none!important}.outline-panel.collapsed{height:37px!important}.outline-resize-area{position:absolute;top:0;left:0;right:0;height:8px;cursor:row-resize;z-index:100;display:flex;align-items:center;background:transparent}.outline-resize-area:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--border-light, #e8eaed);transition:all .12s cubic-bezier(.4,0,.2,1)}.outline-resize-area:hover:before{background:var(--primary, #1a73e8);height:2px}.outline-panel.dragging .outline-resize-area:before{background:var(--primary, #1a73e8);height:2px}.outline-header{display:flex;align-items:center;gap:6px;height:36px;padding:0 12px;background:var(--bg-secondary, #f8f9fa);border-bottom:1px solid var(--border-light, #e8eaed);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .12s ease}.outline-header:hover{background:var(--bg-tertiary, #e8eaed)}.outline-toggle{flex-shrink:0;color:var(--text-secondary, #5f6368);transition:transform .12s ease}.outline-toggle.expanded{transform:rotate(90deg)}.outline-title{flex:1;font-size:12px;font-weight:500;color:var(--text-secondary, #5f6368);letter-spacing:-.01em}.outline-count{font-size:11px;color:var(--text-tertiary, #80868b);font-weight:400}.outline-content{flex:1;overflow-y:auto;overflow-x:hidden}.outline-list{padding:4px 0}.outline-item{display:flex;align-items:center;gap:8px;height:28px;padding-right:12px;cursor:pointer;transition:all .12s ease;border-radius:0}.outline-item:hover{background:var(--bg-secondary, #f8f9fa)}.outline-item:active{background:var(--bg-tertiary, #e8eaed)}.outline-item-dot{flex-shrink:0;width:4px;height:4px;border-radius:50%;background:var(--primary, #1a73e8);opacity:.4;transition:all .12s ease}.outline-item:hover .outline-item-dot{opacity:.8;transform:scale(1.1)}.outline-item-text{flex:1;font-size:12px;font-weight:400;color:var(--text-secondary, #5f6368);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4;transition:color .12s ease}.outline-item:hover .outline-item-text{color:var(--text-primary, #202124)}.outline-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;height:100%;min-height:120px;padding:24px;text-align:center}.outline-empty p{margin:0;font-size:13px;color:var(--text-tertiary, #80868b);line-height:1.5}.outline-content{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.2) transparent}.outline-content::-webkit-scrollbar{width:6px}.outline-content::-webkit-scrollbar-track{background:transparent}.outline-content::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}.outline-content::-webkit-scrollbar-thumb:hover{background:#00000040}.outline-content::-webkit-scrollbar-thumb:active{background:#00000059}.timeline-panel{display:flex;flex-direction:column;background:var(--bg-primary, #ffffff);overflow:hidden;flex-shrink:0;transition:height .12s ease;position:relative}.timeline-panel.dragging{transition:none!important}.timeline-panel.collapsed{height:37px!important}.timeline-resize-area{position:absolute;top:0;left:0;right:0;height:8px;cursor:row-resize;z-index:100;display:flex;align-items:center;background:transparent}.timeline-resize-area:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--border-light, #e8eaed);transition:all .12s cubic-bezier(.4,0,.2,1)}.timeline-resize-area:hover:before{background:var(--primary, #1a73e8);height:2px}.timeline-panel.dragging .timeline-resize-area:before{background:var(--primary, #1a73e8);height:2px}.timeline-header{display:flex;align-items:center;gap:6px;height:36px;padding:0 12px;background:var(--bg-secondary, #f8f9fa);border-bottom:1px solid var(--border-light, #e8eaed);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .12s ease}.timeline-header:hover{background:var(--bg-tertiary, #e8eaed)}.timeline-toggle{flex-shrink:0;color:var(--text-secondary, #5f6368);transition:transform .12s ease}.timeline-toggle.expanded{transform:rotate(90deg)}.timeline-title{flex:1;font-size:13px;font-weight:600;color:var(--text-primary, #202124);letter-spacing:-.01em}.timeline-count{font-size:12px;color:var(--text-tertiary, #80868b);font-weight:500}.timeline-content{flex:1;overflow-y:auto;overflow-x:hidden}.timeline-list{padding:0 8px}.timeline-item{display:flex;gap:12px;padding:8px 0;position:relative}.timeline-item:not(:last-child):after{content:"";position:absolute;left:7px;top:24px;bottom:-8px;width:1px;background:var(--border-light, #e8eaed)}.timeline-item-dot{flex-shrink:0;width:8px;height:8px;border-radius:50%;background:var(--primary, #1a73e8);margin-top:6px;z-index:1}.timeline-item-content{flex:1;display:flex;flex-direction:column;gap:4px}.timeline-item-header{display:flex;align-items:center;gap:6px}.timeline-item-icon{font-size:12px;flex-shrink:0}.timeline-item-time{font-size:11px;color:var(--text-tertiary, #80868b);font-weight:500;letter-spacing:.02em}.timeline-item-ai-badge{background:#f973161a;color:#f97316;font-size:9px;font-weight:700;padding:0 4px;border-radius:4px;border:1px solid rgba(249,115,22,.2);line-height:1.2}.timeline-item-summary{font-size:13px;color:var(--text-primary, #202124);line-height:1.5}.timeline-item-diff{margin-top:6px;background:var(--bg-secondary, #f8f9fa);border-radius:6px;padding:4px 0;border:1px solid var(--border-light, #e8eaed);overflow:hidden;font-family:var(--font-mono, monospace);font-size:11px}.diff-line{display:flex;padding:1px 8px;line-height:1.4;white-space:pre-wrap;word-break:break-all}.diff-line-meta{color:var(--text-tertiary, #80868b);font-style:italic;background-color:#00000005}.diff-line-prefix{width:12px;display:inline-block;flex-shrink:0;font-weight:700;opacity:.6}.timeline-item-hash{margin-top:4px;display:flex;align-items:center;gap:4px;font-family:var(--font-mono, monospace);font-size:10px;color:var(--text-tertiary, #80868b);opacity:.7}.hash-label{font-weight:700;color:var(--text-disabled, #bdc1c6)}.hash-value{background:var(--bg-secondary, #f8f9fa);padding:0 4px;border-radius:2px}.timeline-item-health{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;width:-moz-fit-content;width:fit-content}.timeline-item-health.positive{background:#34a8531a;color:var(--accent, #34a853)}.timeline-item-health.negative{background:#ea43351a;color:var(--danger, #ea4335)}.timeline-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;height:100%;min-height:120px;padding:24px;text-align:center}.timeline-empty p{margin:0;font-size:13px;color:var(--text-tertiary, #80868b);line-height:1.5}.timeline-content{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.2) transparent}.timeline-content::-webkit-scrollbar{width:6px}.timeline-content::-webkit-scrollbar-track{background:transparent}.timeline-content::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}.timeline-content::-webkit-scrollbar-thumb:hover{background:#00000040}.timeline-content::-webkit-scrollbar-thumb:active{background:#00000059}.datasource-item{margin-bottom:8px;background:var(--color-bg-secondary, #f9fafb);border-radius:8px;overflow:hidden}.datasource-item--expanded{background:var(--color-bg-tertiary, #f3f4f6)}.datasource-item__clickable{cursor:pointer;transition:background .2s}.datasource-item__clickable:hover{background:var(--color-bg-hover, #e5e7eb)}.datasource-item__header{display:flex;align-items:center;gap:8px;padding:10px 12px 8px}.datasource-item__expand-icon{font-size:10px;color:var(--color-text-secondary, #6b7280);transition:transform .2s;flex-shrink:0}.datasource-item__title{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.datasource-item__icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.datasource-item__name{font-size:13px;font-weight:500;color:var(--color-text-primary, #1f2937);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}.datasource-item__user-row{display:flex;align-items:center;gap:4px;padding:0 12px 8px 28px;font-size:11px;color:var(--color-text-secondary, #6b7280)}.datasource-item__user-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.datasource-item__status{font-size:11px;white-space:nowrap}.datasource-item__actions{display:flex;gap:4px;margin-left:8px;flex-shrink:0}.datasource-item__action-btn{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;background:transparent;border:1px solid var(--color-border, #e5e7eb);border-radius:4px;cursor:pointer;transition:all .2s;color:var(--color-text-secondary, #6b7280)}.datasource-item__action-btn:hover{background:var(--color-bg-hover, #e5e7eb);color:var(--color-text-primary, #1f2937);border-color:var(--color-text-secondary, #9ca3af)}.datasource-item__resources{padding:0 12px 12px}.datasource-item__loading,.datasource-item__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px 16px;font-size:12px;color:var(--color-text-secondary, #6b7280)}.loading-spinner--small{width:14px;height:14px;border-width:2px}.datasource-item__resource{display:flex;align-items:center;gap:8px;padding:8px 10px;margin-top:4px;background:var(--color-bg-primary, white);border-radius:6px;cursor:pointer;transition:all .2s}.datasource-item__resource:hover{background:var(--color-primary-light, #eff6ff)}.datasource-item__resource-icon{width:16px;height:16px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.datasource-item__resource-icon.sc-file-icon{font-size:0}.datasource-item__resource-name{flex:1;font-size:12px;color:var(--color-text-primary, #1f2937);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.add-datasource-modal__overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#00000080;z-index:1000;animation:fadeIn .2s ease}.add-datasource-modal{width:400px;max-width:90vw;background:var(--color-bg-primary, white);border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;animation:slideUp .3s ease}.add-datasource-modal__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-border, #e5e7eb)}.add-datasource-modal__header h3{margin:0;font-size:16px;font-weight:600;color:var(--color-text-primary, #1f2937)}.add-datasource-modal__close{width:28px;height:28px;font-size:18px;color:var(--color-text-secondary, #6b7280);background:transparent;border:none;border-radius:6px;cursor:pointer;transition:all .2s}.add-datasource-modal__close:hover{color:var(--color-text-primary, #1f2937);background:var(--color-bg-hover, #f3f4f6)}.add-datasource-modal__content{padding:20px}.add-datasource-modal__desc{margin:0 0 16px;font-size:13px;color:var(--color-text-secondary, #6b7280)}.add-datasource-modal__list{display:flex;flex-direction:column;gap:8px}.add-datasource-modal__item{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--color-bg-secondary, #f9fafb);border:1px solid var(--color-border, #e5e7eb);border-radius:8px;cursor:pointer;transition:all .2s}.add-datasource-modal__item:hover{background:var(--color-primary-light, #eff6ff);border-color:var(--color-primary, #3b82f6)}.add-datasource-modal__item-icon{font-size:24px}.add-datasource-modal__item-name{flex:1;font-size:14px;font-weight:500;color:var(--color-text-primary, #1f2937);text-align:left}.add-datasource-modal__item-arrow{font-size:14px;color:var(--color-text-secondary, #6b7280)}.add-datasource-modal__empty{padding:24px;font-size:13px;color:var(--color-text-secondary, #6b7280);text-align:center}.add-datasource-modal__footer{padding:12px 20px 16px}.add-datasource-modal__note{margin:0;font-size:12px;color:var(--color-text-secondary, #6b7280);text-align:center}.sheet-preview__overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#0009;z-index:1001;animation:fadeIn .2s ease}.sheet-preview{display:flex;flex-direction:column;width:90vw;max-width:1000px;height:80vh;max-height:700px;background:var(--color-bg-primary, white);border-radius:12px;box-shadow:0 25px 50px -12px #00000040;animation:slideUp .3s ease;overflow:hidden}.sheet-preview__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-border, #e5e7eb)}.sheet-preview__title{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:var(--color-text-primary, #1f2937)}.sheet-preview__icon{width:20px;height:20px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.sheet-preview__icon.sc-file-icon{font-size:0}.sheet-preview__close{width:32px;height:32px;font-size:20px;color:var(--color-text-secondary, #6b7280);background:transparent;border:none;border-radius:6px;cursor:pointer;transition:all .2s}.sheet-preview__close:hover{color:var(--color-text-primary, #1f2937);background:var(--color-bg-hover, #f3f4f6)}.sheet-preview__tabs{display:flex;gap:4px;padding:8px 20px;background:var(--color-bg-secondary, #f9fafb);border-bottom:1px solid var(--color-border, #e5e7eb);overflow-x:auto}.sheet-preview__tab{padding:6px 12px;font-size:12px;color:var(--color-text-secondary, #6b7280);background:transparent;border:1px solid transparent;border-radius:4px;cursor:pointer;white-space:nowrap;transition:all .2s}.sheet-preview__tab:hover{color:var(--color-text-primary, #1f2937);background:var(--color-bg-hover, #e5e7eb)}.sheet-preview__tab--active{color:var(--color-primary, #3b82f6);background:#fff;border-color:var(--color-border, #e5e7eb)}.sheet-preview__content{flex:1;display:flex;flex-direction:column;overflow:hidden}.sheet-preview__loading,.sheet-preview__error,.sheet-preview__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;flex:1;font-size:14px;color:var(--color-text-secondary, #6b7280)}.sheet-preview__error{color:var(--color-error, #ef4444)}.sheet-preview__error button{padding:6px 16px;font-size:13px;color:var(--color-primary, #3b82f6);background:transparent;border:1px solid var(--color-primary, #3b82f6);border-radius:4px;cursor:pointer}.sheet-preview__meta{display:flex;align-items:center;gap:8px;padding:8px 20px;font-size:12px;color:var(--color-text-secondary, #6b7280);background:var(--color-bg-secondary, #f9fafb)}.sheet-preview__meta-note{color:var(--color-warning, #f59e0b)}.sheet-preview__table-wrapper{flex:1;overflow:auto;padding:0 20px 20px}.sheet-preview__table{width:100%;border-collapse:collapse;font-size:13px}.sheet-preview__table th,.sheet-preview__table td{padding:8px 12px;text-align:left;border:1px solid var(--color-border, #e5e7eb);white-space:nowrap;max-width:300px;overflow:hidden;text-overflow:ellipsis}.sheet-preview__table th{font-weight:600;color:var(--color-text-primary, #1f2937);background:var(--color-bg-secondary, #f9fafb);position:sticky;top:0;z-index:1}.sheet-preview__table td{color:var(--color-text-primary, #374151)}.sheet-preview__table tr:hover td{background:var(--color-bg-hover, #f3f4f6)}.sheet-preview__row-num{width:40px;text-align:center!important;color:var(--color-text-secondary, #9ca3af)!important;background:var(--color-bg-tertiary, #f3f4f6)!important}.sheet-preview__footer{padding:12px 20px;border-top:1px solid var(--color-border, #e5e7eb);background:var(--color-bg-secondary, #f9fafb)}.sheet-preview__tip{font-size:12px;color:var(--color-text-secondary, #6b7280)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.datasource-panel{display:flex;flex-direction:column;height:100%;padding:12px;overflow:hidden}.datasource-panel__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--color-border, #e5e7eb)}.datasource-panel__title{margin:0;font-size:14px;font-weight:600;color:var(--color-text-primary, #1f2937)}.datasource-panel__add-btn{padding:4px 12px;font-size:12px;color:var(--color-primary, #3b82f6);background:transparent;border:1px solid var(--color-primary, #3b82f6);border-radius:4px;cursor:pointer;transition:all .2s}.datasource-panel__add-btn:hover:not(:disabled){color:#fff;background:var(--color-primary, #3b82f6)}.datasource-panel__add-btn:disabled{opacity:.5;cursor:not-allowed}.datasource-panel__error{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;margin-bottom:12px;font-size:12px;color:var(--color-error, #ef4444);background:var(--color-error-bg, #fef2f2);border-radius:4px}.datasource-panel__error button{padding:0 4px;font-size:14px;color:var(--color-error, #ef4444);background:transparent;border:none;cursor:pointer}.datasource-panel__list{flex:1;overflow-y:auto}.datasource-panel__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px;text-align:center}.datasource-panel__empty p{margin:0 0 12px;font-size:13px;color:var(--color-text-secondary, #6b7280)}.datasource-panel__empty-btn{padding:8px 16px;font-size:13px;color:#fff;background:var(--color-primary, #3b82f6);border:none;border-radius:6px;cursor:pointer;transition:background .2s}.datasource-panel__empty-btn:hover{background:var(--color-primary-dark, #2563eb)}.datasource-panel__loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:32px;font-size:13px;color:var(--color-text-secondary, #6b7280)}.loading-spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--color-border, #e5e7eb);border-top-color:var(--color-primary, #3b82f6);border-radius:50%;animation:spin .8s linear infinite}.loading-spinner--small{width:12px;height:12px;border-width:1.5px}.excel-validation-modal-overlay{position:fixed;inset:0;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .12s ease-out}.excel-validation-modal{background:#fff;border-radius:12px;box-shadow:0 8px 24px #00000026;width:600px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column;animation:slideUp .12s ease-out}.excel-validation-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e8eaed;flex-shrink:0}.excel-validation-modal-title{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:#202124}.excel-validation-modal-close{width:32px;height:32px;border:none;background:transparent;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#5f6368;transition:all .12s ease}.excel-validation-modal-close:hover{background:#f8f9fa}.excel-validation-file-name{padding:12px 20px;background:#f8f9fa;border-bottom:1px solid #e8eaed;font-size:13px;color:#5f6368;font-family:Monaco,Consolas,monospace;flex-shrink:0}.excel-validation-modal-content{flex:1;min-height:0;overflow-y:auto;padding:20px}.excel-validation-success{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 0;gap:16px}.icon-success-large{color:#34a853;opacity:.9}.success-message{font-size:16px;color:#202124;font-weight:500;margin:0}.excel-validation-section{margin-bottom:24px}.excel-validation-section:last-child{margin-bottom:0}.excel-validation-section-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#202124;margin-bottom:12px}.excel-validation-list{display:flex;flex-direction:column;gap:8px}.excel-validation-item{padding:12px;border-radius:8px;border-left:3px solid transparent}.excel-validation-item.error{background:#fce8e6;border-left-color:#ea4335}.excel-validation-item.warning{background:#fef7e0;border-left-color:#f9ab00}.excel-validation-item.suggestion{background:#e8f0fe;border-left-color:#1a73e8}.excel-validation-item-message{font-size:13px;color:#202124;line-height:1.5;margin-bottom:4px}.excel-validation-item-details{font-size:12px;color:#5f6368;line-height:1.4;margin-top:4px}.icon-success{color:#34a853}.icon-error{color:#ea4335}.icon-warning{color:#f9ab00}.icon-suggestion{color:#1a73e8}.excel-validation-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid #e8eaed;flex-shrink:0}.excel-validation-btn-cancel,.excel-validation-btn-confirm{height:36px;padding:0 16px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .12s ease;border:none}.excel-validation-btn-cancel{background:transparent;color:#5f6368}.excel-validation-btn-cancel:hover{background:#f8f9fa}.excel-validation-btn-confirm{background:#1a73e8;color:#fff}.excel-validation-btn-confirm:hover{background:#1765cc}.github-auth-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000}.github-auth-modal{background:#fff;border-radius:12px;width:90%;max-width:480px;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}.github-auth-modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid #e5e7eb}.github-auth-modal-header h2{display:flex;align-items:center;gap:12px;margin:0;font-size:20px;font-weight:600;color:#111827}.github-auth-modal-close{background:none;border:none;cursor:pointer;padding:4px;border-radius:6px;color:#6b7280;transition:all .2s}.github-auth-modal-close:hover{background:#f3f4f6;color:#111827}.github-auth-modal-content{padding:24px}.github-auth-description{margin:0 0 20px;color:#6b7280;line-height:1.6}.github-auth-permissions{background:#f9fafb;padding:16px;border-radius:8px;margin-bottom:20px}.github-auth-permissions h3{margin:0 0 12px;font-size:14px;font-weight:600;color:#111827}.github-auth-permissions ul{list-style:none;padding:0;margin:0}.github-auth-permissions li{padding:6px 0;color:#6b7280;font-size:14px}.github-auth-error{background:#fee2e2;color:#991b1b;padding:12px;border-radius:8px;margin-bottom:20px;font-size:14px}.btn-authorize{width:100%;padding:12px 24px;background:#24292e;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s}.btn-authorize:hover:not(:disabled){background:#000}.btn-authorize:disabled{opacity:.6;cursor:not-allowed}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.github-auth-success{text-align:center;padding:20px 0}.success-message{margin:16px 0;font-size:18px;font-weight:600;color:#10b981}.github-user-info{display:flex;align-items:center;gap:16px;background:#f9fafb;padding:16px;border-radius:8px;margin-top:20px}.github-user-info img{width:48px;height:48px;border-radius:50%}.github-username{margin:0;font-size:16px;font-weight:600;color:#111827}.github-login{margin:4px 0 0;font-size:14px;color:#6b7280}.github-auth-actions{display:flex;gap:12px;margin-top:24px}.btn-disconnect{flex:1;padding:10px 20px;background:#fff;color:#6b7280;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-disconnect:hover{background:#f9fafb;border-color:#9ca3af}.btn-continue{flex:2;padding:10px 20px;background:#1a73e8;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-continue:hover{background:#1557b0}.github-repo-selector-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000}.github-repo-selector{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}.github-repo-selector-header{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid #e5e7eb;flex-shrink:0}.github-repo-selector-header h2{display:flex;align-items:center;gap:12px;margin:0;font-size:20px;font-weight:600;color:#111827}.github-repo-selector-close{background:none;border:none;cursor:pointer;padding:4px;border-radius:6px;color:#6b7280;transition:all .2s}.github-repo-selector-close:hover{background:#f3f4f6;color:#111827}.github-repo-selector-content{padding:24px;overflow-y:auto;flex:1}.repo-search-box{display:flex;align-items:center;gap:12px;padding:10px 16px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:20px}.repo-search-box input{flex:1;background:none;border:none;outline:none;font-size:14px;color:#111827}.repo-create-section{margin-bottom:20px}.btn-create-new{width:100%;padding:12px;background:#f9fafb;border:1px dashed #d1d5db;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s}.btn-create-new:hover{background:#f3f4f6;border-color:#9ca3af;color:#111827}.repo-create-form{margin-top:16px;padding:16px;background:#f9fafb;border-radius:8px;display:flex;flex-direction:column;gap:12px}.repo-create-form input[type=text]{padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;outline:none;transition:border-color .2s}.repo-create-form input[type=text]:focus{border-color:#1a73e8}.repo-private-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#6b7280}.repo-private-checkbox input[type=checkbox]{cursor:pointer}.btn-confirm-create{padding:10px 16px;background:#1a73e8;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.btn-confirm-create:hover:not(:disabled){background:#1557b0}.btn-confirm-create:disabled{opacity:.5;cursor:not-allowed}.repo-list{display:flex;flex-direction:column;gap:8px}.repo-list-loading,.repo-list-empty{text-align:center;padding:40px 20px;color:#6b7280;font-size:14px}.repo-list-loading{display:flex;flex-direction:column;align-items:center;gap:12px}.repo-item{display:flex;align-items:center;justify-content:space-between;padding:16px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s}.repo-item:hover{background:#f3f4f6;border-color:#1a73e8}.repo-item-info{flex:1}.repo-item-name{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:#111827;margin-bottom:4px}.repo-badge-private{padding:2px 8px;background:#fef3c7;color:#92400e;font-size:11px;font-weight:600;border-radius:4px}.repo-item-description{font-size:13px;color:#6b7280;line-height:1.5}.repo-item-link{color:#6b7280;padding:6px;border-radius:6px;transition:all .2s;display:flex;align-items:center}.repo-item-link:hover{background:#e5e7eb;color:#1a73e8}.unified-sidebar{width:var(--sidebar-width, 280px);min-width:0;height:100%;background:var(--bg-primary);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;transition:width .18s cubic-bezier(.4,0,.2,1),opacity .15s ease-out;will-change:width}body.resizing .unified-sidebar{transition:none!important;will-change:auto}.unified-sidebar.collapsed{display:none}.file-toolbar{display:flex;align-items:center;justify-content:space-between;padding:4px 12px;background:var(--bg-secondary);border-bottom:1px solid var(--border-light);flex-shrink:0;height:40px;max-height:40px;min-width:240px;overflow:hidden}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0;overflow:hidden}.toolbar-title{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);margin-left:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;min-width:60px}.toolbar-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all .12s cubic-bezier(.4,0,.2,1);flex-shrink:0}.toolbar-btn:hover{background:#1a73e814;color:var(--primary)}.toolbar-btn.active{background:var(--bg-tertiary);color:var(--text-primary)}.tab-button{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-2);height:40px;min-width:60px;background:transparent;border:none;border-bottom:2px solid transparent;border-radius:0;color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tab-button:hover{background:var(--bg-secondary);color:var(--text-primary)}.tab-button.active{background:transparent;border-bottom:2px solid var(--primary);color:var(--primary)}.sidebar-content{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.08) transparent}.files-tab-content{display:flex;flex-direction:column;height:100%;min-height:0;overflow-y:auto}.sidebar-content::-webkit-scrollbar{width:4px;height:4px}.sidebar-content::-webkit-scrollbar-track{background:transparent}.sidebar-content::-webkit-scrollbar-thumb{background:#00000014;border-radius:2px;-webkit-transition:background .2s ease;transition:background .2s ease}.sidebar-content:hover::-webkit-scrollbar-thumb{background:#00000026}.sidebar-content::-webkit-scrollbar-thumb:hover{background:#00000040}.sidebar-content::-webkit-scrollbar-thumb:active{background:#00000059}.topics-panel,.files-panel{display:flex;flex-direction:column;gap:var(--space-2)}.files-panel>.file-actions-group{display:flex!important;flex-direction:row!important}.file-actions-group{display:flex!important;flex-direction:row!important;align-items:center;justify-content:space-evenly;gap:0;padding:8px 12px;margin:0 var(--space-3);background:var(--bg-secondary);border-radius:var(--radius-sm);transition:all var(--transition-fast);flex-wrap:nowrap!important;width:calc(100% - 24px)}.file-action-btn{display:flex;align-items:center;justify-content:center;width:28px!important;height:28px!important;min-width:28px;border:none;background:transparent;border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .12s ease;flex-shrink:0!important}.file-action-btn:hover{background:#1a73e81a;color:var(--primary)}.file-action-btn:active{transform:scale(.95)}.create-topic-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin:0 var(--space-4);height:36px;background:var(--bg-secondary);border:1px dashed var(--border-medium);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.create-topic-btn:hover{border-color:var(--primary);color:var(--primary);background:#1a73e80d}.topics-list,.files-list{display:flex;flex-direction:column;padding-top:10px;flex:1;min-height:200px}.topic-node-wrapper,.file-node-wrapper{display:flex;flex-direction:column}.topic-node,.file-node{display:flex;align-items:center;gap:var(--space-2);height:28px;min-width:0;background:transparent;border:none;border-left:2px solid transparent;border-radius:6px;cursor:pointer;color:var(--text-secondary);font-size:var(--font-size-base);text-align:left;white-space:nowrap;overflow:hidden;flex-shrink:1;padding-left:0;padding-right:var(--space-4);transition:background var(--transition-fast),color var(--transition-fast);position:relative;width:100%}.topic-node:hover,.file-node:hover{background:var(--bg-secondary);color:var(--text-primary)}.file-node.active{background:transparent}.file-node.active .file-name,.file-node.active .file-chevron{color:#f97316}.file-node.active:hover{background:var(--bg-secondary)}.file-node.selected{background:#1a73e81a!important}.file-node.selected:hover{background:#1a73e824!important}.file-node.active.selected{background:#1a73e81a!important}.file-node.active.selected .file-name{color:#f97316}.file-node.recommended .file-name{color:var(--primary, #1a73e8);animation:textPulse 2s ease-in-out infinite}.file-node.recommended.selected{background:#1a73e81a!important}.file-node.recommended.selected:hover{background:#1a73e824!important}.file-node.recommended.active .file-name{color:#f97316}.file-node.referenced{position:relative}.file-node.referenced:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:16px;background:linear-gradient(180deg,#8b5cf6,#a78bfa);border-radius:2px}.file-node.editing{position:relative}.file-node.ai-reading{animation:aiReadingPulse 1.5s ease-in-out infinite}.file-node.ai-reading .file-name{color:#8b5cf6;animation:textPulse 1.5s ease-in-out infinite}.file-node.ai-reading.selected{background:#1a73e81a!important;animation:aiReadingPulse 1.5s ease-in-out infinite}.file-node.ai-reading.selected:hover{background:#1a73e824!important}@keyframes aiReadingPulse{0%,to{box-shadow:inset 3px 0 #8b5cf6}50%{box-shadow:inset 3px 0 #8b5cf6,0 0 12px #8b5cf64d}}.file-node.search-match{background:#fbbc0426!important;font-weight:600}.files-list.search-active .file-node:not(.search-match){opacity:.5}.file-status-indicators{display:flex;align-items:center;gap:6px;margin-left:auto;flex-shrink:0;padding-right:0}.status-icon{flex-shrink:0;transition:all .12s cubic-bezier(.4,0,.2,1)}.status-icon.status-recommended{color:#1a73e8}.status-icon.status-ai-reading{color:#8b5cf6;animation:rotate 2s linear infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.status-icon.status-editing{color:#10b981}.status-icon.status-referenced{color:#10b981;font-size:12px;font-weight:600}.file-modified-dot{color:#f59e0b!important;font-size:6px!important;margin-left:2px}.file-health-badge{font-size:12px;margin-left:auto;margin-right:4px;opacity:.7;transition:opacity .12s ease;line-height:1}.file-node:hover .file-health-badge{opacity:0}.file-menu-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;border-radius:4px;color:var(--text-secondary);cursor:pointer;opacity:0;transition:all .12s ease;position:absolute;right:12px}.file-node:hover .file-menu-btn{opacity:1}.file-menu-btn:hover{background:#00000014;color:var(--text-primary)}.file-actions{display:none}.file-action-btn{width:24px;height:24px;border-radius:var(--radius-xs);border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.file-action-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.file-action-danger:hover{background:#ea43351a;color:var(--danger)}.upload-progress-container{margin:0 var(--space-4);padding:var(--space-3);background:var(--bg-secondary);border-radius:var(--radius-sm);animation:fadeInDown .2s cubic-bezier(.4,0,.2,1)}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.upload-progress-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2);font-size:var(--font-size-sm)}.upload-file-name{color:var(--text-primary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;margin-right:var(--space-2)}.upload-percentage{color:var(--text-tertiary);font-size:var(--font-size-xs);font-weight:600;flex-shrink:0}.upload-progress-bar{height:4px;background:var(--bg-tertiary);border-radius:2px;overflow:hidden}.upload-progress-fill{height:100%;background:var(--primary);border-radius:2px;transition:width .3s cubic-bezier(.4,0,.2,1)}.topic-chevron,.file-chevron{display:flex;align-items:center;justify-content:center;width:16px;height:16px;color:var(--text-tertiary)}.topic-name,.file-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:4px;padding-right:32px;min-width:0}.file-modified-dot{color:#f59e0b!important;font-size:6px!important;line-height:1;flex-shrink:0;opacity:.9;margin-left:4px}.topic-unread{background:var(--danger);color:#fff;font-size:11px;padding:0 6px;border-radius:10px;height:16px;display:flex;align-items:center;justify-content:center}.empty-state-sidebar{display:flex;align-items:center;justify-content:center;padding:var(--space-6);color:var(--text-tertiary);font-size:var(--font-size-sm)}.sidebar-skeleton{display:flex;flex-direction:column;gap:var(--space-2);padding:0 var(--space-4)}.skeleton-file-item{display:flex;align-items:center;gap:var(--space-2);height:32px;padding:0 var(--space-2)}.skeleton-icon{width:16px;height:16px;background:var(--bg-tertiary);border-radius:var(--radius-xs);animation:skeletonPulse 1.5s ease-in-out infinite}.skeleton-text{flex:1;height:12px;background:var(--bg-tertiary);border-radius:var(--radius-xs);animation:skeletonPulse 1.5s ease-in-out infinite;animation-delay:.1s}@keyframes skeletonPulse{0%,to{opacity:1}50%{opacity:.5}}.sidebar-tabs{display:flex;align-items:center;justify-content:space-around;border-bottom:1px solid var(--border-light);background:var(--bg-primary);flex-shrink:0;height:40px;min-height:40px}.delete-confirm-modal{background:var(--bg-primary, #ffffff);border-radius:12px;box-shadow:0 8px 24px #0003;width:90%;max-width:400px;animation:scaleIn .2s cubic-bezier(.4,0,.2,1)}.delete-confirm-header{display:flex;align-items:center;gap:12px;padding:20px;border-bottom:1px solid var(--border-light, #e8eaed)}.delete-confirm-header h3{margin:0;font-size:18px;font-weight:600;color:var(--text-primary, #202124)}.delete-confirm-content{padding:20px}.delete-confirm-content p{margin:0 0 8px;font-size:14px;color:var(--text-secondary, #5f6368);line-height:1.6}.delete-confirm-content strong{color:var(--text-primary, #202124);font-weight:600}.delete-confirm-warning{color:var(--danger, #ea4335);font-size:13px;margin-top:12px}.delete-confirm-actions{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--border-light, #e8eaed)}.delete-confirm-actions button{height:36px;padding:0 16px;border-radius:8px;border:none;font-size:14px;font-weight:500;cursor:pointer;transition:all .12s ease;display:flex;align-items:center;gap:6px}.delete-confirm-actions .btn-cancel{background:var(--bg-secondary, #f8f9fa);color:var(--text-primary, #202124)}.delete-confirm-actions .btn-cancel:hover{background:var(--bg-tertiary, #e8eaed)}.delete-confirm-actions .btn-delete{background:var(--danger, #ea4335);color:#fff}.delete-confirm-actions .btn-delete:hover{background:#c23028}.delete-confirm-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .15s ease-out}.delete-confirm-modal{background:var(--bg-primary, #ffffff);border-radius:12px;box-shadow:0 8px 24px #0003;width:90%;max-width:420px;animation:scaleIn .2s cubic-bezier(.4,0,.2,1);pointer-events:auto;overflow:hidden}.delete-confirm-header{display:flex;align-items:center;gap:12px;padding:24px 24px 16px;border-bottom:none}.delete-confirm-header h3{margin:0;font-size:18px;font-weight:600;color:var(--text-primary, #202124);letter-spacing:-.01em}.delete-confirm-content{padding:0 24px 24px}.delete-confirm-content p{margin:0 0 12px;font-size:14px;color:var(--text-secondary, #5f6368);line-height:1.6;word-wrap:break-word}.delete-confirm-content p:last-child{margin-bottom:0}.delete-confirm-content strong{color:var(--text-primary, #202124);font-weight:600;display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.delete-confirm-warning{color:var(--danger, #ea4335)!important;font-size:13px!important;margin-top:16px!important;font-weight:500}.delete-confirm-actions{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid var(--border-light, #e8eaed);background:var(--bg-secondary, #f8f9fa)}.delete-confirm-actions button{min-width:80px;height:40px;padding:0 20px;border-radius:8px;border:none;font-size:14px;font-weight:500;cursor:pointer;transition:all .12s ease;display:flex;align-items:center;justify-content:center;gap:8px;pointer-events:auto;font-family:inherit}.delete-confirm-actions button:focus{outline:none;box-shadow:0 0 0 2px #1a73e833}.delete-confirm-actions .btn-cancel{background:#fff;color:var(--text-primary, #202124);border:1px solid var(--border-medium, #dadce0)}.delete-confirm-actions .btn-cancel:hover{background:var(--bg-secondary, #f8f9fa);border-color:var(--border-dark, #bdc1c6)}.delete-confirm-actions .btn-delete{background:var(--danger, #ea4335);color:#fff;box-shadow:0 1px 3px #ea43354d}.delete-confirm-actions .btn-delete:hover{background:#d33426;box-shadow:0 2px 6px #ea433566;transform:translateY(-1px)}.delete-confirm-actions .btn-delete:active{transform:translateY(0)}.delete-confirmation-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .15s ease-out}.delete-confirmation-modal-container{background:var(--bg-primary);border-radius:var(--radius-md);box-shadow:0 8px 24px #0003;width:90%;max-width:400px;animation:scaleIn .2s cubic-bezier(.4,0,.2,1)}.delete-confirmation-modal-header{padding:var(--space-4);border-bottom:1px solid var(--border-light)}.delete-confirmation-modal-header h3{margin:0;font-size:var(--font-size-lg);color:var(--text-primary)}.delete-confirmation-modal-content{padding:var(--space-4);color:var(--text-secondary)}.delete-confirmation-modal-footer{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4);border-top:1px solid var(--border-light)}.delete-confirmation-modal-footer button{padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);border:none;font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .12s ease}.delete-confirmation-modal-footer button:first-child{background:var(--bg-secondary);color:var(--text-primary)}.delete-confirmation-modal-footer button:first-child:hover{background:var(--bg-tertiary)}.delete-confirmation-modal-footer button:last-child{background:var(--danger);color:#fff}.delete-confirmation-modal-footer button:last-child:hover{background:#c23028}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.file-editing-badge{font-size:10px;font-weight:600;color:#10b981;background:#10b9811a;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.file-editing-indicator,.editing-dot{display:none}.sidebar-memory-panel{height:100%;overflow-y:auto}.sidebar-bottom-panels{flex-shrink:0;border-top:1px solid var(--border-light, #e8eaed);background:var(--bg-primary, #ffffff);height:auto;min-height:74px;max-height:60%;display:flex;flex-direction:column;overflow:visible}.bottom-panels-content{display:flex;flex-direction:column;overflow:visible}.bottom-panels-content .outline-panel,.bottom-panels-content .timeline-panel{flex-shrink:0}.sidebar-bottom-panels:empty{display:none}.file-node-wrapper.creating-root{margin:2px 0}.file-node-wrapper.creating-root .file-node{display:flex;align-items:center;gap:8px;height:28px;padding:0 8px;background:#1a73e80d;border:1px solid var(--primary, #1a73e8);border-radius:6px;transition:all .12s cubic-bezier(.4,0,.2,1)}.file-node-wrapper.creating-root .file-node:focus-within{background:#1a73e814;box-shadow:0 0 0 2px #1a73e826}.file-node-wrapper.creating-root .file-chevron{flex-shrink:0;display:flex;align-items:center}.new-file-input-root{flex:1;min-width:0;border:none;background:transparent;outline:none;font-size:13px;color:var(--text-primary, #202124);font-family:var(--font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif);padding:0;height:24px}.new-file-input-root::-moz-placeholder{font-size:11px;color:var(--text-tertiary, #80868b);opacity:.8}.new-file-input-root::placeholder{font-size:11px;color:var(--text-tertiary, #80868b);opacity:.8}.git-export-dropdown{position:relative;overflow:visible!important}.git-export-menu{position:fixed;background:#fff;border:1px solid #e8eaed;border-radius:8px;box-shadow:0 2px 8px #00000014;min-width:160px;z-index:9999;padding:4px 0}.git-export-menu button{width:100%;padding:8px 12px;background:none;border:none;text-align:left;font-size:14px;color:#5f6368;cursor:pointer;transition:background .12s ease;display:flex;align-items:center;gap:0}.git-export-menu button:hover{background:#1a73e814;color:#202124}.git-export-menu button:active{background:#1a73e81f}.computation-widget{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500;transition:all .2s ease;animation:fadeInRight .3s ease}.computation-widget.valid{background:#34a85314;color:#34a853}.computation-widget.valid .computation-icon{color:#34a853}.computation-widget.invalid{background:#ea433514;color:#ea4335}.computation-widget.invalid .computation-icon{color:#ea4335}.computation-icon{font-size:12px;font-weight:600}.computation-text{font-family:SF Mono,Monaco,Courier New,monospace;font-size:11px}.computation-widget:hover{transform:translateY(-1px);box-shadow:0 2px 4px #00000014}.computation-widget.valid:hover{background:#34a8531f}.computation-widget.invalid:hover{background:#ea43351f}@keyframes fadeInRight{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}.symbol-ref{color:var(--primary);cursor:pointer;position:relative;text-decoration:underline;text-decoration-style:dotted;text-decoration-color:#1a73e866;text-decoration-thickness:1px;transition:all .2s ease}.symbol-ref:hover{background:#1a73e814;text-decoration-style:solid;text-decoration-color:var(--primary);border-radius:2px;padding:0 2px}.symbol-ref .ref-icon{font-size:10px;margin-left:2px;vertical-align:super;opacity:.6;transition:opacity .2s ease}.symbol-ref:hover .ref-icon{opacity:1}.symbol-badge{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:2px 8px;background:#1a73e814;border-radius:4px;font-size:11px;color:var(--text-secondary);animation:fadeIn .3s ease}.badge-icon{font-size:12px}.badge-count{font-weight:500}.highlight-flash{animation:flash 1s ease}@keyframes flash{0%,to{background:transparent}50%{background:#1a73e826}}.interactive-table-container{width:100%;background:#fff;border-radius:8px;overflow:hidden}.table-toolbar{display:flex;align-items:center;justify-content:space-between;padding:12px;background:var(--bg-secondary);border-bottom:1px solid var(--border-light);gap:12px}.toolbar-search{flex:1;display:flex;align-items:center;gap:8px;padding:6px 12px;background:#fff;border:1px solid var(--border-light);border-radius:6px;transition:all .2s ease}.toolbar-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 2px #1a73e81a}.toolbar-search svg{color:var(--text-tertiary);flex-shrink:0}.search-input{flex:1;border:none;outline:none;font-size:13px;color:var(--text-primary);background:transparent}.search-input::-moz-placeholder{color:var(--text-tertiary)}.search-input::placeholder{color:var(--text-tertiary)}.clear-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:transparent;border:none;border-radius:4px;color:var(--text-tertiary);cursor:pointer;transition:all .2s ease}.clear-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.toolbar-info{font-size:12px;color:var(--text-secondary);white-space:nowrap}.table-scroll{overflow-x:auto;max-height:600px;overflow-y:auto}.interactive-table{width:100%;border-collapse:collapse;font-size:13px}.interactive-table thead{position:sticky;top:0;background:#fff;z-index:10}.interactive-table th{padding:12px 16px;text-align:left;font-weight:600;color:var(--text-primary);border-bottom:2px solid var(--border-primary);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all .2s ease}.interactive-table th.sortable:hover{background:var(--bg-secondary)}.interactive-table th.active{background:#1a73e814;color:var(--primary)}.th-content{display:flex;align-items:center;gap:6px}.sort-icon{display:flex;align-items:center;color:var(--primary)}.interactive-table td{padding:10px 16px;color:var(--text-primary);border-bottom:1px solid var(--border-light)}.interactive-table tbody tr:hover{background:var(--bg-secondary)}.interactive-table tbody tr:last-child td{border-bottom:none}.table-footer{padding:12px;background:var(--bg-secondary);border-top:1px solid var(--border-light)}.stats{display:flex;flex-wrap:wrap;gap:16px}.stat-item{display:flex;align-items:center;gap:6px;font-size:12px}.stat-label{font-weight:600;color:var(--text-secondary)}.stat-value{color:var(--text-primary);font-family:SF Mono,Monaco,Courier New,monospace}@media(max-width:768px){.table-toolbar{flex-direction:column;align-items:stretch}.toolbar-search{width:100%}.stats{flex-direction:column;gap:8px}}.interactive-table-wrapper{margin:16px 0;border:1px solid var(--border-light);border-radius:8px;overflow:hidden;background:#fff}.smart-entity-highlight{position:relative;transition:all .3s ease;border-radius:4px}.smart-entity-highlight:not(:hover){animation:breathe 4s infinite ease-in-out}@keyframes breathe{0%{background-color:transparent}50%{background-color:#1a73e80d}to{background-color:transparent}}.smart-entity-highlight:hover{background-color:#1a73e81a;cursor:pointer}.smart-entity-toolbar{z-index:1000;transform:translate(-50%);animation:slideUp .2s ease-out;pointer-events:auto}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.toolbar-content{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--border-light);border-radius:20px;padding:4px 8px;box-shadow:0 4px 12px #0000001a}.entity-type{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary);padding-right:8px;border-right:1px solid var(--border-light)}.toolbar-actions{display:flex;align-items:center}.action-btn{display:flex;align-items:center;gap:4px;background:linear-gradient(135deg,#1a73e8,#0d47a1);color:#fff;border:none;border-radius:12px;padding:4px 10px;font-size:11px;font-weight:500;cursor:pointer;transition:all .2s}.action-btn:hover{box-shadow:0 2px 4px #1a73e84d;transform:translateY(-1px)}.reactive-code-block{margin-bottom:40px!important;border:1px solid var(--border-light);transition:border-color .3s}.reactive-code-block:hover{border-color:var(--primary)}.code-widget-controls{display:flex;flex-direction:column;gap:8px;background:#fffffff2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:12px;border-radius:8px;border:1px solid var(--border-light);box-shadow:0 4px 12px #00000026;z-index:1000;min-width:240px;animation:slideIn .3s ease;transform:translate(-100%);margin-left:-20px}@keyframes slideIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.control-item{display:flex;flex-direction:column;gap:4px}.control-label{display:flex;justify-content:space-between;font-size:12px;color:var(--text-secondary)}.var-name{font-weight:600;color:var(--primary);font-family:monospace}.var-value{font-family:monospace}.control-input-wrapper{display:flex;align-items:center}.interactive-slider{width:100%;height:4px;background:var(--bg-secondary);border-radius:2px;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none}.interactive-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--primary);cursor:pointer;border:2px solid white;box-shadow:0 1px 3px #0000004d;-webkit-transition:transform .1s;transition:transform .1s}.interactive-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.interactive-input{width:100%;padding:4px 8px;border:1px solid var(--border-light);border-radius:4px;font-size:12px;font-family:monospace}.interactive-input:focus{border-color:var(--primary);outline:none}.interactive-switch{position:relative;display:inline-block;width:36px;height:20px}.interactive-switch input{opacity:0;width:0;height:0}.slider.round{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.4s;border-radius:20px}.slider.round:before{position:absolute;content:"";height:16px;width:16px;left:2px;bottom:2px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.slider.round{background-color:var(--primary)}input:checked+.slider.round:before{transform:translate(16px)}.reactive-value{font-family:SF Mono,Monaco,monospace;background:#1a73e81a;padding:0 4px;border-radius:4px;color:var(--primary);font-weight:500;transition:all .2s ease;display:inline-block;min-width:1em;text-align:center}.reactive-value.changed{background:var(--primary);color:#fff;transform:scale(1.1)}.reactive-value.missing{background:#ea43351a;color:var(--error);text-decoration:line-through}.enhanced-preview-indicator{position:fixed;top:16px;right:16px;display:flex;align-items:center;gap:8px;padding:8px 12px;background:#fffffff2;border:1px solid var(--border-light);border-radius:8px;box-shadow:0 2px 8px #00000014;font-size:12px;color:var(--text-secondary);z-index:1000;animation:slideInDown .2s ease}.indicator-spinner{width:12px;height:12px;border:2px solid var(--border-light);border-top-color:var(--primary);border-radius:50%;animation:spin .6s linear infinite}@keyframes slideInDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.indicator-text{font-size:12px;color:var(--text-secondary)}.enhanced-preview-error{position:fixed;top:16px;right:16px;display:flex;align-items:center;gap:8px;padding:8px 12px;background:#ea433514;border:1px solid rgba(234,67,53,.2);border-radius:8px;font-size:12px;color:var(--error);z-index:1000;animation:slideInDown .2s ease}.error-icon{font-size:14px}.error-text{font-size:12px;color:var(--error)}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#005cc5}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-comment,.hljs-code,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}.mermaid-container{width:100%;margin:24px 0;padding:0;background:transparent;border:none;border-radius:0;overflow:visible;box-sizing:border-box}.mermaid-container svg{max-width:100%;height:auto;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px}.mermaid-container .node rect,.mermaid-container .node circle,.mermaid-container .node ellipse,.mermaid-container .node polygon,.mermaid-container .node path{fill:#fff!important;stroke:#5f6368!important;stroke-width:1.5px!important}.mermaid-container .node.decision rect,.mermaid-container .node.start circle,.mermaid-container .node.end circle,.mermaid-container .node.main rect{fill:var(--primary, #1a73e8)!important;stroke:var(--primary-dark, #1557b0)!important}.mermaid-container .classGroup rect{fill:#fff!important;stroke:#5f6368!important;stroke-width:1.5px!important}.mermaid-container .stateGroup rect{fill:#fff!important;stroke:#5f6368!important;stroke-width:1.5px!important}.mermaid-container .nodeLabel,.mermaid-container .cluster-label{color:#202124!important;fill:#202124!important;font-weight:500;font-size:14px}.mermaid-container .edgeLabel{color:var(--text-secondary, #5f6368)!important;fill:var(--text-secondary, #5f6368)!important;font-size:13px}.mermaid-container .node.decision .nodeLabel,.mermaid-container .node.start .nodeLabel,.mermaid-container .node.end .nodeLabel,.mermaid-container .node.main .nodeLabel{color:#fff!important;fill:#fff!important}.mermaid-container .edgePath .path,.mermaid-container .flowchart-link{stroke:var(--text-secondary, #5f6368)!important;stroke-width:1.5px!important;fill:none!important}.mermaid-container .arrowheadPath,.mermaid-container marker path{fill:var(--text-secondary, #5f6368)!important;stroke:var(--text-secondary, #5f6368)!important}.mermaid-container .actor{fill:var(--bg-secondary, #f8f9fa)!important;stroke:var(--border-medium, #dadce0)!important;stroke-width:1.5px!important}.mermaid-container .messageLine0,.mermaid-container .messageLine1{stroke:var(--text-secondary, #5f6368)!important;stroke-width:1.5px!important}.mermaid-container .activation0,.mermaid-container .activation1,.mermaid-container .activation2{fill:var(--primary, #1a73e8)!important;opacity:.1!important}.mermaid-container .note{fill:var(--bg-secondary, #f8f9fa)!important;stroke:var(--border-medium, #dadce0)!important;stroke-width:1px!important}.mermaid-container .classTitle{font-weight:600!important;fill:var(--text-primary, #202124)!important}.mermaid-container .classLabel{font-size:13px!important;fill:var(--text-secondary, #5f6368)!important}.mermaid-container .relation{stroke:var(--text-secondary, #5f6368)!important;stroke-width:1.5px!important}.mermaid-container .state-note{fill:var(--bg-secondary, #f8f9fa)!important;stroke:var(--border-medium, #dadce0)!important;stroke-width:1.5px!important}.mermaid-container .transition{stroke:var(--text-secondary, #5f6368)!important;stroke-width:1.5px!important}.mermaid-container .task{fill:var(--primary, #1a73e8)!important;stroke:var(--primary-dark, #1557b0)!important;stroke-width:1px!important}.mermaid-container .taskDone{fill:var(--accent, #34a853)!important;stroke:#2d8e47!important}.mermaid-container .today{stroke:var(--danger, #ea4335)!important;stroke-width:2px!important}.mermaid-container .cluster rect{fill:var(--bg-secondary, #f8f9fa)!important;stroke:var(--border-light, #e8eaed)!important;stroke-width:1px!important;stroke-dasharray:5,5!important}.mermaid-error{margin:24px 0;padding:24px;background:var(--bg-secondary, #f8f9fa);border:1px solid var(--danger, #ea4335);border-radius:8px;display:flex;align-items:center;gap:16px}.mermaid-error .error-icon{font-size:24px;flex-shrink:0}.mermaid-error .error-message{flex:1}.mermaid-error .error-message strong{display:block;color:var(--text-primary, #202124);font-size:14px;font-weight:600;margin-bottom:4px}.mermaid-error .error-message p{color:var(--text-secondary, #5f6368);font-size:13px;margin:0;line-height:1.5}@media(max-width:768px){.mermaid-container{padding:16px;margin:16px 0}.mermaid-container svg{font-size:12px}.mermaid-error{padding:16px;margin:16px 0}}.mermaid-button-group{position:absolute;top:12px;right:12px;display:flex;gap:4px;z-index:10;opacity:0;pointer-events:none;transition:opacity .15s ease}.mermaid-container:hover .mermaid-button-group{opacity:1;pointer-events:auto}.mermaid-button-group button{display:flex;align-items:center;gap:6px;height:28px;padding:0 10px;background:transparent;color:var(--text-secondary, #5f6368);border:none;border-radius:6px;cursor:pointer;font-size:12px;font-weight:500;transition:all .12s ease;font-family:inherit;white-space:nowrap}.mermaid-button-group button.active{background:var(--primary, #1a73e8);color:#fff}.mermaid-button-group button:not(.active):not(:disabled):hover{background:#ffffffe6;color:var(--text-primary, #202124);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 2px 6px #0000001f}.mermaid-button-group button:disabled{cursor:not-allowed;opacity:.5}@media(prefers-color-scheme:dark){.mermaid-container{background:#1e1e1e;border-color:#333}.mermaid-container .node rect,.mermaid-container .node circle,.mermaid-container .actor{fill:#2a2a2a!important;stroke:#444!important}.mermaid-container .nodeLabel,.mermaid-container .edgeLabel{color:#e0e0e0!important;fill:#e0e0e0!important}.mermaid-container .edgePath .path,.mermaid-container .arrowheadPath{stroke:#888!important}.mermaid-error{background:#2a2a2a;border-color:#ea4335}.mermaid-button-group button:not(.active):not(:disabled):hover{background:#ffffff14;box-shadow:0 2px 6px #0000004d}}.action-button-wrapper{display:inline-flex;flex-direction:column;gap:4px;margin:4px 0}.action-button{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;border:1px solid rgba(0,0,0,.1);background:transparent;color:#000c;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.action-button:hover:not(:disabled){background:#00000008;border-color:#00000026;color:#000000e6;transform:translateY(-1px)}.action-button:active:not(:disabled){transform:translateY(0)}.action-button:disabled{opacity:.5;cursor:not-allowed}.action-button svg{flex-shrink:0}.button-label{line-height:1}.action-button.variant-primary{background:#1a73e8;border-color:#1a73e8;color:#fff}.action-button.variant-primary:hover:not(:disabled){background:#1557b0;border-color:#1557b0;color:#fff}.action-button.variant-secondary{background:#0000000d;border-color:#0000001a;color:#000c}.action-button.variant-secondary:hover:not(:disabled){background:#00000014;border-color:#00000026}.action-button.variant-outline{background:transparent;border-color:#00000026;color:#000c}.action-button.variant-outline:hover:not(:disabled){background:#00000005;border-color:#0003}.action-button.size-sm{padding:4px 10px;font-size:12px;gap:4px}.action-button.size-sm svg{width:12px;height:12px}.action-button.size-lg{padding:8px 18px;font-size:14px;gap:8px}.action-button.size-lg svg{width:16px;height:16px}.action-button.status-loading{pointer-events:none}.action-button.status-success{background:#10b9811a;border-color:#10b9814d;color:#10b981}.action-button.status-success.variant-primary{background:#10b981;border-color:#10b981;color:#fff}.action-button.status-error{background:#ef44441a;border-color:#ef44444d;color:#ef4444}.action-result{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:500;animation:slideDown .2s ease}.action-result.success{background:#10b9811a;color:#10b981}.action-result.error{background:#ef44441a;color:#ef4444}.action-result svg{flex-shrink:0}@media(prefers-color-scheme:dark){.action-button{border-color:#ffffff26;background:transparent;color:#ffffffe6}.action-button:hover:not(:disabled){background:#ffffff0d;border-color:#fff3;color:#fff}.action-button.variant-primary{background:#1a73e8;border-color:#1a73e8;color:#fff}.action-button.variant-primary:hover:not(:disabled){background:#1557b0;border-color:#1557b0}.action-button.variant-secondary{background:#ffffff0d;border-color:#ffffff26;color:#ffffffe6}.action-button.variant-secondary:hover:not(:disabled){background:#ffffff14;border-color:#fff3}.action-result.success{background:#10b98126}.action-result.error{background:#ef444426}}.file-picker-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .12s ease}.file-picker-dialog{background:#fff;border-radius:12px;box-shadow:0 8px 24px #00000026;width:600px;max-width:90vw;max-height:70vh;display:flex;flex-direction:column;animation:slideUp .25s cubic-bezier(.4,0,.2,1)}.file-picker-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-primary, #e8eaed)}.file-picker-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary, #202124)}.close-btn{background:none;border:none;padding:4px;cursor:pointer;color:var(--text-secondary, #5f6368);border-radius:6px;transition:all .12s ease}.close-btn:hover{background:var(--bg-hover, #f1f3f4);color:var(--text-primary, #202124)}.file-picker-search{display:flex;align-items:center;gap:8px;padding:12px 20px;border-bottom:1px solid var(--border-primary, #e8eaed)}.file-picker-search svg{color:var(--text-tertiary, #80868b)}.file-picker-search input{flex:1;border:none;outline:none;font-size:14px;color:var(--text-primary, #202124);background:transparent}.file-picker-search input::-moz-placeholder{color:var(--text-tertiary, #80868b)}.file-picker-search input::placeholder{color:var(--text-tertiary, #80868b)}.file-picker-breadcrumb{display:flex;align-items:center;gap:4px;padding:8px 20px;border-bottom:1px solid var(--border-primary, #e8eaed);font-size:13px;overflow-x:auto}.file-picker-breadcrumb button{background:none;border:none;padding:4px 8px;cursor:pointer;color:var(--text-secondary, #5f6368);border-radius:6px;white-space:nowrap;transition:all .12s ease}.file-picker-breadcrumb button:hover{background:var(--bg-hover, #f1f3f4);color:var(--text-primary, #202124)}.file-picker-breadcrumb svg{color:var(--text-tertiary, #80868b);flex-shrink:0}.file-picker-list{flex:1;overflow-y:auto;padding:8px;min-height:300px}.file-picker-item{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border:none;background:none;cursor:pointer;border-radius:8px;text-align:left;transition:all .12s ease}.file-picker-item:hover{background:var(--bg-hover, #f1f3f4)}.file-picker-item svg{color:var(--text-secondary, #5f6368);flex-shrink:0}.file-picker-item .file-name{flex:1;font-size:14px;color:var(--text-primary, #202124)}.file-picker-loading,.file-picker-empty{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-tertiary, #80868b);font-size:14px}@media(prefers-color-scheme:dark){.file-picker-dialog{background:var(--bg-primary-dark, #1e1e1e)}.file-picker-header h3{color:var(--text-primary-dark, #e8eaed)}.close-btn,.file-picker-breadcrumb button{color:var(--text-secondary-dark, #9aa0a6)}.close-btn:hover,.file-picker-breadcrumb button:hover,.file-picker-item:hover{background:var(--bg-hover-dark, #2a2a2a)}.file-picker-search input,.file-picker-item .file-name{color:var(--text-primary-dark, #e8eaed)}}.markdown-content{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,sans-serif;font-size:14px;line-height:1.6;color:var(--text-primary, #202124);max-width:100%;min-width:0;word-wrap:break-word;overflow-wrap:break-word;overflow:hidden}.markdown-content h1{font-size:22px;font-weight:600;line-height:1.3;margin-top:24px;margin-bottom:12px;color:var(--text-primary);letter-spacing:-.4px}.markdown-content h1:first-child{margin-top:0}.markdown-content h2{font-size:18px;font-weight:600;line-height:1.35;margin-top:20px;margin-bottom:10px;color:var(--text-primary);letter-spacing:-.3px}.markdown-content h3{font-size:16px;font-weight:600;line-height:1.4;margin-top:16px;margin-bottom:8px;color:var(--text-primary)}.markdown-content h4{font-size:15px;font-weight:600;line-height:1.4;margin-top:14px;margin-bottom:6px;color:var(--text-primary)}.markdown-content h5{font-size:14px;font-weight:600;line-height:1.4;margin-top:12px;margin-bottom:6px;color:var(--text-secondary)}.markdown-content h6{font-size:13px;font-weight:600;line-height:1.4;margin-top:12px;margin-bottom:6px;color:var(--text-tertiary)}.markdown-content p,.markdown-content .markdown-paragraph{margin:0 0 12px;line-height:1.6}.markdown-content p:last-child,.markdown-content .markdown-paragraph:last-child{margin-bottom:0}.markdown-content strong{font-weight:600;color:var(--text-primary)}.markdown-content em{font-style:italic;color:var(--text-secondary)}.markdown-content del{text-decoration:line-through;color:var(--text-tertiary)}.markdown-content code:not(pre code){font-family:JetBrains Mono,SF Mono,Menlo,Monaco,Consolas,monospace;font-size:.875em;background:#1a73e814;color:#1557b0;padding:2px 5px;border-radius:4px;border:1px solid rgba(26,115,232,.12);display:inline-block;white-space:nowrap;word-break:keep-all;vertical-align:baseline;line-height:1.2;margin:0 2px}.markdown-content a{color:var(--brand-blue, #1a73e8);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .12s ease}.markdown-content a:hover{border-bottom-color:var(--brand-blue, #1a73e8)}.markdown-content ul,.markdown-content ol{margin:12px 0;padding-left:24px}.markdown-content li{margin-bottom:6px;line-height:1.6}.markdown-content li:last-child{margin-bottom:0}.markdown-content ul ul,.markdown-content ol ol{margin-top:6px;margin-bottom:0}.markdown-content ul{list-style-type:disc}.markdown-content ul ul{list-style-type:circle}.markdown-content ol{list-style-type:decimal}.markdown-content pre{background:#fff;border:1px solid var(--border-light, #e8eaed);border-radius:8px;padding:12px;margin:16px 0;overflow-x:auto;overflow-y:hidden;max-width:100%;font-size:13px;line-height:1.5;white-space:pre;color:#202124;transition:all .12s}.markdown-content pre:hover{border-color:var(--border-medium, #dadce0);box-shadow:0 2px 8px #0000000f}.markdown-content pre code{font-family:JetBrains Mono,SF Mono,Menlo,Monaco,Consolas,monospace;background:transparent;padding:0;border:none;border-radius:0;color:inherit;white-space:inherit;display:block}.markdown-content pre[data-language]:before{content:attr(data-language);display:block;font-size:11px;color:var(--text-tertiary);font-family:var(--font-mono);margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--border-light)}.markdown-content pre::-webkit-scrollbar{height:8px}.markdown-content pre::-webkit-scrollbar-track{background:transparent}.markdown-content pre::-webkit-scrollbar-thumb{background:var(--border-dark, #bdc1c6);border-radius:4px}.markdown-content blockquote{margin:16px 0;padding:10px 14px;border-left:3px solid var(--border-medium, #dadce0);background:var(--bg-secondary, #f8f9fa);border-radius:0 4px 4px 0}.markdown-content blockquote p{margin:0;color:var(--text-secondary, #5f6368);font-style:normal}.markdown-content blockquote p:first-child{margin-top:0}.markdown-content blockquote p:last-child{margin-bottom:0}.markdown-content table{width:100%;border-collapse:collapse;margin:16px 0;font-size:13px}.markdown-content thead{background:var(--bg-secondary, #f8f9fa)}.markdown-content th{padding:8px 10px;text-align:left;font-weight:600;color:var(--text-primary);border-bottom:2px solid var(--border-medium, #dadce0)}.markdown-content td{padding:8px 10px;border-bottom:1px solid var(--border-light, #e8eaed)}.markdown-content tr:last-child td{border-bottom:none}.markdown-content tr:hover{background:#00000005}.markdown-content hr{border:none;height:1px;background:var(--border-light, #e8eaed);margin:24px 0}.markdown-content img{max-width:100%;height:auto;border-radius:6px;margin:12px 0;box-shadow:0 2px 6px #00000014}.markdown-content input[type=checkbox]{margin-right:8px;cursor:pointer}.markdown-content .task-list-item{list-style:none;margin-left:-20px}.markdown-content .citation{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#1a73e814;color:#1557b0;font-size:12px;font-weight:500;border-radius:12px;cursor:pointer;transition:all .12s ease;margin:0 2px}.markdown-content .citation:hover{background:#1a73e826;transform:translateY(-1px)}.markdown-content .citation-icon{width:12px;height:12px}@media(max-width:768px){.markdown-content{font-size:13px}.markdown-content h1{font-size:20px}.markdown-content h2{font-size:17px}.markdown-content h3{font-size:15px}.markdown-content pre{padding:10px 14px;font-size:12px}.markdown-content table{font-size:12px}}@media print{.markdown-content{font-size:12pt;line-height:1.6;color:#000}.markdown-content pre{border:1px solid #ccc;page-break-inside:avoid}.markdown-content blockquote{border-left-color:var(--border-dark, #999);background:#f5f5f5}.markdown-content a{color:#000;text-decoration:underline}}.artifact-pill{display:inline-flex;align-items:center;padding:4px 10px;background-color:#f1f3f4;border:1px solid #dadce0;border-radius:9999px;color:#1a73e8;font-size:13px;font-weight:500;margin:4px 0;cursor:help;transition:all .12s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.artifact-pill:hover{background-color:#e8f0fe;border-color:#1a73e8;box-shadow:0 1px 3px #0000001a}.context-pills{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px;background:#fff9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:8px;margin-bottom:12px;animation:slideIn .25s cubic-bezier(.4,0,.2,1)}@keyframes slideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.context-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px 6px 12px;background:#fff;border:1px solid #e8eaed;border-radius:9999px;font-size:13px;color:#202124;transition:all .15s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 2px #3c40431a;cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none}.context-pill:hover{background:#f8f9fa;box-shadow:0 2px 6px #3c404326;transform:translateY(-1px)}.pill-icon{color:#5f6368;flex-shrink:0}.pill-name{font-weight:500;color:#202124;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.pill-remove{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;background:transparent;border:none;border-radius:50%;color:#80868b;cursor:pointer;transition:all .15s cubic-bezier(.4,0,.2,1);flex-shrink:0}.pill-remove:hover{background:#ea43351a;color:#ea4335}.pill-remove:active{background:#ea433533;transform:scale(.98)}.context-pill[data-type=file]{border-color:#1a73e84d}.context-pill[data-type=file]:hover{background:#1a73e80d}.context-pill[data-type=file] .pill-icon{color:#1a73e8}.context-pill[data-type=kb]{border-color:#34a8534d}.context-pill[data-type=kb]:hover{background:#34a8530d}.context-pill[data-type=kb] .pill-icon{color:#34a853}.context-pill[data-type=tool]{border-color:#fbbc044d}.context-pill[data-type=tool]:hover{background:#fbbc040d}.context-pill[data-type=tool] .pill-icon{color:#fbbc04}.omni-bar-context-pills{margin:0 0 8px;padding:8px 12px;background:#fff6;border-radius:8px}.citation-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#1a73e814;border:1px solid rgba(26,115,232,.2);border-radius:9999px;font-size:12px;color:#1a73e8;text-decoration:none;transition:all .15s cubic-bezier(.4,0,.2,1);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap;margin:0 4px}.citation-pill:hover{background:#1a73e81f;border-color:#1a73e866;box-shadow:0 1px 3px #3c40431a;transform:translateY(-1px)}.citation-pill:active{transform:translateY(0);box-shadow:none}.citation-index{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;background:#1a73e8;color:#fff;border-radius:50%;font-size:var(--font-size-xs);font-weight:600;flex-shrink:0}.citation-icon{color:#1a73e8;flex-shrink:0}.citation-title{font-weight:500;max-width:150px;overflow:hidden;text-overflow:ellipsis}.citation-pill[data-source=web]{background:#fbbc0414;border-color:#fbbc0433;color:#f9ab00}.citation-pill[data-source=web]:hover{background:#fbbc041f;border-color:#fbbc0466}.citation-pill[data-source=web] .citation-index{background:#fbbc04}.citation-pill[data-source=web] .citation-icon{color:#fbbc04}.citation-pill[data-source=kb]{background:#34a85314;border-color:#34a85333;color:#1e8e3e}.citation-pill[data-source=kb]:hover{background:#34a8531f;border-color:#34a85366}.citation-pill[data-source=kb] .citation-index{background:#34a853}.citation-pill[data-source=kb] .citation-icon{color:#34a853}@media(max-width:768px){.context-pills{padding:8px 12px;gap:6px}.context-pill{font-size:12px;padding:4px 8px 4px 10px}.pill-name{max-width:120px}.citation-title{max-width:100px}}.context-pills:empty{display:none}.citations-section{margin-top:16px;padding:12px;background:#f8f9fa;border-radius:8px;border:1px solid #e8eaed}.citations-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #e8eaed}.citations-title{font-size:13px;font-weight:600;color:#5f6368}.citations-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 6px;background:#fff;border:1px solid #e8eaed;border-radius:4px;font-size:11px;font-weight:500;color:#5f6368}.citations-list{display:flex;flex-direction:column;gap:8px}.citation-item{background:#fff;border:1px solid #e8eaed;border-radius:6px;transition:all .12s}.citation-item:hover{border-color:#dadce0;box-shadow:0 1px 3px #0000000d}.citation-item[data-source=file] .citation-index{background:#4285f41a;color:#1a73e8}.citation-item[data-source=file] .citation-icon{color:#1a73e8}.citation-item[data-source=kb] .citation-index{background:#34a8531a;color:#34a853}.citation-item[data-source=kb] .citation-icon{color:#34a853}.citation-item[data-source=web] .citation-index{background:#fbbc041a;color:#fbbc04}.citation-item[data-source=web] .citation-icon{color:#fbbc04}.citation-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;gap:12px}.citation-left{display:flex;align-items:center;gap:10px;flex:1;min-width:0;cursor:pointer}.citation-left:active{transform:scale(.98)}.citation-index{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:4px;font-size:12px;font-weight:600;flex-shrink:0}.citation-icon{flex-shrink:0}.citation-main{flex:1;min-width:0}.citation-title-row{display:flex;align-items:center;gap:6px;margin-bottom:4px}.citation-title{font-size:14px;font-weight:500;color:#202124;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.external-icon{color:#80868b;flex-shrink:0}.citation-meta{display:flex;align-items:center;gap:6px;font-size:12px;color:#80868b}.source-badge{display:inline-flex;align-items:center;padding:0 6px;height:16px;background:#f8f9fa;border-radius:3px;font-size:10px;font-weight:500;color:#5f6368}.meta-separator{color:#bdc1c6}.similarity-text,.file-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.expand-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;border-radius:4px;cursor:pointer;color:#5f6368;flex-shrink:0;transition:all .12s}.expand-btn:hover{background:#f8f9fa}.expand-btn:active{transform:scale(.95)}.citation-content{padding:0 12px 12px;border-top:1px solid #f8f9fa}.snippet-section{margin-top:12px;padding:10px;background:#f8f9fa;border-radius:4px;border-left:3px solid #e8eaed}.snippet-text{font-size:13px;color:#5f6368;line-height:1.6;margin:0;white-space:pre-wrap;word-break:break-word}.metadata-section{margin-top:10px;display:flex;flex-direction:column;gap:6px}.metadata-item{display:flex;align-items:center;gap:8px;font-size:12px}.metadata-label{color:#80868b;font-weight:500;min-width:60px}.metadata-value{color:#5f6368;flex:1}.inline-citation{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:20px;padding:0 8px;margin:0 2px;background:#1a73e814;color:#1a73e8;border-radius:9999px;font-size:11px;font-weight:500;cursor:pointer;transition:all .12s cubic-bezier(.4,0,.2,1);vertical-align:baseline;border:1px solid rgba(26,115,232,.12)}.inline-citation:hover{background:#1a73e81f;border-color:#1a73e833;transform:scale(1.05)}.inline-citation:active{transform:scale(.98);background:#1a73e826}.inline-citation:focus{outline:2px solid rgba(26,115,232,.3);outline-offset:2px}@media(max-width:640px){.citations-section{padding:10px}.citation-header{padding:8px 10px}.citation-title{font-size:13px}.citation-meta{flex-wrap:wrap}.citation-content{padding:0 10px 10px}.snippet-text{font-size:12px}}.thinking-status-card{display:flex;align-items:flex-start;gap:12px;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative}.status-icon{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all .25s ease}.status-content{flex:1;min-width:0}.status-title{font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:4px;line-height:1.5}.status-description{font-size:12px;color:var(--text-tertiary);margin-bottom:12px;line-height:1.4}.status-animation{margin-top:12px}.elapsed-time{position:absolute;bottom:12px;right:16px;font-size:11px;color:var(--text-tertiary);opacity:.6;font-variant-numeric:tabular-nums}.status-icon.pulse{animation:icon-pulse 1.5s cubic-bezier(.4,0,.2,1) infinite;background:#1a73e81a;color:var(--primary)}@keyframes icon-pulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.pulse-dots{display:flex;gap:6px;align-items:center}.pulse-dots .dot{width:6px;height:6px;border-radius:50%;background:var(--primary);animation:dot-pulse 1.4s cubic-bezier(.4,0,.2,1) infinite}.pulse-dots .dot:nth-child(2){animation-delay:.2s}.pulse-dots .dot:nth-child(3){animation-delay:.4s}@keyframes dot-pulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.status-icon.skeleton{background:#34a8531a;color:#34a853}.skeleton-lines{display:flex;flex-direction:column;gap:8px}.skeleton-line{height:8px;border-radius:4px;background:linear-gradient(90deg,#f0f0f0 25%,#e8e8e8,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.status-icon.tree{background:#fbbc051a;color:#fbbc05;animation:icon-rotate 3s ease-in-out infinite}@keyframes icon-rotate{0%,to{transform:rotate(0) scale(1)}50%{transform:rotate(5deg) scale(1.05)}}.thinking-tree{position:relative;height:40px;display:flex;align-items:center;justify-content:flex-start}.tree-node{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--primary);opacity:0;animation:tree-expand 2s ease-out infinite}.tree-node.root{left:0;opacity:1;animation:none}.tree-node.child-1{left:20px;animation-delay:.3s}.tree-node.child-2{left:40px;animation-delay:.6s}.tree-node.child-3{left:60px;animation-delay:.9s}@keyframes tree-expand{0%{opacity:0;transform:scale(0)}50%{opacity:.8;transform:scale(1.2)}to{opacity:.3;transform:scale(1)}}.thinking-status-card.timeout{background:#ea43350d;border-color:#ea433533}.status-icon.timeout-icon{background:#ea43351a;color:#ea4335}.retry-btn{margin-top:12px;padding:6px 16px;font-size:13px;font-weight:500;color:#fff;background:var(--primary);border:none;border-radius:6px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.retry-btn:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #1a73e84d}.retry-btn:active{transform:translateY(0)}@media(max-width:768px){.thinking-status-card{padding:12px;gap:10px}.status-icon{width:28px;height:28px}.status-title{font-size:13px}.status-description{font-size:11px}}@media(prefers-color-scheme:dark){.thinking-status-card{background:var(--bg-secondary);border-color:var(--border-medium)}.skeleton-line{background:linear-gradient(90deg,#2a2a2a 25%,#3a3a3a,#2a2a2a 75%)}}.tool-pill-container{margin:4px 0;display:flex;flex-direction:column;align-items:flex-start;width:100%}.tool-pill{display:inline-flex;align-items:center;justify-content:space-between;padding:4px 10px;background-color:var(--bg-card);border:1px solid rgba(0,0,0,.06);border-radius:100px;cursor:pointer;transition:all .2s;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:13px;color:var(--text-secondary);gap:8px;max-width:100%}.tool-pill:hover{background-color:var(--bg-card-hover);border-color:#0000001a}.tool-pill-container.running .tool-pill{border-color:#1a73e833;background-color:#1a73e805}.tool-pill-container.error .tool-pill{border-color:#ea433533;color:#d93025}.tool-pill-left{display:flex;align-items:center;gap:6px;overflow:hidden;white-space:nowrap}.tool-icon-wrapper{display:flex;align-items:center;justify-content:center}.tool-icon-wrapper.spin svg{animation:spin 1s linear infinite}.tool-name{font-weight:500}.tool-summary{color:var(--text-tertiary);font-size:12px;overflow:hidden;text-overflow:ellipsis;max-width:200px}.tool-pill-right{display:flex;align-items:center;color:var(--text-tertiary);margin-left:4px}.tool-details{margin-top:8px;padding:12px;background-color:var(--bg-card-hover);border-radius:8px;font-family:Menlo,Monaco,monospace;font-size:12px;width:100%;animation:slideDown .2s ease-out}.detail-section{margin-bottom:8px}.detail-section:last-child{margin-bottom:0}.detail-label{font-weight:600;color:var(--text-tertiary);margin-bottom:4px;font-size:11px;text-transform:uppercase}.detail-content{margin:0;white-space:pre-wrap;word-break:break-all;color:var(--text-primary)}@keyframes slideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.content-block{padding:12px 0;border-bottom:1px solid rgba(0,0,0,.06);margin-bottom:0;transition:all .2s ease-in-out;position:relative;min-width:0;overflow:hidden;border-left:none!important}.content-block:last-child{border-bottom:none}.block-header{display:flex;align-items:center;justify-content:space-between;padding:4px 0;margin-bottom:8px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:opacity .2s}.block-header:focus{outline:none}.block-header:focus-visible{outline:none;box-shadow:0 0 0 3px #1a1a1a1a;border-radius:4px}.block-header:hover{opacity:.8}.block-header-left{display:flex;align-items:center;gap:8px}.block-header-left svg{width:14px;height:14px;color:var(--text-secondary);opacity:.8}.block-label{font-size:13px;font-weight:600;color:var(--text-tertiary);letter-spacing:.01em}.block-meta{font-size:12px;color:var(--text-tertiary);margin-left:8px}.content-block[data-type=answer]{padding-top:16px;border-bottom:none}.content-block[data-type=answer] .block-content{font-size:15px;line-height:1.7;color:var(--text-primary)}.content-block.thinking-block{background:var(--bg-card-hover);border-radius:8px;padding:12px 16px;margin:4px 0;border-bottom:none}.thinking-block .thinking-label{font-size:13px;font-weight:600;color:var(--text-tertiary);display:flex;align-items:center;gap:8px}.thinking-block .thinking-content{font-size:12px;line-height:1.5;color:var(--text-tertiary)}.thinking-block .thinking-content .markdown-paragraph{margin-bottom:6px}.thinking-block .thinking-content .content-block.code-block{margin:6px 0!important}.thinking-block .thinking-content pre{margin:4px 0!important}.thinking-content h1,.thinking-content h2,.thinking-content h3,.thinking-content h4{font-size:12px!important;font-weight:600!important;margin:6px 0 3px!important;color:var(--text-secondary)}.thinking-content p{margin-bottom:6px!important}.thinking-content ul,.thinking-content ol{margin-bottom:6px!important;padding-left:16px!important}.thinking-content li{margin-bottom:2px!important}.thinking-content pre{background:#00000008!important;border:1px solid rgba(0,0,0,.06)!important;border-radius:4px!important;padding:6px 8px!important;margin:6px 0!important}.thinking-content code{font-size:11px!important;font-family:Menlo,Monaco,Courier New,monospace;color:var(--text-secondary)!important}.thinking-pulse-inline{display:inline-block;width:6px;height:6px;border-radius:50%;background-color:var(--primary);animation:pulse-dot 1.5s infinite ease-in-out;margin-left:4px}@keyframes pulse-dot{0%,to{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.content-block.citation-block{padding:8px 0}.citation-block-label{font-size:12px;font-weight:500;color:var(--text-tertiary);margin-bottom:8px}.citation-item{padding:8px 12px;border-radius:6px;background:var(--bg-secondary);border:1px solid transparent;transition:all .2s}.citation-item:hover{background:var(--bg-card-hover);border-color:var(--border-light)}.citation-title{font-size:13px;font-weight:500;color:var(--text-secondary)}.content-block.document-block{margin:8px 0;border:1px solid var(--border-light);border-radius:8px;background-color:var(--bg-primary);overflow:hidden;transition:all .2s ease}.content-block.document-block:hover{border-color:var(--border-hover);box-shadow:0 2px 8px #0000000d}.content-block.document-block .block-header{padding:10px 12px;background-color:var(--bg-primary);border-bottom:1px solid var(--border-light);margin-bottom:0}.content-block.document-block.collapsed .block-header{border-bottom:none}.document-icon-container{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;background-color:#1976d214;color:#1976d2;margin-right:10px;flex-shrink:0}.document-info{display:flex;flex-direction:column;min-width:0}.document-title{font-size:14px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.document-meta{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-tertiary);margin-top:2px}.document-badge{background-color:var(--bg-secondary);padding:1px 4px;border-radius:3px;font-weight:500}.document-id{opacity:.8}.document-content{padding:12px 16px;font-size:13px;color:var(--text-secondary);background-color:var(--bg-secondary);line-height:1.6}.block-toggle{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:4px;color:var(--text-tertiary);transition:all .2s}.block-toggle:hover{background-color:#0000000d;color:var(--text-secondary)}.content-block.code-block{margin:12px 0;border-radius:8px;overflow:hidden}.content-block.artifact-block{margin:12px 0;border-radius:8px;border:1px solid var(--border-light);overflow:hidden}.artifact-block .block-header{padding:6px 12px;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-light);margin-bottom:0}.artifact-block .block-content{padding:0}.content-block[data-type=tool_call],.content-block[data-type=tool_result]{padding:4px 0;opacity:.8;transition:opacity .2s}.content-block[data-type=tool_call]:hover,.content-block[data-type=tool_result]:hover{opacity:1}.content-block[data-type=tool_call] .block-header,.content-block[data-type=tool_result] .block-header{margin-bottom:4px}.content-block[data-type=tool_call] .block-label,.content-block[data-type=tool_result] .block-label{font-size:12px;font-weight:500;color:var(--text-tertiary)}.content-block[data-type=tool_call] .block-content,.content-block[data-type=tool_result] .block-content{font-family:Menlo,Monaco,Courier New,monospace;font-size:11px;color:var(--text-tertiary);background:var(--bg-secondary);padding:6px 10px;border-radius:4px;margin-top:4px}.content-block.excalidraw-block{background:#fff;border:1px solid rgba(105,101,219,.2);border-radius:var(--radius-sm)}.excalidraw-block .block-header{background:#6965db0d;border-left:3px solid #6965db}.excalidraw-container{min-height:400px;background:#f8f9fa;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;padding:var(--space-8)}.excalidraw-placeholder{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);color:var(--text-secondary)}.excalidraw-placeholder p{margin:0;font-size:var(--font-size-md);font-weight:500}.excalidraw-hint{font-size:var(--font-size-sm)!important;color:var(--text-tertiary)!important}.excalidraw-fullscreen-overlay{position:fixed;inset:0;background:#000c;z-index:9999;display:flex;align-items:center;justify-content:center;padding:var(--space-8);animation:fadeIn .2s ease}.excalidraw-fullscreen-content{background:#fff;border-radius:var(--radius-md);width:90vw;height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.excalidraw-fullscreen-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border-light);font-weight:600;font-size:var(--font-size-lg)}.excalidraw-fullscreen-header button{background:transparent;border:none;cursor:pointer;padding:var(--space-2);border-radius:var(--radius-sm);color:var(--text-secondary);transition:all .2s}.excalidraw-fullscreen-header button:hover{background:var(--bg-secondary);color:var(--text-primary)}.excalidraw-fullscreen-body{flex:1;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#f8f9fa}.dimension-suggestion-card{background:#fff;border:1px solid var(--border-light);border-radius:12px;box-shadow:0 1px 3px #3c404314;overflow:hidden;margin-top:12px;animation:dimensionCardFadeIn .25s ease-out}@keyframes dimensionCardFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dimension-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-light);background:#fbbc040d}.dimension-header-left{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--text-primary)}.dimension-header-left svg{color:#fbbc04}.toggle-all-btn{display:flex;align-items:center;gap:6px;height:28px;padding:0 12px;border:1px solid var(--border-light);border-radius:6px;background:#fff;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .12s}.toggle-all-btn:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-medium)}.toggle-all-btn svg{transition:all .12s}.dimension-list{padding:8px;display:flex;flex-direction:column;gap:6px;max-height:300px;overflow-y:auto}.dimension-item{display:flex;align-items:flex-start;gap:12px;padding:12px;border:1px solid var(--border-light);border-radius:8px;background:#fff;cursor:pointer;transition:all .12s;text-align:left;width:100%}.dimension-item:hover{background:var(--bg-secondary);border-color:var(--border-medium)}.dimension-item.selected{background:#fbbc0414;border-color:#fbbc0466}.dimension-item.selected:hover{background:#fbbc041f}.dimension-checkbox{flex-shrink:0;width:16px;height:16px;margin-top:2px;color:var(--text-tertiary);transition:all .12s}.dimension-item.selected .dimension-checkbox{color:#fbbc04}.dimension-content{flex:1;min-width:0}.dimension-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:4px}.dimension-number{display:inline-flex;align-items:center;justify-content:center;min-width:50px;height:20px;padding:0 8px;border-radius:4px;background:#fbbc0426;color:#fbbc04;font-size:11px;font-weight:600;letter-spacing:.5px}.dimension-preview{font-size:13px;color:var(--text-secondary);line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.dimension-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-top:1px solid var(--border-light);background:var(--bg-secondary)}.dimension-footer-info{font-size:12px;color:var(--text-secondary)}.dimension-expand-btn{display:flex;align-items:center;gap:6px;height:32px;padding:0 16px;border:none;border-radius:9999px;background:#fbbc04;color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all .12s;box-shadow:0 1px 3px #fbbc044d}.dimension-expand-btn:hover:not(:disabled){background:#f4b400;transform:translateY(-1px);box-shadow:0 2px 6px #fbbc0466}.dimension-expand-btn:disabled{background:var(--border-medium);color:var(--text-tertiary);cursor:not-allowed;box-shadow:none}.dimension-list::-webkit-scrollbar{width:4px}.dimension-list::-webkit-scrollbar-track{background:transparent}.dimension-list::-webkit-scrollbar-thumb{background:#00000014;border-radius:2px}.dimension-list:hover::-webkit-scrollbar-thumb{background:#00000026}.reasoning-rating-container{display:flex;align-items:center;gap:8px;padding:8px 12px;background-color:var(--bg-secondary, #f0f2f5);border-radius:12px;margin-top:16px;box-shadow:var(--shadow-xs);border:1px solid var(--border-light)}.rating-button{display:flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:8px;background-color:transparent;border:1px solid var(--border-medium);color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-size:13px;font-weight:500}.rating-button:hover:not(:disabled){background-color:var(--bg-hover);border-color:var(--border-dark);color:var(--text-primary)}.rating-button.active{background-color:var(--primary-light);border-color:var(--primary);color:var(--primary-dark)}.rating-button.active:hover:not(:disabled){background-color:var(--primary-light-hover);border-color:var(--primary-dark)}.rating-button:disabled{opacity:.6;cursor:not-allowed}.adopt-button{background-color:var(--bg-primary);border-color:var(--border-light);color:var(--text-secondary);padding:6px 12px}.adopt-button.active{background-color:var(--success-light);border-color:var(--success);color:var(--success-dark)}.adopt-button.active:hover:not(:disabled){background-color:var(--success-light-hover);border-color:var(--success-dark)}.adopt-button svg{margin-right:4px}.save-as-skill-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .15s}.save-as-skill-dialog{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000001f;width:480px;max-width:90vw;max-height:80vh;overflow:hidden;animation:slideUp .2s cubic-bezier(.4,0,.2,1)}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-light, #e8eaed)}.dialog-title{display:flex;align-items:center;gap:8px}.dialog-icon{color:var(--primary, #1a73e8)}.dialog-title h3{margin:0;font-size:var(--font-size-lg, 18px);font-weight:600;color:var(--text-primary, #202124)}.dialog-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:8px;color:var(--text-secondary, #5f6368);cursor:pointer;transition:all .15s}.dialog-close:hover{background:var(--bg-secondary, #f8f9fa);color:var(--text-primary, #202124)}.dialog-body{padding:24px;overflow-y:auto;max-height:calc(80vh - 80px)}.form-group label{display:block;margin-bottom:8px;font-size:var(--font-size-sm, 13px);font-weight:500;color:var(--text-primary, #202124)}.form-group input[type=text],.form-group select{width:100%;height:40px;padding:0 12px;border:1px solid var(--border-medium, #dadce0);border-radius:8px;font-size:var(--font-size-base, 14px);color:var(--text-primary, #202124);background:#fff;transition:all .15s}.form-group input[type=text]:focus,.form-group select:focus{outline:none;border-color:var(--primary, #1a73e8);box-shadow:0 0 0 2px #1a73e81a}.form-group select{cursor:pointer}.checkbox-group label{display:flex;align-items:center;gap:8px;cursor:pointer}.checkbox-group input[type=checkbox]{width:16px;height:16px;cursor:pointer}.checkbox-group span{font-size:var(--font-size-sm, 13px);color:var(--text-secondary, #5f6368)}.content-preview{padding:12px;background:var(--bg-secondary, #f8f9fa);border-radius:8px;font-size:var(--font-size-sm, 13px);color:var(--text-secondary, #5f6368);line-height:1.5;max-height:120px;overflow-y:auto}.form-error{padding:12px;background:#ea43351a;border-radius:8px;font-size:var(--font-size-sm, 13px);color:var(--danger, #ea4335);margin-top:16px}.dialog-actions{display:flex;gap:12px;margin-top:24px}.btn-secondary,.btn-primary{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;height:40px;padding:0 20px;border:none;border-radius:8px;font-size:var(--font-size-base, 14px);font-weight:500;cursor:pointer;transition:all .15s}.btn-secondary{background:var(--bg-secondary, #f8f9fa);color:var(--text-primary, #202124)}.btn-secondary:hover:not(:disabled){background:var(--bg-tertiary, #e8eaed)}.btn-primary{background:var(--primary, #1a73e8);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-dark, #1557b0)}.btn-secondary:disabled,.btn-primary:disabled{opacity:.5;cursor:not-allowed}.loading-icon{animation:spin 1s linear infinite}.thought-node-card{position:relative;background:#fff;border-radius:10px;padding:0;margin-bottom:0;transition:border-color .12s ease,box-shadow .12s ease;cursor:default;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;animation:fadeInSlideUp .25s cubic-bezier(.4,0,.2,1) forwards}.thought-node-card.question-card,.thought-node-card.answer-card{border:1px solid #e4e4e7;box-shadow:0 1px 3px #0000000d}@keyframes fadeInSlideUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.thought-node-card.question-card:hover,.thought-node-card.answer-card:hover{background:#fff;border-color:#d4d4d8;box-shadow:0 1px 3px #00000014}.thought-node-card.active{border-color:#1a73e866;box-shadow:0 0 0 2px #1a73e814}.thought-node-card.generating{opacity:.95}.thought-node-card.just-completed{animation:subtle-complete .25s ease-out}@keyframes subtle-complete{0%{opacity:.95}to{opacity:1}}.node-actions{position:absolute;top:var(--space-3);right:-180px;display:flex;align-items:center;gap:var(--space-1);opacity:0;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--space-1);box-shadow:var(--shadow-md);transform:translateY(-4px);transition:opacity var(--transition-base),transform var(--transition-base);z-index:10}.node-actions.node-actions-double{flex-direction:column;gap:var(--space-1);padding:var(--space-1-5);right:-210px}.node-actions-row{display:flex;align-items:center;gap:var(--space-1)}.node-actions-secondary{opacity:.9}.thought-node-card:hover .node-actions{opacity:1;transform:translateY(0)}@media(max-width:768px){.node-actions{opacity:1;visibility:visible;position:relative;top:auto;right:auto;margin-top:var(--space-2);transform:translateY(0)}}.node-actions:hover{opacity:1;transform:translateY(0)}.action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);background:transparent;border:none;cursor:pointer;color:var(--text-secondary);transition:all var(--transition-fast)}.action-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.action-btn:active{transform:scale(.98)}.action-btn.active{background:#1a73e81a;color:var(--primary)}.action-btn.danger:hover{background:#ea43351a;color:var(--danger)}.action-divider{width:1px;height:16px;background:var(--border-light);margin:0 var(--space-1)}.node-content-wrapper{display:flex;gap:var(--space-3);padding:0;align-items:flex-start}.node-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;margin-left:-44px;margin-top:14px;z-index:1;transition:transform var(--transition-base)}.user-avatar{background:var(--bg-secondary);border:1px solid var(--border-light)}.ai-avatar{background:var(--bg-primary);border:1px solid var(--border-light)}.node-body{flex:1;min-width:0;line-height:1.6;color:var(--text-primary);padding:20px var(--space-4) 20px var(--space-4);overflow:hidden;cursor:text}.node-header{display:none}.node-author{font-size:var(--font-size-base);font-weight:600;color:var(--text-primary)}.node-timestamp{font-size:var(--font-size-xs);color:var(--text-tertiary)}.node-status-badge{font-size:var(--font-size-xs);font-weight:500;padding:var(--space-1) var(--space-2);border-radius:var(--radius-full)}.node-status-badge.pruned{background:#9e9e9e1a;color:#666}.node-status-badge.selected{background:#34a8531a;color:var(--accent)}.node-text{position:relative;font-size:var(--font-size-base);line-height:1.6;color:var(--text-primary);margin-bottom:0;min-width:0;overflow-wrap:break-word;word-break:break-word;cursor:text}.node-text p{margin-bottom:var(--space-2);margin-top:0;text-indent:0;padding-left:0}.node-text p:last-child{margin-bottom:0}.node-text ul,.node-text ol{margin:var(--space-2) 0;padding-left:24px;text-indent:0}.node-text li{margin-bottom:var(--space-1);text-indent:0}.node-text code{background:var(--bg-secondary);padding:var(--space-1) var(--space-2);border-radius:var(--radius-xs);font-size:14px;font-family:Courier New,monospace}.node-text pre{background:var(--bg-secondary);padding:12px;border-radius:var(--radius-sm);overflow-x:auto;margin:8px 0}.content-blocks{display:flex;flex-direction:column;gap:8px;min-height:40px;min-width:0;overflow:hidden}.generating-hint{display:flex;align-items:center;gap:8px;padding:12px 16px;color:var(--text-tertiary);font-size:var(--font-size-sm);background:var(--bg-secondary);border-radius:var(--radius-sm);margin-top:4px}.generating-hint-icon{display:flex;align-items:center}.dot-flashing{position:relative;width:8px;height:8px;border-radius:4px;background-color:var(--primary);animation:dot-flashing 1s infinite linear alternate}.dot-flashing:before,.dot-flashing:after{content:"";display:inline-block;position:absolute;top:0;width:8px;height:8px;border-radius:4px;background-color:var(--primary);animation:dot-flashing 1s infinite alternate}.dot-flashing:before{left:-12px;animation-delay:0s}.dot-flashing:after{left:12px;animation-delay:1s}@keyframes dot-flashing{0%{opacity:.2}50%,to{opacity:1}}.node-edit-btn{position:absolute;top:0;right:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--border-light);border-radius:var(--radius-sm);cursor:pointer;opacity:0;transition:all .2s}.node-text:hover .node-edit-btn{opacity:1}.node-edit-btn:hover{background:var(--bg-secondary);border-color:var(--primary);color:var(--primary)}.node-edit-area{margin-bottom:12px}.node-edit-input{width:100%;padding:12px;border:1px solid var(--border-medium);border-radius:var(--radius-sm);font-size:var(--font-size-md);font-family:inherit;line-height:1.6;resize:vertical;transition:all .2s}.node-edit-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #1a73e81a}.node-edit-actions{display:flex;gap:8px;margin-top:8px;justify-content:flex-end}.btn-primary,.btn-secondary{padding:8px 16px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary{background:var(--primary);color:#fff;border:none}.btn-primary:hover{background:var(--primary-dark)}.node-feedback{background:#fbbc040d;border-left:3px solid var(--warning);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);margin-top:12px;font-size:13px;line-height:1.5}.node-feedback strong{color:var(--warning);font-weight:600}.node-feedback p{margin:4px 0 0;color:var(--text-secondary)}.node-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:12px}.node-tag{font-size:var(--font-size-xs);font-weight:500;color:var(--primary);background:#1a73e814;padding:3px 8px;border-radius:var(--radius-full);transition:all .2s;cursor:pointer}.node-tag:hover{background:#1a73e826}.node-generating-overlay{position:absolute;inset:0;background:#fffffff2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border-radius:var(--radius-md);z-index:20}.generating-spinner{width:40px;height:40px;border:3px solid rgba(26,115,232,.1);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}.node-generating-overlay span{font-size:14px;font-weight:500;color:var(--primary)}@media(max-width:768px){.thought-node-card{padding:12px}.node-content-wrapper{gap:12px}.node-avatar{width:32px;height:32px}.node-icon{font-size:16px}.node-actions{position:relative;opacity:1;margin-bottom:8px;width:100%}}.thinking-card{opacity:.75;background:linear-gradient(135deg,#9b72cb0d,#4285f40d);border:1px dashed var(--border-medium);box-shadow:none}.thinking-card:hover{opacity:.9;box-shadow:var(--shadow-xs)}.thinking-card.generating{opacity:.6;animation:thinking-pulse 2s ease-in-out infinite}@keyframes thinking-pulse{0%,to{opacity:.6}50%{opacity:.8}}.thinking-avatar{background:#9b72cb1a!important}.thinking-label{color:var(--primary);font-style:italic;font-size:13px}.thinking-text{font-size:13px;color:var(--text-secondary);font-style:italic;max-height:200px;overflow-y:auto;cursor:text}.thinking-placeholder{display:flex;align-items:center;gap:12px;color:var(--text-tertiary);font-size:13px;font-style:italic}.thinking-spinner{width:16px;height:16px;border:2px solid rgba(26,115,232,.2);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}.branch-menu{background:#fff;border-radius:var(--radius-md);box-shadow:0 4px 12px #00000026;padding:8px;min-width:180px;border:1px solid var(--border-light)}.branch-menu-header{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:500;color:var(--text-primary);border-bottom:1px solid var(--border-light);margin-bottom:4px}.branch-menu-item{width:100%;padding:8px 12px;background:transparent;border:none;border-radius:var(--radius-sm);text-align:left;font-size:14px;color:var(--text-secondary);cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:8px}.branch-menu-item:hover{background:var(--bg-secondary);color:var(--text-primary)}.branch-menu-item:active{background:#1a73e81a;color:var(--primary)}.branch-menu-divider{height:1px;background:var(--border-light);margin:4px 0}.branch-menu-custom{padding:8px 12px}.branch-custom-input{width:100%;height:32px;padding:0 12px;border:1px solid var(--border-light);border-radius:var(--radius-sm);font-size:13px;color:var(--text-primary);transition:all .15s}.branch-custom-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #1a73e81a}.branch-custom-input::-moz-placeholder{color:var(--text-tertiary)}.branch-custom-input::placeholder{color:var(--text-tertiary)}.action-btn.branch-btn{display:flex;align-items:center;gap:6px;padding:0 8px;white-space:nowrap}.action-btn.branch-btn .btn-text{font-size:13px;font-weight:500;flex-shrink:0}.branch-btn-wrapper{position:relative;display:inline-flex}.branch-dropdown{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);background:#fff;border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-1);z-index:1001;min-width:160px;animation:dropdownFadeIn .12s ease-out}.branch-dropdown button{display:block;width:100%;padding:var(--space-2) var(--space-3);text-align:left;background:transparent;border:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--text-primary);cursor:pointer;transition:background .12s ease}.branch-dropdown button:hover{background:var(--bg-secondary);color:var(--primary)}@keyframes dropdownFadeIn{0%{opacity:0;transform:translate(-50%) translateY(-4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.branch-tooltip{position:absolute;top:calc(100% + 12px);left:50%;transform:translate(-50%);width:280px;background:#fff;border-radius:12px;box-shadow:0 8px 24px #3c404340;padding:16px;z-index:1001;border:1px solid var(--border-light);animation:tooltipFadeIn .25s ease-out}.branch-tooltip:before{content:"";position:absolute;top:-6px;left:50%;transform:translate(-50%);width:12px;height:12px;background:#fff;border:1px solid var(--border-light);border-right:none;border-bottom:none;transform:translate(-50%) rotate(45deg)}.branch-tooltip .tooltip-close{position:absolute;top:12px;right:12px;width:24px;height:24px;border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .12s}.branch-tooltip .tooltip-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.branch-tooltip .tooltip-header{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.branch-tooltip .tooltip-header svg{color:#fbbc04}.branch-tooltip p{font-size:13px;line-height:1.5;color:var(--text-secondary);margin:0 0 12px}.branch-tooltip .tooltip-action{width:100%;height:32px;border:none;border-radius:8px;background:var(--primary);color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all .12s}.branch-tooltip .tooltip-action:hover{background:var(--primary-dark)}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.text-selection-toolbar{position:fixed;z-index:1100;display:flex;align-items:center;gap:4px;padding:4px;background:#fff;border:1px solid var(--border-light);border-radius:8px;box-shadow:0 4px 12px #00000026;width:-moz-max-content;width:max-content;min-width:-moz-fit-content;min-width:fit-content;max-width:90vw;pointer-events:auto;animation:toolbar-fade-in-bottom .15s cubic-bezier(.4,0,.2,1)}@keyframes toolbar-fade-in-bottom{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.text-selection-toolbar[data-placement=above]{animation:toolbar-fade-in-top .15s cubic-bezier(.4,0,.2,1)}@keyframes toolbar-fade-in-top{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.toolbar-separator{width:1px;height:20px;background:var(--border-light);margin:0 4px}.dnd-thinking-canvas{position:relative;width:100%;height:100%;min-width:400px;overflow-x:auto;overflow-y:auto;background:var(--bg-primary, #ffffff)}.dnd-thinking-canvas::-webkit-scrollbar{width:6px;height:6px}.dnd-thinking-canvas::-webkit-scrollbar-track{background:transparent}.dnd-thinking-canvas::-webkit-scrollbar-thumb{background:transparent;border-radius:3px;-webkit-transition:background .2s ease;transition:background .2s ease}.dnd-thinking-canvas:hover::-webkit-scrollbar-thumb{background:#00000026}.dnd-thinking-canvas::-webkit-scrollbar-thumb:hover{background:#00000040}.dnd-thinking-canvas::-webkit-scrollbar-thumb:active{background:#00000059}.swimlanes-container{display:flex;flex-direction:row;min-height:100vh;min-width:-moz-fit-content;min-width:fit-content;position:relative;z-index:1}.swimlane-column{flex-shrink:0;min-width:320px;position:relative}.connection-lines-svg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2}.dnd-thinking-canvas .thought-node-card{transition:transform .2s cubic-bezier(.4,0,.2,1),opacity .2s cubic-bezier(.4,0,.2,1)}.dnd-thinking-canvas .thought-node-card:active{cursor:grabbing}.dnd-thinking-canvas .sortable-ghost{opacity:.4}.dnd-thinking-canvas .sortable-drag{opacity:.8;cursor:grabbing}.at-cascade-panel{background:#fff;border-radius:8px;box-shadow:0 4px 16px #0000001f,0 0 0 1px #0000000d;width:320px;max-height:400px;display:flex;flex-direction:column;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.at-cascade-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--border-light);background:var(--bg-tertiary);flex-shrink:0}.at-cascade-title{font-size:12px;font-weight:600;color:var(--text-primary);letter-spacing:.02em}.at-cascade-hint{font-size:10px;color:var(--text-tertiary);font-family:SF Mono,Menlo,Monaco,Courier New,monospace}.at-cascade-back{display:flex;align-items:center;gap:4px;padding:2px 6px;border:none;background:transparent;color:var(--text-secondary);font-size:11px;cursor:pointer;border-radius:4px;transition:all .12s ease}.at-cascade-back:hover{background:var(--bg-secondary);color:var(--text-primary)}.at-cascade-list{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;padding:4px}.at-cascade-section{display:flex;align-items:center;gap:6px;padding:6px 8px;font-size:10px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-top:4px}.at-cascade-section svg{opacity:.6}.at-cascade-divider{height:1px;background:var(--border-light);margin:6px 0}.at-cascade-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border:none;background:transparent;color:var(--text-primary);font-size:13px;cursor:pointer;border-radius:6px;transition:background .12s ease;width:100%;text-align:left;position:relative}.at-cascade-item:hover,.at-cascade-item.selected{background:var(--bg-secondary)}.at-cascade-item.category{font-weight:500}.at-cascade-item-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--text-secondary);flex-shrink:0}.at-cascade-item.selected .at-cascade-item-icon{color:var(--primary)}.at-cascade-item-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.at-cascade-item-name{font-size:13px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.at-cascade-item-description{font-size:11px;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.at-cascade-item-arrow{display:flex;align-items:center;color:var(--text-tertiary);opacity:0;transition:opacity .12s ease;flex-shrink:0}.at-cascade-item:hover .at-cascade-item-arrow,.at-cascade-item.selected .at-cascade-item-arrow{opacity:1}.at-cascade-list::-webkit-scrollbar{width:6px}.at-cascade-list::-webkit-scrollbar-track{background:transparent}.at-cascade-list::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:3px}.at-cascade-list::-webkit-scrollbar-thumb:hover{background:var(--border-dark)}.at-cascade-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px;color:var(--text-tertiary);font-size:13px;text-align:center}.at-cascade-empty svg{margin-bottom:12px;opacity:.3}@media(max-width:768px){.at-cascade-panel{width:280px;max-height:350px}}.context-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px 2px 6px;border-radius:9999px;font-size:13px;line-height:1.4;font-weight:500;white-space:nowrap;vertical-align:middle;cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all .12s ease;margin:0 2px}.pill-file{background:#1a73e81f;color:#1557b0;border:1px solid rgba(26,115,232,.2)}.pill-file:hover{background:#1a73e829;border-color:#1a73e840}.pill-kb{background:#34a8531f;color:#0d652d;border:1px solid rgba(52,168,83,.2)}.pill-kb:hover{background:#34a85329;border-color:#34a85340}.pill-kb_search{background:#fbbc041f;color:#b06000;border:1px solid rgba(251,188,4,.2)}.pill-kb_search:hover{background:#fbbc0429;border-color:#fbbc0440}.pill-web{background:#ea43351f;color:#a50e0e;border:1px solid rgba(234,67,53,.2)}.pill-web:hover{background:#ea433529;border-color:#ea433540}.pill-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.pill-text{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pill-remove{display:flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;margin:0;border:none;background:transparent;border-radius:3px;cursor:pointer;opacity:.6;transition:all .12s ease;flex-shrink:0}.pill-remove:hover{opacity:1;background:#00000014}.context-pill *{-moz-user-select:none;user-select:none;-webkit-user-select:none}.quote-block-wrapper{display:inline-block;width:100%;margin:4px 0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.quote-block{background:var(--editor-bg-secondary, #f5f5f5);border-left:3px solid var(--border-medium, #dadce0);border-radius:6px;padding:8px 10px;font-size:12px;color:var(--text-secondary, #5f6368);display:flex;flex-direction:column;gap:4px;transition:background .2s ease}.quote-block:hover{background:var(--editor-bg-hover, #ebebeb)}@media(prefers-color-scheme:dark){.quote-block{background:var(--editor-bg-secondary, #2c2c2c);border-left-color:var(--border-medium-dark, #5f6368);color:var(--text-secondary, #9aa0a6)}.quote-block:hover{background:var(--editor-bg-hover, #3c3c3c)}}.quote-block-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.quote-block-file-info{display:flex;align-items:center;gap:4px;font-weight:500;color:var(--text-secondary, #5f6368);flex:1;min-width:0}.quote-block-file-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quote-block-remove-btn{background:transparent;border:none;color:var(--text-tertiary, #80868b);cursor:pointer;padding:2px;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s ease}.quote-block-remove-btn:hover{background:var(--error-bg, rgba(234, 67, 53, .1));color:var(--error-color, #ea4335)}.quote-block-remove-btn:active{transform:scale(.95)}.quote-block-content{font-size:11px;line-height:1.5;color:var(--text-secondary, #5f6368);white-space:pre-wrap;word-break:break-word;max-height:120px;overflow-y:auto;padding-right:4px}.quote-block-content::-webkit-scrollbar{width:4px}.quote-block-content::-webkit-scrollbar-track{background:transparent}.quote-block-content::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb, #dadce0);border-radius:2px}.quote-block-content::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover, #bdc1c6)}@media(prefers-color-scheme:dark){.quote-block-content::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb, #5f6368)}.quote-block-content::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover, #80868b)}}.contenteditable-input-wrapper{position:relative;width:100%}.contenteditable-input{min-height:32px;max-height:200px;padding:6px 8px;font-size:14px;line-height:1.6;color:var(--text-primary, #202124);background:transparent;border:none;border-radius:0;outline:none;overflow-y:auto;word-wrap:break-word;white-space:pre-wrap;transition:all .15s ease;cursor:text}.contenteditable-input:empty:before{content:attr(data-placeholder);color:var(--text-tertiary, #80868b);pointer-events:none}.contenteditable-input:focus{outline:none}.contenteditable-input.disabled{opacity:.6;cursor:not-allowed;background:var(--bg-secondary, #f8f9fa)}.contenteditable-input .context-pill,.contenteditable-input .context-pill-wrapper{display:inline-flex;vertical-align:middle;-moz-user-select:none;user-select:none;-webkit-user-select:none}.contenteditable-input .context-pill-wrapper *{-moz-user-select:none;user-select:none;-webkit-user-select:none}.contenteditable-input .quote-block-inline-wrapper{display:block;margin:4px 0;-moz-user-select:none;user-select:none;-webkit-user-select:none}.contenteditable-input::-webkit-scrollbar{width:6px}.contenteditable-input::-webkit-scrollbar-track{background:transparent}.contenteditable-input::-webkit-scrollbar-thumb{background:var(--border-medium, #dadce0);border-radius:3px}.contenteditable-input::-webkit-scrollbar-thumb:hover{background:var(--border-dark, #bdc1c6)}.attachment-preview{display:flex;flex-wrap:wrap;gap:8px;padding:4px 8px 8px;animation:fadeIn .2s ease-out}.attachment-item{display:flex;align-items:center;gap:8px;background:var(--bg-secondary, #f8f9fa);padding:6px 10px;border-radius:12px;border:1px solid var(--border-light, #e8eaed);position:relative;max-width:200px;transition:all .12s cubic-bezier(.4,0,.2,1)}.attachment-item:hover{border-color:var(--border-medium, #dadce0);background:var(--bg-tertiary, #f1f3f4)}.attachment-thumbnail{width:24px;height:24px;border-radius:6px;background:#fff;display:flex;align-items:center;justifycontent:center;overflow:hidden;flex-shrink:0}.attachment-thumbnail--clickable{cursor:zoom-in}.attachment-thumbnail--clickable:hover{transform:scale(1.05)}.attachment-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.attachment-icon{color:#5f6368}.attachment-icon--image{color:#10b981}.attachment-icon--document{color:#1a73e8}.attachment-icon--data{color:#9333ea}.attachment-name{fontSize:12px;color:var(--text-primary, #202124);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.attachment-remove{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;background:transparent;color:#5f6368;border-radius:4px;cursor:pointer;transition:all .12s cubic-bezier(.4,0,.2,1);flex-shrink:0}.attachment-remove:hover{background:#0000000d;color:#dc2626}.attachment-remove:active{transform:scale(.9)}.attachment-remove:focus-visible{outline:2px solid var(--primary-color, #1a73e8);outline-offset:2px}.tiptap-wrapper{width:100%;height:100%;overflow-y:auto;background:var(--bg-primary)}.tiptap-editor{padding:24px;font-size:15px;line-height:1.7;color:var(--text-primary);outline:none;min-height:100%}.tiptap-editor p.is-editor-empty:first-child:before{content:attr(placeholder);float:left;color:var(--text-tertiary);pointer-events:none;height:0}.tiptap-editor h1{font-size:2em;font-weight:700;line-height:1.3;margin:1.5em 0 .5em;color:var(--text-primary)}.tiptap-editor h1:first-child{margin-top:0}.tiptap-editor h2{font-size:1.5em;font-weight:600;line-height:1.3;margin:1.5em 0 .5em;color:var(--text-primary)}.tiptap-editor h3{font-size:1.25em;font-weight:600;line-height:1.3;margin:1em 0 .5em;color:var(--text-primary)}.tiptap-editor h4{font-size:1.1em;font-weight:600;line-height:1.3;margin:1em 0 .5em;color:var(--text-primary)}.tiptap-editor h5,.tiptap-editor h6{font-size:1em;font-weight:600;line-height:1.3;margin:.8em 0 .4em;color:var(--text-primary)}.tiptap-editor p{margin:.75em 0;line-height:1.7}.tiptap-editor strong{font-weight:600;color:var(--text-primary)}.tiptap-editor em{font-style:italic}.tiptap-editor s{text-decoration:line-through;opacity:.6}.tiptap-editor code{font-family:var(--font-mono, "SF Mono", "Monaco", "Consolas", monospace);font-size:.9em;background:#f5f5f5;color:#e01e5a;padding:2px 6px;border-radius:4px;font-weight:400}.tiptap-editor pre{background:#f5f5f5;border-radius:8px;padding:16px;margin:1em 0;overflow-x:auto;font-family:var(--font-mono, "SF Mono", "Monaco", "Consolas", monospace);font-size:.9em;line-height:1.5}.tiptap-editor pre code{background:transparent;color:var(--text-primary);padding:0;border-radius:0}.tiptap-link{color:#1a73e8;text-decoration:underline;cursor:pointer;transition:color .12s ease}.tiptap-link:hover{color:#1557b0}.tiptap-editor ul,.tiptap-editor ol{padding-left:1.5em;margin:.75em 0}.tiptap-editor ul{list-style-type:disc}.tiptap-editor ol{list-style-type:decimal}.tiptap-editor li{margin:.25em 0;line-height:1.7}.tiptap-editor li p{margin:0}.tiptap-editor ul[data-type=taskList]{list-style:none;padding-left:0}.tiptap-editor ul[data-type=taskList] li{display:flex;align-items:flex-start;gap:8px}.tiptap-editor ul[data-type=taskList] li>label{flex:0 0 auto;margin-top:4px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tiptap-editor ul[data-type=taskList] li>div{flex:1}.tiptap-editor ul[data-type=taskList] input[type=checkbox]{cursor:pointer}.tiptap-editor blockquote{border-left:4px solid #e8eaed;padding-left:16px;margin:1em 0;color:var(--text-secondary);font-style:italic}.tiptap-editor blockquote p{margin:.5em 0}.tiptap-editor hr{border:none;border-top:1px solid #e8eaed;margin:1.5em 0}.tiptap-image{max-width:100%;height:auto;border-radius:8px;margin:1em 0;display:block}.tiptap-editor table{border-collapse:collapse;width:100%;margin:16px 0;overflow:hidden;font-size:13px}.tiptap-editor thead{background:var(--bg-secondary, #f8f9fa)}.tiptap-editor th{padding:8px 10px;text-align:left;font-weight:600;color:var(--text-primary);border-bottom:2px solid var(--border-medium, #dadce0);position:relative}.tiptap-editor td{padding:8px 10px;border-bottom:1px solid var(--border-light, #e8eaed);vertical-align:top;position:relative}.tiptap-editor tr:last-child td{border-bottom:none}.tiptap-editor tr:hover{background:#00000005}.tiptap-editor .column-resize-handle{position:absolute;right:-2px;top:0;bottom:0;width:4px;z-index:20;background-color:#1a73e8;pointer-events:none}.tiptap-editor .resize-cursor{cursor:col-resize}.tiptap-wrapper.dark{background:var(--bg-primary-dark, #1a1a1a)}.tiptap-wrapper.dark .tiptap-editor{color:var(--text-primary-dark, #e8e8e8)}.tiptap-wrapper.dark code{background:#2a2a2a;color:#ff6b9d}.tiptap-wrapper.dark pre{background:#2a2a2a}.tiptap-wrapper.dark blockquote{border-left-color:#444;color:var(--text-secondary-dark, #999)}.tiptap-wrapper.dark hr{border-top-color:#444}.tiptap-wrapper.dark th{background:#2a2a2a}.tiptap-wrapper.dark td,.tiptap-wrapper.dark th{border-color:#444}.tiptap-editor .ProseMirror-focused{outline:none}.tiptap-editor ::-moz-selection{background:#1a73e833}.tiptap-editor ::selection{background:#1a73e833}.tiptap-editor.is-empty:before{content:attr(data-placeholder);float:left;color:var(--text-tertiary);pointer-events:none;height:0}.tiptap-wrapper{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.08) transparent}.tiptap-wrapper::-webkit-scrollbar{width:4px;height:4px}.tiptap-wrapper::-webkit-scrollbar-track{background:transparent}.tiptap-wrapper::-webkit-scrollbar-thumb{background:#00000014;border-radius:2px;-webkit-transition:background .2s ease;transition:background .2s ease}.tiptap-wrapper:hover::-webkit-scrollbar-thumb{background:#00000026}.tiptap-wrapper::-webkit-scrollbar-thumb:hover{background:#00000040}.tiptap-wrapper::-webkit-scrollbar-thumb:active{background:#00000059}.excalidraw-editor{width:100%;height:100%;position:relative;background:var(--bg-primary, #ffffff)}.excalidraw-editor .excalidraw{--color-primary: #1a73e8;--color-primary-darker: #1557b0;--color-primary-darkest: #0d47a1;--color-primary-light: #4285f4;--color-surface-primary: #ffffff;--color-surface-secondary: #f8f9fa;--color-border: #e8eaed;--color-text-primary: #202124;--color-text-secondary: #5f6368;--color-text-tertiary: #80868b}.excalidraw-editor .excalidraw .excalidraw-container{height:100%}.text-selection-toolbar{position:fixed;z-index:1100;display:flex;align-items:center;gap:4px;padding:4px;background:#fff;border:1px solid var(--border-light);border-radius:8px;box-shadow:0 4px 12px #00000026;width:-moz-max-content;width:max-content;min-width:-moz-fit-content;min-width:fit-content;max-width:90vw;pointer-events:auto;animation:toolbar-fade-in .15s cubic-bezier(.4,0,.2,1)}@keyframes toolbar-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.toolbar-btn{display:flex;align-items:center;gap:6px;height:32px;padding:0 12px;width:auto;min-width:32px;font-size:13px;font-weight:500;color:var(--text-secondary);background:transparent;border:none;border-radius:6px;cursor:pointer;transition:all .12s ease}.toolbar-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.toolbar-btn:active{transform:scale(.98)}.toolbar-btn-primary{color:#fff;background:var(--primary)}.toolbar-btn-primary:hover{background:var(--primary-dark);color:#fff}.toolbar-btn span{white-space:nowrap}.reveal .r-stretch,.reveal .stretch{max-width:none;max-height:none}.reveal pre.r-stretch code,.reveal pre.stretch code{height:100%;max-height:100%;box-sizing:border-box}.reveal .r-fit-text{display:inline-block;white-space:nowrap}.reveal .r-stack{display:grid;grid-template-rows:100%}.reveal .r-stack>*{grid-area:1/1;margin:auto}.reveal .r-hstack,.reveal .r-vstack{display:flex}.reveal .r-hstack img,.reveal .r-hstack video,.reveal .r-vstack img,.reveal .r-vstack video{min-width:0;min-height:0;object-fit:contain}.reveal .r-vstack{flex-direction:column;align-items:center;justify-content:center}.reveal .r-hstack{flex-direction:row;align-items:center;justify-content:center}.reveal .items-stretch{align-items:stretch}.reveal .items-start{align-items:flex-start}.reveal .items-center{align-items:center}.reveal .items-end{align-items:flex-end}.reveal .justify-between{justify-content:space-between}.reveal .justify-around{justify-content:space-around}.reveal .justify-start{justify-content:flex-start}.reveal .justify-center{justify-content:center}.reveal .justify-end{justify-content:flex-end}html.reveal-full-page{width:100%;height:100%;height:100vh;height:calc(var(--vh,1vh) * 100);height:100dvh;overflow:hidden}.reveal-viewport{height:100%;overflow:hidden;position:relative;line-height:1;margin:0;background-color:#fff;color:#000;--r-controls-spacing:12px;--r-overlay-header-height:40px;--r-overlay-margin:0px;--r-overlay-padding:6px;--r-overlay-gap:5px}@media screen and (max-width:1024px),(max-height:768px){.reveal-viewport{--r-overlay-header-height:26px}}.reveal-viewport:fullscreen{top:0!important;left:0!important;width:100%!important;height:100%!important;transform:none!important}.reveal .fragment{transition:all .2s ease}.reveal .fragment:not(.custom){opacity:0;visibility:hidden;will-change:opacity}.reveal .fragment.visible{opacity:1;visibility:inherit}.reveal .fragment.disabled{transition:none}.reveal .fragment.grow{opacity:1;visibility:inherit}.reveal .fragment.grow.visible{transform:scale(1.3)}.reveal .fragment.shrink{opacity:1;visibility:inherit}.reveal .fragment.shrink.visible{transform:scale(.7)}.reveal .fragment.zoom-in{transform:scale(.1)}.reveal .fragment.zoom-in.visible{transform:none}.reveal .fragment.fade-out{opacity:1;visibility:inherit}.reveal .fragment.fade-out.visible{opacity:0;visibility:hidden}.reveal .fragment.semi-fade-out{opacity:1;visibility:inherit}.reveal .fragment.semi-fade-out.visible{opacity:.5;visibility:inherit}.reveal .fragment.strike{opacity:1;visibility:inherit}.reveal .fragment.strike.visible{text-decoration:line-through}.reveal .fragment.fade-up{transform:translateY(40px)}.reveal .fragment.fade-up.visible{transform:translate(0)}.reveal .fragment.fade-down{transform:translateY(-40px)}.reveal .fragment.fade-down.visible{transform:translate(0)}.reveal .fragment.fade-right{transform:translate(-40px)}.reveal .fragment.fade-right.visible{transform:translate(0)}.reveal .fragment.fade-left{transform:translate(40px)}.reveal .fragment.fade-left.visible{transform:translate(0)}.reveal .fragment.current-visible,.reveal .fragment.fade-in-then-out{opacity:0;visibility:hidden}.reveal .fragment.current-visible.current-fragment,.reveal .fragment.fade-in-then-out.current-fragment{opacity:1;visibility:inherit}.reveal .fragment.fade-in-then-semi-out{opacity:0;visibility:hidden}.reveal .fragment.fade-in-then-semi-out.visible{opacity:.5;visibility:inherit}.reveal .fragment.fade-in-then-semi-out.current-fragment,.reveal .fragment.highlight-blue,.reveal .fragment.highlight-current-blue,.reveal .fragment.highlight-current-green,.reveal .fragment.highlight-current-red,.reveal .fragment.highlight-green,.reveal .fragment.highlight-red{opacity:1;visibility:inherit}.reveal .fragment.highlight-red.visible{color:#ff2c2d}.reveal .fragment.highlight-green.visible{color:#17ff2e}.reveal .fragment.highlight-blue.visible{color:#1b91ff}.reveal .fragment.highlight-current-red.current-fragment{color:#ff2c2d}.reveal .fragment.highlight-current-green.current-fragment{color:#17ff2e}.reveal .fragment.highlight-current-blue.current-fragment{color:#1b91ff}.reveal:after{content:"";font-style:italic}.reveal iframe{z-index:1}.reveal a{position:relative}@keyframes bounce-right{0%,10%,25%,40%,50%{transform:translate(0)}20%{transform:translate(10px)}30%{transform:translate(-5px)}}@keyframes bounce-left{0%,10%,25%,40%,50%{transform:translate(0)}20%{transform:translate(-10px)}30%{transform:translate(5px)}}@keyframes bounce-down{0%,10%,25%,40%,50%{transform:translateY(0)}20%{transform:translateY(10px)}30%{transform:translateY(-5px)}}.reveal .controls{display:none;position:absolute;top:auto;bottom:var(--r-controls-spacing);right:var(--r-controls-spacing);left:auto;z-index:11;color:#000;pointer-events:none;font-size:10px}.reveal .controls button{position:absolute;padding:0;background-color:transparent;border:0;outline:0;cursor:pointer;color:currentColor;transform:scale(.9999);transition:color .2s ease,opacity .2s ease,transform .2s ease;z-index:2;pointer-events:auto;font-size:inherit;visibility:hidden;opacity:0;-webkit-appearance:none;-webkit-tap-highlight-color:transparent}.reveal .controls .controls-arrow:after,.reveal .controls .controls-arrow:before{content:"";position:absolute;top:0;left:0;width:2.6em;height:.5em;border-radius:.25em;background-color:currentColor;transition:all .15s ease,background-color .8s ease;transform-origin:.2em 50%;will-change:transform}.reveal .controls .controls-arrow{position:relative;width:3.6em;height:3.6em}.reveal .controls .controls-arrow:before{transform:translate(.5em) translateY(1.55em) rotate(45deg)}.reveal .controls .controls-arrow:after{transform:translate(.5em) translateY(1.55em) rotate(-45deg)}.reveal .controls .controls-arrow:hover:before{transform:translate(.5em) translateY(1.55em) rotate(40deg)}.reveal .controls .controls-arrow:hover:after{transform:translate(.5em) translateY(1.55em) rotate(-40deg)}.reveal .controls .controls-arrow:active:before{transform:translate(.5em) translateY(1.55em) rotate(36deg)}.reveal .controls .controls-arrow:active:after{transform:translate(.5em) translateY(1.55em) rotate(-36deg)}.reveal .controls .navigate-left{right:6.4em;bottom:3.2em;transform:translate(-10px)}.reveal .controls .navigate-left.highlight{animation:bounce-left 2s 50 both ease-out}.reveal .controls .navigate-right{right:0;bottom:3.2em;transform:translate(10px)}.reveal .controls .navigate-right .controls-arrow{transform:rotate(180deg)}.reveal .controls .navigate-right.highlight{animation:bounce-right 2s 50 both ease-out}.reveal .controls .navigate-up{right:3.2em;bottom:6.4em;transform:translateY(-10px)}.reveal .controls .navigate-up .controls-arrow{transform:rotate(90deg)}.reveal .controls .navigate-down{right:3.2em;bottom:-1.4em;padding-bottom:1.4em;transform:translateY(10px)}.reveal .controls .navigate-down .controls-arrow{transform:rotate(-90deg)}.reveal .controls .navigate-down.highlight{animation:bounce-down 2s 50 both ease-out}.reveal .controls[data-controls-back-arrows=faded] .navigate-up.enabled{opacity:.3}.reveal .controls[data-controls-back-arrows=faded] .navigate-up.enabled:hover{opacity:1}.reveal .controls[data-controls-back-arrows=hidden] .navigate-up.enabled{opacity:0;visibility:hidden}.reveal .controls .enabled{visibility:visible;opacity:.9;cursor:pointer;transform:none}.reveal .controls .enabled.fragmented{opacity:.5}.reveal .controls .enabled.fragmented:hover,.reveal .controls .enabled:hover{opacity:1}.reveal:not(.rtl) .controls[data-controls-back-arrows=faded] .navigate-left.enabled{opacity:.3}.reveal:not(.rtl) .controls[data-controls-back-arrows=faded] .navigate-left.enabled:hover{opacity:1}.reveal:not(.rtl) .controls[data-controls-back-arrows=hidden] .navigate-left.enabled{opacity:0;visibility:hidden}.reveal.rtl .controls[data-controls-back-arrows=faded] .navigate-right.enabled{opacity:.3}.reveal.rtl .controls[data-controls-back-arrows=faded] .navigate-right.enabled:hover{opacity:1}.reveal.rtl .controls[data-controls-back-arrows=hidden] .navigate-right.enabled{opacity:0;visibility:hidden}.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-down,.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-up{display:none}.reveal:not(.has-vertical-slides) .controls .navigate-left,.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-left{bottom:1.4em;right:5.5em}.reveal:not(.has-vertical-slides) .controls .navigate-right,.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-right{bottom:1.4em;right:.5em}.reveal:not(.has-horizontal-slides) .controls .navigate-up{right:1.4em;bottom:5em}.reveal:not(.has-horizontal-slides) .controls .navigate-down{right:1.4em;bottom:.5em}.reveal.has-dark-background .controls{color:#fff}.reveal.has-light-background .controls{color:#000}.reveal.no-hover .controls .controls-arrow:active:before,.reveal.no-hover .controls .controls-arrow:hover:before{transform:translate(.5em) translateY(1.55em) rotate(45deg)}.reveal.no-hover .controls .controls-arrow:active:after,.reveal.no-hover .controls .controls-arrow:hover:after{transform:translate(.5em) translateY(1.55em) rotate(-45deg)}@media screen and (min-width:500px){.reveal-viewport{--r-controls-spacing:.8em}.reveal .controls[data-controls-layout=edges]{inset:0}.reveal .controls[data-controls-layout=edges] .navigate-down,.reveal .controls[data-controls-layout=edges] .navigate-left,.reveal .controls[data-controls-layout=edges] .navigate-right,.reveal .controls[data-controls-layout=edges] .navigate-up{bottom:auto;right:auto}.reveal .controls[data-controls-layout=edges] .navigate-left{top:50%;left:var(--r-controls-spacing);margin-top:-1.8em}.reveal .controls[data-controls-layout=edges] .navigate-right{top:50%;right:var(--r-controls-spacing);margin-top:-1.8em}.reveal .controls[data-controls-layout=edges] .navigate-up{top:var(--r-controls-spacing);left:50%;margin-left:-1.8em}.reveal .controls[data-controls-layout=edges] .navigate-down{bottom:calc(var(--r-controls-spacing) - 1.4em + .3em);left:50%;margin-left:-1.8em}}.reveal .progress{position:absolute;display:none;height:3px;width:100%;bottom:0;left:0;z-index:10;background-color:#0003;color:#fff}.reveal .progress:after{content:"";display:block;position:absolute;height:10px;width:100%;top:-10px}.reveal .progress span{display:block;height:100%;width:100%;background-color:currentColor;transition:transform .8s cubic-bezier(.26,.86,.44,.985);transform-origin:0 0;transform:scaleX(0)}.reveal .slide-number{position:absolute;display:block;right:8px;bottom:8px;z-index:31;font-family:Helvetica,sans-serif;font-size:12px;line-height:1;color:#fff;background-color:#0006;padding:5px}.reveal .slide-number a{color:currentColor}.reveal .slide-number-delimiter{margin:0 3px}.reveal{position:relative;width:100%;height:100%;overflow:hidden;touch-action:pinch-zoom}.reveal.embedded{touch-action:pan-y}.reveal.embedded.is-vertical-slide{touch-action:none}.reveal .slides{position:absolute;width:100%;height:100%;inset:0;margin:auto;pointer-events:none;overflow:visible;z-index:1;text-align:center;perspective:600px;perspective-origin:50% 40%}.reveal .slides>section{perspective:600px}.reveal .slides>section,.reveal .slides>section>section{display:none;position:absolute;width:100%;pointer-events:auto;z-index:10;transform-style:flat;transition:transform-origin .8s cubic-bezier(.26,.86,.44,.985),transform .8s cubic-bezier(.26,.86,.44,.985),visibility .8s cubic-bezier(.26,.86,.44,.985),opacity .8s cubic-bezier(.26,.86,.44,.985)}.reveal[data-transition-speed=fast] .slides section{transition-duration:.4s}.reveal[data-transition-speed=slow] .slides section{transition-duration:1.2s}.reveal .slides section[data-transition-speed=fast]{transition-duration:.4s}.reveal .slides section[data-transition-speed=slow]{transition-duration:1.2s}.reveal .slides>section.stack{padding-top:0;padding-bottom:0;pointer-events:none;height:100%}.reveal .slides>section.present,.reveal .slides>section>section.present{display:block;z-index:11;opacity:1}.reveal .slides>section:empty,.reveal .slides>section>section:empty,.reveal .slides>section>section[data-background-interactive],.reveal .slides>section[data-background-interactive]{pointer-events:none}.reveal.center,.reveal.center .slides,.reveal.center .slides section{min-height:0!important}.reveal .slides>section:not(.present),.reveal .slides>section>section:not(.present){pointer-events:none}.reveal.overview .slides>section,.reveal.overview .slides>section>section{pointer-events:auto}.reveal .slides>section.future,.reveal .slides>section.future>section,.reveal .slides>section.past,.reveal .slides>section.past>section,.reveal .slides>section>section.future,.reveal .slides>section>section.past{opacity:0}.reveal .slides>section[data-transition=slide].past,.reveal .slides>section[data-transition~=slide-out].past,.reveal.slide .slides>section:not([data-transition]).past{transform:translate(-150%)}.reveal .slides>section[data-transition=slide].future,.reveal .slides>section[data-transition~=slide-in].future,.reveal.slide .slides>section:not([data-transition]).future{transform:translate(150%)}.reveal .slides>section>section[data-transition=slide].past,.reveal .slides>section>section[data-transition~=slide-out].past,.reveal.slide .slides>section>section:not([data-transition]).past{transform:translateY(-150%)}.reveal .slides>section>section[data-transition=slide].future,.reveal .slides>section>section[data-transition~=slide-in].future,.reveal.slide .slides>section>section:not([data-transition]).future{transform:translateY(150%)}.reveal .slides>section[data-transition=linear].past,.reveal .slides>section[data-transition~=linear-out].past,.reveal.linear .slides>section:not([data-transition]).past{transform:translate(-150%)}.reveal .slides>section[data-transition=linear].future,.reveal .slides>section[data-transition~=linear-in].future,.reveal.linear .slides>section:not([data-transition]).future{transform:translate(150%)}.reveal .slides>section>section[data-transition=linear].past,.reveal .slides>section>section[data-transition~=linear-out].past,.reveal.linear .slides>section>section:not([data-transition]).past{transform:translateY(-150%)}.reveal .slides>section>section[data-transition=linear].future,.reveal .slides>section>section[data-transition~=linear-in].future,.reveal.linear .slides>section>section:not([data-transition]).future{transform:translateY(150%)}.reveal .slides section[data-transition=default].stack,.reveal.default .slides section.stack{transform-style:preserve-3d}.reveal .slides>section[data-transition=default].past,.reveal .slides>section[data-transition~=default-out].past,.reveal.default .slides>section:not([data-transition]).past{transform:translate3d(-100%,0,0) rotateY(-90deg) translate3d(-100%,0,0)}.reveal .slides>section[data-transition=default].future,.reveal .slides>section[data-transition~=default-in].future,.reveal.default .slides>section:not([data-transition]).future{transform:translate3d(100%,0,0) rotateY(90deg) translate3d(100%,0,0)}.reveal .slides>section>section[data-transition=default].past,.reveal .slides>section>section[data-transition~=default-out].past,.reveal.default .slides>section>section:not([data-transition]).past{transform:translate3d(0,-300px,0) rotateX(70deg) translate3d(0,-300px,0)}.reveal .slides>section>section[data-transition=default].future,.reveal .slides>section>section[data-transition~=default-in].future,.reveal.default .slides>section>section:not([data-transition]).future{transform:translate3d(0,300px,0) rotateX(-70deg) translate3d(0,300px,0)}.reveal .slides section[data-transition=convex].stack,.reveal.convex .slides section.stack{transform-style:preserve-3d}.reveal .slides>section[data-transition=convex].past,.reveal .slides>section[data-transition~=convex-out].past,.reveal.convex .slides>section:not([data-transition]).past{transform:translate3d(-100%,0,0) rotateY(-90deg) translate3d(-100%,0,0)}.reveal .slides>section[data-transition=convex].future,.reveal .slides>section[data-transition~=convex-in].future,.reveal.convex .slides>section:not([data-transition]).future{transform:translate3d(100%,0,0) rotateY(90deg) translate3d(100%,0,0)}.reveal .slides>section>section[data-transition=convex].past,.reveal .slides>section>section[data-transition~=convex-out].past,.reveal.convex .slides>section>section:not([data-transition]).past{transform:translate3d(0,-300px,0) rotateX(70deg) translate3d(0,-300px,0)}.reveal .slides>section>section[data-transition=convex].future,.reveal .slides>section>section[data-transition~=convex-in].future,.reveal.convex .slides>section>section:not([data-transition]).future{transform:translate3d(0,300px,0) rotateX(-70deg) translate3d(0,300px,0)}.reveal .slides section[data-transition=concave].stack,.reveal.concave .slides section.stack{transform-style:preserve-3d}.reveal .slides>section[data-transition=concave].past,.reveal .slides>section[data-transition~=concave-out].past,.reveal.concave .slides>section:not([data-transition]).past{transform:translate3d(-100%,0,0) rotateY(90deg) translate3d(-100%,0,0)}.reveal .slides>section[data-transition=concave].future,.reveal .slides>section[data-transition~=concave-in].future,.reveal.concave .slides>section:not([data-transition]).future{transform:translate3d(100%,0,0) rotateY(-90deg) translate3d(100%,0,0)}.reveal .slides>section>section[data-transition=concave].past,.reveal .slides>section>section[data-transition~=concave-out].past,.reveal.concave .slides>section>section:not([data-transition]).past{transform:translate3d(0,-80%,0) rotateX(-70deg) translate3d(0,-80%,0)}.reveal .slides>section>section[data-transition=concave].future,.reveal .slides>section>section[data-transition~=concave-in].future,.reveal.concave .slides>section>section:not([data-transition]).future{transform:translate3d(0,80%,0) rotateX(70deg) translate3d(0,80%,0)}.reveal .slides section[data-transition=zoom],.reveal.zoom .slides section:not([data-transition]){transition-timing-function:ease}.reveal .slides>section[data-transition=zoom].past,.reveal .slides>section[data-transition~=zoom-out].past,.reveal.zoom .slides>section:not([data-transition]).past{visibility:hidden;transform:scale(16)}.reveal .slides>section[data-transition=zoom].future,.reveal .slides>section[data-transition~=zoom-in].future,.reveal.zoom .slides>section:not([data-transition]).future{visibility:hidden;transform:scale(.2)}.reveal .slides>section>section[data-transition=zoom].past,.reveal .slides>section>section[data-transition~=zoom-out].past,.reveal.zoom .slides>section>section:not([data-transition]).past{transform:scale(16)}.reveal .slides>section>section[data-transition=zoom].future,.reveal .slides>section>section[data-transition~=zoom-in].future,.reveal.zoom .slides>section>section:not([data-transition]).future{transform:scale(.2)}.reveal.cube .slides{perspective:1300px}.reveal.cube .slides section{padding:30px;min-height:700px;backface-visibility:hidden;box-sizing:border-box;transform-style:preserve-3d}.reveal.center.cube .slides section{min-height:0}.reveal.cube .slides section:not(.stack):before{content:"";position:absolute;display:block;width:100%;height:100%;left:0;top:0;background:#0000001a;border-radius:4px;transform:translateZ(-20px)}.reveal.cube .slides section:not(.stack):after{content:"";position:absolute;display:block;width:90%;height:30px;left:5%;bottom:0;background:0 0;z-index:1;border-radius:4px;box-shadow:0 95px 25px #0003;transform:translateZ(-90px) rotateX(65deg)}.reveal.cube .slides>section.stack{padding:0;background:0 0}.reveal.cube .slides>section.past{transform-origin:100% 0;transform:translate3d(-100%,0,0) rotateY(-90deg)}.reveal.cube .slides>section.future{transform-origin:0 0;transform:translate3d(100%,0,0) rotateY(90deg)}.reveal.cube .slides>section>section.past{transform-origin:0 100%;transform:translate3d(0,-100%,0) rotateX(90deg)}.reveal.cube .slides>section>section.future{transform-origin:0 0;transform:translate3d(0,100%,0) rotateX(-90deg)}.reveal.page .slides{perspective-origin:0 50%;perspective:3000px}.reveal.page .slides section{padding:30px;min-height:700px;box-sizing:border-box;transform-style:preserve-3d}.reveal.page .slides section.past{z-index:12}.reveal.page .slides section:not(.stack):before{content:"";position:absolute;display:block;width:100%;height:100%;left:0;top:0;background:#0000001a;transform:translateZ(-20px)}.reveal.page .slides section:not(.stack):after{content:"";position:absolute;display:block;width:90%;height:30px;left:5%;bottom:0;background:0 0;z-index:1;border-radius:4px;box-shadow:0 95px 25px #0003;transform:translateZ(-90px) rotateX(65deg)}.reveal.page .slides>section.stack{padding:0;background:0 0}.reveal.page .slides>section.past{transform-origin:0 0;transform:translate3d(-40%,0,0) rotateY(-80deg)}.reveal.page .slides>section.future{transform-origin:100% 0;transform:translateZ(0)}.reveal.page .slides>section>section.past{transform-origin:0 0;transform:translate3d(0,-40%,0) rotateX(80deg)}.reveal.page .slides>section>section.future{transform-origin:0 100%;transform:translateZ(0)}.reveal .slides section[data-transition=fade],.reveal.fade .slides section:not([data-transition]),.reveal.fade .slides>section>section:not([data-transition]){transform:none;transition:opacity .5s}.reveal.fade.overview .slides section,.reveal.fade.overview .slides>section>section{transition:none}.reveal .slides section[data-transition=none],.reveal.none .slides section:not([data-transition]){transform:none;transition:none}.reveal .pause-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#000;visibility:hidden;opacity:0;z-index:100;transition:all 1s ease}.reveal .pause-overlay .resume-button{position:absolute;bottom:20px;right:20px;color:#ccc;border-radius:2px;padding:6px 14px;border:2px solid #ccc;font-size:16px;background:0 0;cursor:pointer}.reveal .pause-overlay .resume-button:hover{color:#fff;border-color:#fff}.reveal.paused .pause-overlay{visibility:visible;opacity:1}.reveal .no-transition,.reveal .no-transition *,.reveal .slides.disable-slide-transitions section{transition:none!important}.reveal .slides.disable-slide-transitions section{transform:none!important}.reveal .backgrounds{position:absolute;width:100%;height:100%;top:0;left:0;perspective:600px}.reveal .slide-background{display:none;position:absolute;width:100%;height:100%;opacity:0;visibility:hidden;overflow:hidden;background-color:#0000;transition:all .8s cubic-bezier(.26,.86,.44,.985)}.reveal .slide-background-content{position:absolute;width:100%;height:100%;background-position:50% 50%;background-repeat:no-repeat;background-size:cover}.reveal .slide-background.stack{display:block}.reveal .slide-background.present{opacity:1;visibility:visible;z-index:2}.print-pdf .reveal .slide-background{opacity:1!important;visibility:visible!important}.reveal .slide-background video{position:absolute;width:100%;height:100%;max-width:none;max-height:none;top:0;left:0;object-fit:cover}.reveal .slide-background[data-background-size=contain] video{object-fit:contain}.reveal>.backgrounds .slide-background[data-background-transition=none],.reveal[data-background-transition=none]>.backgrounds .slide-background:not([data-background-transition]){transition:none}.reveal>.backgrounds .slide-background[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background:not([data-background-transition]){opacity:1}.reveal>.backgrounds .slide-background.past[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background.past:not([data-background-transition]){transform:translate(-100%)}.reveal>.backgrounds .slide-background.future[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background.future:not([data-background-transition]){transform:translate(100%)}.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]){transform:translateY(-100%)}.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]){transform:translateY(100%)}.reveal>.backgrounds .slide-background.past[data-background-transition=convex],.reveal[data-background-transition=convex]>.backgrounds .slide-background.past:not([data-background-transition]){opacity:0;transform:translate3d(-100%,0,0) rotateY(-90deg) translate3d(-100%,0,0)}.reveal>.backgrounds .slide-background.future[data-background-transition=convex],.reveal[data-background-transition=convex]>.backgrounds .slide-background.future:not([data-background-transition]){opacity:0;transform:translate3d(100%,0,0) rotateY(90deg) translate3d(100%,0,0)}.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=convex],.reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]){opacity:0;transform:translate3d(0,-100%,0) rotateX(90deg) translate3d(0,-100%,0)}.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=convex],.reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]){opacity:0;transform:translate3d(0,100%,0) rotateX(-90deg) translate3d(0,100%,0)}.reveal>.backgrounds .slide-background.past[data-background-transition=concave],.reveal[data-background-transition=concave]>.backgrounds .slide-background.past:not([data-background-transition]){opacity:0;transform:translate3d(-100%,0,0) rotateY(90deg) translate3d(-100%,0,0)}.reveal>.backgrounds .slide-background.future[data-background-transition=concave],.reveal[data-background-transition=concave]>.backgrounds .slide-background.future:not([data-background-transition]){opacity:0;transform:translate3d(100%,0,0) rotateY(-90deg) translate3d(100%,0,0)}.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=concave],.reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]){opacity:0;transform:translate3d(0,-100%,0) rotateX(-90deg) translate3d(0,-100%,0)}.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=concave],.reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]){opacity:0;transform:translate3d(0,100%,0) rotateX(90deg) translate3d(0,100%,0)}.reveal>.backgrounds .slide-background[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background:not([data-background-transition]){transition-timing-function:ease}.reveal>.backgrounds .slide-background.past[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background.past:not([data-background-transition]){opacity:0;visibility:hidden;transform:scale(16)}.reveal>.backgrounds .slide-background.future[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background.future:not([data-background-transition]){opacity:0;visibility:hidden;transform:scale(.2)}.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]){opacity:0;visibility:hidden;transform:scale(16)}.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]){opacity:0;visibility:hidden;transform:scale(.2)}.reveal[data-transition-speed=fast]>.backgrounds .slide-background{transition-duration:.4s}.reveal[data-transition-speed=slow]>.backgrounds .slide-background{transition-duration:1.2s}.reveal [data-auto-animate-target^=unmatched]{will-change:opacity}.reveal section[data-auto-animate]:not(.stack):not([data-auto-animate=running]) [data-auto-animate-target^=unmatched]{opacity:0}.reveal.overview{perspective-origin:50% 50%;perspective:700px}.reveal.overview .slides section{height:100%;top:0!important;opacity:1!important;overflow:hidden;visibility:visible!important;cursor:pointer;box-sizing:border-box}.reveal.overview .slides section.present,.reveal.overview .slides section:hover{outline:10px solid rgba(150,150,150,.4);outline-offset:10px}.reveal.overview .slides section .fragment{opacity:1;transition:none}.reveal.overview .slides section:after,.reveal.overview .slides section:before{display:none!important}.reveal.overview .slides>section.stack{padding:0;top:0!important;background:0 0;outline:0;overflow:visible}.reveal.overview .backgrounds{perspective:inherit}.reveal.overview .backgrounds .slide-background{opacity:1;visibility:visible;outline:10px solid rgba(150,150,150,.1);outline-offset:10px}.reveal.overview .backgrounds .slide-background.stack{overflow:visible}.reveal.overview .slides section,.reveal.overview-deactivating .slides section{transition:none}.reveal.overview .backgrounds .slide-background,.reveal.overview-deactivating .backgrounds .slide-background{transition:none}.reveal.rtl .slides,.reveal.rtl .slides h1,.reveal.rtl .slides h2,.reveal.rtl .slides h3,.reveal.rtl .slides h4,.reveal.rtl .slides h5,.reveal.rtl .slides h6{direction:rtl;font-family:sans-serif}.reveal.rtl code,.reveal.rtl pre{direction:ltr}.reveal.rtl ol,.reveal.rtl ul{text-align:right}.reveal.rtl .progress span{transform-origin:100% 0}.reveal.has-parallax-background .backgrounds{transition:all .8s ease}.reveal.has-parallax-background[data-transition-speed=fast] .backgrounds{transition-duration:.4s}.reveal.has-parallax-background[data-transition-speed=slow] .backgrounds{transition-duration:1.2s}@keyframes scale-up{0%{transform:scale(.95)}to{transform:scale(1)}}.reveal [data-preview-image],.reveal [data-preview-link]:not(a):not([data-preview-link=false]),.reveal [data-preview-video]{cursor:zoom-in}.r-overlay{position:absolute;top:var(--r-overlay-margin);right:var(--r-overlay-margin);bottom:var(--r-overlay-margin);left:var(--r-overlay-margin);border-radius:min(var(--r-overlay-margin),6px);z-index:99;background:#000000f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease;color:#fff;animation:fade-in .3s ease;font-family:ui-sans-serif,system-ui,-apple-system,Helvetica,sans-serif}.r-overlay-viewport{position:absolute;top:var(--r-overlay-padding);right:var(--r-overlay-padding);bottom:var(--r-overlay-padding);left:var(--r-overlay-padding);gap:var(--r-overlay-gap);display:flex;flex-direction:column}.r-overlay-header{display:flex;z-index:2;box-sizing:border-box;align-items:center;justify-content:flex-end;height:var(--r-overlay-header-height);gap:6px}.r-overlay-header .r-overlay-button{all:unset;display:flex;align-items:center;justify-content:center;min-width:var(--r-overlay-header-height);min-height:var(--r-overlay-header-height);padding:0 calc(var(--r-overlay-header-height)/ 4);opacity:1;border-radius:6px;font-size:18px;gap:8px;cursor:pointer;box-sizing:border-box}.r-overlay-header .r-overlay-button:hover{opacity:1;background-color:#ffffff26}.r-overlay-header .icon{display:inline-block;width:20px;height:20px;background-position:50% 50%;background-size:100%;background-repeat:no-repeat}.r-overlay-close .icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTIuODU0IDIuODU0YS41LjUgMCAwIDAtLjcwOC0uNzA4TDcuNSA2Ljc5MyAyLjg1NCAyLjE0NmEuNS41IDAgMSAwLS43MDguNzA4TDYuNzkzIDcuNWwtNC42NDcgNC42NDZhLjUuNSAwIDAgMCAuNzA4LjcwOEw3LjUgOC4yMDdsNC42NDYgNC42NDdhLjUuNSAwIDAgMCAuNzA4LS43MDhMOC4yMDcgNy41bDQuNjQ3LTQuNjQ2WiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PC9zdmc+)}.r-overlay-external .icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMyAyYTEgMSAwIDAgMC0xIDF2OWExIDEgMCAwIDAgMSAxaDlhMSAxIDAgMCAwIDEtMVY4LjVhLjUuNSAwIDAgMC0xIDBWMTJIM1YzaDMuNWEuNS41IDAgMCAwIDAtMUgzWm05Ljg1NC4xNDZhLjUuNSAwIDAgMSAuMTQ2LjM1MVY1LjVhLjUuNSAwIDAgMS0xIDBWMy43MDdMNi44NTQgOC44NTRhLjUuNSAwIDEgMS0uNzA4LS43MDhMMTEuMjkzIDNIOS41YS41LjUgMCAwIDEgMC0xaDNhLjQ5OS40OTkgMCAwIDEgLjM1NC4xNDZaIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4=)}.r-overlay-content{position:relative;display:grid;place-items:center;border-radius:6px;overflow:hidden;flex-grow:1;background-color:#141414cc;animation:scale-up .5s cubic-bezier(.26,.86,.44,.985)}.r-overlay-spinner{position:absolute;display:block;top:50%;left:50%;width:32px;height:32px;margin:-16px 0 0 -16px;z-index:10;background-image:url(data:image/gif;base64,R0lGODlhIAAgAPMAAJmZmf%2F%2F%2F6%2Bvr8nJybW1tcDAwOjo6Nvb26ioqKOjo7Ozs%2FLy8vz8%2FAAAAAAAAAAAACH%2FC05FVFNDQVBFMi4wAwEAAAAh%2FhpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh%2BQQJCgAAACwAAAAAIAAgAAAE5xDISWlhperN52JLhSSdRgwVo1ICQZRUsiwHpTJT4iowNS8vyW2icCF6k8HMMBkCEDskxTBDAZwuAkkqIfxIQyhBQBFvAQSDITM5VDW6XNE4KagNh6Bgwe60smQUB3d4Rz1ZBApnFASDd0hihh12BkE9kjAJVlycXIg7CQIFA6SlnJ87paqbSKiKoqusnbMdmDC2tXQlkUhziYtyWTxIfy6BE8WJt5YJvpJivxNaGmLHT0VnOgSYf0dZXS7APdpB309RnHOG5gDqXGLDaC457D1zZ%2FV%2FnmOM82XiHRLYKhKP1oZmADdEAAAh%2BQQJCgAAACwAAAAAIAAgAAAE6hDISWlZpOrNp1lGNRSdRpDUolIGw5RUYhhHukqFu8DsrEyqnWThGvAmhVlteBvojpTDDBUEIFwMFBRAmBkSgOrBFZogCASwBDEY%2FCZSg7GSE0gSCjQBMVG023xWBhklAnoEdhQEfyNqMIcKjhRsjEdnezB%2BA4k8gTwJhFuiW4dokXiloUepBAp5qaKpp6%2BHo7aWW54wl7obvEe0kRuoplCGepwSx2jJvqHEmGt6whJpGpfJCHmOoNHKaHx61WiSR92E4lbFoq%2BB6QDtuetcaBPnW6%2BO7wDHpIiK9SaVK5GgV543tzjgGcghAgAh%2BQQJCgAAACwAAAAAIAAgAAAE7hDISSkxpOrN5zFHNWRdhSiVoVLHspRUMoyUakyEe8PTPCATW9A14E0UvuAKMNAZKYUZCiBMuBakSQKG8G2FzUWox2AUtAQFcBKlVQoLgQReZhQlCIJesQXI5B0CBnUMOxMCenoCfTCEWBsJColTMANldx15BGs8B5wlCZ9Po6OJkwmRpnqkqnuSrayqfKmqpLajoiW5HJq7FL1Gr2mMMcKUMIiJgIemy7xZtJsTmsM4xHiKv5KMCXqfyUCJEonXPN2rAOIAmsfB3uPoAK%2B%2BG%2Bw48edZPK%2BM6hLJpQg484enXIdQFSS1u6UhksENEQAAIfkECQoAAAAsAAAAACAAIAAABOcQyEmpGKLqzWcZRVUQnZYg1aBSh2GUVEIQ2aQOE%2BG%2BcD4ntpWkZQj1JIiZIogDFFyHI0UxQwFugMSOFIPJftfVAEoZLBbcLEFhlQiqGp1Vd140AUklUN3eCA51C1EWMzMCezCBBmkxVIVHBWd3HHl9JQOIJSdSnJ0TDKChCwUJjoWMPaGqDKannasMo6WnM562R5YluZRwur0wpgqZE7NKUm%2BFNRPIhjBJxKZteWuIBMN4zRMIVIhffcgojwCF117i4nlLnY5ztRLsnOk%2BaV%2BoJY7V7m76PdkS4trKcdg0Zc0tTcKkRAAAIfkECQoAAAAsAAAAACAAIAAABO4QyEkpKqjqzScpRaVkXZWQEximw1BSCUEIlDohrft6cpKCk5xid5MNJTaAIkekKGQkWyKHkvhKsR7ARmitkAYDYRIbUQRQjWBwJRzChi9CRlBcY1UN4g0%2FVNB0AlcvcAYHRyZPdEQFYV8ccwR5HWxEJ02YmRMLnJ1xCYp0Y5idpQuhopmmC2KgojKasUQDk5BNAwwMOh2RtRq5uQuPZKGIJQIGwAwGf6I0JXMpC8C7kXWDBINFMxS4DKMAWVWAGYsAdNqW5uaRxkSKJOZKaU3tPOBZ4DuK2LATgJhkPJMgTwKCdFjyPHEnKxFCDhEAACH5BAkKAAAALAAAAAAgACAAAATzEMhJaVKp6s2nIkolIJ2WkBShpkVRWqqQrhLSEu9MZJKK9y1ZrqYK9WiClmvoUaF8gIQSNeF1Er4MNFn4SRSDARWroAIETg1iVwuHjYB1kYc1mwruwXKC9gmsJXliGxc%2BXiUCby9ydh1sOSdMkpMTBpaXBzsfhoc5l58Gm5yToAaZhaOUqjkDgCWNHAULCwOLaTmzswadEqggQwgHuQsHIoZCHQMMQgQGubVEcxOPFAcMDAYUA85eWARmfSRQCdcMe0zeP1AAygwLlJtPNAAL19DARdPzBOWSm1brJBi45soRAWQAAkrQIykShQ9wVhHCwCQCACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiRMDjI0Fd30%2FiI2UA5GSS5UDj2l6NoqgOgN4gksEBgYFf0FDqKgHnyZ9OX8HrgYHdHpcHQULXAS2qKpENRg7eAMLC7kTBaixUYFkKAzWAAnLC7FLVxLWDBLKCwaKTULgEwbLA4hJtOkSBNqITT3xEgfLpBtzE%2FjiuL04RGEBgwWhShRgQExHBAAh%2BQQJCgAAACwAAAAAIAAgAAAE7xDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfZiCqGk5dTESJeaOAlClzsJsqwiJwiqnFrb2nS9kmIcgEsjQydLiIlHehhpejaIjzh9eomSjZR%2BipslWIRLAgMDOR2DOqKogTB9pCUJBagDBXR6XB0EBkIIsaRsGGMMAxoDBgYHTKJiUYEGDAzHC9EACcUGkIgFzgwZ0QsSBcXHiQvOwgDdEwfFs0sDzt4S6BK4xYjkDOzn0unFeBzOBijIm1Dgmg5YFQwsCMjp1oJ8LyIAACH5BAkKAAAALAAAAAAgACAAAATwEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GGl6NoiPOH16iZKNlH6KmyWFOggHhEEvAwwMA0N9GBsEC6amhnVcEwavDAazGwIDaH1ipaYLBUTCGgQDA8NdHz0FpqgTBwsLqAbWAAnIA4FWKdMLGdYGEgraigbT0OITBcg5QwPT4xLrROZL6AuQAPUS7bxLpoWidY0JtxLHKhwwMJBTHgPKdEQAACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GAULDJCRiXo1CpGXDJOUjY%2BYip9DhToJA4RBLwMLCwVDfRgbBAaqqoZ1XBMHswsHtxtFaH1iqaoGNgAIxRpbFAgfPQSqpbgGBqUD1wBXeCYp1AYZ19JJOYgH1KwA4UBvQwXUBxPqVD9L3sbp2BNk2xvvFPJd%2BMFCN6HAAIKgNggY0KtEBAAh%2BQQJCgAAACwAAAAAIAAgAAAE6BDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfYIDMaAFdTESJeaEDAIMxYFqrOUaNW4E4ObYcCXaiBVEgULe0NJaxxtYksjh2NLkZISgDgJhHthkpU4mW6blRiYmZOlh4JWkDqILwUGBnE6TYEbCgevr0N1gH4At7gHiRpFaLNrrq8HNgAJA70AWxQIH1%2BvsYMDAzZQPC9VCNkDWUhGkuE5PxJNwiUK4UfLzOlD4WvzAHaoG9nxPi5d%2BjYUqfAhhykOFwJWiAAAIfkECQoAAAAsAAAAACAAIAAABPAQyElpUqnqzaciSoVkXVUMFaFSwlpOCcMYlErAavhOMnNLNo8KsZsMZItJEIDIFSkLGQoQTNhIsFehRww2CQLKF0tYGKYSg%2BygsZIuNqJksKgbfgIGepNo2cIUB3V1B3IvNiBYNQaDSTtfhhx0CwVPI0UJe0%2Bbm4g5VgcGoqOcnjmjqDSdnhgEoamcsZuXO1aWQy8KAwOAuTYYGwi7w5h%2BKr0SJ8MFihpNbx%2B4Erq7BYBuzsdiH1jCAzoSfl0rVirNbRXlBBlLX%2BBP0XJLAPGzTkAuAOqb0WT5AH7OcdCm5B8TgRwSRKIHQtaLCwg1RAAAOwAAAAAAAAAAAA%3D%3D);visibility:hidden;opacity:0}.r-overlay-preview .r-overlay-content iframe{width:100%;height:100%;max-width:100%;max-height:100%;border:0;opacity:0;visibility:hidden;transition:all .3s ease}.r-overlay-preview[data-state=loaded] iframe{opacity:1;visibility:visible}.r-overlay-preview .r-overlay-content img,.r-overlay-preview .r-overlay-content video{position:absolute;max-width:100%;max-height:100%;width:100%;height:100%;margin:0;object-fit:scale-down}.r-overlay-preview[data-preview-fit=none] img,.r-overlay-preview[data-preview-fit=none] video{object-fit:none}.r-overlay-preview[data-preview-fit=scale-down] img,.r-overlay-preview[data-preview-fit=scale-down] video{object-fit:scale-down}.r-overlay-preview[data-preview-fit=contain] img,.r-overlay-preview[data-preview-fit=contain] video{object-fit:contain}.r-overlay-preview[data-preview-fit=cover] img,.r-overlay-preview[data-preview-fit=cover] video{object-fit:cover}.r-overlay-preview[data-state=loaded] .r-overlay-content-inner{position:absolute;z-index:-1;left:0;top:45%;width:100%;text-align:center;letter-spacing:normal}.r-overlay-preview .r-overlay-error{font-size:18px;color:orange}.r-overlay-preview .x-frame-error{opacity:0;transition:opacity .3s ease .3s}.r-overlay-preview[data-state=loaded] .x-frame-error{opacity:1}.r-overlay-preview[data-state=loading] .r-overlay-spinner{opacity:.6;visibility:visible}.r-overlay-help .r-overlay-content{overflow:auto}.r-overlay-help-content{max-width:560px;padding:20px 0;margin:auto;text-align:center;letter-spacing:normal}.r-overlay-help-content .title{font-size:20px;margin-top:0}.r-overlay-help .r-overlay-help-content table{border:1px solid #fff;border-collapse:collapse;font-size:16px;text-align:left}.r-overlay-help .r-overlay-help-content table td,.r-overlay-help .r-overlay-help-content table th{width:240px;padding:14px;border:1px solid #fff;vertical-align:middle}.r-overlay-help .r-overlay-help-content table th{padding-top:20px;padding-bottom:20px}.reveal .playback{position:absolute;left:15px;bottom:20px;z-index:30;cursor:pointer;transition:all .4s ease;-webkit-tap-highlight-color:transparent}.reveal.overview .playback{opacity:0;visibility:hidden}.reveal .hljs{min-height:100%}.reveal .hljs table{margin:initial}.reveal .hljs-ln-code,.reveal .hljs-ln-numbers{padding:0;border:0}.reveal .hljs-ln-numbers{opacity:.6;padding-right:.75em;text-align:right;vertical-align:top}.reveal .hljs.has-highlights tr:not(.highlight-line){opacity:.4}.reveal .hljs.has-highlights.fragment{transition:all .2s ease}.reveal .hljs:not(:first-child).fragment{position:absolute;top:0;left:0;width:100%;box-sizing:border-box}.reveal pre[data-auto-animate-target]{overflow:hidden}.reveal pre[data-auto-animate-target] code{height:100%}.reveal .roll{display:inline-block;line-height:1.2;overflow:hidden;vertical-align:top;perspective:400px;perspective-origin:50% 50%}.reveal .roll:hover{background:0 0;text-shadow:none}.reveal .roll span{display:block;position:relative;padding:0 2px;pointer-events:none;transition:all .4s ease;transform-origin:50% 0;transform-style:preserve-3d;backface-visibility:hidden}.reveal .roll:hover span{background:#00000080;transform:translateZ(-45px) rotateX(90deg)}.reveal .roll span:after{content:attr(data-title);display:block;position:absolute;left:0;top:0;padding:0 2px;backface-visibility:hidden;transform-origin:50% 0;transform:translate3d(0,110%,0) rotateX(-90deg)}.reveal aside.notes{display:none}.reveal .speaker-notes{display:none;position:absolute;width:33.3333333333%;height:100%;top:0;left:100%;padding:14px 18px;z-index:1;font-size:18px;line-height:1.4;border:1px solid rgba(0,0,0,.05);color:#222;background-color:#f5f5f5;overflow:auto;box-sizing:border-box;text-align:left;font-family:Helvetica,sans-serif;-webkit-overflow-scrolling:touch}.reveal .speaker-notes .notes-placeholder{color:#ccc;font-style:italic}.reveal .speaker-notes:focus{outline:0}.reveal .speaker-notes:before{content:"Speaker notes";display:block;margin-bottom:10px;opacity:.5}.reveal.show-notes{max-width:75%;overflow:visible}.reveal.show-notes .speaker-notes{display:block}@media screen and (min-width:1600px){.reveal .speaker-notes{font-size:20px}}@media screen and (max-width:1024px){.reveal.show-notes{border-left:0;max-width:none;max-height:70%;max-height:70vh;overflow:visible}.reveal.show-notes .speaker-notes{top:100%;left:0;width:100%;height:30vh;border:0}}@media screen and (max-width:600px){.reveal.show-notes{max-height:60%;max-height:60vh}.reveal.show-notes .speaker-notes{top:100%;height:40vh}.reveal .speaker-notes{font-size:14px}}.reveal .jump-to-slide{position:absolute;top:15px;left:15px;z-index:30;font-size:32px;-webkit-tap-highlight-color:transparent}.reveal .jump-to-slide-input{background:0 0;padding:8px;font-size:inherit;color:currentColor;border:0}.reveal .jump-to-slide-input::placeholder{color:currentColor;opacity:.5}.reveal.has-dark-background .jump-to-slide-input{color:#fff}.reveal.has-light-background .jump-to-slide-input{color:#222}.reveal .jump-to-slide-input:focus{outline:0}.zoomed .reveal *,.zoomed .reveal :after,.zoomed .reveal :before{backface-visibility:visible!important}.zoomed .reveal .controls,.zoomed .reveal .progress{opacity:0}.zoomed .reveal .roll span{background:0 0}.zoomed .reveal .roll span:after{visibility:hidden}.reveal-viewport.loading-scroll-mode{visibility:hidden}.reveal-viewport.reveal-scroll{margin:0 auto;overflow:auto;overflow-x:hidden;overflow-y:auto;z-index:1;--r-scrollbar-width:7px;--r-scrollbar-trigger-size:5px;--r-controls-spacing:8px}@media screen and (max-width:500px){.reveal-viewport.reveal-scroll{--r-scrollbar-width:3px;--r-scrollbar-trigger-size:3px}}.reveal-viewport.reveal-scroll .backgrounds,.reveal-viewport.reveal-scroll .controls,.reveal-viewport.reveal-scroll .playback,.reveal-viewport.reveal-scroll .progress,.reveal-viewport.reveal-scroll .slide-number,.reveal-viewport.reveal-scroll .speaker-notes{display:none!important}.reveal-viewport.reveal-scroll .pause-overlay,.reveal-viewport.reveal-scroll .r-overlay{position:fixed}.reveal-viewport.reveal-scroll .reveal{overflow:visible;touch-action:manipulation}.reveal-viewport.reveal-scroll .slides{position:static;pointer-events:initial;left:auto;top:auto;width:100%!important;margin:0;padding:0;overflow:visible;display:block;perspective:none;perspective-origin:50% 50%}.reveal-viewport.reveal-scroll .scroll-page{position:relative;width:100%;height:calc(var(--page-height) + var(--page-scroll-padding));z-index:1;overflow:visible}.reveal-viewport.reveal-scroll .scroll-page-sticky{position:sticky;height:var(--page-height);top:0}.reveal-viewport.reveal-scroll .scroll-page-content{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}.reveal-viewport.reveal-scroll .scroll-page section{visibility:visible!important;display:block!important;position:absolute!important;width:var(--slide-width)!important;height:var(--slide-height)!important;top:50%!important;left:50%!important;opacity:1!important;transform:scale(var(--slide-scale)) translate(-50%,-50%)!important;transform-style:flat!important;transform-origin:0 0!important}.reveal-viewport.reveal-scroll .slide-background{display:block!important;position:absolute;top:0;left:0;width:100%;height:100%;z-index:auto!important;visibility:visible;opacity:1;touch-action:manipulation}.reveal-viewport.reveal-scroll[data-scrollbar=auto]::-webkit-scrollbar,.reveal-viewport.reveal-scroll[data-scrollbar=true]::-webkit-scrollbar{display:none}.reveal-viewport.reveal-scroll[data-scrollbar=auto],.reveal-viewport.reveal-scroll[data-scrollbar=true]{scrollbar-width:none}.reveal-viewport.has-dark-background,.reveal.has-dark-background{--r-overlay-element-bg-color:240,240,240;--r-overlay-element-fg-color:0,0,0}.reveal-viewport.has-light-background,.reveal.has-light-background{--r-overlay-element-bg-color:0,0,0;--r-overlay-element-fg-color:240,240,240}.reveal-viewport.reveal-scroll .scrollbar{position:sticky;top:50%;z-index:20;opacity:0;transition:all .3s ease}.reveal-viewport.reveal-scroll .scrollbar.visible,.reveal-viewport.reveal-scroll .scrollbar:hover{opacity:1}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-inner{position:absolute;width:var(--r-scrollbar-width);height:calc(var(--viewport-height) - var(--r-controls-spacing) * 2);right:var(--r-controls-spacing);top:0;transform:translateY(-50%);border-radius:var(--r-scrollbar-width);z-index:10}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-playhead{position:absolute;width:var(--r-scrollbar-width);height:var(--r-scrollbar-width);top:0;left:0;border-radius:var(--r-scrollbar-width);background-color:rgba(var(--r-overlay-element-bg-color),1);z-index:11;transition:background-color .2s ease}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide{position:absolute;width:100%;background-color:rgba(var(--r-overlay-element-bg-color),.2);box-shadow:0 0 0 1px rgba(var(--r-overlay-element-fg-color),.1);border-radius:var(--r-scrollbar-width);transition:background-color .2s ease}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide:after{content:"";position:absolute;width:200%;height:100%;top:0;left:-50%;background:#0000;z-index:-1}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide.active,.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide:hover{background-color:rgba(var(--r-overlay-element-bg-color),.4)}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-trigger{position:absolute;width:100%;transition:background-color .2s ease}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide.active.has-triggers{background-color:rgba(var(--r-overlay-element-bg-color),.4);z-index:10}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide.active .scrollbar-trigger:after{content:"";position:absolute;width:var(--r-scrollbar-trigger-size);height:var(--r-scrollbar-trigger-size);border-radius:20px;top:50%;left:50%;transform:translate(-50%,-50%);background-color:rgba(var(--r-overlay-element-bg-color),1);transition:transform .2s ease,opacity .2s ease;opacity:.4}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide.active .scrollbar-trigger.active:after,.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide.active .scrollbar-trigger.active~.scrollbar-trigger:after{opacity:1}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide.active .scrollbar-trigger~.scrollbar-trigger.active:after{transform:translate(calc(var(--r-scrollbar-width) * -2));background-color:rgba(var(--r-overlay-element-bg-color),1)}html.reveal-print *{-webkit-print-color-adjust:exact}html.reveal-print{width:100%;height:100%;overflow:visible}html.reveal-print body{margin:0 auto!important;border:0;padding:0;float:none!important;overflow:visible}html.reveal-print .nestedarrow,html.reveal-print .reveal .controls,html.reveal-print .reveal .playback,html.reveal-print .reveal .progress,html.reveal-print .reveal.overview,html.reveal-print .state-background{display:none!important}html.reveal-print .reveal pre code{overflow:hidden!important}html.reveal-print .reveal{width:auto!important;height:auto!important;overflow:hidden!important}html.reveal-print .reveal .slides{position:static;width:100%!important;height:auto!important;zoom:1!important;pointer-events:initial;left:auto;top:auto;margin:0!important;padding:0!important;overflow:visible;display:block;perspective:none;perspective-origin:50% 50%}html.reveal-print .reveal .slides .pdf-page{position:relative;overflow:hidden;z-index:1;page-break-after:always}html.reveal-print .reveal .slides .pdf-page:last-of-type{page-break-after:avoid}html.reveal-print .reveal .slides section{visibility:visible!important;display:block!important;position:absolute!important;margin:0!important;padding:0!important;box-sizing:border-box!important;min-height:1px;opacity:1!important;transform-style:flat!important;transform:none!important}html.reveal-print .reveal section.stack{position:relative!important;margin:0!important;padding:0!important;page-break-after:avoid!important;height:auto!important;min-height:auto!important}html.reveal-print .reveal img{box-shadow:none}html.reveal-print .reveal .backgrounds{display:none}html.reveal-print .reveal .slide-background{display:block!important;position:absolute;top:0;left:0;width:100%;height:100%;z-index:auto!important}html.reveal-print .reveal.show-notes{max-width:none;max-height:none}html.reveal-print .reveal .speaker-notes-pdf{display:block;width:100%;height:auto;max-height:none;inset:auto;z-index:100}html.reveal-print .reveal .speaker-notes-pdf[data-layout=separate-page]{position:relative;color:inherit;background-color:transparent;padding:20px;page-break-after:always;border:0}html.reveal-print .reveal .slide-number-pdf{display:block;position:absolute;font-size:14px;visibility:visible}html.reveal-print .aria-status{display:none}@media print{html:not(.print-pdf){overflow:visible;width:auto;height:auto}html:not(.print-pdf) body{margin:0;padding:0;overflow:visible}html:not(.print-pdf) .reveal{background:#fff;font-size:20pt}html:not(.print-pdf) .reveal .backgrounds,html:not(.print-pdf) .reveal .controls,html:not(.print-pdf) .reveal .progress,html:not(.print-pdf) .reveal .slide-number,html:not(.print-pdf) .reveal .state-background{display:none!important}html:not(.print-pdf) .reveal li,html:not(.print-pdf) .reveal p,html:not(.print-pdf) .reveal td{font-size:20pt!important;color:#000}html:not(.print-pdf) .reveal h1,html:not(.print-pdf) .reveal h2,html:not(.print-pdf) .reveal h3,html:not(.print-pdf) .reveal h4,html:not(.print-pdf) .reveal h5,html:not(.print-pdf) .reveal h6{color:#000!important;height:auto;line-height:normal;text-align:left;letter-spacing:normal}html:not(.print-pdf) .reveal h1{font-size:28pt!important}html:not(.print-pdf) .reveal h2{font-size:24pt!important}html:not(.print-pdf) .reveal h3{font-size:22pt!important}html:not(.print-pdf) .reveal h4{font-size:22pt!important;font-variant:small-caps}html:not(.print-pdf) .reveal h5{font-size:21pt!important}html:not(.print-pdf) .reveal h6{font-size:20pt!important;font-style:italic}html:not(.print-pdf) .reveal a:link,html:not(.print-pdf) .reveal a:visited{color:#000!important;font-weight:700;text-decoration:underline}html:not(.print-pdf) .reveal div,html:not(.print-pdf) .reveal ol,html:not(.print-pdf) .reveal p,html:not(.print-pdf) .reveal ul{visibility:visible;position:static;width:auto;height:auto;display:block;overflow:visible;margin:0;text-align:left!important}html:not(.print-pdf) .reveal pre,html:not(.print-pdf) .reveal table{margin-left:0;margin-right:0}html:not(.print-pdf) .reveal pre code{padding:20px}html:not(.print-pdf) .reveal blockquote{margin:20px 0}html:not(.print-pdf) .reveal .slides{position:static!important;width:auto!important;height:auto!important;left:0!important;top:0!important;margin-left:0!important;margin-top:0!important;padding:0!important;zoom:1!important;transform:none!important;overflow:visible!important;display:block!important;text-align:left!important;perspective:none;perspective-origin:50% 50%}html:not(.print-pdf) .reveal .slides section{visibility:visible!important;position:static!important;width:auto!important;height:auto!important;display:block!important;overflow:visible!important;left:0!important;top:0!important;margin-left:0!important;margin-top:0!important;padding:60px 20px!important;z-index:auto!important;opacity:1!important;page-break-after:always!important;transform-style:flat!important;transform:none!important;transition:none!important}html:not(.print-pdf) .reveal .slides section.stack{padding:0!important}html:not(.print-pdf) .reveal .slides section:last-of-type{page-break-after:avoid!important}html:not(.print-pdf) .reveal .slides section .fragment{opacity:1!important;visibility:visible!important;transform:none!important}html:not(.print-pdf) .reveal .r-fit-text{white-space:normal!important}html:not(.print-pdf) .reveal section img{display:block;margin:15px 0;background:#fff;border:1px solid #666;box-shadow:none}html:not(.print-pdf) .reveal section small{font-size:.8em}html:not(.print-pdf) .reveal .hljs{max-height:100%;white-space:pre-wrap;word-wrap:break-word;word-break:break-word;font-size:15pt}html:not(.print-pdf) .reveal .hljs .hljs-ln-numbers{white-space:nowrap}html:not(.print-pdf) .reveal .hljs td{font-size:inherit!important;color:inherit!important}}@font-face{font-family:Source Sans Pro;src:url(/assets/source-sans-pro-regular-C8xAf4ue.eot);src:url(/assets/source-sans-pro-regular-C8xAf4ue.eot?#iefix) format("embedded-opentype"),url(/assets/source-sans-pro-regular-Du6DMqU5.woff) format("woff"),url(/assets/source-sans-pro-regular-DVYRbr7L.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:Source Sans Pro;src:url(/assets/source-sans-pro-italic-BRELHCij.eot);src:url(/assets/source-sans-pro-italic-BRELHCij.eot?#iefix) format("embedded-opentype"),url(/assets/source-sans-pro-italic-Cv9m8hC5.woff) format("woff"),url(/assets/source-sans-pro-italic-CRcsOvyS.ttf) format("truetype");font-weight:400;font-style:italic}@font-face{font-family:Source Sans Pro;src:url(/assets/source-sans-pro-semibold-DJkFd4Pg.eot);src:url(/assets/source-sans-pro-semibold-DJkFd4Pg.eot?#iefix) format("embedded-opentype"),url(/assets/source-sans-pro-semibold-DwriEDPf.woff) format("woff"),url(/assets/source-sans-pro-semibold-J0UDcmCq.ttf) format("truetype");font-weight:600;font-style:normal}@font-face{font-family:Source Sans Pro;src:url(/assets/source-sans-pro-semibolditalic-DCTsihXp.eot);src:url(/assets/source-sans-pro-semibolditalic-DCTsihXp.eot?#iefix) format("embedded-opentype"),url(/assets/source-sans-pro-semibolditalic-DSkHRpvW.woff) format("woff"),url(/assets/source-sans-pro-semibolditalic-BHQoOnJ8.ttf) format("truetype");font-weight:600;font-style:italic}section.has-light-background,section.has-light-background h1,section.has-light-background h2,section.has-light-background h3,section.has-light-background h4,section.has-light-background h5,section.has-light-background h6{color:#222}:root{--r-background-color: #191919;--r-main-font: Source Sans Pro, Helvetica, sans-serif;--r-main-font-size: 42px;--r-main-color: #fff;--r-block-margin: 20px;--r-heading-margin: 0 0 20px 0;--r-heading-font: Source Sans Pro, Helvetica, sans-serif;--r-heading-color: #fff;--r-heading-line-height: 1.2;--r-heading-letter-spacing: normal;--r-heading-text-transform: uppercase;--r-heading-text-shadow: none;--r-heading-font-weight: 600;--r-heading1-text-shadow: none;--r-heading1-size: 2.5em;--r-heading2-size: 1.6em;--r-heading3-size: 1.3em;--r-heading4-size: 1em;--r-code-font: monospace;--r-link-color: #42affa;--r-link-color-dark: rgb(19.8216494845, 155.4536082474, 248.7783505155);--r-link-color-hover: rgb(94.35, 187, 250.75);--r-selection-background-color: rgba(66, 175, 250, .75);--r-selection-color: #fff;--r-overlay-element-bg-color: 240, 240, 240;--r-overlay-element-fg-color: 0, 0, 0}.reveal-viewport{background:#191919;background-color:var(--r-background-color)}.reveal{font-family:var(--r-main-font);font-size:var(--r-main-font-size);font-weight:400;color:var(--r-main-color)}.reveal ::selection{color:var(--r-selection-color);background:var(--r-selection-background-color);text-shadow:none}.reveal ::-moz-selection{color:var(--r-selection-color);background:var(--r-selection-background-color);text-shadow:none}.reveal .slides section,.reveal .slides section>section{line-height:1.3;font-weight:inherit}.reveal h1,.reveal h2,.reveal h3,.reveal h4,.reveal h5,.reveal h6{margin:var(--r-heading-margin);color:var(--r-heading-color);font-family:var(--r-heading-font);font-weight:var(--r-heading-font-weight);line-height:var(--r-heading-line-height);letter-spacing:var(--r-heading-letter-spacing);text-transform:var(--r-heading-text-transform);text-shadow:var(--r-heading-text-shadow);word-wrap:break-word}.reveal h1{font-size:var(--r-heading1-size)}.reveal h2{font-size:var(--r-heading2-size)}.reveal h3{font-size:var(--r-heading3-size)}.reveal h4{font-size:var(--r-heading4-size)}.reveal h1{text-shadow:var(--r-heading1-text-shadow)}.reveal p{margin:var(--r-block-margin) 0;line-height:1.3}.reveal h1:last-child,.reveal h2:last-child,.reveal h3:last-child,.reveal h4:last-child,.reveal h5:last-child,.reveal h6:last-child{margin-bottom:0}.reveal img,.reveal video,.reveal iframe{max-width:95%;max-height:95%}.reveal strong,.reveal b{font-weight:700}.reveal em{font-style:italic}.reveal ol,.reveal dl,.reveal ul{display:inline-block;text-align:left;margin:0 0 0 1em}.reveal ol{list-style-type:decimal}.reveal ul{list-style-type:disc}.reveal ul ul{list-style-type:square}.reveal ul ul ul{list-style-type:circle}.reveal ul ul,.reveal ul ol,.reveal ol ol,.reveal ol ul{display:block;margin-left:40px}.reveal dt{font-weight:700}.reveal dd{margin-left:40px}.reveal blockquote{display:block;position:relative;width:70%;margin:var(--r-block-margin) auto;padding:5px;font-style:italic;background:#ffffff0d;box-shadow:0 0 2px #0003}.reveal blockquote p:first-child,.reveal blockquote p:last-child{display:inline-block}.reveal q{font-style:italic}.reveal pre{display:block;position:relative;width:90%;margin:var(--r-block-margin) auto;text-align:left;font-size:.55em;font-family:var(--r-code-font);line-height:1.2em;word-wrap:break-word;box-shadow:0 5px 15px #00000026}.reveal code{font-family:var(--r-code-font);text-transform:none;tab-size:2}.reveal pre code{display:block;padding:5px;overflow:auto;max-height:400px;word-wrap:normal}.reveal .code-wrapper{white-space:normal}.reveal .code-wrapper code{white-space:pre}.reveal table{margin:auto;border-collapse:collapse;border-spacing:0}.reveal table th{font-weight:700}.reveal table th,.reveal table td{text-align:left;padding:.2em .5em;border-bottom:1px solid}.reveal table th[align=center],.reveal table td[align=center]{text-align:center}.reveal table th[align=right],.reveal table td[align=right]{text-align:right}.reveal table tbody tr:last-child th,.reveal table tbody tr:last-child td{border-bottom:none}.reveal sup{vertical-align:super;font-size:smaller}.reveal sub{vertical-align:sub;font-size:smaller}.reveal small{display:inline-block;font-size:.6em;line-height:1.2em;vertical-align:top}.reveal small *{vertical-align:top}.reveal img{margin:var(--r-block-margin) 0}.reveal a{color:var(--r-link-color);text-decoration:none;transition:color .15s ease}.reveal a:hover{color:var(--r-link-color-hover);text-shadow:none;border:none}.reveal .roll span:after{color:#fff;background:var(--r-link-color-dark)}.reveal .r-frame{border:4px solid var(--r-main-color);box-shadow:0 0 10px #00000026}.reveal a .r-frame{transition:all .15s linear}.reveal a:hover .r-frame{border-color:var(--r-link-color);box-shadow:0 0 20px #0000008c}.reveal .controls{color:var(--r-link-color)}.reveal .progress{background:#0003;color:var(--r-link-color)}@media print{.backgrounds{background-color:var(--r-background-color)}}.simple-slide-viewer{position:fixed;inset:0;z-index:9999;background:#000;display:flex;flex-direction:column}.slide-viewer-header{height:48px;background:#0e0e0e;border-bottom:1px solid rgba(255,255,255,.05);display:flex;align-items:center;justify-content:space-between;padding:0 16px;flex-shrink:0}.slide-viewer-title{font-family:SF Mono,Consolas,monospace;font-size:13px;font-weight:600;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:50%}.slide-viewer-controls{display:flex;align-items:center;gap:8px}.slide-counter{font-family:SF Mono,Consolas,monospace;font-size:12px;color:#fff9;padding:4px 12px;background:#ffffff0d;border-radius:12px}.slide-viewer-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:6px;color:#fff9;cursor:pointer;transition:all .12s cubic-bezier(.4,0,.2,1)}.slide-viewer-btn:hover{background:#ffffff1a;color:#fff}.slide-viewer-close:hover{background:#ef444433;color:#ef4444}.slide-viewer-main{flex:1;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#000}.slide-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:40px}.slide-content{max-width:1200px;width:100%;max-height:100%;padding:60px;background:#111;border-radius:12px;border:1px solid rgba(255,255,255,.05);overflow-y:auto;box-shadow:0 20px 60px #00000080}.slide-content h1{font-size:48px;font-weight:700;color:#fff;margin:0 0 24px;text-align:center}.slide-content h2{font-size:32px;font-weight:600;color:#fff;margin:32px 0 16px}.slide-content h3{font-size:24px;font-weight:600;color:#ffffffe6;margin:24px 0 12px}.slide-content p{font-size:20px;line-height:1.6;color:#fffc;margin:16px 0}.slide-content ul,.slide-content ol{font-size:20px;line-height:1.8;color:#fffc;margin:16px 0;padding-left:32px}.slide-content li{margin:8px 0}.slide-content strong{color:#fff;font-weight:600}.slide-content blockquote{border-left:4px solid rgba(255,255,255,.2);padding-left:20px;margin:24px 0;color:#fff9;font-style:italic}.slide-content table{width:100%;border-collapse:collapse;margin:24px 0;font-size:18px}.slide-content table th{background:#ffffff0d;color:#fff;font-weight:600;padding:12px 16px;text-align:left;border-bottom:2px solid rgba(255,255,255,.1)}.slide-content table td{padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.05);color:#fffc}.slide-content code{background:#ffffff1a;padding:2px 6px;border-radius:4px;font-family:SF Mono,Consolas,monospace;font-size:.9em;color:#fff}.slide-nav-btn{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;transition:all .12s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.slide-nav-btn:hover{background:#fff3;transform:translateY(-50%) scale(1.1)}.slide-nav-prev{left:24px}.slide-nav-next{right:24px}.slide-progress-bar{height:3px;background:#ffffff1a;position:absolute;bottom:0;left:0;right:0}.slide-progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#8b5cf6);transition:width .25s cubic-bezier(.4,0,.2,1)}.slide-hints{position:absolute;bottom:16px;left:50%;transform:translate(-50%);display:flex;gap:16px;font-family:SF Mono,Consolas,monospace;font-size:11px;color:#fff6;pointer-events:none;opacity:0;transition:opacity .25s}.simple-slide-viewer:hover .slide-hints{opacity:1}.slide-hints span{padding:4px 8px;background:#ffffff0d;border-radius:4px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.slide-content::-webkit-scrollbar{width:8px}.slide-content::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.slide-content::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.slide-content::-webkit-scrollbar-thumb:hover{background:#ffffff4d}@media(max-width:768px){.slide-container{padding:20px}.slide-content{padding:32px}.slide-content h1{font-size:32px}.slide-content h2{font-size:24px}.slide-content p,.slide-content ul,.slide-content ol{font-size:16px}.slide-nav-btn{width:40px;height:40px}.slide-nav-prev{left:12px}.slide-nav-next{right:12px}.slide-hints{display:none}}.observable-plot-container{width:100%;display:flex;justify-content:center;align-items:center;padding:16px;background:var(--bg-primary, #ffffff);border-radius:8px;overflow-x:auto}.observable-plot-container svg{max-width:100%;height:auto}.plot-error{padding:12px 16px;background:#ef444414;border:1px solid #ef4444;border-radius:6px;color:#ef4444;font-size:13px;font-family:Roboto Mono,monospace}.code-safety-modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;animation:overlayFadeIn .12s ease}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.code-safety-modal{position:relative;background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;width:480px;max-width:90vw;max-height:85vh;display:flex;flex-direction:column;animation:modalSlideIn .12s ease}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.modal-close-btn{position:absolute;top:12px;right:12px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--text-tertiary);transition:all .12s}.modal-close-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.modal-header{padding:20px 24px;border-bottom:1px solid var(--border-light)}.modal-header h2{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.modal-content{padding:20px 24px;overflow-y:auto;flex:1}.info-section{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.info-row{display:flex;gap:12px;align-items:flex-start}.info-icon{flex-shrink:0;color:var(--text-tertiary);margin-top:2px}.info-text{flex:1;min-width:0}.info-label{font-size:13px;font-weight:500;color:var(--text-primary);margin-bottom:2px}.info-desc{font-size:13px;color:var(--text-secondary);line-height:1.5}.warning-note{padding:12px;background:var(--bg-secondary);border-left:2px solid var(--text-tertiary);border-radius:4px;font-size:13px;color:var(--text-secondary);margin-bottom:16px}.checkbox-row{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:4px 0}.checkbox-row input[type=checkbox]{cursor:pointer;width:16px;height:16px;margin:0;flex-shrink:0}.checkbox-row span{font-size:13px;color:var(--text-secondary)}.checkbox-row:hover span{color:var(--text-primary)}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 24px;border-top:1px solid var(--border-light);flex-shrink:0}.btn-secondary,.btn-primary{height:32px;padding:0 12px;border-radius:6px;font-size:13px;font-weight:500;border:none;cursor:pointer;transition:all .12s;display:flex;align-items:center;justify-content:center;white-space:nowrap}.btn-secondary{background:transparent;color:var(--text-primary)}.btn-secondary:hover{background:var(--bg-secondary)}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}@media(max-width:640px){.code-safety-modal{width:100%;max-width:calc(100vw - 32px)}.modal-header,.modal-content{padding:16px 20px}.modal-footer{padding:12px 20px}}.notebook-view{display:flex;flex-direction:column;height:100%;width:100%;background:#fff;overflow:hidden}.notebook-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-bottom:1px solid var(--border-light);background:#fff;flex-shrink:0;gap:16px}.toolbar-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border:none;border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:13px;font-weight:500;cursor:pointer;transition:all .12s;width:auto;min-width:-moz-fit-content;min-width:fit-content}.toolbar-btn:hover:not(:disabled){background:var(--border-light);transform:translateY(-1px)}.toolbar-btn:disabled{opacity:.5;cursor:not-allowed}.toolbar-btn-primary{background:var(--primary);color:#fff}.toolbar-btn-primary:hover:not(:disabled){background:var(--primary-hover);box-shadow:0 4px 12px #1a73e833}.toolbar-btn-primary.is-modified{animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.execution-monitor{display:flex;align-items:center;gap:8px;padding:4px 12px;border-radius:6px;font-size:12px;font-weight:500;transition:all .12s}.execution-monitor.idle{background:var(--bg-secondary);color:var(--text-secondary)}.execution-monitor.active{background:#fef3c7;color:#92400e}.emergency-stop-btn{transition:all .12s}.emergency-stop-btn:disabled{background:transparent!important;color:var(--text-secondary)!important;opacity:1!important;cursor:not-allowed}.emergency-stop-btn:disabled:hover{background:var(--bg-secondary)!important;transform:none;box-shadow:none}.emergency-stop-btn:not(:disabled){background:#ef4444!important;color:#fff!important}.emergency-stop-btn:not(:disabled):hover{background:#dc2626!important;transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.ai-generate-cmd-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.ai-generate-cmd-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.ai-generate-cmd-btn.loading{animation:pulse 1.5s ease-in-out infinite}.notebook-cells{flex:1;overflow-y:auto;padding:24px;min-height:0}.cell-wrapper{display:flex;gap:8px;margin-bottom:4px;position:relative}.cell-gutter{display:flex;flex-direction:column;align-items:center;gap:8px;width:48px;padding-top:8px;flex-shrink:0}.cell-gutter .cell-type-trigger,.cell-gutter .cell-run-btn-gutter{opacity:0;transition:opacity .12s}.cell-wrapper:hover .cell-gutter .cell-type-trigger,.cell-wrapper:hover .cell-gutter .cell-run-btn-gutter,.cell-type-menu.open .cell-type-trigger{opacity:1}.cell-execution-label{font-size:11px;color:var(--text-tertiary);font-family:var(--font-mono)}.notebook-cell{flex:1;border:1px solid var(--border-light);border-radius:8px;background:#fff;padding:12px;transition:all .12s;min-height:48px;position:relative}.notebook-cell:hover{border-color:var(--border-medium);box-shadow:0 2px 8px #00000014}.notebook-cell:focus-within{border-color:var(--border-medium);box-shadow:0 2px 8px #00000014}.notebook-cell.focused{border-color:var(--border-medium);box-shadow:0 2px 8px #00000014}.cell-actions-right{display:flex;flex-direction:column;gap:4px;opacity:0;transition:opacity .12s;flex-shrink:0}.cell-wrapper:hover .cell-actions-right{opacity:1}.cell-action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border-light);border-radius:6px;background:#fff;color:var(--text-secondary);cursor:pointer;transition:all .12s;padding:0}.cell-action-btn:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--primary);color:var(--primary)}.cell-action-btn:disabled{opacity:.3;cursor:not-allowed}.cell-action-btn svg{flex-shrink:0}.cell-action-btn-delete:hover:not(:disabled){background:#ef444414;border-color:#ef4444;color:#ef4444}.cell-code{position:relative}.cell-run-btn-gutter{display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin-top:8px;border:none;border-radius:6px;background:#202124;color:#fff;cursor:pointer;transition:all .12s}.cell-run-btn-gutter:hover:not(:disabled){background:#303134;transform:translateY(-1px);box-shadow:0 4px 12px #0003}.cell-run-btn-gutter:disabled{cursor:not-allowed;background:var(--bg-secondary);color:var(--text-tertiary)}.cell-run-btn-gutter .spinning{animation:spin 1s linear infinite}.cell-markdown-editor{outline:none}.markdown-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px;border-bottom:1px solid var(--border-light);background:var(--bg-secondary);border-radius:8px 8px 0 0;margin:-12px -12px 12px}.markdown-toolbar-left{display:flex;align-items:center;gap:4px}.toolbar-group{display:flex;gap:2px}.md-toolbar-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:4px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .12s}.md-toolbar-btn:hover{background:#fff;color:var(--primary)}.md-toolbar-divider{width:1px;height:20px;background:var(--border-light);margin:0 4px}.markdown-toolbar-right{display:flex;background:var(--bg-secondary);border-radius:6px;padding:2px;gap:0}.mode-toggle-btn{padding:4px 10px;border:none;border-radius:4px;background:transparent;color:var(--text-secondary);font-size:11px;font-weight:500;cursor:pointer;transition:all .12s}.mode-toggle-btn:hover{color:var(--text-primary)}.mode-toggle-btn.active{background:#fff;color:var(--text-primary);box-shadow:0 1px 3px #00000014}.cell-markdown-preview{min-height:60px;padding:2px 0;cursor:text;color:var(--text-primary)}.cell-markdown-preview:empty:before{content:"点击开始编辑 Markdown...";color:var(--text-tertiary);font-style:italic}.code-cell{font-family:var(--font-mono);font-size:13px}.code-cell .cm-editor:not(.cm-focused) .cm-activeLine{background:transparent}.code-cell .cm-editor:not(.cm-focused) .cm-activeLineGutter{background:transparent}.markdown-cell{min-height:60px}.markdown-cell.preview{border-color:transparent;background:transparent;cursor:pointer;position:relative;padding:6px;transition:all .12s}.markdown-cell.preview:hover{border-color:var(--border-light);background:#fff;box-shadow:0 2px 8px #00000014}.markdown-cell.preview.focused{border-color:var(--border-medium);background:#fff;box-shadow:0 2px 8px #00000014}.markdown-cell.editing{border-color:var(--border-medium);box-shadow:0 2px 8px #00000014}.cell-output{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-light);font-size:13px;line-height:1.6}.cell-output pre{background:var(--bg-secondary);padding:12px;border-radius:6px;overflow-x:auto;font-family:var(--font-mono);font-size:12px}.cell-output .error{color:#ef4444}.cell-inserter{position:absolute;left:0;right:0;bottom:-12px;display:flex;align-items:center;gap:8px;padding:0 48px;opacity:0;transition:opacity .12s;z-index:10;pointer-events:none}.cell-wrapper:hover .cell-inserter,.cell-inserter:hover{opacity:1;pointer-events:auto}.inserter-line{flex:1;height:2px;background:var(--border-light);transition:background .12s}.inserter-buttons{display:flex;gap:4px}.inserter-btn{display:flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--border-light);border-radius:6px;background:#fff;color:var(--text-secondary);font-size:11px;font-weight:500;cursor:pointer;transition:all .12s}.inserter-btn:hover{background:var(--primary);border-color:var(--primary);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #1a73e833}.inserter-btn svg{flex-shrink:0}.notebook-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:48px;text-align:center}.notebook-empty-state svg{color:var(--text-tertiary);margin-bottom:16px}.notebook-empty-state h3{margin:0 0 8px;font-size:16px;font-weight:600;color:var(--text-primary)}.notebook-empty-state p{margin:0 0 24px;font-size:14px;color:var(--text-secondary)}.empty-buttons{display:flex;gap:12px}.empty-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;border:1px solid var(--border-light);border-radius:8px;background:#fff;color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .12s}.empty-btn:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-1px);box-shadow:0 4px 12px #00000014}.empty-btn.primary{background:var(--primary);color:#fff;border-color:var(--primary)}.empty-btn.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.cell-type-menu{position:relative}.cell-type-trigger{display:flex;align-items:center;gap:4px;padding:4px 6px;border:1px solid var(--border-light);border-radius:4px;background:#fff;color:var(--text-secondary);font-size:11px;cursor:pointer;transition:all .12s}.cell-type-trigger:hover{background:var(--bg-secondary);border-color:var(--primary);color:var(--primary)}.cell-type-backdrop{position:fixed;inset:0;z-index:998}.cell-type-dropdown{position:fixed;transform:translate(-50%);background:#fff;border:1px solid var(--border-light);border-radius:8px;box-shadow:0 8px 24px #0000001f;padding:4px;min-width:140px;z-index:999}.cell-type-option{display:flex;align-items:center;gap:8px;padding:8px 12px;border:none;border-radius:6px;background:transparent;color:var(--text-primary);font-size:13px;width:100%;text-align:left;cursor:pointer;transition:all .12s}.cell-type-option:hover{background:var(--bg-secondary)}.cell-type-option.active{background:var(--bg-secondary);color:var(--primary);font-weight:500}.data-file-section{padding:16px;border-bottom:1px solid var(--border-light);background:var(--bg-secondary);flex-shrink:0}.data-file-upload{display:flex;align-items:center;gap:12px}.upload-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px dashed var(--border-medium);border-radius:6px;background:#fff;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .12s}.upload-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--bg-secondary)}.linked-file-info{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#fff;border:1px solid var(--border-light);border-radius:6px;font-size:13px;color:var(--text-primary)}.linked-file-info svg{color:var(--primary)}@media(max-width:768px){.notebook-toolbar{flex-direction:column;align-items:stretch}.toolbar-left,.toolbar-right{width:100%;justify-content:space-between}.cell-gutter{width:40px}}.dashboard-view{width:100%;height:100%;display:flex;flex-direction:column;background:#f8f9fa;overflow:auto}.dashboard-placeholder{flex:1;display:flex;align-items:center;justify-content:center;padding:48px 24px}.placeholder-content{max-width:600px;background:#fff;border:1px solid var(--border-light, #e8eaed);border-radius:12px;box-shadow:0 2px 8px #00000014;padding:32px;text-align:center}.placeholder-content h2{font-size:24px;font-weight:600;color:var(--text-primary, #202124);margin-bottom:12px}.placeholder-content>p{font-size:14px;color:var(--text-secondary, #5f6368);margin-bottom:32px;line-height:1.6}.feature-preview{background:#f8f9fa;border-radius:8px;padding:20px;margin-bottom:24px;text-align:left}.feature-preview h3{font-size:14px;font-weight:600;color:var(--text-primary, #202124);margin-bottom:12px}.feature-preview ul{list-style:none;padding:0;margin:0}.feature-preview li{font-size:13px;color:var(--text-secondary, #5f6368);padding:6px 0;display:flex;align-items:center}.feature-preview li:before{content:"•";color:var(--primary, #1a73e8);font-weight:700;margin-right:8px}.feature-preview strong{color:var(--text-primary, #202124);font-weight:500;margin-right:4px}.widget-syntax{background:#f8f9fa;border-radius:8px;padding:20px;margin-bottom:24px;text-align:left}.widget-syntax h3{font-size:14px;font-weight:600;color:var(--text-primary, #202124);margin-bottom:12px}.widget-syntax pre{background:#202124;color:#e8eaed;border-radius:6px;padding:16px;font-family:Monaco,Menlo,monospace;font-size:12px;line-height:1.6;overflow-x:auto;margin:0}.test-link{padding-top:20px;border-top:1px solid var(--border-light, #e8eaed)}.test-link p{font-size:13px;color:var(--text-secondary, #5f6368);margin-bottom:8px}.test-link a{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;background:var(--primary, #1a73e8);color:#fff;text-decoration:none;border-radius:6px;font-size:14px;font-weight:500;transition:all .12s}.test-link a:hover{background:#1765cc;box-shadow:0 2px 8px #1a73e84d}.test-link a:active{transform:scale(.98)}@media(max-width:640px){.dashboard-placeholder{padding:24px 16px}.placeholder-content{padding:24px}.placeholder-content h2{font-size:20px}.widget-syntax pre{font-size:11px;padding:12px}}.playground-view{width:100%;height:100%;display:flex;flex-direction:column;background:#f6f6f7;overflow:hidden}.playground-notice{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#fff9e6;border-bottom:1px solid #ffe57f;color:#9a6700;font-size:13px;flex-shrink:0}.playground-notice svg{flex-shrink:0;color:#f59e0b}.playground-view>div:last-child{flex:1;min-height:0;overflow:hidden}.infographic-wrapper{display:flex;flex-direction:column;width:100%;height:100%;background:#fff}.infographic-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#fff;border-bottom:1px solid var(--border-light);gap:12px}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:8px}.toolbar-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:transparent;border:1px solid var(--border-light);border-radius:var(--radius-sm);font-size:13px;color:var(--text-primary);cursor:pointer;transition:all .2s}.toolbar-btn:hover{background:var(--bg-secondary);border-color:var(--primary)}.toolbar-btn svg{flex-shrink:0}.theme-selector{display:flex;align-items:center;gap:6px;color:var(--text-secondary)}.theme-select{padding:6px 12px;border:1px solid var(--border-light);border-radius:var(--radius-sm);font-size:13px;color:var(--text-primary);background:#fff;cursor:pointer;transition:all .2s}.theme-select:hover{border-color:var(--primary)}.theme-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #1a73e81a}.infographic-container{flex:1;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:#f8f9fa}.infographic-canvas{width:100%;height:100%;padding:20px;box-sizing:border-box}.infographic-loading{display:flex;flex-direction:column;align-items:center;gap:16px;color:var(--text-secondary)}.loading-spinner{width:32px;height:32px;border:3px solid var(--border-light);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.infographic-error{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px;color:var(--error);text-align:center}.infographic-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:48px;color:var(--text-secondary);text-align:center;min-height:400px}.infographic-placeholder svg{color:var(--text-tertiary);opacity:.5}.infographic-placeholder h3{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.infographic-placeholder>p{font-size:14px;color:var(--text-secondary);margin:0}.placeholder-info{display:flex;flex-direction:column;gap:12px;margin-top:16px;max-width:600px}.placeholder-hint{font-size:13px;color:var(--text-tertiary);margin:0}.placeholder-desc{font-size:13px;color:var(--text-secondary);margin:0}.placeholder-example{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;padding:16px;font-size:12px;font-family:Courier New,monospace;text-align:left;color:var(--text-primary);line-height:1.6;overflow-x:auto;margin:8px 0 0}@media(max-width:768px){.toolbar-btn span{display:none}.toolbar-btn{padding:8px}}.editor-panel{position:relative;flex:var(--editor-flex, 1);width:var(--editor-width);min-width:0;height:100%;background:var(--bg-primary);border-right:none;display:flex;flex-direction:column;overflow:hidden;transition:flex .18s cubic-bezier(.4,0,.2,1),width .18s cubic-bezier(.4,0,.2,1),opacity .15s ease-out;will-change:flex,width}body.resizing .editor-panel{transition:none!important;will-change:auto}.editor-panel[style*="width: 0"],.editor-panel.collapsed{display:none}.editor-panel.expanding .editor-panel-tabs,.editor-panel.expanding .editor-panel-content{opacity:0!important}.editor-panel-tabs,.editor-panel-content{transition:opacity .1s ease-in}.editor-panel-tabs{display:flex;align-items:center;justify-content:space-between;height:40px;min-width:360px;background:var(--bg-primary);border-bottom:1px solid var(--border-light);padding:0 var(--space-2);gap:4px;flex-shrink:0;overflow:hidden}.editor-panel-tabs-list{display:flex;align-items:center;gap:2px;flex:1;min-width:0;overflow:hidden;scrollbar-width:none}.editor-panel-tabs-list::-webkit-scrollbar{display:none}.editor-panel-tab{display:flex;align-items:center;gap:8px;padding:6px 12px;background:transparent;border:none;border-bottom:2px solid transparent;border-radius:0;cursor:pointer;transition:all .12s ease;white-space:nowrap;flex-shrink:0;width:160px;overflow:hidden;font-size:13px;color:var(--text-secondary);height:40px;position:relative}.editor-panel-tab:hover{background:var(--bg-secondary);color:var(--text-primary)}.editor-panel-tab.active{background:transparent;border-bottom:2px solid var(--primary);color:var(--text-primary);font-weight:500}.editor-panel-tab-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:currentColor;opacity:.7}.editor-panel-tab.active .editor-panel-tab-icon{opacity:1}.editor-panel-tab-title{display:flex;align-items:center;gap:6px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-panel-tab-rename-input{flex:1;background:var(--bg-primary);border:1px solid var(--primary);border-radius:4px;padding:2px 4px;font-size:13px;font-family:inherit;color:var(--text-primary);outline:none;min-width:0;height:24px}.editor-panel-tab.editing{background:var(--bg-primary)!important;padding-right:8px}.editor-panel-tab.editing .editor-panel-tab-close{display:none}.editor-panel-tab-modified{color:var(--status-modified-color);font-size:7px;line-height:1;margin-left:4px;opacity:var(--modified-dot-opacity)}.editor-panel-tab-close{display:flex;align-items:center;justify-content:center;width:18px;height:18px;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--text-tertiary);opacity:.5;transition:all .12s ease;flex-shrink:0}.editor-panel-tab:hover .editor-panel-tab-close{opacity:1}.editor-panel-tab-close:hover{background:#00000014;color:var(--text-primary)}.editor-panel-actions{display:flex;align-items:center;gap:var(--space-1);padding-left:var(--space-2);border-left:1px solid var(--border-light)}.editor-panel-action-group{display:flex;align-items:center;gap:2px}.editor-panel-action-divider{width:1px;height:16px;background:var(--border-light);margin:0 4px}.editor-panel-action-btn.active{background:#1a73e81a;color:var(--primary)}.editor-panel-tabs-list .editor-panel-new-tab-btn{width:28px;height:28px;min-width:28px;flex-shrink:0;margin-left:var(--space-1);border-radius:var(--radius-xs);background:transparent;color:var(--text-secondary)}.editor-panel-tabs-list .editor-panel-new-tab-btn.is-empty{margin-left:0;color:var(--text-tertiary)}.editor-panel-tabs-list .editor-panel-new-tab-btn:hover{background:#1a73e814;color:var(--primary);transform:scale(1.05)}.editor-panel-action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:var(--radius-xs);cursor:pointer;color:var(--text-secondary);transition:all .15s}.editor-panel-action-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.editor-panel-action-btn.active{background:var(--primary);color:#fff}.editor-panel-content{flex:1;overflow:hidden;display:flex;flex-direction:column;padding-bottom:0}.editor-panel-toolbar{display:flex;align-items:center;justify-content:space-between;height:36px;padding:0 12px;background:var(--bg-primary);border-bottom:1px solid var(--border-light);flex-shrink:0;position:relative}.editor-panel-toolbar.edit-mode-double-row{flex-direction:column;height:auto;padding:0}.toolbar-row-transform{height:36px;background:var(--bg-primary);border-bottom:1px solid var(--border-light);display:flex;align-items:center;justify-content:flex-start;padding:0 8px}.toolbar-row-transform .toolbar-btn{position:relative}.toolbar-btn-disabled{opacity:.5;cursor:pointer!important;position:relative;background:transparent!important}.toolbar-btn-disabled:hover{opacity:.7;background:#1a73e80a!important;transform:translateY(-1px)}.toolbar-generate-badge{position:absolute;top:-2px;right:-2px;color:var(--text-tertiary);opacity:.7;animation:pulse-gentle 2.5s ease-in-out infinite}@keyframes pulse-gentle{0%,to{opacity:.5;transform:scale(.95)}50%{opacity:.9;transform:scale(1.15)}}.toolbar-source-badge{position:absolute;top:2px;right:2px;color:var(--primary);opacity:.85;animation:sparkle 2.5s ease-in-out infinite}@keyframes sparkle{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.25)}}.toolbar-row{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0 12px;flex-shrink:0}.toolbar-row-primary{height:36px;border-bottom:1px solid var(--border-light);display:flex;align-items:center;justify-content:flex-start;padding:0 8px}.toolbar-row-secondary{height:36px;background:var(--bg-secondary, #f8f9fa);border-bottom:1px solid var(--border-light);padding:0 8px}.toolbar-row-single{height:36px;width:100%;display:flex;align-items:center;justify-content:flex-start;padding:0 8px}.toolbar-left{display:flex;align-items:center;gap:2px}.toolbar-right{display:flex;align-items:center;margin-left:auto}.toolbar-divider{width:1px;height:18px;background:var(--border-medium, #dadce0);margin:0 6px;flex-shrink:0}.toolbar-btn{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 6px;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--text-secondary);font-size:12px;transition:all .12s;white-space:nowrap;width:auto;min-width:-moz-fit-content;min-width:fit-content}.toolbar-btn-sm{height:28px;padding:0 6px;gap:0;min-width:28px;border-radius:4px;transition:all .12s ease}.toolbar-btn-sm:hover:not(:disabled){background:#0000000f;transform:scale(1.05)}.toolbar-btn:hover:not(:disabled){background:var(--bg-secondary);color:var(--text-primary)}.toolbar-btn.active{background:#1a73e814;color:var(--primary);border-color:#1a73e833}.toolbar-btn-primary{font-weight:500}.toolbar-save-dot{width:6px;height:6px;background:var(--status-modified-color);border-radius:50%;margin-left:6px;opacity:var(--modified-dot-opacity)}.toolbar-btn:disabled{opacity:.3;cursor:not-allowed}.toolbar-btn-text{white-space:nowrap}.mode-switcher{display:flex;gap:0;background:var(--bg-secondary);border-radius:8px;padding:2px}.mode-switcher-divider{width:1px;height:18px;background:var(--border-medium, #dadce0);margin:0 4px;align-self:center}.mode-btn{display:flex;align-items:center;gap:6px;height:24px;padding:0 10px;background:transparent;border:none;border-radius:6px;cursor:pointer;color:var(--text-secondary);font-size:12px;font-weight:500;transition:all .12s;white-space:nowrap;position:relative}.mode-btn:hover:not(.active):not(:disabled){color:var(--text-primary)}.mode-btn.active{background:#fff;color:var(--primary);box-shadow:0 1px 3px #00000014}.mode-btn:disabled{cursor:not-allowed;opacity:.5}.mode-btn-loading{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:4px;height:4px;border-radius:50%;background:var(--primary);animation:mode-btn-pulse 1.5s ease-in-out infinite}@keyframes mode-btn-pulse{0%,to{opacity:.3;transform:translateY(-50%) scale(1)}50%{opacity:1;transform:translateY(-50%) scale(1.5)}}.toolbar-progress-bar{position:absolute;bottom:0;left:0;right:0;height:2px;background:transparent;overflow:hidden;z-index:10}.toolbar-progress-fill{height:100%;background:#34a853;transition:width .1s linear;box-shadow:0 0 6px #34a85399}.editor-markdown-diff{flex:1;display:flex;flex-direction:column;background:var(--bg-primary);overflow:hidden}.diff-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--bg-secondary);border-bottom:1px solid var(--border-light)}.diff-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text-primary)}.diff-hint{font-size:11px;font-weight:400;color:var(--text-tertiary, #80868b);margin-left:4px}.diff-actions{display:flex;gap:8px}.diff-action-btn{padding:4px 12px;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:all .12s}.diff-action-btn.accept{background:var(--primary);color:#fff;border:none}.diff-action-btn.reject{background:transparent;border:1px solid var(--border-light);color:var(--text-secondary)}.diff-content{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0;background:var(--bg-primary)}.diff-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:var(--text-tertiary)}.diff-line{display:flex;padding:1px 8px;line-height:1.4;white-space:pre-wrap;word-break:break-all;font-family:var(--font-mono, monospace);font-size:12px}.diff-line-addition{background-color:#34a8531f;color:#188038}.diff-line-deletion{background-color:#ea43351f;color:#d93025}.diff-line-meta{color:var(--text-tertiary, #80868b);font-style:italic;background-color:#00000005;padding:4px 8px;margin:8px 0;border-radius:4px}.diff-line-context{color:var(--text-tertiary, #80868b);opacity:.6}.diff-line-prefix{width:16px;display:inline-block;flex-shrink:0;font-weight:700;opacity:.6}.diff-line-content{flex:1}.editor-markdown-summary{flex:1;display:flex;flex-direction:column;background:var(--bg-primary);padding:24px;overflow-y:auto}.editor-markdown-dashboard{flex:1;display:flex;flex-direction:column;background:#f8f9fa;overflow:hidden}.editor-markdown-playground{flex:1;display:flex;flex-direction:column;background:#f6f6f7;overflow:hidden;min-height:0}.summary-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;font-size:15px;font-weight:600;color:var(--text-primary)}.summary-header-left{display:flex;align-items:center;gap:8px;color:var(--text-secondary)}.summary-header-right{display:flex;align-items:center;gap:12px}.summary-regen-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--text-tertiary);transition:all .12s}.summary-regen-btn:hover:not(:disabled){background:var(--bg-secondary);color:var(--primary)}.summary-regen-btn:disabled{opacity:.5;cursor:not-allowed}.summary-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 0;gap:16px}.summary-loading-icon{color:var(--primary);opacity:.5;animation:summary-pulse 2s cubic-bezier(.4,0,.6,1) infinite}.summary-loading-text{font-size:13px;color:var(--text-tertiary);letter-spacing:.02em}.summary-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px;text-align:center}.summary-empty-icon{color:var(--text-tertiary);opacity:.3;margin-bottom:16px}.summary-empty-text{font-size:14px;color:var(--text-tertiary);letter-spacing:.02em;margin:0 0 24px}.summary-generate-btn{display:flex;align-items:center;gap:6px;padding:10px 20px;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.summary-generate-btn:hover{background:var(--primary-hover);transform:translateY(-1px)}.summary-generate-btn:active{transform:translateY(0)}.summary-generate-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}@keyframes summary-pulse{0%,to{opacity:.3;transform:scale(.95)}50%{opacity:.7;transform:scale(1.05)}}.summary-view-switcher{display:flex;background:var(--bg-secondary);padding:2px;border-radius:6px;gap:2px}.summary-view-btn{display:flex;align-items:center;justify-content:center;height:24px;width:24px;padding:0;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--text-tertiary);font-size:11px;font-weight:500;transition:all .12s}.summary-view-btn:hover{color:var(--text-secondary)}.summary-view-btn.active{background:#fff;color:var(--primary);box-shadow:0 1px 2px #00000014}.summary-text-raw{margin:0;font-family:var(--font-mono, monospace);font-size:12px;line-height:1.6;color:var(--text-secondary);white-space:pre-wrap;word-break:break-all;background:var(--bg-secondary);padding:16px;border-radius:8px;border:1px solid var(--border-light)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.editor-panel-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;max-width:520px;margin:-15em auto 0;cursor:pointer;gap:var(--space-2)}.editor-empty-icon-wrapper{display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-4);min-height:140px}.editor-empty-icon-wrapper img{width:120px;height:120px;opacity:.8;-o-object-fit:contain;object-fit:contain;display:block;transition:transform .25s ease,filter .25s ease}.editor-empty-icon-wrapper img:hover{transform:translateY(-4px) scale(1);filter:brightness(1.05)}.editor-empty-title{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--text-primary);letter-spacing:-.3px}.editor-empty-description{margin:0;font-size:14px;color:var(--text-secondary);line-height:1.6;cursor:help;padding:4px 12px;border-radius:6px;transition:all .2s ease;display:inline-block}.editor-empty-description:hover{background:var(--bg-secondary);color:var(--primary)}.editor-empty-hover-trigger{position:relative;display:inline-block}.editor-empty-popover{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:12px;min-width:600px;max-width:800px;width:-moz-max-content;width:max-content;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000001f;border:1px solid var(--border-light);padding:24px;opacity:0;visibility:hidden;transform:translate(-50%) translateY(-8px);transition:all .2s ease;z-index:1000;pointer-events:none}@media(max-width:768px){.editor-empty-popover{min-width:90vw;max-width:90vw;left:5vw;transform:none;margin-top:8px}.editor-empty-hover-trigger:hover .editor-empty-popover{transform:translateY(0)}}@media(min-width:769px)and (max-width:1024px){.editor-empty-popover{min-width:80vw;max-width:80vw}}.editor-empty-hover-trigger:hover .editor-empty-popover{opacity:1;visibility:visible;transform:translate(-50%) translateY(0);pointer-events:auto}.editor-empty-popover-content{max-height:60vh;overflow-y:auto}.editor-empty-popover .editor-empty-section{margin-bottom:24px}.editor-empty-popover .editor-empty-section:last-child{margin-bottom:0}.editor-empty-popover .editor-empty-section-title{font-size:14px;margin-bottom:12px}.editor-empty-popover .editor-empty-section-desc{font-size:12px;margin-bottom:12px}.editor-empty-popover .editor-empty-features{gap:8px}.editor-empty-popover .editor-empty-feature{padding:8px}.editor-empty-popover .editor-empty-feature .feature-content p{opacity:1!important;max-height:none!important;margin-top:4px!important}.editor-empty-section{width:100%;margin-bottom:var(--space-6)}.editor-empty-section-title{margin:0 0 var(--space-2) 0;font-size:14px;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.editor-empty-section-desc{margin:0 0 var(--space-3) 0;font-size:12px;color:var(--text-tertiary);line-height:1.5}.editor-empty-features{display:grid;gap:var(--space-3);width:100%}.editor-empty-features-basic,.editor-empty-features-transform{grid-template-columns:repeat(4,1fr);padding:var(--space-3);background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-light)}@media(max-width:768px){.editor-empty-features-basic,.editor-empty-features-transform{grid-template-columns:repeat(2,1fr);gap:8px;padding:12px}.editor-empty-popover{padding:16px}.editor-empty-popover .editor-empty-section{margin-bottom:16px}}@media(min-width:769px)and (max-width:1024px){.editor-empty-features-basic,.editor-empty-features-transform{grid-template-columns:repeat(3,1fr)}}.editor-empty-feature{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-3);font-size:13px;color:var(--text-secondary);text-align:center;border-radius:6px;transition:all .2s ease}.editor-empty-feature:hover{background:var(--bg-tertiary)}.editor-empty-feature svg{flex-shrink:0;color:var(--primary);opacity:.8;transition:transform .2s ease}.editor-empty-feature:hover svg{transform:scale(1.1)}.editor-empty-feature .feature-content{display:flex;flex-direction:column;gap:4px;align-items:center}.editor-empty-feature .feature-content h5{margin:0;font-size:13px;font-weight:600;color:var(--text-primary)}.editor-empty-feature .feature-content p{margin:0;font-size:11px;color:var(--text-tertiary);line-height:1.4;opacity:0;max-height:0;overflow:hidden;transition:all .2s ease}.editor-empty-feature:hover .feature-content p{opacity:1;max-height:50px;margin-top:4px}.editor-empty-feature .feature-content code{padding:1px 4px;background:var(--bg-tertiary);border-radius:3px;font-size:11px;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace}.editor-empty-create-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:10px 20px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .12s ease}.editor-empty-create-btn:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #1a73e833}.editor-empty-create-btn:active{transform:translateY(0)}.editor-empty-hint{font-size:12px;color:var(--text-tertiary);margin:0}.editor-empty-shortcuts{display:flex;flex-direction:column;gap:var(--space-3);width:100%;margin-top:var(--space-2)}.editor-empty-shortcut-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-secondary);border-radius:var(--radius-sm);transition:all .12s ease;cursor:default;text-align:left}.editor-empty-shortcut-item:hover{background:#1a73e80f;transform:translate(4px)}.shortcut-icon{font-size:18px;flex-shrink:0;opacity:.8}.shortcut-text{font-size:13px;color:var(--text-secondary);line-height:1.4}.editor-empty-hint{display:flex;align-items:center;gap:var(--space-1);margin-top:var(--space-4);padding:var(--space-2) var(--space-3);background:#00000005;border-radius:var(--radius-sm);font-size:12px;color:var(--text-tertiary)}.hint-key{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;background:#fff;border:1px solid var(--border-light);border-radius:4px;box-shadow:0 1px 2px #0000000d;font-size:11px;font-weight:500;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.hint-plus{color:var(--text-tertiary);font-size:12px;margin:0 2px}.hint-text{margin-left:var(--space-2);color:var(--text-tertiary)}.cm-editor-container{flex:1;display:flex;flex-direction:column;height:100%;width:100%}.cm-editor-container .cm-editor{height:100%;background:transparent!important}.cm-editor-container .cm-gutters{background:transparent!important;border-right:1px solid var(--border-light)!important;color:var(--text-tertiary)!important}.cm-editor-container .cm-lineNumbers{font-size:11px!important}.cm-editor-container .cm-content{padding:0!important}.cm-editor-container .cm-line{padding:0 12px!important}.editor-markdown{flex:1;display:flex;overflow:hidden}.editor-markdown--edit,.editor-markdown--preview{flex-direction:column}.editor-markdown-edit{flex:1;display:flex;flex-direction:column;overflow:auto;padding:0 var(--space-6) 0 var(--space-6);background:var(--bg-secondary)}.editor-markdown-preview{flex:1;overflow:auto;padding:var(--space-6);background:var(--bg-primary)}.editor-markdown-textarea{width:100%;flex:1;min-height:0;overflow:auto;border:none;outline:none;resize:none;font-family:SF Mono,Cascadia Code,monospace;font-size:var(--font-size-base);line-height:1.6;color:var(--text-primary);background:transparent;padding:0}.editor-markdown-preview{background:var(--bg-primary)}.editor-markdown-preview h1,.editor-markdown-preview h2,.editor-markdown-preview h3{margin-top:var(--space-6);margin-bottom:var(--space-3);font-weight:600;line-height:1.3}.editor-markdown-preview h1{font-size:var(--font-size-2xl);border-bottom:1px solid var(--border-light);padding-bottom:var(--space-3)}.editor-markdown-preview h2{font-size:var(--font-size-xl)}.editor-markdown-preview h3{font-size:var(--font-size-lg)}.editor-markdown-preview p{margin-bottom:var(--space-4);line-height:1.6}.editor-markdown-preview code{background:var(--bg-secondary);padding:2px 6px;border-radius:var(--radius-xs);font-family:SF Mono,Cascadia Code,monospace;font-size:.9em}.editor-markdown-preview pre{background:#f5f5f5;padding:var(--space-4);border-radius:var(--radius-sm);overflow-x:auto;margin:var(--space-4) 0}.editor-markdown-preview pre code{background:transparent;padding:0;color:#202124}.editor-code{flex:1;overflow:auto;background:#f5f5f5;padding:var(--space-4)}.editor-code pre{margin:0;background:transparent}.editor-code code{font-family:SF Mono,Cascadia Code,monospace;font-size:var(--font-size-sm);line-height:1.6;color:#202124}.editor-block{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-8)}.editor-block-placeholder{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);color:var(--text-secondary)}.editor-excalidraw{flex:1;display:flex;align-items:center;justify-content:center;background:#f8f9fa;padding:var(--space-8)}.editor-excalidraw-placeholder{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);color:var(--text-secondary)}.editor-panel-resize-handle{position:absolute;top:0;right:0;width:8px;height:100%;cursor:col-resize;background:transparent;transition:all .15s ease;z-index:10;opacity:0}.editor-panel:hover .editor-panel-resize-handle{opacity:0}.editor-panel-resize-handle:hover{background:var(--primary);opacity:.4;width:4px}.editor-panel-resize-handle:active,.editor-panel.resizing .editor-panel-resize-handle{background:var(--primary);opacity:.7;width:3px}.editor-panel.resizing{-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;transition:none}.editor-panel.resizing .editor-panel-resize-handle{pointer-events:all}.editor-panel-content,.editor-markdown,.editor-markdown-preview,.editor-code{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.2) transparent}.editor-panel-content::-webkit-scrollbar,.editor-markdown::-webkit-scrollbar,.editor-markdown-preview::-webkit-scrollbar,.editor-code::-webkit-scrollbar{width:6px;height:6px}.editor-panel-content::-webkit-scrollbar-track,.editor-markdown::-webkit-scrollbar-track,.editor-markdown-preview::-webkit-scrollbar-track,.editor-code::-webkit-scrollbar-track{background:transparent}.editor-panel-content::-webkit-scrollbar-thumb,.editor-markdown::-webkit-scrollbar-thumb,.editor-markdown-preview::-webkit-scrollbar-thumb,.editor-code::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px;-webkit-transition:background .15s ease;transition:background .15s ease}.editor-panel-content::-webkit-scrollbar-thumb:hover,.editor-markdown::-webkit-scrollbar-thumb:hover,.editor-markdown-preview::-webkit-scrollbar-thumb:hover,.editor-code::-webkit-scrollbar-thumb:hover{background:#00000040}.editor-panel-content::-webkit-scrollbar-thumb:active,.editor-markdown::-webkit-scrollbar-thumb:active,.editor-markdown-preview::-webkit-scrollbar-thumb:active,.editor-code::-webkit-scrollbar-thumb:active{background:#00000059}.editor-markdown-history{flex:1;display:flex;flex-direction:column;height:100%;background:var(--bg-primary)}.history-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--border-light);flex-shrink:0}.history-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text-primary)}.history-content{flex:1;overflow-y:auto;padding:24px;min-height:0}.history-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);gap:12px}.history-loading-icon{color:var(--primary)}.history-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);gap:8px;text-align:center}.history-timeline{display:flex;flex-direction:column;gap:24px}.history-event{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:8px;padding:16px;transition:all .12s ease}.history-event:hover{box-shadow:0 2px 8px #00000014;border-color:var(--border)}.history-event-header{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.history-event-meta{display:flex;align-items:center;gap:12px;font-size:13px}.history-event-time{color:var(--text-secondary);font-family:SF Mono,Monaco,Cascadia Code,monospace}.history-event-user{color:var(--text-tertiary);font-size:12px}.history-event-summary{font-size:13px;color:var(--text-primary);line-height:1.5}.history-event-diff{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:4px;overflow:hidden;font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:12px;line-height:1.5}.history-event-diff .diff-line{display:flex;padding:2px 8px}.history-event-diff .diff-line-prefix{width:20px;flex-shrink:0;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}.history-event-diff .diff-line-content{flex:1;white-space:pre-wrap;word-break:break-word}.history-event-diff .diff-line-addition{background:#10b9811a;color:#065f46}.history-event-diff .diff-line-addition .diff-line-prefix{color:#10b981;font-weight:600}.history-event-diff .diff-line-deletion{background:#ef44441a;color:#991b1b}.history-event-diff .diff-line-deletion .diff-line-prefix{color:#ef4444;font-weight:600}.history-event-diff .diff-line-context{color:var(--text-secondary)}.history-event-diff .diff-line-meta{background:var(--bg-tertiary);color:var(--text-tertiary);font-size:11px}.execution-monitor{display:flex;align-items:center;gap:6px;padding:4px 10px;background:#fef3c7;border-radius:6px;font-size:11px;color:#92400e;font-weight:500;height:24px}.execution-monitor .spinning{animation:spin 1s linear infinite}.execution-monitor svg{flex-shrink:0}.emergency-stop-btn{background:#ef4444!important;color:#fff!important;border-color:#ef4444!important}.emergency-stop-btn:hover{background:#dc2626!important;border-color:#dc2626!important;transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.editor-markdown-analysis{flex:1;overflow:hidden;display:flex;flex-direction:column}.transform-toolbar-container{position:absolute;bottom:24px;left:0;right:0;display:flex;justify-content:center;z-index:100;pointer-events:none}.transform-toolbar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;border:1px solid rgba(0,0,0,.08);pointer-events:auto;animation:slideUp .3s cubic-bezier(.16,1,.3,1)}.transform-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 12px;background:transparent;border:none;border-radius:8px;cursor:pointer;color:var(--text-secondary);transition:all .2s;min-width:64px;position:relative}.transform-btn span{font-size:11px;font-weight:500}.transform-btn:hover{background:var(--bg-secondary);color:var(--text-primary);transform:translateY(-2px)}.transform-btn.active{background:#1a73e814;color:var(--primary)}.transform-btn-primary{color:var(--primary);background:#1a73e80a}.transform-btn-primary:hover{background:#1a73e81f}.transform-divider{width:1px;height:32px;background:var(--border-light);margin:0 4px}.transform-source-badge{position:absolute;top:4px;right:4px;color:var(--primary);opacity:.8;animation:sparkle 2s ease-in-out infinite}@keyframes sparkle{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.sheet-view-placeholder,.mermaid-view-placeholder,.poster-view-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:48px 24px;color:var(--text-secondary)}.placeholder-icon{opacity:.3;margin-bottom:16px;color:var(--text-secondary)}.sheet-view-placeholder h3,.mermaid-view-placeholder h3,.poster-view-placeholder h3{font-size:20px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.sheet-view-placeholder p,.mermaid-view-placeholder p,.poster-view-placeholder p{font-size:14px;color:var(--text-secondary);margin:4px 0}.placeholder-content{margin:16px 0;text-align:center}.placeholder-hint{font-size:13px;color:var(--text-tertiary);font-style:italic}.placeholder-desc{font-size:12px;color:var(--text-tertiary);max-width:400px;line-height:1.6}.placeholder-btn{margin-top:16px;padding:8px 16px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.placeholder-btn:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 2px 8px #1a73e84d}.editor-markdown-sheet{flex:1;min-height:0;display:flex;flex-direction:column;overflow:auto;background:var(--bg-primary)}.editor-markdown-slide{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.editor-markdown-infographic,.editor-markdown-mermaid{flex:1;min-height:0;display:flex;flex-direction:column;overflow:auto;background:var(--bg-primary)}.mermaid-view-container{flex:1;min-height:0;padding:24px;overflow:auto}.editor-markdown-notebook{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.editor-markdown-poster{flex:1;min-height:0;display:flex;flex-direction:column;overflow:auto;background:var(--bg-primary)}.smart-context-bar{margin:0 auto;position:relative;top:20px;z-index:10;background:#fafafa;border-radius:8px 8px 0 0;border-left:1px solid var(--border-light);border-right:1px solid var(--border-light);border-top:1px solid var(--border-light);border-bottom:none;box-shadow:0 -1px 2px #0000000a;transition:all .12s cubic-bezier(.4,0,.2,1)}.bar-header{height:32px;padding:0 8px;display:flex;align-items:center;gap:8px;cursor:pointer;transition:background .12s;position:relative}.bar-header:hover{background:#00000005}.expand-btn{width:24px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;border-radius:4px;transition:all .12s;flex-shrink:0;pointer-events:none}.expand-btn:hover{background:#0000000d;color:var(--text-secondary)}.bar-title{display:flex;align-items:center;gap:6px;flex:1;height:32px;pointer-events:none}.bar-icon{display:flex;align-items:center;justify-content:center;color:var(--primary);flex-shrink:0}.bar-text{font-size:13px;color:var(--text-secondary);font-weight:400;line-height:1}.doc-list{max-height:200px;overflow-y:auto;border-top:1px solid var(--border-light)}.doc-item{height:32px;padding:0 8px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--border-lightest);transition:all .12s;position:relative}.doc-item:last-child{border-bottom:none}.doc-item:hover{background:#1a73e80a}.doc-info{flex:1;display:flex;align-items:center;min-width:0;position:relative}.file-name{font-size:12px;font-weight:400;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;position:relative;transition:color .12s}.file-name:hover{color:var(--primary)}.doc-actions{display:flex;gap:4px;flex-shrink:0}.action-btn{width:24px;height:24px;border:none;background:transparent;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .12s}.action-btn.open-btn{color:var(--primary)}.action-btn.open-btn:hover{background:#1a73e81a}.action-btn.remove-btn{color:var(--text-tertiary)}.action-btn.remove-btn:hover{background:#ef444414;color:#ef4444}.doc-list::-webkit-scrollbar{width:6px}.doc-list::-webkit-scrollbar-track{background:transparent}.doc-list::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:3px}.doc-list::-webkit-scrollbar-thumb:hover{background:var(--border-dark)}.empty-canvas{display:flex;align-items:center;justify-content:center;height:100%;padding:var(--space-12) var(--space-6);background:var(--bg-primary);overflow:auto}.empty-canvas-content{max-width:640px;width:100%;text-align:center;animation:empty-canvas-fade-in .6s cubic-bezier(.4,0,.2,1) forwards;overflow:hidden;min-width:0}@keyframes empty-canvas-fade-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.empty-canvas-icon{width:200px;height:200px;margin-top:5em;margin-left:auto;margin-right:auto;margin-bottom:var(--space-6);background-image:url(/avatars/chat_blank.png);background-size:contain;background-repeat:no-repeat;background-position:center;animation:empty-canvas-icon-fade .6s cubic-bezier(.4,0,.2,1) .1s forwards;opacity:0;transition:transform .25s ease,filter .25s ease}.empty-canvas-icon:hover{transform:translateY(-4px) scale(1);filter:brightness(1.05)}@keyframes empty-canvas-icon-fade{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.empty-canvas-title{font-size:var(--font-size-xl);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-3);letter-spacing:-.5px;animation:empty-canvas-fade-in .6s cubic-bezier(.4,0,.2,1) .2s forwards;opacity:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-canvas-description{font-size:var(--font-size-base);color:var(--text-secondary);line-height:1.6;margin-bottom:var(--space-8);animation:empty-canvas-fade-in .6s cubic-bezier(.4,0,.2,1) .3s forwards;opacity:0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}.example-prompts{margin-bottom:var(--space-8);animation:empty-canvas-fade-in .6s cubic-bezier(.4,0,.2,1) .4s forwards;opacity:0}.example-prompts-label{font-size:var(--font-size-base);font-weight:600;color:var(--text-secondary);margin-bottom:var(--space-4);text-align:left;display:flex;align-items:center;gap:var(--space-2);overflow:hidden;white-space:nowrap}.example-prompts-grid{display:grid;grid-template-columns:1fr;gap:var(--space-3);overflow:hidden}.example-prompt-card{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-md);text-align:left;cursor:pointer;transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-fast);overflow:hidden;min-width:0}.example-prompt-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--border-dark)}.example-prompt-card:active{transform:scale(.98);box-shadow:var(--shadow-xs)}.example-prompt-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);flex-shrink:0;background:var(--bg-secondary);color:var(--text-secondary)}.example-prompt-content{flex:1;min-width:0;overflow:hidden}.example-prompt-text{font-size:var(--font-size-base);font-weight:500;color:var(--text-primary);line-height:1.5;margin-bottom:var(--space-1);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}.example-prompt-label{font-size:var(--font-size-xs);font-weight:400;color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-tips{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-6);animation:empty-canvas-fade-in .6s cubic-bezier(.4,0,.2,1) .5s forwards;opacity:0;align-items:flex-start;overflow:hidden}.quick-tip{display:flex;align-items:center;gap:var(--space-3);font-size:var(--font-size-sm);color:var(--text-secondary);padding:var(--space-2) 0;overflow:hidden;width:100%;min-width:0}.quick-tip-icon{flex-shrink:0;color:var(--text-tertiary)}.quick-tip-text{text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.skills-tip{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-4) var(--space-6);margin-bottom:var(--space-6);background:var(--bg-secondary);border-radius:var(--radius-md);border-top:1px solid var(--border-light);animation:empty-canvas-fade-in .6s cubic-bezier(.4,0,.2,1) .55s forwards;opacity:0;text-align:left}.empty-canvas-footer{display:flex;align-items:center;justify-content:center;gap:var(--space-2);animation:empty-canvas-fade-in .6s cubic-bezier(.4,0,.2,1) .6s forwards;opacity:0;overflow:hidden;flex-wrap:nowrap}.empty-canvas-link{font-size:var(--font-size-sm);color:var(--text-tertiary);text-decoration:none;transition:color var(--transition-fast);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty-canvas-link:hover{color:var(--primary)}.empty-canvas-divider{color:var(--text-tertiary);font-size:var(--font-size-sm);flex-shrink:0}@media(max-width:768px){.empty-canvas{padding:var(--space-8) var(--space-4)}.empty-canvas-icon{width:160px;height:160px}.empty-canvas-title{font-size:var(--font-size-xl)}.example-prompts-grid{gap:var(--space-2)}.example-prompt-card{padding:var(--space-3)}.quick-tips{gap:var(--space-3)}}.notification-banner{position:relative;display:flex;align-items:center;gap:12px;padding:12px 16px;margin-bottom:8px;background:#fff;border:1px solid #e8eaed;border-radius:8px;box-shadow:0 2px 8px #3c404314;animation:slideDown .25s cubic-bezier(.4,0,.2,1);transition:opacity .25s cubic-bezier(.4,0,.2,1)}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.banner-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;background:#1a73e814;color:#1a73e8}.banner-emoji{font-size:18px;line-height:1}.banner-message{flex:1;font-size:14px;line-height:20px;color:#202124}.banner-actions{display:flex;gap:8px}.banner-button{padding:6px 16px;font-size:13px;font-weight:500;line-height:20px;border:none;border-radius:6px;cursor:pointer;transition:all .12s cubic-bezier(.4,0,.2,1);white-space:nowrap}.banner-button-primary{background:#1a73e8;color:#fff}.banner-button-primary:hover{background:#1557b0}.banner-button-primary:active{background:#0d47a1}.banner-button-secondary{background:#f8f9fa;color:#5f6368}.banner-button-secondary:hover{background:#e8eaed}.banner-button-secondary:active{background:#dadce0}.banner-close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:4px;color:#5f6368;cursor:pointer;transition:all .12s cubic-bezier(.4,0,.2,1)}.banner-close:hover{background:#f8f9fa;color:#202124}.banner-close:active{background:#e8eaed}.notification-banner-skill-recommend .banner-icon{background:#1a73e814;color:#1a73e8}.notification-banner-feature-guide .banner-icon{background:#fbbc0414;color:#fbbc04}.notification-banner-context-update .banner-icon{background:#34a85314;color:#34a853}.notification-banner-warning{border-color:#ea433533;background:#ea433505}.notification-banner-warning .banner-icon{background:#ea433514;color:#ea4335}.notification-banner-living-skill .banner-icon{background:#34a85314;color:#34a853}.notification-banner-community .banner-icon{background:#9c27b014;color:#9c27b0}@media(max-width:640px){.notification-banner{flex-wrap:wrap;padding:12px}.banner-message{flex-basis:100%;order:1}.banner-actions{flex-basis:100%;order:2;margin-top:8px}.banner-button{flex:1}}.resize-handle{position:relative;width:8px;height:100vh;flex-shrink:0;z-index:1000;cursor:col-resize;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:opacity .12s cubic-bezier(.4,0,.2,1)}.resize-handle-line{position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--border-light, #e8eaed);transform:translate(-50%);transition:background .12s cubic-bezier(.4,0,.2,1)}.resize-handle:hover .resize-handle-line,.resize-handle.dragging .resize-handle-line{background:var(--primary, #1a73e8);width:2px}body.resizing{-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:col-resize!important}.resize-handle.dragging:before{content:"";position:fixed;inset:0;background:#1a73e814;z-index:999;pointer-events:none}.session-resources-overlay{position:fixed;inset:0;background:#0000004d;z-index:998;animation:fadeIn .2s ease-out}.session-resources-panel{position:fixed;top:50px;right:0;bottom:0;width:360px;background:#fff;box-shadow:-2px 0 12px #00000014;display:flex;flex-direction:column;z-index:999;animation:slideIn .25s cubic-bezier(.4,0,.2,1)}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-light, #e8eaed);background:#fff}.header-title{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:var(--text-primary, #202124)}.header-actions{display:flex;gap:4px}.icon-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:4px;background:transparent;border:none;cursor:pointer;color:var(--text-secondary, #5f6368);transition:all .12s ease}.icon-btn:hover{background:var(--bg-secondary, #f1f3f4);color:var(--text-primary, #202124)}.panel-body{flex:1;overflow-y:auto;display:flex;flex-direction:column;background:#fff}.empty-state{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary, #9aa0a6);font-size:14px;flex-direction:column;gap:12px;height:200px}.file-list{flex:1;overflow-y:auto;max-height:60%;min-height:100px}.file-item{display:flex;align-items:center;gap:8px;padding:8px 16px;cursor:pointer;font-size:14px;color:var(--text-primary, #3c4043);border-left:3px solid transparent;transition:background .12s ease}.file-item:hover{background:var(--bg-secondary, #f8f9fa)}.file-item.active{background:#1a73e814;border-left-color:var(--primary, #1a73e8);color:var(--primary, #1a73e8)}.file-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-preview{flex:1;display:flex;flex-direction:column;background:#fafafa;border-top:1px solid var(--border-light, #e8eaed);min-height:200px;box-shadow:0 -2px 6px #00000008}.preview-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-bottom:1px solid var(--border-light, #e8eaed);font-size:12px;color:var(--text-secondary, #5f6368);background:#f8f9fa}.save-btn{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid #dadce0;border-radius:4px;padding:4px 10px;font-size:12px;cursor:pointer;color:var(--primary, #1a73e8);font-weight:500;transition:all .2s}.save-btn:hover{background:#f8f9fa;border-color:var(--primary, #1a73e8);box-shadow:0 1px 2px #0000000d}.preview-content{flex:1;padding:16px;margin:0;font-family:JetBrains Mono,monospace;font-size:12px;line-height:1.5;white-space:pre-wrap;overflow-y:auto;color:var(--text-primary, #202124);background:#fafafa}.scratchpad-panel{width:400px;height:500px;background:var(--bg-primary, #ffffff);border:1px solid var(--border-light, #e8eaed);border-radius:12px;box-shadow:var(--shadow-lg, 0 10px 25px rgba(0, 0, 0, .1));display:flex;flex-direction:column;overflow:hidden;z-index:1000;transition:all .25s cubic-bezier(.4,0,.2,1)}.scratchpad-panel.maximized{position:fixed!important;top:24px!important;left:24px!important;bottom:24px;right:24px;width:calc(100vw - 48px);height:calc(100vh - 48px)}.scratchpad-header{display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:48px;border-bottom:1px solid var(--border-light, #e8eaed);background:var(--bg-secondary, #f8f9fa);flex-shrink:0}.scratchpad-header-left{display:flex;align-items:center;gap:8px}.scratchpad-title{font-size:14px;font-weight:600;color:var(--text-primary, #202124)}.scratchpad-header-actions{display:flex;align-items:center;gap:4px}.scratchpad-icon-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:none;background:transparent;color:var(--text-secondary, #5f6368);cursor:pointer;transition:all .15s}.scratchpad-icon-btn:hover{background:#0000000d;color:var(--text-primary, #202124)}.scratchpad-icon-btn.close:hover{background:#fee2e2;color:#dc2626}.scratchpad-editor-container{flex:1;overflow:hidden;background:var(--bg-primary, #ffffff)}.scratchpad-footer{display:flex;align-items:center;justify-content:space-between;padding:0 12px;height:44px;border-top:1px solid var(--border-light, #e8eaed);background:var(--bg-primary, #ffffff);flex-shrink:0}.scratchpad-status{font-size:11px;color:var(--text-tertiary, #80868b)}.scratchpad-footer-right{display:flex;align-items:center;gap:8px}.scratchpad-action-btn{display:flex;align-items:center;gap:6px;padding:0 12px;height:28px;border-radius:14px;font-size:12px;font-weight:500;border:1px solid transparent;cursor:pointer;transition:all .15s}.scratchpad-action-btn.secondary{background:var(--bg-secondary, #f8f9fa);border-color:var(--border-light, #e8eaed);color:var(--text-secondary, #5f6368)}.scratchpad-action-btn.secondary:hover:not(:disabled){background:var(--bg-tertiary, #e8eaed);color:var(--text-primary, #202124)}.scratchpad-action-btn.primary{background:#f97316;color:#fff}.scratchpad-action-btn.primary:hover:not(:disabled){background:#ea580c;box-shadow:0 2px 8px #f973164d}.scratchpad-action-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:640px){.scratchpad-panel{width:calc(100vw - 32px);right:16px;bottom:100px}}.thinking-block{margin:0;border-radius:6px;background:transparent;border:1px solid #e8eaed;overflow:hidden;max-width:100%}.thinking-header{display:flex;align-items:center;gap:8px;padding:6px 10px;margin:0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .12s}.thinking-header:hover{background:#f1f3f4}.thinking-header:focus{outline:none}.thinking-header:focus-visible{outline:2px solid var(--primary-color, #1a73e8);outline-offset:-2px;border-radius:8px}.thinking-icon{color:#5f6368;flex-shrink:0}.thinking-label{flex:1;font-size:12px;font-weight:500;font-style:normal;color:#5f6368;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thinking-toggle{color:#80868b;flex-shrink:0}.thinking-content{padding:8px 10px;border-top:1px solid #e8eaed;max-width:100%;overflow-wrap:break-word;word-wrap:break-word}.thinking-text{margin:0;padding:0;white-space:pre-wrap;word-wrap:break-word;font-style:normal}.tool-call-block{background:transparent;border:1px solid var(--border-light, #e8eaed);border-radius:6px;padding:6px 10px;margin:0;font-size:12px;transition:all .12s cubic-bezier(.4,0,.2,1);max-width:100%;overflow-wrap:break-word}.tool-call-block:hover{border-color:var(--border-medium, #dadce0)}.tool-call-header{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary, #5f6368);font-weight:500;cursor:pointer;transition:color .12s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;-moz-user-select:none;user-select:none}.tool-call-header:hover{color:var(--text-primary, #202124)}.tool-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-executing .tool-call-header{color:#1a73e8}.status-completed .tool-call-header{color:#10b981}.status-failed .tool-call-header{color:#ef4444}.tool-args{margin-top:6px;padding-top:6px;border-top:1px solid var(--border-light, #e8eaed);font-size:11px}.tool-args summary{cursor:pointer;color:var(--text-tertiary, #9ca3af);-webkit-user-select:none;-moz-user-select:none;user-select:none}.tool-args pre{margin-top:4px;padding:6px 8px;background:#00000005;border-radius:4px;font-family:SF Mono,Monaco,Courier New,monospace;font-size:11px;color:var(--text-secondary, #5f6368);overflow-x:auto}.tool-result{margin-top:6px;padding-top:6px;border-top:1px solid var(--border-light, #e8eaed);white-space:pre-wrap;word-wrap:break-word}.tool-error{margin-top:6px;padding-top:6px;border-top:1px solid rgba(239,68,68,.3);color:#dc2626}.tool-metadata{margin-top:6px;padding-top:6px;border-top:1px solid var(--border-light, #e8eaed);font-size:11px}.tool-metadata summary{cursor:pointer;color:var(--text-tertiary, #9ca3af);-webkit-user-select:none;-moz-user-select:none;user-select:none}.tool-metadata pre{margin-top:4px;padding:6px 8px;background:#00000005;border-radius:4px;font-family:SF Mono,Monaco,Courier New,monospace;font-size:11px;color:var(--text-secondary, #5f6368);overflow-x:auto}.tool-detail-section{margin-top:6px;padding-top:6px;border-top:1px solid var(--border-light, #e8eaed)}.tool-detail-label{font-size:11px;color:var(--text-tertiary, #9ca3af);font-weight:500;margin-right:8px}.tool-detail-value{font-size:11px;color:var(--text-secondary, #5f6368);font-family:SF Mono,Monaco,Courier New,monospace}.tool-meta{font-size:11px;color:var(--text-tertiary, #9ca3af);background:var(--surface-secondary, #f1f3f4);padding:2px 6px;border-radius:4px;font-variant-numeric:tabular-nums}.stale-data-warning{margin:8px 0;padding:12px;border-radius:6px;background:#fb923c0d;border:1px solid rgba(251,146,60,.2)}.stale-overlay{display:flex;align-items:center;gap:8px}.stale-overlay svg{color:#fb923ccc;flex-shrink:0}.stale-text{flex:1;font-size:13px;color:#000000b3;font-weight:500}.refresh-btn{display:flex;align-items:center;gap:4px;padding:4px 12px;border-radius:999px;border:1px solid rgba(0,0,0,.1);background:#fff;color:#000000b3;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.refresh-btn:hover:not(:disabled){background:#00000005;border-color:#00000026;color:#000000e6}.refresh-btn:disabled{opacity:.5;cursor:not-allowed}.refresh-btn svg.spin{animation:spin 1s linear infinite}.tool-call-block.stale:not(:hover){opacity:.7}.tool-call-block.stale .tool-result{opacity:.6}@media(prefers-color-scheme:dark){.stale-data-warning{background:#fb923c1a;border-color:#fb923c4d}.stale-text{color:#fffc}.refresh-btn{background:#ffffff0d;border-color:#ffffff1a;color:#fffc}.refresh-btn:hover:not(:disabled){background:#ffffff1a;border-color:#ffffff26;color:#ffffffe6}}.file-citation-compact{display:inline-flex;gap:4px;align-items:baseline;margin-left:4px;vertical-align:super;font-size:.75em}.file-citation-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;border-radius:4px;background:var(--bg-secondary);border:1px solid var(--border-light);color:var(--text-secondary);font-size:11px;font-weight:500;cursor:pointer;transition:all .12s cubic-bezier(.4,0,.2,1)}.file-citation-badge:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:translateY(-1px)}.file-citation-block{margin-top:12px;padding:12px;border-radius:8px;background:var(--bg-secondary);border:1px solid var(--border-light)}.file-citation-header{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all .12s cubic-bezier(.4,0,.2,1)}.file-citation-header:hover{color:var(--primary)}.file-citation-icon{flex-shrink:0;color:var(--text-tertiary)}.file-citation-header:hover .file-citation-icon{color:var(--primary)}.file-citation-title{flex:1;font-size:13px;font-weight:500;color:var(--text-secondary)}.file-citation-toggle{flex-shrink:0;color:var(--text-tertiary);transition:transform .12s cubic-bezier(.4,0,.2,1)}.file-citation-header:hover .file-citation-toggle{color:var(--primary)}.file-citation-list{margin-top:12px;display:flex;flex-direction:column;gap:8px}.file-citation-item{padding:10px;border-radius:6px;background:#fff;border:1px solid var(--border-light);cursor:pointer;transition:all .12s cubic-bezier(.4,0,.2,1)}.file-citation-item:hover{border-color:var(--primary);box-shadow:0 2px 8px #00000014;transform:translateY(-1px)}.file-citation-item-header{display:flex;align-items:center;gap:6px;margin-bottom:4px}.file-citation-item-number{flex-shrink:0;font-size:11px;font-weight:600;color:var(--primary);font-family:SF Mono,Monaco,Courier New,monospace}.file-citation-item-icon{flex-shrink:0;color:var(--text-tertiary)}.file-citation-item:hover .file-citation-item-icon{color:var(--primary)}.file-citation-item-name{flex:1;font-size:13px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-citation-item-link{flex-shrink:0;color:var(--text-tertiary);opacity:0;transition:opacity .12s cubic-bezier(.4,0,.2,1)}.file-citation-item:hover .file-citation-item-link{opacity:1;color:var(--primary)}.file-citation-item-reason{margin-top:6px;font-size:12px;color:var(--text-secondary);line-height:1.5}.file-citation-item-quote{margin-top:6px;padding:8px;border-left:2px solid var(--border-light);background:var(--bg-secondary);border-radius:4px;font-size:11px;color:var(--text-tertiary);font-style:italic;line-height:1.5;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.file-citation-item-score{margin-top:6px;font-size:11px;color:var(--text-tertiary);font-weight:500}.file-citation-tooltip{display:flex;flex-direction:column;gap:6px;max-width:300px}.file-citation-tooltip-header{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--text-primary)}.file-citation-tooltip-reason{font-size:12px;color:var(--text-secondary);line-height:1.5}.file-citation-tooltip-action{font-size:11px;color:var(--text-tertiary);font-style:italic;margin-top:4px;padding-top:6px;border-top:1px solid var(--border-light)}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2) format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff) format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff) format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff) format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff) format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff) format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff) format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2) format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff) format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2) format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff) format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2) format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff) format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff) format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff) format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff) format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2) format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff) format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2) format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff) format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2) format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff) format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC) format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff) format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2) format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff) format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2) format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff) format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.27"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.analysis-result{display:flex;flex-direction:column;gap:24px;padding:16px;background:#fff;border-radius:8px;max-width:100%}.analysis-markdown{font-size:14px;line-height:1.6;color:#202124}.analysis-markdown h1{font-size:24px;font-weight:600;margin:24px 0 16px;color:#202124;border-bottom:1px solid #e8eaed;padding-bottom:8px}.analysis-markdown h2{font-size:20px;font-weight:600;margin:20px 0 12px;color:#202124}.analysis-markdown h3{font-size:16px;font-weight:600;margin:16px 0 8px;color:#202124}.analysis-markdown p{margin:8px 0}.analysis-markdown ul,.analysis-markdown ol{padding-left:24px;margin:8px 0}.analysis-markdown li{margin:4px 0}.analysis-markdown code{background:#f8f9fa;padding:2px 6px;border-radius:4px;font-family:Monaco,Menlo,Courier New,monospace;font-size:13px;color:#1a73e8}.analysis-markdown pre{margin:12px 0;border-radius:8px;overflow:hidden}.analysis-markdown .mermaid{background:#f8f9fa;padding:20px;border-radius:8px;margin:16px 0;text-align:center}.section-header{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:#202124;margin-bottom:12px}.section-header svg{color:#1a73e8}.analysis-charts{background:#f8f9fa;padding:20px;border-radius:8px}.charts-grid{display:flex;flex-direction:column;gap:16px}.chart-container{display:flex;flex-direction:column;align-items:center;gap:8px}.chart-image{max-width:100%;height:auto;border-radius:8px;box-shadow:0 2px 8px #00000014;transition:transform .2s ease}.chart-image:hover{transform:scale(1.02)}.chart-caption{font-size:13px;color:#5f6368;font-style:italic}.analysis-insights{background:#f8f9fa;padding:20px;border-radius:8px}.insights-list{display:flex;flex-direction:column;gap:12px}.insight-card{display:flex;align-items:flex-start;gap:12px;padding:12px;background:#fff;border-radius:8px;border-left:3px solid #1a73e8;box-shadow:0 2px 4px #0000000a}.insight-number{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#1a73e8;color:#fff;border-radius:50%;font-size:12px;font-weight:600;flex-shrink:0}.insight-text{flex:1;font-size:14px;line-height:1.5;color:#202124;margin:0}.analysis-code{background:#f8f9fa;border-radius:8px;overflow:hidden}.analysis-code summary{display:flex;align-items:center;gap:8px;padding:12px 16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:14px;font-weight:500;color:#202124;background:#f8f9fa;transition:background .12s ease}.analysis-code summary:hover{background:#e8eaed}.analysis-code summary svg{color:#5f6368}.analysis-code[open] summary{border-bottom:1px solid #e8eaed}.code-content{padding:16px;background:#fff}.code-block{margin-bottom:16px}.code-block:last-child{margin-bottom:0}.code-header{font-size:12px;font-weight:500;color:#5f6368;margin-bottom:8px;padding-left:4px}@media(max-width:768px){.analysis-result{padding:12px;gap:16px}.analysis-markdown h1{font-size:20px}.analysis-markdown h2{font-size:18px}.chart-image{max-width:100%}}[data-theme=dark] .analysis-result{background:#1f1f1f}[data-theme=dark] .analysis-markdown{color:#e8eaed}[data-theme=dark] .analysis-markdown h1,[data-theme=dark] .analysis-markdown h2,[data-theme=dark] .analysis-markdown h3{color:#e8eaed;border-color:#3c4043}[data-theme=dark] .analysis-markdown code{background:#2d2d2d;color:#8ab4f8}[data-theme=dark] .analysis-charts,[data-theme=dark] .analysis-insights,[data-theme=dark] .analysis-code{background:#2d2d2d}[data-theme=dark] .insight-card,[data-theme=dark] .code-content{background:#1f1f1f}[data-theme=dark] .analysis-code summary{background:#2d2d2d;color:#e8eaed}[data-theme=dark] .analysis-code summary:hover{background:#3c4043}.plan-block{margin:0;border-radius:6px;background:transparent;border:1px solid #e8eaed;overflow:hidden;max-width:100%}.plan-header{display:flex;align-items:center;gap:8px;padding:6px 10px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .12s}.plan-header:hover{background:#f1f3f4}.plan-icon{color:#5f6368;flex-shrink:0}.plan-title{flex:1;font-size:12px;font-weight:500;font-style:normal;color:#5f6368;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-progress{font-size:12px;color:#5f6368;background:#e8eaed;padding:2px 8px;border-radius:12px;margin-right:8px}.plan-toggle{color:#80868b;flex-shrink:0}.plan-steps{padding:8px 10px;border-top:1px solid #e8eaed;font-size:12px;line-height:1.5;color:var(--text-tertiary);max-width:100%;overflow-wrap:break-word;word-wrap:break-word}.plan-step-simple{display:flex;align-items:flex-start;gap:6px;padding:4px 0;transition:all .12s ease}.plan-step-pending{opacity:.7}.plan-step-running{background:#f1f3f4;padding:6px 8px;border-radius:6px;margin:-2px -8px}.plan-step-completed{opacity:.85}.plan-step-failed{color:var(--error, #d93025);background:#fce8e6;padding:6px 8px;border-radius:6px;margin:-2px -8px}.step-status-icon{font-size:12px;opacity:.7;flex-shrink:0;width:16px;text-align:center}.step-number-simple{flex-shrink:0;width:20px}.step-content-simple{flex:1;display:flex;flex-direction:column;gap:4px}.step-text-simple{flex:1;word-break:break-word;white-space:pre-wrap;font-style:normal}.step-error{font-size:11px;color:var(--error, #d93025);display:block;padding:2px 0}.step-meta{font-size:11px;color:var(--text-tertiary, #80868b);font-variant-numeric:tabular-nums}.progress-block{display:flex;align-items:center;padding:6px 10px;margin:0;background:transparent;border-radius:6px;border:1px solid #e8eaed;transition:background .12s;max-width:100%;overflow-wrap:break-word}.progress-indicator{margin-right:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.progress-spinner{color:#1a73e8;animation:spin 1s linear infinite}.progress-complete{color:#1e8e3e}.progress-message{flex:1;min-width:0;font-size:12px;font-weight:500;color:#5f6368;overflow-wrap:break-word;word-wrap:break-word}.error-block{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;margin:8px 0;border-radius:6px;background:#fef2f2;border:1px solid #fecaca;transition:all .12s cubic-bezier(.4,0,.2,1)}.error-block--warning{background:#fffbeb;border:1px solid #fde68a}.error-block--warning .error-block__icon{color:#d97706}.error-block--compact{padding:6px 10px;margin:8px 0}.error-block__icon{color:#dc2626;flex-shrink:0;margin-top:2px}.error-block__content{flex:1;min-width:0}.error-block__message{word-wrap:break-word}.error-block__actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.error-block__button{display:flex;align-items:center;gap:4px;padding:4px 8px;border:none;border-radius:4px;background:transparent;color:#991b1b;font-size:12px;font-weight:500;cursor:pointer;transition:all .12s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;-moz-user-select:none;user-select:none}.error-block__button:hover{background:#dc26261a}.error-block__button:active{transform:scale(.95)}.error-block__button--retry{color:#1a73e8}.error-block__button--retry:hover{background:#1a73e81a}.error-block__button--dismiss{padding:4px}.error-block__button--dismiss:hover{background:#dc262626}.error-block__button:focus-visible{outline:2px solid var(--primary-color, #1a73e8);outline-offset:2px;border-radius:4px}.interactive-sheet{background:var(--color-bg-primary, #ffffff);border:1px solid var(--color-border-light, #e8eaed);border-radius:12px;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}.sheet-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--color-border-light, #e8eaed);background:var(--color-bg-secondary, #f8f9fa)}.sheet-title{font-size:14px;font-weight:600;color:var(--color-text-primary, #1f2937)}.sheet-actions{display:flex;align-items:center;gap:8px}.sheet-search{display:flex;align-items:center;gap:6px;padding:4px 8px;background:var(--color-bg-primary, #ffffff);border:1px solid var(--color-border-light, #e8eaed);border-radius:6px}.sheet-search input{border:none;outline:none;font-size:13px;width:150px;background:transparent}.sheet-search svg{color:var(--color-text-tertiary, #9ca3af)}.sheet-export-btn{display:flex;align-items:center;gap:4px;padding:4px 8px;font-size:12px;color:var(--color-text-secondary, #6b7280);background:var(--color-bg-primary, #ffffff);border:1px solid var(--color-border-light, #e8eaed);border-radius:6px;cursor:pointer;transition:all .15s}.sheet-export-btn:hover{background:var(--color-bg-secondary, #f8f9fa);border-color:var(--color-border-medium, #d1d5db)}.sheet-table-container{overflow-x:auto;max-height:500px;overflow-y:auto}.sheet-table{width:100%;border-collapse:collapse;font-size:13px}.sheet-table thead{position:sticky;top:0;background:var(--color-bg-secondary, #f8f9fa);z-index:1}.sheet-table th{text-align:left;padding:8px 12px;font-weight:600;color:var(--color-text-primary, #1f2937);border-bottom:1px solid var(--color-border-light, #e8eaed);-webkit-user-select:none;-moz-user-select:none;user-select:none}.sheet-table th.sortable{cursor:pointer;transition:background .15s}.sheet-table th.sortable:hover{background:var(--color-bg-tertiary, #eff1f3)}.sheet-table th.sorted{background:var(--color-bg-tertiary, #eff1f3);color:var(--color-primary, #1a73e8)}.sheet-table th span{display:inline-flex;align-items:center;gap:4px}.sort-icon{display:inline-flex;color:var(--color-primary, #1a73e8)}.sheet-table td{padding:8px 12px;color:var(--color-text-secondary, #6b7280);border-bottom:1px solid var(--color-border-light, #e8eaed)}.sheet-table tbody tr:hover{background:var(--color-bg-secondary, #f8f9fa)}.sheet-pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px;border-top:1px solid var(--color-border-light, #e8eaed);background:var(--color-bg-secondary, #f8f9fa)}.sheet-pagination button{padding:4px 12px;font-size:12px;color:var(--color-text-secondary, #6b7280);background:var(--color-bg-primary, #ffffff);border:1px solid var(--color-border-light, #e8eaed);border-radius:6px;cursor:pointer;transition:all .15s}.sheet-pagination button:hover:not(:disabled){background:var(--color-bg-tertiary, #eff1f3);border-color:var(--color-border-medium, #d1d5db)}.sheet-pagination button:disabled{opacity:.4;cursor:not-allowed}.page-info{font-size:12px;color:var(--color-text-tertiary, #9ca3af)}.sheet-empty{padding:40px;text-align:center;color:var(--color-text-tertiary, #9ca3af);font-size:13px}.genui-viewer{width:100%;margin:var(--space-lg) 0}.genui-viewer-header{margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--divider-ultra-light)}.genui-viewer-title{font-size:var(--font-lg);font-weight:600;color:var(--text-primary);margin:0}.genui-viewer-content{width:100%}.genui-sheet{width:100%;overflow-x:auto;background:#fff;border-radius:var(--radius-md);border:1px solid var(--divider-ultra-light)}.genui-sheet table{width:100%;border-collapse:collapse;font-size:var(--font-sm)}.genui-sheet thead{background:var(--bg-ultra-light)}.genui-sheet th{padding:var(--space-md);text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--divider-light)}.genui-sheet td{padding:var(--space-md);border-bottom:1px solid var(--divider-ultra-light);color:var(--text-primary)}.genui-sheet tr:last-child td{border-bottom:none}.genui-sheet tr:hover{background:var(--bg-ultra-light)}.genui-slides{width:100%}.genui-slide{margin-bottom:var(--space-xl);padding:var(--space-lg);background:#fff;border-radius:var(--radius-md);border:1px solid var(--divider-ultra-light);position:relative}.genui-slide-number{position:absolute;top:var(--space-sm);right:var(--space-sm);font-size:var(--font-xs);color:var(--text-tertiary);opacity:.7}.genui-notebook{width:100%}.genui-notebook-code{margin-bottom:var(--space-md)}.genui-image{width:100%;text-align:center}.genui-image img{max-width:100%;height:auto;border-radius:var(--radius-md);box-shadow:0 2px 8px #00000014}.genui-infographic{padding:var(--space-lg);background:var(--bg-ultra-light);border-radius:var(--radius-md);text-align:center}.genui-dashboard{padding:var(--space-lg);background:var(--bg-ultra-light);border-radius:var(--radius-md)}.genui-error,.genui-unsupported{padding:var(--space-md);background:#ea43350d;border:1px solid rgba(234,67,53,.2);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-sm)}.genui-unsupported pre{margin-top:var(--space-md);padding:var(--space-sm);background:#fff;border-radius:var(--radius-sm);overflow-x:auto;font-size:var(--font-xs)}.copy-button{display:flex;align-items:center;gap:4px;padding:4px 8px;border:none;border-radius:4px;background:transparent;color:#5f6368;font-size:12px;font-weight:500;cursor:pointer;transition:all .12s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;-moz-user-select:none;user-select:none}.copy-button:hover{background:#f1f3f4;color:#202124}.copy-button:active{transform:scale(.95)}.copy-button--compact{padding:3px}.copy-button--copied{color:#10b981}.copy-button--copied:hover{background:#10b9811a}.copy-button__icon{flex-shrink:0}.copy-button__text{white-space:nowrap}.copy-button:focus-visible{outline:2px solid var(--primary-color, #1a73e8);outline-offset:2px;border-radius:4px}.copy-button:disabled{cursor:default}.regenerate-button{display:flex;align-items:center;gap:4px;padding:4px 8px;border:none;border-radius:4px;background:transparent;color:#5f6368;font-size:12px;font-weight:500;cursor:pointer;transition:all .12s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;-moz-user-select:none;user-select:none}.regenerate-button:hover{background:#f1f3f4;color:#1a73e8}.regenerate-button:active{transform:scale(.95)}.regenerate-button--compact{padding:3px}.regenerate-button--loading{color:#1a73e8;cursor:default}.regenerate-button--loading:hover{background:#1a73e81a}.regenerate-button__icon{flex-shrink:0;transition:transform .12s cubic-bezier(.4,0,.2,1)}.regenerate-button__icon--spinning{animation:spin 1s linear infinite}.regenerate-button__text{white-space:nowrap}.regenerate-button:focus-visible{outline:2px solid var(--primary-color, #1a73e8);outline-offset:2px;border-radius:4px}.regenerate-button:disabled{cursor:default;opacity:.6}.open-in-editor-button{display:flex;align-items:center;gap:4px;padding:4px 8px;border:none;border-radius:4px;background:transparent;color:#5f6368;font-size:12px;font-weight:500;cursor:pointer;transition:all .12s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;-moz-user-select:none;user-select:none}.open-in-editor-button:hover{background:#f1f3f4;color:#202124}.open-in-editor-button:active{transform:scale(.95)}.open-in-editor-button:focus-visible{outline:2px solid var(--primary-color, #1a73e8);outline-offset:2px;border-radius:4px}.open-in-editor-button--compact{padding:3px}.open-in-editor-button__icon{flex-shrink:0}.open-in-editor-button__text{white-space:nowrap}.message-actions{display:flex;align-items:center;gap:4px;margin-top:2px;padding:0;opacity:0;transition:opacity .12s cubic-bezier(.4,0,.2,1)}.chat-message:hover .message-actions{opacity:1}.message-actions--compact{margin-top:2px;padding:0}.message-actions:focus-within{opacity:1}@media(max-width:768px){.message-actions{opacity:1}}.document-creation-block{margin:12px 0;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);overflow:hidden;transition:all .12s ease-out;max-width:100%;overflow-wrap:break-word;word-wrap:break-word}.document-creation-block:hover{border-color:var(--border-hover);background:var(--bg-hover)}.document-creation-block.status-creating{border-left:3px solid var(--primary-color)}.document-creation-block.status-completed{border-left:3px solid var(--success-color)}.document-creation-block.status-failed{border-left:3px solid var(--error-color)}.document-creation-header{display:flex;align-items:center;gap:8px;padding:12px 16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .12s ease-out}.document-creation-header:hover{background:var(--bg-hover)}.document-creation-header:focus{outline:2px solid var(--primary-color);outline-offset:-2px}.collapse-icon,.document-icon,.status-icon{display:flex;align-items:center;flex-shrink:0;color:var(--text-tertiary)}.document-icon{color:var(--primary-color)}.document-title{flex:1;font-size:14px;font-weight:500;color:var(--text-primary);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-text{font-size:13px;color:var(--text-secondary);flex-shrink:0}.open-button{display:inline-flex;align-items:center;justify-content:center;padding:4px;border:none;border-radius:4px;background:transparent;color:var(--primary-color);cursor:pointer;transition:all .12s ease-out;flex-shrink:0}.open-button:hover{background:var(--bg-active);color:var(--primary-color-hover)}.open-button:active{transform:scale(.96)}.document-creation-details{padding:12px 16px;border-top:1px solid var(--border-color);background:var(--bg-tertiary)}.progress-section{display:flex;flex-direction:column;gap:8px}.progress-bar{width:100%;height:4px;background:var(--bg-secondary);border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:var(--primary-color);border-radius:2px;transition:width .3s ease-out}.progress-text{font-size:13px;color:var(--text-secondary);text-align:center}.completion-section{display:flex;flex-direction:column;gap:8px}.completion-text{font-size:13px;color:var(--text-secondary)}.completion-time{font-size:12px;color:var(--text-tertiary)}.error-section{display:flex;flex-direction:column;gap:8px}.error-text{font-size:13px;color:var(--error-color);padding:8px 12px;background:var(--error-bg);border-radius:4px;border-left:3px solid var(--error-color)}.chat-message{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;padding:4px 16px}.avatar-column{width:32px;flex-shrink:0}.avatar{width:32px;height:32px;border-radius:50%;background:var(--bg-secondary, #f8f9fa);display:flex;align-items:center;justify-content:center;color:var(--text-secondary, #5f6368);overflow:hidden}.avatar-placeholder{width:32px;height:32px}.avatar-img{width:100%;height:100%;border-radius:50%;-o-object-fit:cover;object-fit:cover}.user-avatar{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.ai-avatar{background:linear-gradient(135deg,#f093fb,#f5576c);padding:0}.ai-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.message-bubble{flex:1;min-width:0;max-width:100%;padding:8px 12px;border-radius:8px;border:1px solid transparent;transition:border-color .12s cubic-bezier(.4,0,.2,1),background-color .12s cubic-bezier(.4,0,.2,1);overflow-wrap:break-word;word-wrap:break-word;word-break:break-word}.chat-message:hover .message-bubble{border-color:var(--border-light, #e8eaed);background:#00000003}.content-column{display:flex;flex-direction:column;gap:4px;min-width:0;max-width:100%;overflow-wrap:break-word}.user-message .message-content{background:transparent;color:var(--text-primary);font-size:14px;line-height:1.6;overflow-wrap:break-word;word-wrap:break-word}.tool-calls-container,.progress-list{display:flex;flex-direction:column;gap:4px}.answer-content{font-size:14px;line-height:1.6;color:var(--text-primary, #202124);max-width:100%;overflow-wrap:break-word;word-wrap:break-word}.streaming-indicator{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-tertiary, #9ca3af)}.blink-cursor{animation:blink 1s step-end infinite}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.error-message{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;padding:8px 12px;font-size:13px;color:#dc2626}.ai-disclaimer{flex-basis:100%;font-size:11px;color:#9ca3af;margin-top:4px;text-align:right;padding-right:16px;line-height:1.4;animation:fadeIn .2s ease forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.typing-animation{display:inline}.typing-cursor{display:inline-block;margin-left:2px;animation:typing-blink .8s step-end infinite;color:var(--text-primary, #202124)}@keyframes typing-blink{0%,50%{opacity:1}51%,to{opacity:0}}.quick-nav-scrollbar{position:absolute;right:16px;top:0;bottom:0;width:8px;z-index:100;pointer-events:auto;background:transparent}.nav-track{position:absolute;inset:0;width:100%;height:100%}.nav-node{position:absolute;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:none;background:transparent;cursor:pointer;transition:all .12s ease;z-index:2}.node-dot{display:block;width:6px;height:6px;border-radius:50%;background:#bdc1c6;transition:all .12s ease;box-shadow:0 0 #bdc1c600}.nav-node:hover .node-dot{background:#80868b;transform:scale(1.5);box-shadow:0 0 0 4px #80868b26}.nav-node.is-current .node-dot{background:#202124;width:10px;height:10px;box-shadow:0 0 0 4px #0000001a}.nav-node.is-current:hover .node-dot{transform:scale(1.2);box-shadow:0 0 0 6px #00000026}.nav-node:focus{outline:none}.nav-node:focus .node-dot{box-shadow:0 0 0 4px #0003}.nav-node:active .node-dot{transform:scale(.85)}@media(max-width:768px){.quick-nav-scrollbar{display:none}}.regular-chat-panel{display:flex;flex-direction:column;height:100%;background:var(--bg-primary, #ffffff);overflow:hidden;flex:1;min-height:0;position:relative}.regular-chat-panel:after{content:"";position:absolute;bottom:0;left:0;right:0;height:20px;background:linear-gradient(to bottom,#fff0,#fffc,#fff);pointer-events:none;z-index:1}.chat-messages-container{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:16px 24px 20px;scroll-behavior:smooth}.empty-chat-state{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;height:100%;color:var(--text-secondary, #5f6368);text-align:center;padding:48px 24px;min-width:400px;overflow:hidden;flex-shrink:0}.empty-icon{width:160px;height:160px;margin-top:15em;margin-bottom:24px;background-image:url(/avatars/chat_blank.png);background-size:contain;background-repeat:no-repeat;background-position:center;flex-shrink:0;transition:all .25s ease}.empty-icon:hover{transform:translateY(-4px);filter:brightness(1.05)}.empty-chat-state h3{font-size:18px;font-weight:600;color:var(--text-primary, #202124);margin:0 0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;flex-shrink:0}.empty-chat-state p{font-size:14px;color:var(--text-secondary, #5f6368);margin:0 auto;max-width:400px;line-height:1.6}.chat-messages-container::-webkit-scrollbar{width:8px}.chat-messages-container::-webkit-scrollbar-track{background:transparent}.chat-messages-container::-webkit-scrollbar-thumb{background:#0000001a;border-radius:4px;-webkit-transition:background .12s cubic-bezier(.4,0,.2,1);transition:background .12s cubic-bezier(.4,0,.2,1)}.chat-messages-container::-webkit-scrollbar-thumb:hover{background:#0003}.connect-modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s ease}.connect-modal{width:90vw;max-width:1120px;height:70vh;max-height:800px;min-height:600px;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000001f;display:flex;flex-direction:column;animation:slideUp .25s ease}.connect-modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:24px 24px 16px;border-bottom:1px solid var(--border-light)}.connect-modal-header h2{font-size:20px;font-weight:600;color:var(--text-primary);margin:0 0 4px}.connect-modal-header p{font-size:13px;color:var(--text-secondary);margin:0}.connect-modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .12s ease}.connect-modal-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.connect-modal-tabs{display:flex;padding:0 24px;gap:8px;border-bottom:1px solid var(--border-light)}.connect-tab{display:flex;align-items:center;gap:6px;padding:12px 16px;background:transparent;border:none;border-bottom:2px solid transparent;font-size:14px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .12s ease}.connect-tab:hover{color:var(--text-primary);background:var(--bg-secondary);border-radius:8px 8px 0 0}.connect-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.connect-modal-content{flex:1;overflow-y:auto;padding:24px}.upload-tab{display:flex;flex-direction:column;gap:16px}.drop-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 48px;border:2px dashed var(--border-medium);border-radius:12px;background:var(--bg-secondary);cursor:pointer;transition:all .12s ease}.drop-zone:hover{border-color:var(--primary);background:#1a73e80d}.drop-zone.dragging{border-color:var(--primary);background:#1a73e81a;transform:scale(.98)}.drop-zone svg{color:var(--text-tertiary);margin-bottom:16px}.drop-zone-title{font-size:15px;font-weight:500;color:var(--text-primary);margin:0 0 8px}.drop-zone-hint{font-size:13px;color:var(--text-secondary);margin:0}.upload-queue{display:flex;flex-direction:column;gap:12px}.upload-queue-header{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:500;color:var(--text-secondary)}.clear-queue-btn{background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;font-size:13px;transition:color .12s ease}.clear-queue-btn:hover{color:var(--text-primary)}.upload-file-list{display:flex;flex-direction:column;gap:8px}.upload-file-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:8px;transition:all .12s ease}.upload-file-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:6px;color:var(--text-secondary)}.upload-file-info{flex:1;min-width:0}.upload-file-name{font-size:14px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-file-meta{font-size:12px;color:var(--text-secondary);margin-top:4px}.upload-progress-bar{width:100%;height:4px;background:var(--bg-tertiary);border-radius:2px;margin-top:8px;overflow:hidden}.upload-progress-fill{height:100%;background:var(--primary);transition:width .2s ease}.upload-file-status{flex-shrink:0}.remove-file-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;color:var(--text-tertiary);cursor:pointer;transition:all .12s ease}.remove-file-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.spinning{animation:spin 1s linear infinite}.external-tab{min-height:400px}.connection-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.connection-card{display:flex;flex-direction:column;align-items:center;padding:40px 32px;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:12px;cursor:pointer;transition:all .12s ease;position:relative}.connection-card:not(.coming-soon):hover{background:var(--bg-tertiary);border-color:var(--border-medium);transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.connection-card.coming-soon{cursor:not-allowed;opacity:.6}.connection-icon{font-size:64px;margin-bottom:16px}.connection-card h4{font-size:15px;font-weight:600;color:var(--text-primary);margin:0 0 4px}.connection-card p{font-size:13px;color:var(--text-secondary);margin:0;text-align:center}.coming-soon-badge{position:absolute;top:8px;right:8px;padding:2px 8px;background:#fbbc041a;color:#f9ab00;font-size:11px;font-weight:600;border-radius:4px}.folder-tab{min-height:400px;display:flex;align-items:center;justify-content:center}.folder-selector{display:flex;flex-direction:column;align-items:center;color:var(--text-tertiary);cursor:pointer;padding:64px 80px;border:2px dashed var(--border-medium);border-radius:12px;transition:all .15s ease}.folder-selector:hover{border-color:var(--primary);background:#1a73e80a}.folder-selector svg{margin-bottom:16px;color:var(--primary)}.folder-selector-title{font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.folder-selector .hint{font-size:13px;color:var(--text-tertiary);margin-bottom:20px}.folder-select-btn{padding:10px 24px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .12s ease}.folder-select-btn:hover{background:var(--primary-dark);transform:translateY(-1px)}.file-path{font-size:11px;color:var(--text-tertiary);font-family:JetBrains Mono,monospace}.connect-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border-light)}.btn-secondary,.btn-primary{padding:8px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .12s ease}.btn-secondary{background:transparent;border:1px solid var(--border-medium);color:var(--text-secondary)}.btn-secondary:hover{background:var(--bg-secondary);color:var(--text-primary)}.btn-primary{background:var(--primary);border:none;color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 2px 8px #1a73e840}@media(max-width:768px){.connection-grid{grid-template-columns:1fr}.connect-modal-content{padding:16px}}.new-project-modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .15s ease}.new-project-modal-container{width:560px;height:70vh;max-height:700px;min-height:500px;background:#fff;border-radius:12px;box-shadow:0 8px 32px #00000026;display:flex;flex-direction:column;animation:slideUp .2s ease}.new-project-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-light)}.header-left{display:flex;align-items:center;gap:8px;color:var(--text-primary)}.header-left h2{font-size:16px;font-weight:600;margin:0}.close-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .12s ease}.new-project-modal-content{padding:24px;overflow-y:auto;flex:1}.step-title{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:16px}.template-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.template-card{position:relative;padding:20px;background:var(--bg-primary);border:1.5px solid var(--border-light);border-radius:8px;cursor:pointer;transition:all .12s ease;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.template-card:hover{border-color:var(--primary);background:#1a73e808;transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.template-card.selected{border-color:var(--primary);background:#1a73e80d;box-shadow:0 0 0 3px #1a73e81a}.template-icon{display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:color .12s ease}.template-card:hover .template-icon,.template-card.selected .template-icon{color:var(--primary)}.template-name{font-size:14px;font-weight:600;color:var(--text-primary)}.template-description{font-size:12px;color:var(--text-tertiary);line-height:1.4}.form-group label{display:block;font-size:13px;font-weight:500;color:var(--text-primary);margin-bottom:8px}.label-hint{display:block;font-size:11px;font-weight:400;color:var(--text-tertiary);margin-top:2px}.input-field,.textarea-field{width:100%;padding:10px 12px;font-size:14px;color:var(--text-primary);background:var(--bg-primary);border:1.5px solid var(--border-medium);border-radius:6px;transition:all .12s ease;font-family:inherit}.input-field:focus,.textarea-field:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #1a73e81a}.input-field::-moz-placeholder,.textarea-field::-moz-placeholder{color:var(--text-tertiary)}.input-field::placeholder,.textarea-field::placeholder{color:var(--text-tertiary)}.textarea-field{resize:vertical;min-height:80px}.selected-template-info{display:flex;align-items:center;gap:8px;padding:12px;background:var(--bg-secondary);border-radius:6px;font-size:13px;margin-top:20px}.info-label{color:var(--text-secondary);font-weight:500}.info-value{color:var(--text-primary);font-weight:600;flex:1;display:flex;align-items:center;gap:6px}.change-template-btn{padding:4px 10px;font-size:12px;color:var(--primary);background:#fff;border:1px solid var(--border-light);border-radius:4px;cursor:pointer;transition:all .12s ease;font-weight:500}.change-template-btn:hover{background:var(--bg-primary);border-color:var(--primary)}.new-project-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--border-light)}.btn-primary,.btn-secondary{padding:8px 16px;font-size:13px;font-weight:500;border-radius:6px;border:none;cursor:pointer;transition:all .12s ease;font-family:inherit}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 1px 3px #0000001f}.btn-primary:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #1a73e840}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:transparent;color:var(--text-secondary);border:1px solid var(--border-medium)}.btn-secondary:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-dark)}@media(max-width:640px){.new-project-modal-container{width:calc(100vw - 32px);height:80vh;max-height:90vh}.template-grid{grid-template-columns:1fr}}.project-settings-modal{position:relative;width:90%;max-width:800px;height:70vh;max-height:700px;min-height:500px;background:#fff;border-radius:12px;box-shadow:0 8px 24px #3c404333;display:flex;flex-direction:column;overflow:hidden}.project-settings-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e8eaed}.project-settings-modal .modal-title-row{display:flex;align-items:center;gap:12px}.project-settings-modal .modal-title-row h2{margin:0;font-size:18px;font-weight:600;color:#202124}.project-settings-modal .modal-close-btn{width:32px;height:32px;border-radius:8px;border:none;background:transparent;color:#5f6368;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .12s}.project-settings-modal .modal-close-btn:hover{background:#f8f9fa;color:#202124}.project-info{padding:16px 24px;background:#f8f9fa;border-bottom:1px solid #e8eaed}.project-info h3{margin:0 0 4px;font-size:16px;font-weight:600;color:#202124}.project-info p{margin:0;font-size:13px;color:#5f6368}.settings-tabs{display:flex;gap:4px;padding:12px 24px 0;border-bottom:1px solid #e8eaed}.settings-tabs .tab-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;background:transparent;color:#5f6368;font-size:13px;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;transition:all .12s}.settings-tabs .tab-btn:hover{color:#202124;background:#f8f9fa;border-radius:8px 8px 0 0}.settings-tabs .tab-btn.active{color:#1a73e8;border-bottom-color:#1a73e8}.settings-content{flex:1;overflow-y:auto;padding:24px}.settings-section{display:flex;flex-direction:column;gap:20px}.setting-item{display:flex;flex-direction:column;gap:8px}.setting-item label{font-size:13px;font-weight:500;color:#202124}.setting-item input,.setting-item select{height:40px;padding:0 12px;border:1px solid #dadce0;border-radius:8px;font-size:14px;color:#202124;background:#fff;transition:all .15s}.setting-item input:focus,.setting-item select:focus{outline:none;border-color:#1a73e8;box-shadow:0 0 0 2px #1a73e81a}.setting-item .input-disabled{background:#f8f9fa;color:#80868b;cursor:not-allowed}.setting-item-checkbox{display:flex;align-items:flex-start;gap:12px}.setting-item-checkbox input[type=checkbox]{width:20px;height:20px;margin-top:2px;cursor:pointer;accent-color:#1a73e8}.setting-item-checkbox label{flex:1;cursor:pointer;display:flex;flex-direction:column;gap:4px}.setting-item-checkbox label strong{font-size:14px;font-weight:600;color:#202124}.setting-item-checkbox label span{font-size:13px;color:#5f6368;font-weight:400}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e8eaed}.btn-secondary{height:36px;padding:0 20px;border:1px solid #dadce0;border-radius:9999px;background:#fff;color:#5f6368;font-size:14px;font-weight:500;cursor:pointer;transition:all .12s}.btn-secondary:hover{background:#f8f9fa;color:#202124;border-color:#bdc1c6}.btn-primary{height:36px;padding:0 20px;border:none;border-radius:9999px;background:#1a73e8;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .12s;box-shadow:0 1px 3px #3c404326}.btn-primary:hover{background:#1557b0;box-shadow:0 2px 6px #3c404340}.btn-primary:disabled{background:#bdc1c6;cursor:not-allowed;box-shadow:none}.settings-content::-webkit-scrollbar{width:4px}.settings-content::-webkit-scrollbar-track{background:transparent}.settings-content::-webkit-scrollbar-thumb{background:#00000014;border-radius:2px}.settings-content:hover::-webkit-scrollbar-thumb{background:#00000026}.health-warning-modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s}.health-warning-modal{background:#fff;border-radius:12px;width:90%;max-width:700px;height:70vh;max-height:700px;min-height:500px;display:flex;flex-direction:column;overflow-y:auto;box-shadow:0 8px 32px #00000029;animation:slideUp .25s cubic-bezier(.4,0,.2,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.health-warning-header{display:flex;align-items:flex-start;justify-content:space-between;padding:24px;border-bottom:1px solid rgba(0,0,0,.08)}.health-warning-title{display:flex;gap:12px}.health-warning-icon{color:#fbbc04;flex-shrink:0;margin-top:2px}.health-warning-title h3{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 4px}.health-warning-title p{font-size:13px;color:var(--text-secondary);margin:0}.health-warning-close{background:transparent;border:none;padding:6px;cursor:pointer;color:var(--text-secondary);border-radius:6px;transition:all .15s;flex-shrink:0}.health-warning-close:hover{background:#0000000f;color:var(--text-primary)}.health-warning-list{padding:16px 24px;display:flex;flex-direction:column;gap:16px}.health-warning-item{padding:16px;background:#fbbc040a;border:1px solid rgba(251,188,4,.2);border-radius:8px;transition:all .15s}.health-warning-item:hover{background:#fbbc040f;border-color:#fbbc044d}.health-warning-item-header{margin-bottom:12px}.health-warning-item-title{display:flex;gap:10px}.health-warning-item-icon{flex-shrink:0;margin-top:2px}.health-warning-item-name{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:6px}.health-warning-item-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px}.health-warning-item-badge{padding:2px 8px;border-radius:4px;font-weight:500}.health-warning-item-score{color:var(--text-secondary)}.health-warning-item-last-used{color:var(--text-tertiary)}.health-warning-item-reason{font-size:13px;color:var(--text-secondary);line-height:1.5;margin-bottom:12px;padding-left:30px}.health-warning-item-suggestions{padding-left:30px;margin-bottom:12px}.health-warning-item-suggestions-title{font-size:12px;font-weight:600;color:var(--text-primary);margin-bottom:6px}.health-warning-item-suggestions ul{margin:0;padding-left:16px;font-size:12px;color:var(--text-secondary);line-height:1.6}.health-warning-item-suggestions li{margin-bottom:4px}.health-warning-item-suggestions li:last-child{margin-bottom:0}.health-warning-item-actions{display:flex;gap:8px;padding-left:30px}.health-warning-action-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;border:none}.health-warning-action-btn.primary{background:var(--primary);color:#fff}.health-warning-action-btn.primary:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 2px 8px #1a73e833}.health-warning-action-btn.secondary{background:transparent;color:var(--text-secondary);border:1px solid rgba(0,0,0,.12)}.health-warning-action-btn.secondary:hover{background:#0000000a;color:var(--text-primary);border-color:#0003}.health-warning-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid rgba(0,0,0,.08)}.health-warning-ignore-btn{background:transparent;color:var(--text-secondary);border:1px solid rgba(0,0,0,.12);border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s}.health-warning-ignore-btn:hover{background:#0000000a;color:var(--text-primary);border-color:#0003}.health-warning-close-btn{background:var(--primary);color:#fff;border:none;border-radius:6px;padding:8px 20px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s}.health-warning-close-btn:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 2px 8px #1a73e833}.modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fade-in .15s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.save-document-modal{width:90%;max-width:520px;background:#fff;border-radius:12px;box-shadow:0 8px 24px #0003;animation:slide-up .2s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;max-height:80vh}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-light)}.modal-title{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .12s ease}.modal-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.modal-body{padding:24px;flex:1;overflow-y:auto}.form-group{margin-bottom:20px}.form-group:last-child{margin-bottom:0}.form-label{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.form-input{width:100%;height:40px;padding:0 12px;font-size:14px;color:var(--text-primary);background:#fff;border:1px solid var(--border-medium);border-radius:8px;transition:all .15s ease}.form-input:hover{border-color:var(--border-dark)}.form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #1a73e81a}.form-input::-moz-placeholder{color:var(--text-disabled)}.form-input::placeholder{color:var(--text-disabled)}.file-type-selector{display:flex;gap:8px}.file-type-btn{flex:1;height:40px;padding:0 16px;font-size:14px;font-weight:500;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid transparent;border-radius:8px;cursor:pointer;transition:all .12s ease}.file-type-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.file-type-btn.active{color:var(--primary);background:#1a73e814;border-color:var(--primary)}.content-preview{padding:12px;font-size:13px;line-height:1.6;color:var(--text-secondary);background:var(--bg-secondary);border-radius:8px;max-height:120px;overflow-y:auto;white-space:pre-wrap;word-break:break-word}.content-length{margin-top:8px;font-size:12px;color:var(--text-tertiary)}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border-light)}.btn{height:40px;padding:0 20px;font-size:14px;font-weight:500;border:none;border-radius:8px;cursor:pointer;transition:all .12s ease}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{color:var(--text-secondary);background:transparent}.btn-secondary:hover:not(:disabled){background:var(--bg-secondary);color:var(--text-primary)}.btn-primary{color:#fff;background:var(--primary)}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.btn-primary:active:not(:disabled){transform:scale(.98)}.welcome-modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;animation:overlay-fade-in .3s ease-out}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}.welcome-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:520px;background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-8);z-index:1001;animation:modal-slide-up .4s cubic-bezier(.4,0,.2,1)}@keyframes modal-slide-up{0%{opacity:0;transform:translate(-50%,-45%)}to{opacity:1;transform:translate(-50%,-50%)}}.welcome-modal-close{position:absolute;top:var(--space-4);right:var(--space-4);width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast)}.welcome-modal-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.welcome-modal-steps{display:flex;justify-content:center;gap:var(--space-2);margin-bottom:var(--space-8)}.welcome-step-dot{width:8px;height:8px;border-radius:var(--radius-full);background:var(--border-medium);transition:all var(--transition-base);cursor:pointer}.welcome-step-dot:hover:not(.active){background:var(--border-dark);transform:scale(1.2)}.welcome-step-dot.active{width:24px;background:var(--primary)}.welcome-step-dot.completed{background:var(--accent);transform:scale(1.1)}.welcome-modal-content{text-align:center;margin-bottom:var(--space-8)}.welcome-modal-icon{width:80px;height:80px;margin:0 auto var(--space-6);display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a73e81a,#34a8531a);border-radius:var(--radius-full);color:var(--primary);animation:icon-scale .5s cubic-bezier(.4,0,.2,1) .2s forwards;opacity:0}@keyframes icon-scale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.welcome-modal-title{font-size:var(--font-size-xl);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-3);letter-spacing:-.3px;animation:content-fade .5s ease-out .3s forwards;opacity:0}.welcome-modal-description{font-size:var(--font-size-base);color:var(--text-secondary);line-height:1.6;margin-bottom:var(--space-6);animation:content-fade .5s ease-out .4s forwards;opacity:0}@keyframes content-fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.welcome-modal-features{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-3)}.welcome-feature-item{font-size:var(--font-size-base);color:var(--text-primary);padding:var(--space-3);background:var(--bg-secondary);border-radius:var(--radius-sm);animation:item-fade .5s ease-out forwards;opacity:0;display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.welcome-feature-item:nth-child(1){animation-delay:.5s}.welcome-feature-item:nth-child(2){animation-delay:.6s}.welcome-feature-item:nth-child(3){animation-delay:.7s}@keyframes item-fade{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.welcome-modal-footer{display:flex;justify-content:flex-end;gap:var(--space-3);animation:footer-fade .5s ease-out .8s forwards;opacity:0}@keyframes footer-fade{0%{opacity:0}to{opacity:1}}.welcome-next-btn{display:flex;align-items:center;gap:var(--space-2)}@media(max-width:768px){.welcome-modal{width:95%;padding:var(--space-6)}.welcome-modal-icon{width:64px;height:64px}.welcome-modal-title{font-size:var(--font-size-lg)}.welcome-modal-features{gap:var(--space-2)}.welcome-feature-item{padding:var(--space-2);font-size:var(--font-size-sm)}}.session-history-overlay{position:fixed;inset:0;background:#0000004d;z-index:998;animation:fadeIn .2s ease-out}.session-history-sidebar{position:fixed;top:50px;right:0;bottom:0;width:360px;background:#fff;box-shadow:-2px 0 12px #00000014;display:flex;flex-direction:column;z-index:999;animation:slideIn .25s cubic-bezier(.4,0,.2,1)}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.session-history-header{display:flex;align-items:center;justify-content:space-between;height:40px;padding:0 16px;border-bottom:1px solid var(--border-light)}.session-history-header h2{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.close-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:4px;background:transparent;border:none;cursor:pointer;color:var(--text-secondary);transition:all .12s ease}.close-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.session-search{display:flex;align-items:center;gap:8px;padding:8px 16px;border-bottom:1px solid var(--border-light)}.session-search svg{color:var(--text-tertiary);flex-shrink:0}.session-search input{flex:1;border:none;outline:none;font-size:13px;color:var(--text-primary);background:transparent;box-shadow:none}.session-search input:focus{outline:none;border:none;box-shadow:none}.session-search input::-moz-placeholder{color:var(--text-tertiary)}.session-search input::placeholder{color:var(--text-tertiary)}.session-list{flex:1;overflow-y:auto;padding:12px 0}.session-loading,.session-empty{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-tertiary);font-size:14px}.session-group{margin-bottom:24px}.session-group-title{font-size:12px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;padding:12px 24px 8px}.session-item{padding:8px 16px;cursor:pointer;transition:background .12s ease;border-left:3px solid transparent}.session-item:hover{background:var(--bg-secondary)}.session-item.active{background:#1a73e814;border-left-color:var(--primary)}.session-item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.session-item-actions{display:flex;align-items:center;gap:8px}.session-title{font-size:14px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;max-width:240px}.session-count{font-size:12px;color:var(--text-tertiary);background:var(--bg-secondary);padding:2px 8px;border-radius:var(--radius-xs);flex-shrink:0}.session-delete-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-xs);background:transparent;border:none;cursor:pointer;color:var(--text-tertiary);opacity:0;transition:all .2s;flex-shrink:0}.session-item:hover .session-delete-btn{opacity:1}.session-delete-btn:hover{background:#ea43351a;color:var(--danger)}.session-preview{font-size:13px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px}.session-time{font-size:12px;color:var(--text-tertiary)}.session-list::-webkit-scrollbar{width:6px}.session-list::-webkit-scrollbar-track{background:transparent}.session-list::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:3px}.session-list::-webkit-scrollbar-thumb:hover{background:var(--border-dark)}body:has(.chat-page-tot){overflow:hidden!important;height:100vh;width:100%;overscroll-behavior:none;touch-action:pan-x pan-y;overflow-anchor:none}body:has(.chat-page-tot) #root,body:has(.chat-page-tot) .app-layout{height:100vh;overflow:hidden;overflow-anchor:none}body:has(.chat-page-tot) *{overflow-anchor:none!important}body:not(:has(.chat-page-tot)){overflow-y:auto;overflow-x:hidden}.chat-page-tot{display:flex;height:100%;width:100%;background:var(--bg-primary, #ffffff);overflow:hidden;padding-top:50px;position:relative;overflow-anchor:none}.canvas-main{flex:1;min-width:0;background:var(--bg-primary, #ffffff);position:relative;display:flex;flex-direction:column;overflow:hidden;transition:flex .18s cubic-bezier(.4,0,.2,1);will-change:flex;height:100%}body.resizing .canvas-main{transition:none!important;will-change:auto}.canvas-main>div:not(.canvas-omni-bar):not(.chat-header-unified){flex:1;min-height:0;overflow:hidden}.canvas-omni-bar{position:relative;width:100%;min-width:400px;background:var(--bg-primary, #ffffff);z-index:100;flex-shrink:0;overflow:visible;display:flex;flex-direction:column;align-items:center;gap:6px}.chat-banners{width:100%;max-width:900px;margin-bottom:8px}.omni-bar-controls{display:flex;align-items:flex-start;gap:8px;width:100%;max-width:900px;flex-wrap:nowrap;overflow:hidden}.canvas-omni-bar .omni-bar-context-pills{flex:1;min-width:0;overflow:hidden}.canvas-omni-bar>div:not(.omni-bar-context-pills):not(.omni-bar-controls){width:100%;max-width:900px;min-width:0;overflow:visible}.chat-page-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:16px;color:var(--text-secondary, #5f6368)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-medium, #dadce0);border-top-color:var(--primary, #1a73e8);border-radius:50%;animation:spin .8s linear infinite}@media(max-width:768px){.canvas-omni-bar{padding:0}}.chat-page-content{flex:1;display:flex;overflow:hidden;position:relative;height:100%}.canvas-locked-overlay{display:flex;align-items:center;justify-content:center;height:100%;background:var(--bg-primary, #ffffff);padding:48px 24px}.locked-message{max-width:480px;text-align:center}.locked-badge{display:inline-block;padding:4px 12px;background:#00000014;border-radius:9999px;font-size:12px;font-weight:500;color:var(--text-secondary, #5f6368);margin-bottom:16px}.locked-message h3{font-size:24px;font-weight:600;color:var(--text-primary, #202124);margin:0 0 8px}.locked-message p{font-size:14px;line-height:1.6;color:var(--text-secondary, #5f6368);margin:0 0 24px}.switch-to-chat-btn{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 24px;background:var(--primary-color, #1a73e8);color:#fff;border:none;border-radius:9999px;font-size:14px;font-weight:500;cursor:pointer;transition:all .12s cubic-bezier(.4,0,.2,1)}.switch-to-chat-btn:hover{background:var(--primary-color-hover, #1557b0);transform:translateY(-1px)}.switch-to-chat-btn:active{transform:translateY(0)}.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:grab}.react-flow__node.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.custom-controls{position:absolute;bottom:16px;right:16px;z-index:5;background:#fff;border:1px solid var(--border-light);border-radius:9999px;box-shadow:var(--shadow-md);display:flex;align-items:center;gap:12px;padding:6px 16px;min-width:140px}.custom-control-button{background:transparent;border:none;color:var(--text-secondary);width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:all .15s cubic-bezier(.4,0,.2,1);flex-shrink:0}.custom-control-button:hover{background:var(--bg-secondary);color:var(--text-primary)}.custom-control-button:active{transform:scale(.98)}.custom-control-zoom{font-size:14px;font-weight:500;color:var(--text-tertiary);min-width:50px;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0}.thinking-canvas-container{width:100%;height:100%;background:var(--bg-primary);border-radius:0;overflow:hidden;box-shadow:none}.react-flow{background:#fff}.react-flow__node{width:400px;padding:0;background:transparent;border:none;box-shadow:none}.react-flow__node.selected{box-shadow:none}.react-flow__edge-path{stroke:var(--border-medium);stroke-width:2}.react-flow__edge.selected .react-flow__edge-path{stroke:var(--primary);stroke-width:3}.react-flow__handle{width:10px;height:10px;background:var(--primary);border:2px solid white}.react-flow__handle-top{top:-5px}.react-flow__handle-bottom{bottom:-5px}.react-flow__handle-left{left:-5px}.react-flow__handle-right{right:-5px}.react-flow__controls{background:#fff;border:1px solid var(--border-light);border-radius:9999px;box-shadow:var(--shadow-md);padding:6px 16px;display:flex;flex-direction:row;align-items:center;gap:12px;min-width:140px}.react-flow__controls-button{background:transparent;border:none;border-bottom:none!important;color:var(--text-secondary);transition:all .15s cubic-bezier(.4,0,.2,1);width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;flex-shrink:0}.react-flow__controls-button:hover{background:var(--bg-secondary);color:var(--text-primary)}.react-flow__controls-button:active{transform:scale(.98)}.react-flow__controls-zoom{font-size:14px;font-weight:500;color:var(--text-tertiary);min-width:50px;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;display:block!important;visibility:visible!important;opacity:1!important}.react-flow__controls-zoomout{order:1}.react-flow__controls-zoom{order:2}.react-flow__controls-zoomin{order:3}.react-flow__controls-fitview,.react-flow__controls-interactive{display:none!important}.react-flow__controls-button svg{width:16px;height:16px}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__minimap{background:#fff;border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.react-flow__minimap-mask{fill:#1a73e81a;stroke:var(--primary);stroke-width:2}.react-flow__background{background:#fff}.react-flow__panel{margin:16px}.react-flow__node.selected .thought-node-card{border-color:var(--primary);box-shadow:0 0 0 2px #1a73e826}.react-flow__attribution{display:none}.thinking-canvas-demo-page{display:flex;flex-direction:column;height:100vh;background:var(--bg-secondary)}.demo-header{padding:24px;background:#fff;border-bottom:1px solid var(--border-light);text-align:center}.demo-header h1{font-size:28px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.demo-header p{font-size:15px;color:var(--text-secondary)}.demo-canvas-wrapper{flex:1;overflow:hidden;background:#fff}.demo-footer{padding:16px 24px;background:#fff;border-top:1px solid var(--border-light)}.demo-info{max-width:900px;margin:0 auto}.demo-info h3{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:12px}.demo-info ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:8px}.demo-info li{font-size:13px;color:var(--text-secondary);line-height:1.6}@media(max-width:768px){.demo-header{padding:16px}.demo-header h1{font-size:24px}.demo-footer{padding:12px 16px}.demo-info ul{grid-template-columns:1fr}}.oauth-callback-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a2e,#16213e);padding:20px}.oauth-callback-card{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:40px;text-align:center;max-width:400px;width:100%;box-shadow:0 8px 32px #0000004d}.oauth-callback-icon{width:64px;height:64px;margin:0 auto 24px;border-radius:50%;display:flex;align-items:center;justify-content:center}.oauth-callback-icon svg{width:32px;height:32px}.oauth-callback-icon.processing{background:#3b82f633;color:#3b82f6}.oauth-callback-icon.processing .spinner{animation:spin 1s linear infinite;stroke-dasharray:60;stroke-dashoffset:45}.oauth-callback-icon.success{background:#22c55e33;color:#22c55e}.oauth-callback-icon.error{background:#ef444433;color:#ef4444}.oauth-callback-title{font-size:24px;font-weight:600;color:#fff;margin:0 0 12px}.oauth-callback-message{font-size:14px;color:#ffffffb3;margin:0 0 24px;line-height:1.5}.oauth-callback-button{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:10px 24px;border-radius:8px;font-size:14px;cursor:pointer;transition:all .2s ease}.oauth-callback-button:hover{background:#ffffff26;border-color:#ffffff4d}.status-page{padding:24px;max-width:1200px;margin:0 auto;background:#fff;min-height:100vh}.status-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px;padding-bottom:16px;border-bottom:1px solid #e8eaed}.header-left{display:flex;align-items:center;gap:12px}.status-header h1{font-size:24px;font-weight:600;color:#202124;margin:0}.header-right{display:flex;align-items:center;gap:8px}.refresh-button,.auto-refresh-toggle,.retry-button{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#f8f9fa;border:1px solid #e8eaed;border-radius:8px;color:#5f6368;font-size:14px;font-weight:500;cursor:pointer;transition:all .12s cubic-bezier(.4,0,.2,1)}.refresh-button:hover,.auto-refresh-toggle:hover,.retry-button:hover{background:#f1f3f4;border-color:#dadce0}.refresh-button:disabled{opacity:.5;cursor:not-allowed}.auto-refresh-toggle.active{background:#1a73e8;color:#fff;border-color:#1a73e8}.auto-refresh-toggle.active:hover{background:#1557b0}.overall-status{display:flex;align-items:center;gap:24px;padding:24px;background:#fff;border:1px solid #e8eaed;border-radius:12px;margin-bottom:24px;box-shadow:0 2px 8px #00000014}.overall-icon{flex-shrink:0}.overall-info{flex:1}.overall-info h2{font-size:18px;font-weight:600;color:#202124;margin:0 0 8px}.overall-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:9999px;font-size:14px;font-weight:500;margin-bottom:12px}.overall-meta{display:flex;gap:16px;font-size:14px;color:#5f6368}.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:16px}.service-card{background:#fff;border:1px solid #e8eaed;border-radius:12px;padding:16px;transition:all .12s cubic-bezier(.4,0,.2,1)}.service-card:hover{box-shadow:0 4px 12px #0000001a;border-color:#dadce0}.service-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.service-name{display:flex;align-items:center;gap:8px}.service-name h3{font-size:16px;font-weight:600;color:#202124;margin:0}.service-status-badge{padding:4px 10px;border-radius:9999px;font-size:12px;font-weight:500}.service-message{font-size:14px;color:#5f6368;margin-bottom:12px;line-height:1.5}.service-meta{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#9ca3af;padding-top:12px;border-top:1px solid #f1f3f4}.meta-item{display:flex;align-items:center;gap:4px}.meta-time{margin-left:auto}.service-details{margin-top:12px;padding-top:12px;border-top:1px solid #f1f3f4}.service-details summary{font-size:12px;color:#5f6368;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-weight:500}.service-details summary:hover{color:#202124}.service-details pre{margin-top:8px;padding:12px;background:#f8f9fa;border-radius:8px;font-size:11px;color:#5f6368;overflow-x:auto;line-height:1.5}.status-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:64px 24px;color:#5f6368}.status-loading p{font-size:14px;margin:0}.status-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:64px 24px;text-align:center}.status-error h2{font-size:18px;font-weight:600;color:#202124;margin:0}.status-error p{font-size:14px;color:#5f6368;margin:0;max-width:400px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}@media(max-width:768px){.status-page{padding:16px}.status-header{flex-direction:column;align-items:flex-start;gap:12px}.header-right{width:100%;justify-content:flex-end}.overall-status{flex-direction:column;align-items:flex-start}.services-grid{grid-template-columns:1fr}}.share-header{position:fixed;top:0;left:0;right:0;height:64px;background:#fff;border-bottom:1px solid #e8eaed;z-index:1000}.share-header-content{max-width:1400px;height:100%;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between}.share-header-left{display:flex;align-items:center;gap:16px}.share-logo{display:flex;align-items:center;gap:8px;text-decoration:none;color:#1a1a1a;font-weight:600;transition:opacity .12s ease}.share-logo:hover{opacity:.7}.logo-icon{width:32px;height:32px}.logo-text{font-size:16px;letter-spacing:-.02em}.shared-by-info{display:flex;align-items:center;gap:8px;color:#666;font-size:14px}.separator{color:#d1d5db}.sharer-avatar{width:24px;height:24px;border-radius:9999px;-o-object-fit:cover;object-fit:cover}.shared-by-text{color:#666}.shared-by-text strong{color:#1a1a1a;font-weight:500}.share-header-right{display:flex;align-items:center;gap:12px}.btn-login{height:36px;padding:0 16px;background:transparent;border:none;border-radius:8px;color:#666;font-size:14px;font-weight:500;cursor:pointer;transition:all .12s ease}.btn-login:hover{background:#f5f5f5;color:#1a1a1a}.btn-signup{height:36px;padding:0 16px;background:#1a73e8;border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .12s ease}.btn-signup:hover{background:#1557b0}.btn-signup:active{transform:scale(.98)}@media(max-width:768px){.share-header-content{padding:0 16px}.shared-by-info,.logo-text{display:none}.btn-login,.btn-signup{height:32px;padding:0 12px;font-size:13px}}.share-document-viewer{width:100%;max-width:900px;margin:0 auto;padding:80px 24px 100px}.document-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px}.document-loading p{color:#666;font-size:15px}.document-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;gap:8px}.document-error h2{font-size:20px;font-weight:600;color:#1a1a1a;margin:0}.document-error p{font-size:14px;color:#666;margin:0;max-width:400px}.document-header{margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid #e8eaed}.document-title{font-size:32px;font-weight:600;color:#1a1a1a;margin:0 0 12px;line-height:1.3;letter-spacing:-.02em}.view-badge{display:inline-flex;margin-bottom:12px}.view-badge-content{display:inline-flex;align-items:center;padding:4px 10px;background:#f9fafb;border:1px solid #e8eaed;border-radius:6px;font-size:12px;font-weight:500;color:#666;letter-spacing:-.01em}.document-meta{display:flex;align-items:center;gap:8px;font-size:14px;color:#666}.meta-separator{color:#d1d5db}.document-cta-buttons{display:flex;align-items:center;gap:12px;margin-bottom:32px;flex-wrap:wrap}.cta-btn{display:flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .12s ease;border:none}.cta-btn-primary{background:#1a73e8;color:#fff}.cta-btn-primary:hover{background:#1557b0;transform:translateY(-1px);box-shadow:0 4px 12px #1a73e84d}.cta-btn-secondary{background:#f9fafb;color:#666;border:1px solid #e8eaed}.cta-btn-secondary:hover{background:#f5f5f5;color:#1a1a1a;border-color:#d1d5db}.cta-btn:active{transform:translateY(0)}.document-content{font-size:16px;line-height:1.7;color:#1a1a1a}.document-content h1,.document-content h2,.document-content h3{margin-top:32px;margin-bottom:16px}.document-content p{margin-bottom:16px}.document-content code{background:#f5f5f5;padding:2px 6px;border-radius:4px;font-size:.9em}.document-content pre{background:#f5f5f5;padding:16px;border-radius:8px;overflow-x:auto;margin-bottom:16px}.document-content blockquote{border-left:4px solid #1a73e8;padding-left:16px;margin-left:0;color:#666}.document-content ul,.document-content ol{margin-bottom:16px;padding-left:24px}.document-content li{margin-bottom:8px}@media(max-width:768px){.share-document-viewer{padding:72px 16px 80px}.document-title{font-size:28px}.document-meta{font-size:13px;flex-wrap:wrap}.document-cta-buttons{flex-direction:column;width:100%}.cta-btn{width:100%;justify-content:center}}.conversion-modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:2000;padding:24px;animation:fadeIn .15s ease}.conversion-modal{position:relative;width:100%;max-width:440px;background:#fff;border-radius:12px;padding:32px;box-shadow:0 4px 24px #00000014;animation:slideUp .2s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.modal-close-btn{position:absolute;top:16px;right:16px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:8px;color:#999;cursor:pointer;transition:all .12s ease}.modal-close-btn:hover{background:#f5f5f5;color:#666}.modal-header{margin-bottom:24px}.modal-title{font-size:20px;font-weight:600;color:#1a1a1a;margin:0 0 8px;line-height:1.4;letter-spacing:-.02em}.modal-description{font-size:14px;color:#666;line-height:1.5;margin:0}.social-proof{padding:12px 16px;background:#f9fafb;border:1px solid #e8eaed;border-radius:8px;margin-bottom:24px}.social-proof-text{font-size:13px;color:#666;margin:0;text-align:center}.modal-actions{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.btn-primary{width:100%;height:44px;background:#1a73e8;border:none;border-radius:8px;color:#fff;font-size:15px;font-weight:500;cursor:pointer;transition:all .12s ease}.btn-primary:hover{background:#1557b0}.btn-primary:active{transform:scale(.98)}.btn-secondary{width:100%;height:40px;background:transparent;border:1px solid #e8eaed;border-radius:8px;color:#666;font-size:14px;font-weight:500;cursor:pointer;transition:all .12s ease}.btn-secondary:hover{background:#f9fafb;border-color:#d1d5db;color:#1a1a1a}.feature-list{list-style:none;padding:0;margin:0 0 24px;display:flex;flex-direction:column;gap:10px}.feature-list li{display:flex;align-items:center;gap:8px;font-size:14px;color:#666;padding-left:12px;position:relative}.feature-list li:before{content:"";position:absolute;left:0;width:4px;height:4px;background:#d1d5db;border-radius:9999px}.feature-text{flex:1}.btn-dismiss{width:100%;height:36px;background:transparent;border:none;color:#999;font-size:14px;cursor:pointer;transition:color .12s ease}.btn-dismiss:hover{color:#666}@media(max-width:768px){.conversion-modal{max-width:100%;padding:24px}.modal-title{font-size:18px}.modal-description{font-size:13px}.btn-primary{height:44px;font-size:14px}}.conversion-cta-bar{position:fixed;bottom:0;left:0;right:0;height:56px;background:#fff;border-top:1px solid #e8eaed;z-index:999;animation:slideUpBar .2s ease}@keyframes slideUpBar{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.cta-bar-content{max-width:1400px;height:100%;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}.cta-bar-text{display:flex;align-items:center;gap:12px}.cta-message{font-size:14px;font-weight:500;margin:0;color:#666;letter-spacing:-.01em}.cta-bar-actions{display:flex;align-items:center;gap:8px}.cta-btn-signup{height:36px;padding:0 16px;background:#1a73e8;border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .12s ease;white-space:nowrap}.cta-btn-signup:hover{background:#1557b0}.cta-btn-signup:active{transform:scale(.98)}.cta-btn-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:8px;color:#999;cursor:pointer;transition:all .12s ease}.cta-btn-close:hover{background:#f5f5f5;color:#666}@media(max-width:768px){.conversion-cta-bar{height:auto;padding:12px 0}.cta-bar-content{flex-direction:column;gap:12px;padding:0 16px}.cta-bar-text{width:100%;justify-content:center;text-align:center}.cta-message{font-size:13px}.cta-bar-actions{width:100%;justify-content:center}.cta-btn-signup{flex:1;max-width:200px}}.login-prompt-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out;padding:20px}.login-prompt-modal{position:relative;background:#fff;border-radius:20px;padding:40px 32px 32px;max-width:440px;width:100%;box-shadow:0 8px 32px #0000001f;animation:modalSlideIn .3s cubic-bezier(.34,1.56,.64,1);display:flex;flex-direction:column;align-items:center;text-align:center}.login-prompt-close{position:absolute;top:16px;right:16px;background:none;border:none;padding:8px;border-radius:50%;cursor:pointer;color:var(--text-tertiary);display:flex;align-items:center;justify-content:center;transition:all .2s ease}.login-prompt-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.login-prompt-icon{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:24px}.login-prompt-title{margin:0 0 12px;font-size:24px;font-weight:700;color:var(--text-primary)}.login-prompt-description{margin:0 0 28px;font-size:15px;color:var(--text-secondary);line-height:1.6}.login-prompt-description strong{color:var(--text-primary);font-weight:600}.login-prompt-actions{display:flex;gap:12px;width:100%;margin-bottom:16px}.login-prompt-actions button{flex:1;padding:12px 20px;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.btn-secondary{background:var(--bg-secondary);border:1px solid var(--border-light);color:var(--text-primary)}.btn-secondary:hover{background:var(--bg-tertiary);border-color:var(--border-medium)}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.login-prompt-hint{padding:12px 16px;background:#f0f4ff;border:1px solid #D0DCFF;border-radius:10px;font-size:13px;color:var(--text-secondary);width:100%}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{transform:scale(.9) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}@media(max-width:600px){.login-prompt-modal{padding:32px 24px 24px}.login-prompt-icon{width:64px;height:64px;margin-bottom:20px}.login-prompt-icon svg{width:32px;height:32px}.login-prompt-title{font-size:20px}.login-prompt-description{font-size:14px}.login-prompt-actions button{padding:10px 16px;font-size:14px}}.anonymous-share-page{min-height:100vh;background:#fff}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:16px}.loading-spinner{width:40px;height:40px;border:3px solid #e8eaed;border-top-color:#1a73e8;border-radius:50%;animation:spin .8s linear infinite}.loading-container p{color:#666;font-size:15px}.chat-page-tot.shared-mode{--sidebar-width: 0px}.chat-page-tot.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:16px}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.chat-page-content.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:16px}.error-message{color:var(--error-color);font-size:14px;margin-bottom:16px}.app-loading-skeleton{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);overflow:hidden}.loading-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.loading-logo{height:64px;-o-object-fit:contain;object-fit:contain;animation:logo-pulse 2s ease-in-out infinite}@keyframes logo-pulse{0%,to{opacity:.4}50%{opacity:1}}.loading-text{font-size:var(--font-size-2xl);font-weight:800;font-style:italic;letter-spacing:-.5px;color:var(--text-primary);animation:text-fade 2s ease-in-out infinite}@keyframes text-fade{0%,to{opacity:.3}50%{opacity:1}}.loading-dots{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.loading-dots .dot{width:6px;height:6px;border-radius:var(--radius-full);background:var(--text-tertiary);animation:dot-bounce 1.4s ease-in-out infinite}.loading-dots .dot:nth-child(1){animation-delay:0s}.loading-dots .dot:nth-child(2){animation-delay:.2s}.loading-dots .dot:nth-child(3){animation-delay:.4s}@keyframes dot-bounce{0%,80%,to{opacity:.3}40%{opacity:1}}@media(max-width:768px){.loading-logo{height:48px}.loading-text{font-size:var(--font-size-xl)}}
