:root{--background-color-website: #0d1117;--background-color-primary: #161b22;--background-color-secondary: #21262d;--background-color-tertiary: #30363d;--background-color-hover: #3d444d;--background-color-focus: #484f58;--background-color-disable: #1c2128;--background-color-header: #161b22;--text-color: #f0f6fc;--text-color-secondary: #8b949e;--text-color-tertiary: #7d8590;--text-color-placeholder: #656c76;--text-color-header: #f0f6fc;--border-color: #30363d;--border-color-lighter: #3d444d;--border-color-header: #30363d;--accent-color: #2ea043;--accent-color-hover: #238636;--accent-color-dark: #1a7f37;--accent-color-secondary: #58a6ff;--accent-color-muted: #1f6feb;--color-messages-info: #58a6ff;--color-messages-info-dark: #388bfd;--color-messages-success: #2ea043;--color-messages-success-dark: #238636;--color-messages-success-darker: #1a7f37;--color-messages-error: #f85149;--color-messages-error-dark: #da3633;--color-messages-warning: #d29922;--color-messages-warning-dark: #bb8009;--error-bg-light: #332424;--error-border-light: #8e1519;--color-dark: #0d1117;--color-hover-secondary: #262c36;--color-footer: #0d1117;--color-brighter: #ffffff;--background-transparency-standard: rgba(13, 17, 23, .8);--background-transparency-light: rgba(13, 17, 23, .5);--background-transparency-dark: rgba(13, 17, 23, .95);--background-transparency: var(--background-transparency-dark);--header-transparency: rgba(22, 27, 34, .95);--glass-backdrop: rgba(22, 27, 34, .7);--input-background-color: var(--background-color-primary);--input-background-color-hover: var(--background-color-secondary);--input-background-color-focus: var(--background-color-tertiary);--input-text-color: var(--text-color);--input-placeholder-color: var(--text-color-placeholder);--input-border: 1px solid var(--border-color);--input-border-focus: 1px solid var(--accent-color);--input-box-shadow-hover: 0 1px 3px rgba(46, 160, 67, .1);--input-box-shadow-focus: 0 0 0 3px rgba(46, 160, 67, .2);--button-background-color: var(--background-color-tertiary);--button-background-color-hover: var(--background-color-hover);--button-background-color-active: var(--background-color-focus);--button-text-color: var(--text-color);--button-border: 1px solid var(--border-color);--button-border-top-color: var(--border-color-lighter);--button-box-shadow-hover: 0 3px 12px rgba(0, 0, 0, .2);--focus-outline: 2px solid var(--accent-color);--focus-outline-offset: 2px;--surface-elevated: #262c36;--surface-overlay: rgba(22, 27, 34, .9);--accent-soft: rgba(46, 160, 67, .1);--accent-subtle: rgba(46, 160, 67, .05)}:root{--font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--font-family-heading: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--font-family-mono: ui-monospace, SFMono-Regular, "SF Mono", "Fira Code", "Fira Mono", "Roboto Mono", "Source Code Pro", Menlo, "Cascadia Code", "Consolas", monospace;--font-size-base: 14px;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-small: .875rem;--font-size-md: 1rem;--font-size-normal: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-large: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-size-6xl: 3.75rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--line-height-tight: 1.25;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--line-height-loose: 2;--letter-spacing-tighter: -.05em;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em;--letter-spacing-wider: .05em;--letter-spacing-widest: .1em;--header-font-family: var(--font-family-heading);--header-font-size: var(--font-size-lg);--header-font-weight: var(--font-weight-semibold);--header-line-height: var(--line-height-tight);--header-letter-spacing: var(--letter-spacing-tight);--nav-font-family: var(--font-family-base);--nav-font-size: var(--font-size-sm);--nav-font-weight: var(--font-weight-medium);--nav-line-height: var(--line-height-snug);--nav-letter-spacing: var(--letter-spacing-normal);--button-font-family: var(--font-family-base);--button-font-size: var(--font-size-sm);--button-font-weight: var(--font-weight-medium);--button-line-height: var(--line-height-tight);--button-letter-spacing: var(--letter-spacing-normal);--body-font-family: var(--font-family-base);--body-font-size: var(--font-size-md);--body-font-weight: var(--font-weight-normal);--body-line-height: var(--line-height-relaxed);--body-letter-spacing: var(--letter-spacing-normal)}:root{--space-xxs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-xxl: 3rem;--space-xxxl: 4rem;--padding-xxs: var(--space-xxs);--padding-xs: var(--space-xs);--padding-small: var(--space-xs);--padding-sm: var(--space-sm);--padding-md: var(--space-md);--padding-medium: var(--space-md);--padding-lg: var(--space-lg);--padding-large: var(--space-lg);--padding-xl: var(--space-xl);--padding-xxl: var(--space-xxl);--margin-xxs: var(--space-xxs);--margin-xs: var(--space-xs);--margin-small: var(--space-xs);--margin-sm: var(--space-sm);--margin-md: var(--space-md);--margin-medium: var(--space-md);--margin-lg: var(--space-lg);--margin-large: var(--space-lg);--margin-xl: var(--space-xl);--margin-xxl: var(--space-xxl);--gap-xxs: var(--space-xxs);--gap-xs: var(--space-xs);--gap-small: var(--space-xs);--gap-sm: var(--space-sm);--gap-md: var(--space-md);--gap-medium: var(--space-md);--gap-lg: var(--space-lg);--gap-large: var(--space-lg);--gap-xl: var(--space-xl);--gap-xxl: var(--space-xxl);--header-padding-vertical: var(--space-sm);--header-padding-horizontal: var(--space-lg);--header-height: 4rem;--header-item-gap: var(--space-md);--header-nav-item-gap: var(--space-lg)}:root{--border-radius-xs: 2px;--border-radius-small: 4px;--border-radius-medium: 8px;--border-radius-large: 16px;--border-radius-xl: 24px;--border-radius-full: 9999px;--border-width-thin: 1px;--border-width-medium: 2px;--border-width-thick: 3px;--border-standard: var(--border-width-thin) solid var(--border-color);--border-hover: var(--border-width-thin) solid var(--border-color-lighter);--border-focus: var(--border-width-thin) solid var(--accent-color);--border-dashed: var(--border-width-medium) dashed var(--border-color-lighter);--border-accent: var(--border-width-medium) solid var(--accent-color);--border-radius: var(--border-radius-small)}:root{--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--transition-colors: color .15s cubic-bezier(.4, 0, .2, 1), background-color .15s cubic-bezier(.4, 0, .2, 1), border-color .15s cubic-bezier(.4, 0, .2, 1);--transition-standard: var(--transition-base);--transition-transform: transform .2s cubic-bezier(.4, 0, .2, 1);--transition-opacity: opacity .15s cubic-bezier(.4, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--spin-animation: 1s linear infinite;--pulse-animation: 2s cubic-bezier(.4, 0, .6, 1) infinite;--bounce-animation: 1s infinite;--fade-in: opacity .3s var(--ease-out);--slide-up: transform .3s var(--ease-out);--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow-base: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-md: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .06);--box-shadow-hover: var(--shadow-md);--box-shadow-focus: var(--shadow-base), 0 0 0 3px var(--accent-soft);--box-shadow-active: var(--shadow-sm);--box-shadow-light: var(--shadow-sm);--box-shadow-dark: var(--shadow-lg);--box-shadow: var(--shadow-sm);--card-shadow: var(--shadow-base);--card-shadow-hover: var(--shadow-lg);--card-shadow-focus: var(--shadow-md);--modal-shadow: var(--shadow-2xl);--dropdown-shadow: var(--shadow-lg);--tooltip-shadow: var(--shadow-md);--focus-outline: 2px solid var(--accent-color);--focus-outline-offset: 2px;--focus-ring: 0 0 0 3px var(--accent-soft);--backdrop-blur-sm: blur(4px);--backdrop-blur-base: blur(8px);--backdrop-blur-lg: blur(16px);--hover-scale: 1.02;--hover-scale-sm: 1.01;--hover-scale-lg: 1.05;--active-scale: .98;--radius-xs: 2px;--radius-sm: 4px;--radius-base: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--radius-full: 9999px}:root{--input-left-label-color: var(--text-color);--input-text-color: var(--text-color);--input-placeholder-color: var(--text-color-placeholder);--input-background-color: var(--background-color-secondary);--input-background-color-focus: var(--background-color-focus);--input-background-color-hover: var(--background-color-hover);--input-border: var(--border-standard);--input-border-hover: var(--border-hover);--input-border-focus: var(--border-focus);--input-box-shadow-hover: var(--box-shadow-hover);--input-box-shadow-focus: var(--box-shadow-focus);--button-text-color: var(--text-color);--button-background-color: var(--background-color-secondary);--button-background-color-hover: var(--background-color-hover);--button-background-color-active: var(--background-color-tertiary);--button-padding-vertical: var(--padding-small);--button-padding-horizontal: var(--padding-medium);--button-font-size: var(--font-size-small);--button-font-weight: 500;--button-border: var(--border-standard);--button-border-hover: var(--border-hover);--button-border-top-color: var(--accent-color);--button-animation: var(--spin-animation);--button-box-shadow-hover: var(--box-shadow-hover);--tag-text-color: var(--text-color);--tag-background-color: var(--background-color-secondary);--tag-background-color-hover: var(--background-color-hover);--tag-placeholder-color: var(--text-color-secondary);--tag-item-border-radius: var(--border-radius-large);--tag-item-padding-vertical: var(--padding-small);--tag-item-padding-horizontal: var(--padding-small);--tag-item-gap: var(--gap-small);--tag-item-font-size: var(--font-size-small);--tag-border: var(--border-standard);--tag-box-shadow: var(--box-shadow);--table-border: var(--border-standard);--table-background-color: var(--background-color-primary);--table-text-color: var(--text-color);--table-padding: var(--padding-large);--table-box-shadow: var(--box-shadow);--table-header-background-color: var(--background-color-secondary);--table-button-background-color: var(--button-background-color);--table-button-hover-background-color: var(--button-background-color-hover);--table-button-disabled-background-color: var(--background-color-disable);--table-select-background-color: var(--background-color-secondary);--table-border-color: var(--border-color-lighter);--table-border-radius: var(--border-radius-medium);--slider-border: var(--border-standard);--slider-margin: var(--margin-large);--slider-padding: var(--padding-small);--slider-border-radius: var(--border-radius-medium);--slider-box-shadow: var(--box-shadow);--slider-thumb-width: 1.25rem;--slider-thumb-height: 1.25rem;--slider-thumb-border-radius: 50%;--slider-thumb-background: var(--accent-color);--slider-thumb-box-shadow: var(--box-shadow);--slider-track-background: var(--text-color-placeholder);--slider-track-height: .625rem;--slider-track-border-radius: var(--border-radius-small);--slider-track-hover-background: var(--background-color-hover);--slider-value-background: var(--background-color-website);--slider-value-color: var(--text-color);--slider-value-hover-background: var(--background-color-hover);--slider-value-box-shadow: var(--box-shadow);--status-color: var(--text-color);--status-bg-color: var(--background-color-primary);--status-border: var(--border-standard);--status-box-shadow: var(--box-shadow);--status-padding: var(--padding-medium);--status-border-radius: var(--border-radius-medium);--status-margin-bottom: var(--margin-small);--count-info-margin-bottom: var(--margin-small);--count-info-color: var(--text-color);--count-value-color: var(--text-color-secondary);--status-tag-padding-vertical: var(--padding-small);--status-tag-padding-horizontal: var(--padding-small);--status-tag-border-radius: var(--border-radius-large);--status-tag-font-weight: bold;--status-tag-font-size: var(--font-size-small);--status-tag-processing-color: var(--text-color-secondary);--status-icon-margin-right: var(--margin-small);--status-text-margin-left: var(--margin-small);--status-loader-border-width: 3px;--status-loader-size: var(--font-size-normal);--tabs-container-color: var(--text-color);--tabs-container-bg: var(--background-color-website);--tabs-container-padding: var(--padding-medium);--tabs-container-margin: var(--padding-medium) auto;--tabs-container-shadow: var(--box-shadow);--tab-button-padding-vertical: var(--padding-small);--tab-button-padding-horizontal: var(--padding-medium);--tab-button-font-size: var(--font-size-normal);--tab-button-color: var(--text-color-secondary);--tab-button-active-color: var(--text-color);--tab-button-active-border-color: var(--accent-color);--tab-content-bg: var(--background-color-secondary);--tab-content-padding: var(--padding-small);--tab-content-radius: var(--border-radius-small);--tab-content-border: var(--border-standard);--tab-margin-bottom: var(--padding-medium);--modal-content-bg: var(--background-color-website);--modal-z-index: 3000;--modal-backdrop-color: rgba(18, 18, 18, .8);--modal-content-radius: var(--border-radius-large);--modal-content-shadow: var(--box-shadow-dark), 0 2px 32px rgba(40, 44, 52, .45);--modal-content-padding: var(--padding-large);--modal-body-padding: var(--padding-medium) 0 0 0;--modal-max-width-offset: 2rem;--modal-max-height-offset: 4rem;--modal-close-button-size: 1.6rem;--modal-close-button-color: var(--text-color-secondary);--modal-close-button-hover-color: var(--accent-color-hover);--spinner-overlay-bg: var(--background-transparency);--spinner-z-index: 9999;--spinner-border-width: 5px;--spinner-border-color: var(--background-transparency-light);--spinner-border-top-color: var(--accent-color);--spinner-size: 50px;--spinner-animation: var(--spin-animation);--image-editor-overlay-bg: var(--background-transparency-standard);--image-editor-z-index: 1000;--image-editor-bg: var(--background-color-website);--image-editor-padding: var(--padding-large);--image-editor-box-shadow: var(--box-shadow);--image-editor-border-radius: var(--border-radius-small);--image-editor-border: var(--border-standard);--editor-canvas-border: var(--border-standard);--editor-canvas-bg: transparent;--editor-actions-margin-top: var(--padding-large);--editor-actions-gap: var(--padding-small);--message-banner-top-position: var(--padding-large);--message-banner-padding-vertical: var(--padding-small);--message-banner-padding-horizontal: var(--padding-large);--message-banner-border-radius: var(--border-radius-small);--message-banner-color: var(--color-brighter);--message-banner-font-size: var(--font-size-normal);--message-banner-font-weight: 500;--message-banner-box-shadow: var(--box-shadow-light);--message-banner-z-index: 9999;--message-icon-margin-right: var(--padding-small);--message-error-bg: var(--color-messages-error);--message-warning-bg: var(--color-messages-warning);--message-success-bg: var(--color-messages-success);--message-info-bg: var(--color-messages-info);--message-animation-duration: .5s;--drawer-bg: var(--background-color-website);--drawer-width: 33%;--drawer-min-width: 22.5rem;--drawer-height: 100%;--drawer-z-index: 1001;--drawer-transition: var(--transition-standard);--drawer-mask-bg: var(--background-transparency-standard);--drawer-mask-z-index: 1000;--drawer-mask-transition: visibility 0s linear var(--transition-standard), opacity var(--transition-standard);--drawer-content-padding: var(--padding-medium);--drawer-close-button-color: var(--color-brighter);--drawer-close-button-font-size: var(--font-size-large);--history-bg: var(--background-color-primary);--history-item-bg: var(--background-color-tertiary);--history-item-border: var(--border-standard);--history-title-font-size: var(--font-size-large);--history-title-color: var(--text-color-secondary);--history-title-padding: var(--padding-large);--history-title-bg: var(--background-color-tertiary);--history-title-border-bottom: var(--border-standard);--history-item-margin: 0 var(--padding-small) 0 0;--history-item-padding: var(--padding-small) var(--padding-medium);--history-item-color: var(--text-color-secondary);--history-icon-size: var(--padding-large);--history-icon-font-size: var(--font-size-small);--history-icon-margin-right: var(--padding-small);--history-content-overflow: hidden;--history-token-color: var(--text-color);--history-ref-font-size: var(--font-size-small);--history-ref-color: var(--color-messages-info);--history-list-padding: var(--padding-large);--history-list-radius: var(--border-radius-small);--history-list-shadow: var(--box-shadow-dark);--history-item-border-radius: var(--border-radius-small);--header-menu-gap: var(--padding-large);--header-menu-item-padding-vertical: var(--padding-small);--header-menu-item-padding-horizontal: var(--padding-medium);--header-menu-item-color: var(--text-color);--header-menu-item-hover-bg: var(--background-color-hover);--header-menu-item-border-radius: var(--border-radius-small);--header-menu-transition: var(--transition-colors);--float-button-bottom: 3rem;--float-button-right: 2rem;--float-button-size: 2.25rem;--circle-button-size: 3rem;--float-button-bg: var(--color-brighter);--float-button-color: var(--background-color-website);--float-button-border-radius: 50%;--float-button-font-size: 1.125rem;--float-button-z-index: 10;--float-button-transition: var(--transition-standard);--float-button-icon-left: .5625rem;--float-button-icon-top: .5625rem;--float-button-animation-duration: 1s;--image-card-z-index: 1;--image-card-color: var(--color-brighter);--overlay-padding: var(--padding-small);--score-bg: var(--background-transparency-light);--score-bg-hover: var(--background-transparency-dark);--score-border-radius: 25%;--score-width: 2.875rem;--score-height: 1rem;--source-right: .625rem;--source-top: .625rem;--avatar-size: 2rem;--avatar-border-radius: 50%;--avatar-padding-hover: .3125rem;--avatar-bg-hover: var(--background-transparency-light);--image-max-height: 48rem;--image-border-width: 2px;--image-border-radius: 9px;--image-placeholder-opacity: .75;--image-view-size: 32rem;--image-view-blur: 8px;--image-view-filter-transition: filter .1s;--image-view-opacity-transition: opacity .3s;--image-view-modal-z-index: var(--image-editor-z-index);--image-view-controls-z-index: var(--drawer-z-index);--image-view-modal-content-max-width: 80%;--image-view-modal-content-max-height: 80%;--image-uploader-min-height: 12.5rem;--image-preview-max-height: 18.75rem;--container-description-offset: 5px;--container-description-max-width: 12.5rem;--container-description-max-width-small: 9.375rem;--container-small-screen-breakpoint: 30rem;--container-fade-animation-duration: .3s;--timer-background-opacity: .7;--about-container-width: 60%;--text-area-min-height: 9.375rem}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:var(--background-color-tertiary)}*::-webkit-scrollbar-thumb{background-color:var(--background-color-hover);border-radius:var(--border-radius-small);border:3px solid var(--background-color-tertiary)}*::-webkit-scrollbar-thumb:hover{background-color:var(--accent-color-hover)}*{scrollbar-width:thin;scrollbar-color:var(--background-color-hover) var(--background-color-tertiary)}body{font-size:var(--font-size-base);color:var(--text-color);background-color:var(--background-color-primary);margin:0;padding:0}html{font-size:var(--font-size-base)}*,*:before,*:after{box-sizing:border-box}body{font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-normal);font-weight:var(--font-weight-normal);color:var(--text-color);background-color:var(--background-color-website);margin:0;padding:0;display:flex;place-items:center;min-width:320px;min-height:100vh;color-scheme:light dark;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"kern" 1;text-size-adjust:100%}html{font-size:var(--font-size-base);scroll-behavior:smooth}h1,h2,h3,h4,h5,h6,p,ul,ol,dl,blockquote,pre,table,figure{margin:0}ul,ol{padding-left:1.5em}img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}input,button,textarea,select{font:inherit;color:inherit}a{color:var(--accent-color-secondary);font-weight:var(--font-weight-medium);text-decoration:none;transition:var(--transition-colors)}a:hover{color:var(--accent-color)}a:focus{outline:var(--focus-outline);outline-offset:var(--focus-outline-offset)}:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-outline-offset)}::selection{background-color:var(--accent-soft);color:var(--text-color)}[aria-hidden=true]{display:none}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}#root{width:100%;max-width:100%;height:100vh;margin:0;padding:0;box-sizing:border-box;overflow:hidden;font-family:var(--font-family-base)}.app-container{display:flex;flex-direction:column;height:100vh;background:var(--background-color-website);color:var(--text-color);font-size:var(--font-size-base);line-height:var(--line-height-normal)}.app-header{background:var(--surface-overlay);-webkit-backdrop-filter:var(--backdrop-blur-base);backdrop-filter:var(--backdrop-blur-base);border-bottom:1px solid var(--border-color);padding:var(--space-md) var(--space-lg);flex-shrink:0;position:sticky;top:0;z-index:10}.header-content{display:flex;justify-content:space-between;align-items:center;max-width:1600px;margin:0 auto;gap:var(--space-lg)}.header-title{flex:1;min-width:0}.header-title h1{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-color);display:flex;align-items:center;gap:var(--space-sm);letter-spacing:var(--letter-spacing-tight)}.header-title p{margin:var(--space-xs) 0 0 0;font-size:var(--font-size-sm);color:var(--text-color-secondary);font-weight:var(--font-weight-normal);line-height:var(--line-height-snug)}.header-links{display:flex;gap:var(--space-sm);margin-top:var(--space-sm)}.header-link{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);color:var(--text-color-secondary);text-decoration:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--background-color-secondary);transition:var(--transition-colors),var(--transition-transform);-webkit-backdrop-filter:var(--backdrop-blur-sm);backdrop-filter:var(--backdrop-blur-sm)}.header-link:hover{color:var(--accent-color);background:var(--accent-subtle);border-color:var(--accent-color);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.header-actions{display:flex;gap:var(--space-sm);flex-shrink:0;align-items:center}.user-menu{display:flex;align-items:center;gap:var(--space-sm)}.user-welcome{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--accent-subtle);color:var(--text-color);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border:1px solid rgba(46,160,67,.2)}.action-button{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border:1px solid var(--border-color);border-radius:var(--radius-md);font-family:var(--button-font-family);font-size:var(--button-font-size);font-weight:var(--button-font-weight);line-height:var(--button-line-height);cursor:pointer;transition:var(--transition-colors),var(--transition-transform);text-decoration:none;white-space:nowrap;position:relative;overflow:hidden}.action-button:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--accent-subtle);opacity:0;transition:var(--transition-opacity)}.action-button:hover:before{opacity:1}.action-button:hover{transform:translateY(-1px);box-shadow:var(--box-shadow-hover)}.action-button:active{transform:translateY(0);box-shadow:var(--box-shadow-active)}.action-button.primary{background:var(--accent-color);color:var(--color-brighter);border-color:var(--accent-color)}.action-button.primary:hover{background:var(--accent-color-hover);border-color:var(--accent-color-hover)}.action-button.secondary{background:var(--background-color-tertiary);color:var(--text-color);border-color:var(--border-color)}.action-button.secondary:hover{background:var(--background-color-hover);color:var(--text-color);border-color:var(--border-color-lighter)}@media (max-width: 1200px){.header-content{gap:var(--space-md)}}@media (max-width: 1024px){.header-content{flex-direction:column;gap:var(--space-md);text-align:center}.header-links{justify-content:center;gap:var(--space-sm)}.header-actions{justify-content:center;flex-wrap:wrap}.user-menu{flex-wrap:wrap;justify-content:center}}@media (max-width: 768px){.app-header{padding:var(--space-sm) var(--space-md)}.header-title h1{font-size:var(--font-size-lg)}.header-title p{font-size:var(--font-size-xs)}.header-links{flex-wrap:wrap;gap:var(--space-xs)}.header-link{padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-xs)}.user-welcome{font-size:var(--font-size-xs);padding:var(--space-xs)}}@media (max-width: 480px){.action-button{padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-xs)}.header-actions{width:100%}.action-button{flex:1;min-width:0}.user-menu{width:100%;justify-content:space-between}}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--modal-backdrop-color);-webkit-backdrop-filter:var(--backdrop-blur-base);backdrop-filter:var(--backdrop-blur-base);z-index:var(--modal-z-index);display:flex;align-items:center;justify-content:center;padding:var(--space-lg);animation:var(--fade-in)}.modal-content{background:var(--modal-content-bg);border-radius:var(--modal-content-radius);box-shadow:var(--modal-shadow);width:100%;max-width:480px;max-height:90vh;overflow-y:auto;border:1px solid var(--border-color);animation:var(--slide-up)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg);border-bottom:1px solid var(--border-color);background:var(--background-color-secondary)}.modal-header h2{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-color);display:flex;align-items:center;gap:var(--space-sm)}.modal-close{background:none;border:none;color:var(--modal-close-button-color);font-size:var(--font-size-lg);cursor:pointer;padding:var(--space-xs);border-radius:var(--radius-sm);transition:var(--transition-colors);width:var(--modal-close-button-size);height:var(--modal-close-button-size);display:flex;align-items:center;justify-content:center}.modal-close:hover{color:var(--modal-close-button-hover-color);background:var(--background-color-hover)}.modal-body{padding:var(--modal-content-padding)}.alpha-notice{display:flex;gap:var(--space-sm);padding:var(--space-md);background:var(--color-messages-warning);color:var(--color-brighter);border-radius:var(--radius-md);margin-bottom:var(--space-lg);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.warning-icon{flex-shrink:0;font-size:var(--font-size-lg)}.notice-content{flex:1}.auth-mode-toggle{display:flex;background:var(--background-color-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:var(--space-lg);padding:2px}.auth-mode-toggle .mode-button{flex:1;padding:var(--space-sm) var(--space-md);background:transparent;color:var(--text-color-secondary);border:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:var(--transition-colors);border-radius:var(--radius-base)}.auth-mode-toggle .mode-button:hover{color:var(--text-color);background:var(--background-color-hover)}.auth-mode-toggle .mode-button.active{background:var(--accent-color);color:var(--color-brighter);box-shadow:var(--shadow-sm)}.auth-error{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);background:var(--error-bg-light);color:var(--color-messages-error);border:1px solid var(--error-border-light);border-radius:var(--radius-md);margin-bottom:var(--space-lg);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.error-icon{flex-shrink:0}.auth-form{display:flex;flex-direction:column;gap:var(--space-lg)}.form-group{display:flex;flex-direction:column;gap:var(--space-xs)}.form-group label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-color);margin-bottom:var(--space-xs)}.form-group input{padding:var(--space-sm) var(--space-md);background:var(--input-background-color);color:var(--input-text-color);border:var(--input-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-family:var(--font-family-base);transition:var(--transition-colors);outline:none}.form-group input::placeholder{color:var(--input-placeholder-color)}.form-group input:hover:not(:disabled){background:var(--input-background-color-hover);border-color:var(--border-color-lighter);box-shadow:var(--input-box-shadow-hover)}.form-group input:focus:not(:disabled){background:var(--input-background-color-focus);border:var(--input-border-focus);box-shadow:var(--input-box-shadow-focus)}.form-group input:disabled{background:var(--background-color-disable);color:var(--text-color-tertiary);cursor:not-allowed;opacity:.6}.auth-submit-button{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:var(--accent-color);color:var(--color-brighter);border:1px solid var(--accent-color);border-radius:var(--radius-md);font-family:var(--button-font-family);font-size:var(--button-font-size);font-weight:var(--button-font-weight);cursor:pointer;transition:var(--transition-colors),var(--transition-transform);min-height:44px}.auth-submit-button:hover:not(:disabled){background:var(--accent-color-hover);border-color:var(--accent-color-hover);transform:translateY(-1px);box-shadow:var(--box-shadow-hover)}.auth-submit-button:active:not(:disabled){transform:translateY(0);box-shadow:var(--box-shadow-active)}.auth-submit-button:disabled{background:var(--background-color-disable);color:var(--text-color-tertiary);border-color:var(--border-color);cursor:not-allowed;transform:none;box-shadow:none}.loading-spinner{width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 1024px){.modal-content{max-width:90%;margin:var(--space-sm)}}@media (max-width: 768px){.modal-content{margin:var(--space-xs)}.modal-header,.modal-body{padding:var(--space-md)}}@media (max-width: 480px){.form-group input{padding:var(--space-sm)}.auth-submit-button{padding:var(--space-sm) var(--space-md)}}.chat-panel{display:flex;flex-direction:column;height:100%;background:var(--background-color-primary);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border-color)}.chat-panel-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md) var(--space-lg);background:var(--surface-overlay);-webkit-backdrop-filter:var(--backdrop-blur-sm);backdrop-filter:var(--backdrop-blur-sm);border-bottom:1px solid var(--border-color);flex-shrink:0;position:sticky;top:0;z-index:10}.chat-panel-header h2{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-color);display:flex;align-items:center;gap:var(--space-sm);letter-spacing:var(--letter-spacing-tight)}.connection-status{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-xs);padding:var(--space-sm) var(--space-md);background:var(--background-color-tertiary);border-radius:var(--radius-lg);border:1px solid var(--border-color);transition:var(--transition-colors),var(--transition-transform);min-width:140px}.connection-status.connected{background:var(--accent-subtle);border-color:#2ea0434d;animation:connectedPulse 3s ease-in-out infinite}.connection-status.connecting{background:#d199221a;border-color:#d199224d}.connection-status.disconnected{background:#f851491a;border-color:#f851494d}.connection-status:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm);cursor:help}.connection-status.connected:hover{background:#2ea04333;border-color:#2ea04366}.status-indicator{width:8px;height:8px;border-radius:50%;transition:var(--transition-colors);box-shadow:var(--shadow-xs);flex-shrink:0}.status-indicator.connected{background:var(--color-messages-success);box-shadow:0 0 8px #2ea04366;animation:connectedGlow 2s ease-in-out infinite alternate}.status-indicator.connecting{background:var(--color-messages-warning);animation:pulse 1.5s infinite}.status-indicator.disconnected{background:var(--color-messages-error)}.status-content{display:flex;flex-direction:column;gap:2px;flex:1}.status-main{display:flex;align-items:center;gap:var(--space-xs)}.status-icon{font-size:var(--font-size-sm);line-height:1}.status-text{color:var(--text-color);font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs);line-height:1}.connection-status.connected .status-text{color:var(--color-messages-success-dark)}.connection-status.connecting .status-text{color:var(--color-messages-warning-dark)}.connection-status.disconnected .status-text{color:var(--color-messages-error-dark)}.status-subtext{color:var(--text-color-tertiary);font-size:10px;font-weight:var(--font-weight-medium);line-height:1;margin-left:calc(var(--font-size-sm) + var(--space-xs));opacity:.8}.connection-status.connected .status-subtext{color:var(--text-color-secondary)}.chat-history{flex:1;overflow-y:auto;padding:var(--space-lg);background:var(--background-color-primary);min-height:0;scrollbar-width:thin;scrollbar-color:var(--background-color-hover) var(--background-color-tertiary)}.chat-history::-webkit-scrollbar{width:6px}.chat-history::-webkit-scrollbar-track{background:var(--background-color-tertiary);border-radius:var(--radius-sm)}.chat-history::-webkit-scrollbar-thumb{background:var(--background-color-hover);border-radius:var(--radius-sm);transition:var(--transition-colors)}.chat-history::-webkit-scrollbar-thumb:hover{background:var(--accent-color)}.chat-turn{margin-bottom:var(--space-xl)}.chat-turn:last-child{margin-bottom:var(--space-lg)}.chat-message{display:flex;gap:var(--space-sm);margin-bottom:var(--space-lg);align-items:flex-start;animation:messageAppear .3s ease-out}.chat-message.user{flex-direction:row-reverse}.chat-message.generating{animation:generatingPulse 2s ease-in-out infinite}.message-avatar{width:40px;height:40px;border-radius:50%;background:var(--accent-color);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-md);color:var(--color-brighter);flex-shrink:0;box-shadow:var(--shadow-base);border:2px solid var(--background-color-primary);transition:var(--transition-transform)}.chat-message.user .message-avatar{background:var(--background-color-tertiary);color:var(--text-color);box-shadow:var(--shadow-sm)}.chat-message.generating .message-avatar{animation:avatarGlow 2s ease-in-out infinite alternate}.message-avatar:hover{transform:scale(1.05)}.message-content{flex:1;max-width:75%;min-width:0}.message-text{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);word-wrap:break-word;position:relative;-webkit-backdrop-filter:var(--backdrop-blur-sm);backdrop-filter:var(--backdrop-blur-sm);transition:var(--transition-transform)}.message-text.streaming{animation:textStream 1s ease-in-out infinite alternate;border:2px solid rgba(46,160,67,.3)}.message-text:hover{transform:translateY(-1px)}.chat-message.user .message-text{background:var(--accent-color);color:var(--color-brighter);border-bottom-right-radius:var(--radius-base);box-shadow:var(--shadow-base)}.chat-message.assistant .message-text{background:var(--surface-overlay);color:var(--text-color);border:1px solid var(--border-color);border-bottom-left-radius:var(--radius-base);box-shadow:var(--shadow-sm)}.stream-cursor{display:inline-block;color:var(--accent-color);font-weight:var(--font-weight-bold);animation:streamCursorBlink 1s infinite;margin-left:2px}.typing-indicator{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-md) var(--space-lg);background:var(--surface-overlay);border-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-base);border:1px solid var(--border-color);color:var(--text-color-secondary);font-style:italic;-webkit-backdrop-filter:var(--backdrop-blur-sm);backdrop-filter:var(--backdrop-blur-sm);margin-top:var(--space-sm);animation:typingAppear .3s ease-out}.typing-dot{width:6px;height:6px;background:var(--accent-color);border-radius:50%;animation:typing 1.4s infinite ease-in-out;flex-shrink:0}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}.typing-text{margin-left:var(--space-xs);font-size:var(--font-size-sm);color:var(--text-color-secondary)}.node-feedback{margin-top:var(--space-sm);font-size:var(--font-size-xs)}.node-feedback details{background:var(--accent-subtle);border:1px solid rgba(46,160,67,.2);border-radius:var(--radius-md);padding:var(--space-sm);-webkit-backdrop-filter:var(--backdrop-blur-sm);backdrop-filter:var(--backdrop-blur-sm)}.node-feedback summary{cursor:pointer;font-weight:var(--font-weight-medium);color:var(--text-color-secondary);-webkit-user-select:none;user-select:none;outline:none;padding:var(--space-xs);border-radius:var(--radius-sm);transition:var(--transition-colors)}.node-feedback summary:hover{color:var(--text-color);background:var(--accent-subtle)}.node-feedback ul{margin:var(--space-sm) 0 0 0;padding-left:var(--space-lg);list-style:none}.node-feedback li{margin-bottom:var(--space-xs);color:var(--text-color-tertiary);position:relative;padding:var(--space-xs);border-radius:var(--radius-sm)}.node-feedback li:before{content:"⚡";color:var(--accent-color);font-weight:var(--font-weight-bold);position:absolute;left:-16px}.node-id{opacity:.7;font-family:var(--font-family-mono);font-size:var(--font-size-xs)}.node-status{font-weight:var(--font-weight-medium)}.node-status.running{color:var(--color-messages-warning)}.node-status.completed{color:var(--color-messages-success)}.chat-timer{margin-top:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--background-color-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-xs);font-family:var(--font-family-mono);-webkit-backdrop-filter:var(--backdrop-blur-sm);backdrop-filter:var(--backdrop-blur-sm)}.timer-metrics{display:flex;gap:var(--space-md);flex-wrap:wrap}.timer-metric{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-xs);background:var(--accent-subtle);border-radius:var(--radius-sm);min-width:60px}.metric-label{color:var(--text-color-tertiary);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);font-size:10px}.metric-value{color:var(--accent-color);font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs)}.chat-input-container{padding:var(--space-md);background:var(--surface-overlay);-webkit-backdrop-filter:var(--backdrop-blur-base);backdrop-filter:var(--backdrop-blur-base);border-top:1px solid var(--border-color);flex-shrink:0}.chat-input{background:var(--background-color-primary);border-radius:var(--radius-lg);border:1px solid var(--border-color);transition:var(--transition-colors),var(--transition-transform);box-shadow:var(--shadow-sm)}.chat-input:focus-within{border-color:var(--accent-color);box-shadow:var(--box-shadow-focus);transform:translateY(-1px)}.input-wrapper{display:flex;gap:var(--space-sm);padding:var(--space-sm);align-items:flex-end}.message-input{flex:1;border:none;background:transparent;color:var(--text-color);font-size:var(--font-size-md);font-family:var(--font-family-base);resize:none;outline:none;min-height:20px;max-height:120px;overflow-y:auto;line-height:var(--line-height-normal);padding:var(--space-xs) 0;scrollbar-width:thin;scrollbar-color:var(--background-color-hover) var(--background-color-tertiary)}.message-input::placeholder{color:var(--text-color-placeholder)}.message-input::-webkit-scrollbar{width:4px}.message-input::-webkit-scrollbar-track{background:transparent}.message-input::-webkit-scrollbar-thumb{background:var(--background-color-hover);border-radius:var(--radius-sm)}.send-button{padding:var(--space-sm) var(--space-md);background:var(--accent-color);color:var(--color-brighter);border:none;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-colors),var(--transition-transform);display:flex;align-items:center;justify-content:center;gap:var(--space-xs);min-width:80px;height:44px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);box-shadow:var(--shadow-sm)}.send-button:hover:not(:disabled){background:var(--accent-color-hover);transform:translateY(-1px);box-shadow:var(--shadow-base)}.send-button:active{transform:translateY(0);box-shadow:var(--shadow-xs)}.send-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:var(--shadow-xs)}.send-button.loading{pointer-events:none}.send-icon{font-size:var(--font-size-md)}.send-text{white-space:nowrap}.loading-spinner{display:flex;align-items:center;justify-content:center}.spinner{width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.input-hint{font-size:var(--font-size-xs);color:var(--text-color-tertiary);text-align:center;margin-top:var(--space-sm);font-style:italic;opacity:.8}.input-hint kbd{background:var(--background-color-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:2px var(--space-xs);font-family:var(--font-family-mono);font-size:var(--font-size-xs);color:var(--text-color);box-shadow:0 1px 1px #0000001a;font-style:normal}.chat-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-xxl);max-width:600px;margin:0 auto;animation:fadeIn .5s ease-out}.empty-icon{font-size:4rem;margin-bottom:var(--space-lg);opacity:.9;background:var(--accent-soft);width:120px;height:120px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid var(--accent-color);box-shadow:var(--shadow-lg)}.chat-empty-state h3{margin:0 0 var(--space-md) 0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-color);letter-spacing:var(--letter-spacing-tight)}.chat-empty-state p{margin:0 0 var(--space-xl) 0;font-size:var(--font-size-md);color:var(--text-color-secondary);line-height:var(--line-height-relaxed)}.suggested-prompts{width:100%}.suggested-prompts h4{margin:0 0 var(--space-lg) 0;font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--text-color)}.prompts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-xs);width:100%}.suggestion-card{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--surface-overlay);color:var(--text-color);border:1px solid var(--border-color);border-radius:var(--radius-base);cursor:pointer;transition:var(--transition-colors),var(--transition-transform);text-align:left;-webkit-backdrop-filter:var(--backdrop-blur-sm);backdrop-filter:var(--backdrop-blur-sm);box-shadow:var(--shadow-xs);animation:slideInUp .4s ease-out forwards;animation-delay:calc(var(--animation-order, 0) * .1s);opacity:0;transform:translateY(10px)}.suggestion-card:hover{background:var(--accent-subtle);border-color:var(--accent-color);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.suggestion-card:active{background:var(--accent-soft);transform:translateY(0);box-shadow:var(--shadow-xs)}.suggestion-card:focus{outline:none;border-color:var(--accent-color);box-shadow:var(--focus-ring)}.suggestion-icon{font-size:var(--font-size-md);line-height:1;flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--accent-subtle);border-radius:var(--radius-sm);border:1px solid rgba(46,160,67,.2);margin-top:2px}.suggestion-content{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0;overflow:hidden}.suggestion-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-color);line-height:1.3;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.suggestion-description{font-size:var(--font-size-xs);color:var(--text-color-secondary);line-height:1.25;opacity:.9;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}.suggestion-card:hover .suggestion-title{color:var(--accent-color-dark)}.suggestion-card:hover .suggestion-description{color:var(--text-color);opacity:1}.suggestion-card:hover .suggestion-icon{background:var(--accent-soft);border-color:#2ea04366;transform:scale(1.05);box-shadow:var(--shadow-xs)}.suggestion-card:focus .suggestion-title{color:var(--accent-color-dark)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}@keyframes connectedPulse{0%,to{background:var(--accent-subtle);transform:scale(1)}50%{background:#2ea04326;transform:scale(1.02)}}@keyframes connectedGlow{0%{box-shadow:0 0 8px #2ea04366}to{box-shadow:0 0 12px #2ea04399}}@keyframes messageAppear{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes generatingPulse{0%,to{opacity:1}50%{opacity:.95}}@keyframes avatarGlow{0%{box-shadow:var(--shadow-base)}to{box-shadow:0 0 20px #2ea04366}}@keyframes textStream{0%{background:var(--surface-overlay);border-color:#2ea0434d}to{background:#2ea0430d;border-color:#2ea04380}}@keyframes streamCursorBlink{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes typingAppear{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.chat-panel-header{padding:var(--space-sm) var(--space-md)}.chat-panel-header h2{font-size:var(--font-size-md)}.chat-history{padding:var(--space-md)}.chat-turn{margin-bottom:var(--space-lg)}.message-content{max-width:85%}.message-text{padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm)}.message-avatar{width:36px;height:36px;font-size:var(--font-size-sm)}.chat-input-container{padding:var(--space-sm)}.send-button{min-width:60px;height:40px;padding:var(--space-xs) var(--space-sm)}.send-text{display:none}.timer-metrics{gap:var(--space-sm)}.chat-empty-state{padding:var(--space-xl)}.empty-icon{font-size:3rem;width:100px;height:100px}.connection-status{padding:var(--space-xs) var(--space-sm);gap:var(--space-xs);min-width:120px}.status-main{gap:4px}.status-icon,.status-text{font-size:10px}.status-subtext{font-size:8px;margin-left:14px}}@media (max-width: 480px){.chat-history{padding:var(--space-sm)}.message-content{max-width:90%}.message-text{padding:var(--space-xs) var(--space-sm)}.message-avatar{width:32px;height:32px;font-size:var(--font-size-xs)}.input-wrapper{gap:var(--space-xs);padding:var(--space-xs)}.send-button{min-width:50px;height:36px}.prompts-grid{grid-template-columns:1fr;gap:var(--space-xs)}.suggestion-card{padding:var(--space-xs) var(--space-sm)}.suggestion-icon{width:28px;height:28px}.suggestion-title{font-size:var(--font-size-xs)}.suggestion-description{font-size:10px}.chat-empty-state{padding:var(--space-lg)}.empty-icon{font-size:2.5rem;width:80px;height:80px}.timer-metrics{gap:var(--space-xs)}.timer-metric{min-width:50px}.connection-status{padding:var(--space-xs);min-width:100px}.status-main{gap:2px}.status-subtext{margin-left:12px}}.chat-message.assistant .message-text.generation-summary{background:linear-gradient(135deg,#2ea0431a,#2ea0430d);border:1px solid rgba(46,160,67,.3);position:relative;overflow:hidden}.chat-message.assistant .message-text.generation-summary:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent-color),transparent);animation:generationProgress 2s ease-in-out infinite}.generation-status{display:flex;align-items:center;gap:var(--space-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--space-sm)}.generation-status:before{content:"✍️";animation:bounce 1.5s ease-in-out infinite}.content-preview{font-style:italic;opacity:.8;font-size:var(--font-size-xs);background:#0000000d;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);border-left:3px solid var(--accent-color);margin-top:var(--space-sm);word-break:break-word}.generation-complete{display:flex;align-items:center;gap:var(--space-sm);color:var(--color-messages-success);font-weight:var(--font-weight-medium)}.generation-complete:before{content:"✅"}.message-text strong{font-weight:var(--font-weight-bold);color:inherit}.message-text em{font-style:italic;opacity:.9}.message-text code{background:#0000001a;padding:2px 4px;border-radius:var(--radius-sm);font-family:var(--font-family-mono);font-size:.9em}.chat-message.user .message-text code{background:#fff3}.word-count-badge{display:inline-block;background:var(--accent-color);color:var(--color-brighter);padding:2px 6px;border-radius:var(--radius-lg);font-size:10px;font-weight:var(--font-weight-bold);margin-left:var(--space-xs);animation:countUpdate .3s ease-out}@keyframes generationProgress{0%{transform:translate(-100%)}50%{transform:translate(0)}to{transform:translate(100%)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-3px)}60%{transform:translateY(-2px)}}@keyframes countUpdate{0%{transform:scale(1.2);background:#2ea043cc}to{transform:scale(1);background:var(--accent-color)}}.ft-container{display:flex;align-items:center;gap:1px;padding:4px;background:var(--surface-overlay);-webkit-backdrop-filter:var(--backdrop-blur-lg);backdrop-filter:var(--backdrop-blur-lg);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:100}.ft-button{display:flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:var(--space-xs);background:transparent;color:var(--text-color-secondary);border:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:var(--transition-colors);-webkit-user-select:none;user-select:none}.ft-button:hover{background:var(--background-color-hover);color:var(--text-color)}.ft-active-button{background:var(--accent-color);color:var(--color-brighter)}.ft-separator{width:1px;height:20px;background:var(--border-color);margin:0 4px}.ft-button-group{display:flex;align-items:center;gap:1px;background:var(--surface-overlay);border-radius:var(--radius-sm)}.ft-button-group .ft-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.ft-button-group .ft-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.ft-button-group .ft-button:not(:first-child):not(:last-child){border-radius:0}.ai-menu-container{position:relative;display:inline-flex}.ai-button.processing{animation:pulse 1s ease-in-out infinite}.ai-dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;background:var(--surface-overlay);-webkit-backdrop-filter:var(--backdrop-blur-lg);backdrop-filter:var(--backdrop-blur-lg);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);padding:var(--space-xs);min-width:200px;z-index:101}.ai-menu-item{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-colors);font-size:var(--font-size-sm);color:var(--text-color);text-align:left}.ai-menu-item:hover{background:var(--background-color-hover)}.ai-menu-item:disabled{opacity:.5;cursor:not-allowed}.ai-menu-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;font-size:var(--font-size-md)}.ai-menu-text{flex:1;font-weight:var(--font-weight-regular)}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.slash-command-menu{position:absolute;background:#fff;border-radius:.5rem;box-shadow:0 0 0 1px #0000000d,0 10px 20px #0000001a;padding:.5rem;z-index:100;max-height:400px;overflow-y:auto;width:320px}.slash-command-item{display:flex;align-items:center;padding:.5rem;border-radius:.25rem;cursor:pointer}.slash-command-item:hover,.slash-command-item.is-selected{background-color:#f1f5f9}.slash-command-icon{font-weight:500;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background-color:#e2e8f0;border-radius:.25rem;margin-right:.75rem;flex-shrink:0}.slash-command-content{flex:1;min-width:0}.slash-command-title{font-weight:500;font-size:.875rem}.slash-command-description{font-size:.75rem;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slash-command-group-header{font-size:.7rem;font-weight:600;color:#475569;text-transform:uppercase;padding:.5rem;margin-top:.25rem;letter-spacing:.05em;border-bottom:1px solid #e2e8f0}.slash-command-group-header:first-child{margin-top:0}.slash-command-group{margin-bottom:.5rem}.slash-command-group:last-child{margin-bottom:0}[data-ai-generated][data-ai-status=pending]{background-color:#007aff26;position:relative;transition:background-color .2s ease;padding:1px 0}[data-ai-generated][data-ai-status=pending]:hover{background-color:#007aff40;cursor:pointer}[data-ai-generated][data-ai-status=accepted]{padding:1px 0}.ai-beat-action-btn{font-size:var(--font-size-xs);padding:var(--space-xxs) var(--space-sm);border-radius:var(--border-radius-small);border:none;cursor:pointer;transition:background-color .2s ease;font-weight:var(--font-weight-medium)}.ai-beat-accept-btn{background-color:var(--accent-color);color:#fff}.ai-beat-accept-btn:hover{background-color:var(--accent-color-hover)}.ai-beat-deny-btn{background-color:var(--color-messages-error);color:#fff}.ai-beat-deny-btn:hover{background-color:var(--color-messages-error-hover, #d9342b)}.ai-beat-container{border:var(--border-standard);border-radius:var(--border-radius-medium);background-color:var(--surface-overlay);margin:var(--space-xs) 0;overflow:hidden;transition:var(--transition-colors);box-shadow:none}.ai-beat-container:hover{box-shadow:var(--shadow-sm)}.ai-beat-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xs) var(--space-sm);background-color:var(--background-color-secondary);border-bottom:var(--border-standard)}.ai-beat-title{display:flex;align-items:center;gap:var(--space-xs);font-weight:var(--font-weight-medium);color:var(--text-color-secondary);font-size:var(--font-size-sm)}.ai-beat-icon{color:var(--accent-color)}.ai-beat-remove-btn{background:transparent;border:none;cursor:pointer;color:var(--text-color-tertiary);display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--border-radius-small);transition:var(--transition-colors);opacity:.7}.ai-beat-remove-btn:hover{background-color:var(--background-color-hover);color:var(--color-messages-error)}.ai-beat-content{padding:var(--space-xs)}.ai-beat-textarea{width:100%;min-height:90px;background-color:var(--background-color-primary);border:var(--border-standard);border-radius:var(--border-radius-small);color:var(--text-color);padding:var(--space-sm);resize:vertical;font-family:var(--body-font-family);font-size:var(--body-font-size);line-height:var(--body-line-height);transition:var(--transition-colors)}.ai-beat-textarea:focus{outline:none;border-color:var(--accent-color);box-shadow:var(--input-box-shadow-focus)}.ai-beat-footer{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xxs) var(--space-sm);border-top:var(--border-standard);background-color:var(--background-color-secondary)}.ai-beat-counts{display:flex;gap:var(--space-sm);color:var(--text-color-tertiary);font-size:var(--font-size-xs);opacity:.8}.ai-beat-count-item{display:flex;align-items:center;gap:var(--space-xs)}.ai-beat-send-btn{display:flex;align-items:center;gap:var(--space-xxs);background-color:var(--accent-color);color:#fff;border:none;padding:var(--space-xxs) var(--space-sm);border-radius:var(--border-radius-small);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:var(--transition-colors)}.ai-beat-send-btn:hover{background-color:var(--accent-color-hover)}.ai-beat-send-btn:active{background-color:var(--accent-color-dark)}.ai-beat-send-wrapper{display:flex;align-items:center;gap:var(--space-xs)}.ai-beat-tooltip{color:var(--text-color-tertiary);font-size:var(--font-size-xs);background-color:var(--background-color-secondary);padding:var(--space-xxs) var(--space-xs);border-radius:var(--border-radius-small);white-space:nowrap;opacity:.7;transition:var(--transition-colors)}.ai-beat-tooltip:hover{opacity:1}.rich-text-editor{display:flex;flex-direction:column;height:100%;background:var(--background-color-primary);border-radius:var(--radius-lg);overflow:hidden;transition:var(--transition-colors);position:relative}.editor-content-wrapper{flex:1;overflow-y:auto;padding:0;background:var(--background-color-primary);position:relative;min-height:0;scrollbar-width:thin;scrollbar-color:var(--background-color-hover) var(--background-color-tertiary)}.rich-text-editor-content{outline:none;font-family:var(--body-font-family);font-size:var(--body-font-size);line-height:var(--body-line-height);color:var(--text-color);min-height:400px;word-wrap:break-word;max-width:900px;margin:0 auto;padding:var(--space-xxl) var(--space-xl);letter-spacing:var(--letter-spacing-normal)}.editor-block{position:relative;margin:0;padding:2px 0;transition:var(--transition-colors);border-radius:var(--radius-sm)}.editor-block:hover{background:var(--background-color-secondary)}.editor-block.is-focused{background:var(--background-color-secondary);box-shadow:inset 3px 0 0 0 var(--accent-color)}.editor-block.is-dragging{opacity:.5;cursor:grabbing}.block-handle{position:absolute;left:-30px;top:4px;width:20px;height:20px;cursor:grab;opacity:0;transition:var(--transition-opacity);display:flex;align-items:center;justify-content:center;color:var(--text-color-tertiary);border-radius:var(--radius-sm)}.editor-block:hover .block-handle{opacity:1}.block-handle:hover{background:var(--background-color-hover);color:var(--text-color-secondary)}.block-handle:active{cursor:grabbing}.block-handle:before{content:"⋮⋮";font-size:12px;letter-spacing:-2px}.slash-command-menu{position:absolute;background:var(--surface-overlay);-webkit-backdrop-filter:var(--backdrop-blur-lg);backdrop-filter:var(--backdrop-blur-lg);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:var(--space-sm);min-width:200px;max-width:300px;max-height:300px;overflow-y:auto;z-index:200}.slash-command-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-colors);font-size:var(--font-size-sm)}.slash-command-item:hover,.slash-command-item.is-selected{background:var(--background-color-hover)}.slash-command-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--background-color-tertiary);border-radius:var(--radius-sm);font-size:var(--font-size-md);color:var(--accent-color)}.slash-command-content{flex:1}.slash-command-title{font-weight:var(--font-weight-medium);color:var(--text-color);margin-bottom:2px}.slash-command-description{font-size:var(--font-size-xs);color:var(--text-color-tertiary)}.rich-text-editor-content p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--text-color-placeholder);pointer-events:none;font-style:normal;opacity:.6}.rich-text-editor-content p{margin:0;padding:3px 0;line-height:var(--line-height-relaxed)}.rich-text-editor-content h1{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);margin:var(--space-xl) 0 var(--space-md) 0;line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight)}.rich-text-editor-content h1:first-child{margin-top:0}.rich-text-editor-content h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);margin:var(--space-lg) 0 var(--space-sm) 0;line-height:var(--line-height-tight)}.rich-text-editor-content h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin:var(--space-md) 0 var(--space-sm) 0;line-height:var(--line-height-tight)}.rich-text-editor-content h4,.rich-text-editor-content h5,.rich-text-editor-content h6{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);margin:var(--space-md) 0 var(--space-sm) 0;line-height:var(--line-height-tight)}.rich-text-editor-content strong{font-weight:var(--font-weight-bold)}.rich-text-editor-content em{font-style:italic}.rich-text-editor-content s{text-decoration:line-through;opacity:.7}.rich-text-editor-content code.code-inline{background:var(--background-color-tertiary);color:var(--accent-color-secondary);padding:2px 6px;border-radius:var(--radius-sm);font-family:var(--font-family-mono);font-size:.85em;font-weight:var(--font-weight-medium)}.rich-text-editor-content a,.rich-text-editor-content .editor-link{color:var(--accent-color-secondary);text-decoration:underline;text-decoration-color:var(--accent-soft);text-underline-offset:2px;transition:var(--transition-colors);cursor:pointer}.rich-text-editor-content a:hover,.rich-text-editor-content .editor-link:hover{color:var(--accent-color);text-decoration-color:var(--accent-color)}.rich-text-editor-content ul,.rich-text-editor-content ol{margin:0;padding-left:var(--space-xl)}.rich-text-editor-content li{margin:var(--space-xs) 0;line-height:var(--line-height-relaxed);position:relative}.rich-text-editor-content ul{list-style:none}.rich-text-editor-content ul li:before{content:"•";color:var(--text-color-secondary);font-weight:var(--font-weight-bold);position:absolute;left:-20px}.rich-text-editor-content ol{list-style:none;counter-reset:list-counter}.rich-text-editor-content ol li{counter-increment:list-counter}.rich-text-editor-content ol li:before{content:counter(list-counter) ".";color:var(--text-color-secondary);position:absolute;left:-24px;font-size:.9em}.rich-text-editor-content pre{background:var(--background-color-secondary);border-radius:var(--radius-md);padding:var(--space-lg);margin:var(--space-md) 0;overflow-x:auto;font-family:var(--font-family-mono);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);border:1px solid var(--border-color)}.rich-text-editor-content pre code{background:none;border:none;padding:0;font-family:inherit;font-size:inherit;color:inherit}.rich-text-editor-content blockquote{border-left:3px solid var(--text-color-tertiary);margin:var(--space-md) 0;padding-left:var(--space-lg);color:var(--text-color-secondary)}.rich-text-editor-content blockquote p{margin:0}.rich-text-editor-content hr{border:none;height:1px;background:var(--border-color);margin:var(--space-xl) 0}.rich-text-editor-content ::selection{background:#58a6ff66;color:var(--text-color)}.rich-text-editor-content:focus-within .editor-block:not(.is-focused){opacity:.5;transition:opacity .3s ease}.editor-top-toolbar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-lg);border-bottom:1px solid var(--border-color);background:var(--background-color-primary);min-height:48px}.editor-top-toolbar.hidden{display:none}.writing-mode-indicator{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--background-color-tertiary);border-radius:var(--radius-md);font-size:var(--font-size-xs);color:var(--text-color-secondary)}.writing-mode-dot{width:6px;height:6px;border-radius:50%;background:var(--accent-color);animation:pulse 2s ease-in-out infinite}.editor-status-bar{display:flex;justify-content:space-between;align-items:center;padding:var(--space-xs) var(--space-lg);background:var(--background-color-primary);border-top:1px solid var(--border-color);font-size:var(--font-size-xs);min-height:32px;color:var(--text-color-tertiary)}.status-stats{display:flex;align-items:center;gap:var(--space-lg)}.status-stat{display:flex;align-items:center;gap:var(--space-xs)}.rich-text-editor-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;color:var(--text-color-secondary);gap:var(--space-md)}.loading-spinner{width:24px;height:24px;border:2px solid var(--border-color);border-top:2px solid var(--accent-color);border-radius:50%;animation:spin .8s linear infinite}.editor-content-wrapper::-webkit-scrollbar{width:8px}.editor-content-wrapper::-webkit-scrollbar-track{background:transparent}.editor-content-wrapper::-webkit-scrollbar-thumb{background:var(--background-color-hover);border-radius:var(--radius-sm);transition:var(--transition-colors)}.editor-content-wrapper::-webkit-scrollbar-thumb:hover{background:var(--accent-color)}@media (max-width: 768px){.rich-text-editor-content{padding:var(--space-lg) var(--space-md);font-size:var(--font-size-md)}.block-handle{display:none}.slash-command-menu{max-width:90vw}}@media (max-width: 480px){.rich-text-editor-content{padding:var(--space-md) var(--space-sm);min-height:250px}.floating-toolbar{gap:0;padding:2px}}.references-panel{display:flex;flex-direction:column;height:100%;background:var(--background-color-primary);border-radius:var(--border-radius-medium);overflow:hidden;border:var(--border-standard);box-shadow:var(--box-shadow-light);transition:var(--transition-standard);position:relative}.references-panel:focus-within{box-shadow:var(--box-shadow-focus)}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:var(--padding-md) var(--padding-lg);background:var(--background-color-secondary);border-bottom:var(--border-standard);flex-shrink:0}.panel-header h2{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-color);display:flex;align-items:center;gap:var(--gap-sm)}.panel-stats{display:flex;align-items:center;gap:var(--gap-md);font-size:var(--font-size-sm)}.stat-badge{display:flex;align-items:center;gap:var(--gap-xs);padding:var(--padding-xs) var(--padding-sm);background:var(--background-color-tertiary);border:var(--border-standard);border-radius:var(--border-radius-small);color:var(--text-color-secondary);font-weight:var(--font-weight-medium)}.stat-value{color:var(--accent-color);font-family:var(--font-family-mono);font-weight:var(--font-weight-semibold)}.references-search{padding:var(--padding-md) var(--padding-lg);background:var(--background-color-secondary);border-bottom:var(--border-standard);flex-shrink:0}.search-form{margin-bottom:var(--margin-md)}.search-input-wrapper{display:flex;gap:var(--gap-sm);background:var(--background-color-primary);border:var(--border-standard);border-radius:var(--border-radius-medium);padding:var(--padding-sm);transition:all var(--transition-standard);position:relative;overflow:hidden}.search-input-wrapper:hover{border-color:var(--border-color-lighter);box-shadow:var(--input-box-shadow-hover);transform:translateY(-1px)}.search-input-wrapper:focus-within{border-color:var(--accent-color);box-shadow:var(--input-box-shadow-focus);transform:translateY(-1px)}.search-input-wrapper:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,var(--accent-color),transparent);opacity:.1;transition:left .5s ease-in-out}.search-input-wrapper:focus-within:before{left:100%}.search-icon{display:flex;align-items:center;justify-content:center;color:var(--text-color-tertiary);font-size:var(--font-size-md);padding:0 var(--padding-xs)}.search-input{flex:1;border:none;background:transparent;color:var(--text-color);font-size:var(--font-size-md);font-family:var(--font-family-base);outline:none;padding:var(--padding-xs) 0}.search-input::placeholder{color:var(--text-color-placeholder)}.search-button{padding:var(--padding-sm) var(--padding-lg);background:var(--accent-color);color:var(--color-brighter);border:none;border-radius:var(--border-radius-small);cursor:pointer;transition:var(--transition-colors);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);min-width:80px;display:flex;align-items:center;justify-content:center}.search-button:hover:not(:disabled){background:var(--accent-color-hover)}.search-button:disabled{opacity:.6;cursor:not-allowed}.search-spinner{width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin var(--spin-animation)}.search-suggestions{display:flex;gap:var(--gap-sm);flex-wrap:wrap;margin-top:var(--margin-sm)}.suggestion-chip{padding:var(--padding-xs) var(--padding-md);background:var(--background-color-tertiary);color:var(--text-color-secondary);border:var(--border-standard);border-radius:var(--border-radius-medium);cursor:pointer;transition:all var(--transition-standard);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);position:relative;overflow:hidden}.suggestion-chip:hover{background:var(--background-color-hover);border-color:var(--accent-color);color:var(--text-color);transform:translateY(-2px);box-shadow:var(--box-shadow-hover)}.suggestion-chip:active{transform:translateY(0);box-shadow:var(--box-shadow-active)}.suggestion-chip:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,var(--accent-color),transparent);opacity:.1;transition:left .3s ease-in-out}.suggestion-chip:hover:before{left:100%}.references-filters{display:flex;justify-content:space-between;align-items:center;gap:var(--gap-md);margin-top:var(--margin-md)}.filter-group{display:flex;align-items:center;gap:var(--gap-sm)}.filter-group label{color:var(--text-color-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.filter-select{padding:var(--padding-xs) var(--padding-sm);background:var(--background-color-primary);color:var(--text-color);border:var(--border-standard);border-radius:var(--border-radius-small);font-size:var(--font-size-sm);cursor:pointer}.filter-info{display:flex;gap:var(--gap-sm);flex-wrap:wrap}.filter-badge{padding:var(--padding-xs) var(--padding-sm);background:var(--background-color-primary);color:var(--text-color-tertiary);border:var(--border-standard);border-radius:var(--border-radius-small);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.filter-badge.score-stats{color:var(--accent-color)}.error-message{display:flex;align-items:center;gap:var(--gap-sm);padding:var(--padding-sm) var(--padding-md);background:var(--background-color-primary);border:var(--border-standard);border-left:4px solid var(--color-messages-warning);border-radius:0 var(--border-radius-small) var(--border-radius-small) 0;margin-top:var(--margin-md);color:var(--color-messages-warning-dark)}.error-icon{font-size:var(--font-size-md)}.error-text{flex:1;font-size:var(--font-size-sm)}.error-dismiss{background:none;border:none;color:var(--text-color-tertiary);cursor:pointer;padding:var(--padding-xs);border-radius:var(--border-radius-small);transition:var(--transition-colors)}.error-dismiss:hover{background:var(--background-color-hover);color:var(--text-color)}.references-list{flex:1;overflow-y:auto;padding:var(--padding-lg);display:flex;flex-direction:column;gap:var(--gap-md);min-height:0}.references-list::-webkit-scrollbar{width:8px}.references-list::-webkit-scrollbar-track{background:var(--background-color-secondary);border-radius:4px}.references-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px;transition:background var(--transition-standard)}.references-list::-webkit-scrollbar-thumb:hover{background:var(--accent-color)}.references-list{scrollbar-width:thin;scrollbar-color:var(--border-color) var(--background-color-secondary)}.reference-card{background:var(--background-color-secondary);border:var(--border-standard);border-radius:var(--border-radius-medium);transition:all var(--transition-standard);position:relative;transform:translateY(0)}.reference-card:hover{border-color:var(--accent-color);box-shadow:0 8px 24px #7c3aed26;transform:translateY(-4px)}.reference-card.collapsed{cursor:pointer}.reference-card.collapsed:hover{background:linear-gradient(135deg,var(--background-color-secondary) 0%,var(--background-color-tertiary) 100%)}.reference-card.expanded{border-color:var(--accent-color);box-shadow:0 8px 32px #7c3aed33;transform:translateY(-2px)}.reference-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent-color),var(--accent-color-secondary));opacity:0;transition:opacity var(--transition-standard)}.reference-card.expanded:before,.reference-card:hover:before{opacity:1}.card-collapsed{padding:var(--padding-md) var(--padding-lg);display:flex;align-items:center;gap:var(--gap-md)}.collapsed-header{display:flex;align-items:center;gap:var(--gap-sm);flex-shrink:0}.paper-rank{display:flex;align-items:center;justify-content:center;min-width:32px;height:32px;background:var(--accent-color);color:var(--color-brighter);border-radius:50%;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);font-family:var(--font-family-mono)}.expand-btn{background:var(--background-color-primary);border:var(--border-standard);border-radius:var(--border-radius-small);padding:var(--padding-xs);cursor:pointer;transition:var(--transition-colors);color:var(--text-color-secondary)}.expand-btn:hover{background:var(--background-color-hover);color:var(--text-color)}.collapsed-content{flex:1;min-width:0}.collapsed-title{margin:0 0 var(--margin-xs) 0;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-color);line-height:var(--line-height-tight);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.collapsed-author{display:flex;align-items:center;gap:var(--gap-xs);font-size:var(--font-size-sm);color:var(--text-color-secondary)}.author-icon{font-size:var(--font-size-sm)}.author-name{font-weight:var(--font-weight-medium)}.more-authors{color:var(--text-color-tertiary);font-style:italic}.card-expanded{padding:var(--padding-lg)}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--margin-md);gap:var(--gap-sm);flex-wrap:wrap;position:relative}.card-header-main{display:flex;align-items:center;gap:var(--gap-sm);flex:1;min-width:0}.card-header-actions{display:flex;align-items:center;gap:var(--gap-xs);flex-shrink:0}.paper-metadata{display:flex;align-items:center;gap:var(--gap-sm);flex:1;margin:0;flex-wrap:wrap;min-width:0}.paper-metadata>*{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}.arxiv-id{padding:var(--padding-xs) var(--padding-sm);background:var(--background-color-primary);color:var(--accent-color);border:var(--border-standard);border-radius:var(--border-radius-small);font-family:var(--font-family-mono);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.paper-date,.paper-category{padding:var(--padding-xs) var(--padding-sm);background:var(--background-color-tertiary);color:var(--text-color-secondary);border-radius:var(--border-radius-small);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.collapse-btn{background:var(--background-color-primary);border:var(--border-standard);border-radius:var(--border-radius-medium);padding:var(--padding-sm);cursor:pointer;transition:all var(--transition-standard);color:var(--text-color-secondary);position:relative;min-width:40px;min-height:40px;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 2px 4px #0000001a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.collapse-btn:hover{background:var(--background-color-hover);color:var(--text-color);transform:translateY(-2px);box-shadow:0 4px 12px #7c3aed26;border-color:var(--accent-color)}.collapse-btn:active{transform:translateY(0);box-shadow:0 2px 6px #7c3aed33}.collapse-btn:focus{outline:var(--focus-outline);outline-offset:var(--focus-outline-offset);border-color:var(--accent-color)}.collapse-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,var(--accent-color),transparent);opacity:.1;transition:left .4s ease-in-out}.collapse-btn:hover:before{left:100%}.collapse-icon{font-size:var(--font-size-md);transition:transform var(--transition-standard);line-height:1}.reference-card.expanded .collapse-icon{transform:rotate(180deg)}.collapse-btn:hover[title]:after{content:attr(title);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--background-color-tertiary);color:var(--text-color);padding:var(--padding-xs) var(--padding-sm);border-radius:var(--border-radius-small);font-size:var(--font-size-xs);white-space:nowrap;z-index:1002;box-shadow:0 4px 12px #0003;opacity:0;animation:tooltipFadeIn .3s ease-out .5s forwards;pointer-events:none;border:var(--border-standard)}.collapse-btn:hover[title]:before{content:"";position:absolute;bottom:calc(100% + 3px);left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--background-color-tertiary);z-index:1001;opacity:0;animation:tooltipFadeIn .3s ease-out .5s forwards;pointer-events:none}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%) translateY(5px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.paper-title{margin:0 0 var(--margin-md) 0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-color);line-height:var(--line-height-tight);cursor:pointer;transition:var(--transition-colors)}.paper-title:hover{color:var(--accent-color)}.paper-authors{display:flex;align-items:center;gap:var(--gap-sm);margin-bottom:var(--margin-md);font-size:var(--font-size-sm);color:var(--text-color-secondary)}.authors-icon{font-size:var(--font-size-sm)}.authors-text{font-weight:var(--font-weight-medium)}.authors-count{color:var(--text-color-tertiary);font-style:italic}.paper-abstract{margin-bottom:var(--margin-lg)}.abstract-content{color:var(--text-color-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--margin-sm)}.read-more-btn{background:none;border:none;color:var(--accent-color);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:var(--transition-colors)}.read-more-btn:hover{color:var(--accent-color-hover)}.paper-doi{margin-bottom:var(--margin-lg);font-size:var(--font-size-sm)}.doi-label{color:var(--text-color-secondary);font-weight:var(--font-weight-medium);margin-right:var(--margin-xs)}.doi-link{color:var(--accent-color);text-decoration:none;font-family:var(--font-family-mono);transition:var(--transition-colors)}.doi-link:hover{color:var(--accent-color-hover);text-decoration:underline}.score-badge{display:inline-flex;align-items:center;justify-content:center;min-width:48px;height:24px;padding:var(--padding-xs) var(--padding-sm);border-radius:var(--border-radius-medium);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);font-family:var(--font-family-mono);color:var(--color-brighter);position:relative;overflow:hidden;transition:all var(--transition-standard);cursor:help;box-shadow:0 2px 4px #0000001a}.score-badge:hover{transform:scale(1.05);box-shadow:0 4px 8px #0003}.score-badge:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .6s ease-in-out}.score-badge:hover:before{left:100%}.score-excellent{background:linear-gradient(135deg,var(--color-messages-success),var(--color-messages-success-dark))}.score-very-good{background:linear-gradient(135deg,var(--color-messages-success-dark),var(--color-messages-success-darker))}.score-good{background:linear-gradient(135deg,var(--color-messages-info),var(--color-messages-info-dark))}.score-fair{background:linear-gradient(135deg,var(--color-messages-warning),var(--color-messages-warning-dark))}.score-low{background:linear-gradient(135deg,var(--color-messages-error),var(--color-messages-error-dark))}.paper-actions{display:flex;gap:var(--gap-sm);margin-bottom:var(--margin-lg);flex-wrap:wrap}.paper-action-btn{display:inline-flex;align-items:center;gap:var(--gap-xs);padding:var(--padding-sm) var(--padding-md);border:var(--border-standard);border-radius:var(--border-radius-small);cursor:pointer;transition:all var(--transition-standard);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-decoration:none;position:relative;overflow:hidden;transform:translateY(0)}.paper-action-btn:focus{outline:var(--focus-outline);outline-offset:var(--focus-outline-offset)}.paper-action-btn:active{transform:translateY(1px)}.paper-action-btn.primary{background:var(--accent-color);color:var(--color-brighter);border-color:var(--accent-color);box-shadow:0 2px 8px #7c3aed33}.paper-action-btn.primary:hover{background:var(--accent-color-hover);border-color:var(--accent-color-hover);transform:translateY(-2px);box-shadow:0 4px 16px #7c3aed4d}.paper-action-btn.secondary{background:var(--background-color-primary);color:var(--text-color);box-shadow:0 2px 4px #0000001a}.paper-action-btn.secondary:hover{background:var(--background-color-hover);border-color:var(--accent-color);transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.paper-action-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .4s ease-in-out}.paper-action-btn:hover:before{left:100%}.paper-stats{display:flex;gap:var(--gap-lg);padding:var(--padding-md);background:var(--background-color-tertiary);border:var(--border-standard);border-radius:var(--border-radius-small);font-size:var(--font-size-xs)}.stat-group{display:flex;flex-direction:column;gap:var(--gap-xs);flex:1}.stat-label{color:var(--text-color-tertiary);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.5px}.stat-value-large{color:var(--accent-color);font-weight:var(--font-weight-semibold);font-family:var(--font-family-mono)}.references-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--padding-xxl);height:100%;max-width:400px;margin:0 auto;animation:fadeInUp .6s ease-out}.empty-icon{font-size:4rem;margin-bottom:var(--margin-lg);opacity:.6;animation:float 3s ease-in-out infinite;background:linear-gradient(45deg,var(--accent-color),var(--accent-color-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.references-empty h3{margin:0 0 var(--margin-md) 0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-color);animation:slideInUp .6s ease-out .2s both}.references-empty p{margin:0 0 var(--margin-lg) 0;font-size:var(--font-size-md);color:var(--text-color-secondary);line-height:var(--line-height-relaxed);animation:slideInUp .6s ease-out .3s both}.empty-suggestions{display:flex;flex-direction:column;gap:var(--gap-sm);width:100%;animation:slideInUp .6s ease-out .4s both}.empty-suggestion{padding:var(--padding-sm) var(--padding-md);background:var(--background-color-secondary);color:var(--text-color);border:var(--border-standard);border-radius:var(--border-radius-small);cursor:pointer;transition:all var(--transition-standard);font-size:var(--font-size-sm);position:relative;overflow:hidden;transform:translateY(0)}.empty-suggestion:hover{background:var(--background-color-hover);border-color:var(--accent-color);transform:translateY(-2px);box-shadow:0 4px 12px #7c3aed1a}.empty-suggestion:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,var(--accent-color),transparent);opacity:.1;transition:left .4s ease-in-out}.empty-suggestion:hover:before{left:100%}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.references-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--padding-xxl);gap:var(--gap-lg)}.loading-spinner-large{width:48px;height:48px;border:4px solid var(--border-color);border-top:4px solid var(--accent-color);border-radius:50%;animation:spin var(--spin-animation);position:relative}.loading-spinner-large:after{content:"";position:absolute;top:2px;left:2px;right:2px;bottom:2px;border:2px solid transparent;border-top:2px solid var(--accent-color-secondary);border-radius:50%;animation:spin 1.5s linear infinite reverse}.loading-text{font-size:var(--font-size-md);color:var(--text-color-secondary);font-weight:var(--font-weight-medium);animation:pulse 2s ease-in-out infinite}.loading-skeleton{display:flex;flex-direction:column;gap:var(--gap-md)}.skeleton-card{background:var(--background-color-secondary);border:var(--border-standard);border-radius:var(--border-radius-medium);padding:var(--padding-lg);position:relative;overflow:hidden}.skeleton-line{height:16px;background:var(--background-color-tertiary);border-radius:var(--border-radius-small);position:relative;overflow:hidden}.skeleton-line.title{height:20px;width:80%;margin-bottom:var(--margin-sm)}.skeleton-line.author{height:14px;width:60%;margin-bottom:var(--margin-xs)}.skeleton-line.abstract{height:12px;margin-bottom:var(--margin-xs)}.skeleton-line.abstract:nth-child(3){width:95%}.skeleton-line.abstract:nth-child(4){width:85%}.skeleton-line.abstract:nth-child(5){width:70%}.skeleton-line:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,var(--background-color-hover),transparent);animation:skeleton-shimmer 1.5s ease-in-out infinite}@keyframes skeleton-shimmer{0%{left:-100%}to{left:100%}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.panel-footer{padding:var(--padding-md) var(--padding-lg);background:var(--background-color-secondary);border-top:var(--border-standard);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.footer-stats{display:flex;gap:var(--gap-lg);font-size:var(--font-size-sm)}.footer-stat{display:flex;flex-direction:column;gap:var(--gap-xs)}.footer-stat-label{color:var(--text-color-tertiary);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.5px;font-size:var(--font-size-xs)}.footer-stat-value{color:var(--text-color);font-weight:var(--font-weight-semibold);font-family:var(--font-family-mono)}.footer-actions{display:flex;gap:var(--gap-sm)}.footer-btn{padding:var(--padding-sm) var(--padding-md);background:var(--accent-color);color:var(--color-brighter);border:none;border-radius:var(--border-radius-small);cursor:pointer;transition:var(--transition-colors);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.footer-btn:hover{background:var(--accent-color-hover)}.footer-btn.secondary{background:var(--background-color-primary);color:var(--text-color);border:var(--border-standard)}.footer-btn.secondary:hover{background:var(--background-color-hover);border-color:var(--accent-color)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.reference-card{animation:slideInUp .3s ease-out}.references-panel :focus{outline:var(--focus-outline);outline-offset:var(--focus-outline-offset)}.search-input:focus,.filter-select:focus{outline:none}.reference-card:focus-within{border-color:var(--accent-color);box-shadow:0 0 0 3px #7c3aed1a}@media (prefers-reduced-motion: reduce){.reference-card,.paper-action-btn,.suggestion-chip,.empty-suggestion,.score-badge{animation:none;transition:none}.search-input-wrapper:before,.suggestion-chip:before,.paper-action-btn:before,.empty-suggestion:before,.score-badge:before{animation:none;transition:none}.loading-spinner-large,.loading-spinner-large:after{animation:spin var(--spin-animation)}}@media (prefers-contrast: high){.reference-card,.paper-action-btn,.search-input-wrapper{border-width:2px}.score-badge{border:2px solid currentColor}}.search-success{background:linear-gradient(90deg,transparent,var(--color-messages-success),transparent);opacity:.1;position:absolute;top:0;left:-100%;width:100%;height:100%;animation:success-flash .8s ease-out}@keyframes success-flash{0%{left:-100%;opacity:.1}50%{left:0;opacity:.3}to{left:100%;opacity:.1}}.search-error{animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.reference-card:nth-child(1){animation-delay:0s}.reference-card:nth-child(2){animation-delay:.1s}.reference-card:nth-child(3){animation-delay:.2s}.reference-card:nth-child(4){animation-delay:.3s}.reference-card:nth-child(5){animation-delay:.4s}@media (max-width: 768px){.panel-header{padding:var(--padding-sm) var(--padding-md);flex-direction:column;gap:var(--gap-sm);align-items:stretch}.panel-header h2{font-size:var(--font-size-md)}.panel-stats{justify-content:space-between}.references-search{padding:var(--padding-sm) var(--padding-md)}.search-suggestions{gap:var(--gap-xs)}.suggestion-chip{padding:var(--padding-xs) var(--padding-sm);font-size:var(--font-size-xs)}.references-filters{flex-direction:column;gap:var(--gap-sm);align-items:stretch}.filter-info{justify-content:space-between}.references-list{padding:var(--padding-md)}.card-collapsed{padding:var(--padding-sm) var(--padding-md)}.card-expanded{padding:var(--padding-md)}.card-header{flex-direction:column;align-items:stretch;gap:var(--gap-md)}.card-header-main{order:2}.card-header-actions{order:1;justify-content:flex-end}.paper-metadata{flex-wrap:wrap;gap:var(--gap-xs);justify-content:flex-start}.collapse-btn{min-width:44px;min-height:44px;padding:var(--padding-md)}.paper-actions{gap:var(--gap-xs)}.paper-action-btn{padding:var(--padding-xs) var(--padding-sm);font-size:var(--font-size-xs)}.paper-stats{flex-direction:column;gap:var(--gap-md)}.panel-footer{padding:var(--padding-sm) var(--padding-md);flex-direction:column;gap:var(--gap-md);align-items:stretch}.footer-stats{justify-content:space-around}}@media (max-width: 480px){.references-list{padding:var(--padding-sm)}.card-collapsed{padding:var(--padding-xs) var(--padding-sm);flex-direction:column;gap:var(--gap-sm)}.collapsed-header{justify-content:space-between;width:100%}.card-expanded{padding:var(--padding-sm)}.card-header{gap:var(--gap-sm)}.card-header-main{flex-direction:column;align-items:flex-start;gap:var(--gap-sm)}.paper-metadata{flex-direction:column;gap:var(--gap-xs);align-items:flex-start}.paper-metadata>*{max-width:100%}.collapse-btn{min-width:48px;min-height:48px;border-radius:var(--border-radius-large)}.paper-actions{flex-direction:column}.paper-action-btn{justify-content:center}.references-empty{padding:var(--padding-lg)}.empty-icon{font-size:3rem}}.academic-templates{display:flex;flex-direction:column;height:100%;background:var(--background-color-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-medium);overflow:hidden}.templates-header{padding:var(--padding-md) var(--padding-lg);background:var(--background-color-tertiary);border-bottom:1px solid var(--border-color)}.templates-header h3{margin:0 0 var(--margin-xs) 0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-color);display:flex;align-items:center;gap:var(--gap-xs)}.templates-header p{margin:0;font-size:var(--font-size-sm);color:var(--text-color-secondary);line-height:var(--line-height-normal)}.category-selector{padding:var(--padding-md) var(--padding-lg);background:var(--background-color-primary);border-bottom:1px solid var(--border-color);display:flex;gap:var(--gap-xs);flex-wrap:wrap}.category-btn{padding:var(--padding-xs) var(--padding-sm);background:var(--background-color-tertiary);color:var(--text-color-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-small);font-size:var(--font-size-sm);cursor:pointer;transition:all .2s ease;white-space:nowrap}.category-btn:hover{background:var(--background-color-hover);color:var(--text-color)}.category-btn.active{background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.templates-list{flex:1;overflow-y:auto;padding:var(--padding-md)}.template-card{background:var(--background-color-primary);border:1px solid var(--border-color);border-radius:var(--border-radius-small);margin-bottom:var(--margin-md);overflow:hidden;transition:all .2s ease}.template-card:hover{border-color:var(--accent-color);box-shadow:0 4px 12px #7c3aed1a;transform:translateY(-1px)}.template-header{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--padding-md);gap:var(--gap-md)}.template-info{display:flex;gap:var(--gap-sm);flex:1}.template-icon{font-size:var(--font-size-xl);flex-shrink:0}.template-name{margin:0 0 var(--margin-xs) 0;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-color);line-height:var(--line-height-tight)}.template-description{margin:0 0 var(--margin-xs) 0;font-size:var(--font-size-sm);color:var(--text-color-secondary);line-height:var(--line-height-normal)}.template-category{display:inline-block;font-size:var(--font-size-xs);background:var(--background-color-secondary);color:var(--text-color-tertiary);padding:2px 6px;border-radius:3px;border:1px solid var(--border-color)}.template-actions{display:flex;gap:var(--gap-xs);flex-wrap:wrap}.template-details{border-top:1px solid var(--border-color);background:var(--background-color-secondary);padding:var(--padding-md)}.template-structure,.template-prompts{margin-bottom:var(--margin-md)}.template-structure h5,.template-prompts h5{margin:0 0 var(--margin-sm) 0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-color);display:flex;align-items:center;gap:var(--gap-xs)}.structure-preview{background:var(--background-color-primary);border:1px solid var(--border-color);border-radius:var(--border-radius-small);padding:var(--padding-sm);font-family:var(--font-family-mono);font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--text-color-secondary);white-space:pre-wrap;overflow-x:auto;margin:0}.prompts-list{display:flex;flex-direction:column;gap:var(--gap-sm)}.prompt-item{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--gap-sm);padding:var(--padding-sm);background:var(--background-color-primary);border:1px solid var(--border-color);border-radius:var(--border-radius-small)}.prompt-text{flex:1;font-size:var(--font-size-sm);color:var(--text-color-secondary);line-height:var(--line-height-normal);font-style:italic}.prompt-use-btn{padding:var(--padding-xs) var(--padding-sm);background:var(--accent-color);color:#fff;border:none;border-radius:var(--border-radius-small);font-size:var(--font-size-xs);cursor:pointer;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.prompt-use-btn:hover{background:var(--accent-color-hover);transform:translateY(-1px)}.quick-start{border-top:1px solid var(--border-color);background:var(--background-color-primary);padding:var(--padding-md) var(--padding-lg)}.quick-start h4{margin:0 0 var(--margin-md) 0;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-color);display:flex;align-items:center;gap:var(--gap-xs)}.quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--gap-sm)}.quick-action-btn{display:flex;align-items:center;justify-content:center;gap:var(--gap-xs);padding:var(--padding-sm) var(--padding-md);background:var(--background-color-tertiary);color:var(--text-color);border:1px solid var(--border-color);border-radius:var(--border-radius-small);font-size:var(--font-size-sm);cursor:pointer;transition:all .2s ease;text-align:center;line-height:var(--line-height-normal)}.quick-action-btn:hover{background:var(--background-color-hover);border-color:var(--accent-color);transform:translateY(-1px);box-shadow:0 4px 12px #7c3aed1a}.action-btn{display:inline-flex;align-items:center;gap:var(--gap-xs);padding:var(--padding-xs) var(--padding-sm);border:1px solid var(--border-color);border-radius:var(--border-radius-small);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s ease;text-decoration:none;white-space:nowrap}.action-btn.primary{background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.action-btn.primary:hover{background:var(--accent-color-hover);border-color:var(--accent-color-hover);transform:translateY(-1px)}.action-btn.secondary{background:var(--background-color-tertiary);color:var(--text-color-secondary)}.action-btn.secondary:hover{background:var(--background-color-hover);color:var(--text-color);transform:translateY(-1px)}.templates-list::-webkit-scrollbar{width:6px}.templates-list::-webkit-scrollbar-track{background:var(--background-color-tertiary)}.templates-list::-webkit-scrollbar-thumb{background:var(--background-color-hover);border-radius:3px}.templates-list::-webkit-scrollbar-thumb:hover{background:var(--accent-color-muted)}@media (max-width: 768px){.templates-header,.category-selector{padding:var(--padding-sm) var(--padding-md)}.template-header{flex-direction:column;gap:var(--gap-sm)}.template-actions{width:100%;justify-content:space-between}.action-btn{flex:1;justify-content:center}.quick-actions{grid-template-columns:1fr}.prompt-item{flex-direction:column;gap:var(--gap-xs)}.prompt-use-btn{align-self:flex-end}.template-details{padding:var(--padding-sm)}}.main-content{flex:1;display:flex;gap:var(--space-md);padding:var(--space-md);overflow:hidden;max-width:1800px;margin:0 auto;width:100%;min-height:0}.left-panel{width:420px;min-width:320px;max-width:640px;display:flex;flex-direction:column;background:var(--surface-overlay);-webkit-backdrop-filter:var(--backdrop-blur-base);backdrop-filter:var(--backdrop-blur-base);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--card-shadow);transition:var(--transition-transform)}.left-panel:hover{box-shadow:var(--card-shadow-hover)}.panel-selector{display:flex;background:var(--background-color-secondary);border-bottom:1px solid var(--border-color);position:relative}.panel-selector:after{content:"";position:absolute;bottom:0;left:0;height:2px;background:var(--accent-color);transition:var(--transition-transform);width:calc(100% / 3);transform:translate(0)}.panel-tab{flex:1;padding:var(--space-sm) var(--space-md);background:transparent;color:var(--text-color-secondary);border:none;font-family:var(--nav-font-family);font-size:var(--nav-font-size);font-weight:var(--nav-font-weight);line-height:var(--nav-line-height);cursor:pointer;transition:var(--transition-colors);white-space:nowrap;text-align:center;position:relative}.panel-tab:hover{background:var(--accent-subtle);color:var(--text-color)}.panel-tab.active{background:var(--background-color-primary);color:var(--accent-color);font-weight:var(--font-weight-semibold)}.panel-content{flex:1;overflow:hidden;display:flex;flex-direction:column;background:var(--background-color-primary)}.document-panel{flex:1;display:flex;flex-direction:column;background:var(--surface-overlay);-webkit-backdrop-filter:var(--backdrop-blur-base);backdrop-filter:var(--backdrop-blur-base);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;min-width:0;box-shadow:var(--card-shadow);transition:var(--transition-transform)}.document-panel:hover{box-shadow:var(--card-shadow-hover)}.section-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md) var(--space-lg);background:var(--background-color-secondary);border-bottom:1px solid var(--border-color);flex-shrink:0}.section-header h2{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-color);display:flex;align-items:center;gap:var(--space-sm);letter-spacing:var(--letter-spacing-tight)}.document-controls{display:flex;align-items:center;gap:var(--space-lg)}.view-mode-toggle{display:flex;background:var(--background-color-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;position:relative;padding:2px}.mode-button{padding:var(--space-xs) var(--space-md);background:transparent;color:var(--text-color-secondary);border:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:var(--transition-colors);white-space:nowrap;border-radius:var(--radius-base);position:relative;z-index:1}.mode-button:hover{color:var(--text-color)}.mode-button.active{background:var(--accent-color);color:var(--color-brighter);box-shadow:var(--shadow-sm)}.document-stats{display:flex;align-items:center;gap:var(--space-md);font-size:var(--font-size-xs)}.stat{color:var(--text-color-secondary);font-weight:var(--font-weight-medium);white-space:nowrap;padding:var(--space-xs) var(--space-sm);background:var(--accent-subtle);border-radius:var(--radius-base);border:1px solid rgba(46,160,67,.2)}.editor-container{flex:1;display:flex;overflow:hidden;background:var(--background-color-primary)}.editor-container.edit,.editor-container.preview{flex-direction:column}.editor-container.split{flex-direction:row;gap:1px}.editor-pane{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--background-color-primary)}.editor-container.split .editor-pane{border-right:1px solid var(--border-color)}.preview-pane{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--background-color-primary)}.preview-content{flex:1;overflow-y:auto;padding:var(--space-lg);scrollbar-width:thin;scrollbar-color:var(--background-color-hover) var(--background-color-tertiary)}.preview-content::-webkit-scrollbar{width:6px}.preview-content::-webkit-scrollbar-track{background:var(--background-color-tertiary);border-radius:var(--radius-sm)}.preview-content::-webkit-scrollbar-thumb{background:var(--background-color-hover);border-radius:var(--radius-sm)}.preview-content::-webkit-scrollbar-thumb:hover{background:var(--accent-color)}.markdown-preview{font-family:var(--body-font-family);font-size:var(--body-font-size);line-height:var(--body-line-height);color:var(--text-color);max-width:none}.markdown-preview h1{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);margin:var(--space-xl) 0 var(--space-lg) 0;color:var(--text-color);border-bottom:2px solid var(--accent-color);padding-bottom:var(--space-sm);letter-spacing:var(--letter-spacing-tight)}.markdown-preview h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);margin:var(--space-lg) 0 var(--space-md) 0;color:var(--text-color);border-left:3px solid var(--accent-color);padding-left:var(--space-md);letter-spacing:var(--letter-spacing-tight)}.markdown-preview h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin:var(--space-md) 0 var(--space-sm) 0;color:var(--text-color)}.markdown-preview h4,.markdown-preview h5,.markdown-preview h6{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);margin:var(--space-md) 0 var(--space-sm) 0;color:var(--text-color)}.markdown-preview p{margin:0 0 var(--space-md) 0;line-height:var(--line-height-relaxed)}.markdown-preview code{background:var(--background-color-tertiary);color:var(--accent-color-secondary);padding:3px 6px;border-radius:var(--radius-sm);font-family:var(--font-family-mono);font-size:.9em;border:1px solid var(--border-color)}.markdown-preview pre{background:var(--background-color-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--space-lg);overflow-x:auto;font-family:var(--font-family-mono);font-size:var(--font-size-sm);box-shadow:var(--shadow-inner)}.markdown-preview pre code{background:none;border:none;padding:0;color:var(--text-color)}.markdown-preview blockquote{border-left:3px solid var(--accent-color);background:var(--accent-subtle);margin:var(--space-lg) 0;padding:var(--space-lg);font-style:italic;color:var(--text-color-secondary);border-radius:0 var(--radius-md) var(--radius-md) 0}.markdown-preview ul,.markdown-preview ol{margin:var(--space-md) 0;padding-left:var(--space-xl)}.markdown-preview li{margin:var(--space-sm) 0;line-height:var(--line-height-relaxed)}.markdown-preview a{color:var(--accent-color-secondary);text-decoration:none;border-bottom:1px solid transparent;transition:var(--transition-colors)}.markdown-preview a:hover{color:var(--accent-color);border-bottom-color:var(--accent-color)}@media (max-width: 1200px){.left-panel{width:360px;min-width:300px}.document-controls{gap:var(--space-md)}}@media (max-width: 1024px){.main-content{flex-direction:column;gap:var(--space-md)}.left-panel{width:100%;min-width:auto;max-width:none;height:320px;flex-shrink:0}.editor-container.split{flex-direction:column}.editor-container.split .editor-pane{border-right:none;border-bottom:1px solid var(--border-color)}}@media (max-width: 768px){.main-content{padding:var(--space-sm)}.section-header{padding:var(--space-sm) var(--space-md)}.document-controls{flex-direction:column;gap:var(--space-sm);align-items:stretch}.view-mode-toggle{justify-content:center}.mode-button{padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-xs)}.document-stats{justify-content:center;flex-wrap:wrap;gap:var(--space-xs)}.panel-tab{padding:var(--space-sm) var(--space-xs);font-size:var(--font-size-xs)}.left-panel{height:280px}}@media (max-width: 480px){.main-content{padding:var(--space-xs)}.preview-content,.editor-pane{padding:var(--space-md)}}
