*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none;scroll-behavior:smooth}html,body{height:100%}body{line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}input,button,textarea,select{font:inherit;font-weight:var(--font-weight-me);color:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word;orphans:3;widows:3}#root,#__next{isolation:isolate;min-height:100vh;display:flex;flex-direction:column}table{border-collapse:collapse;border-spacing:0;width:100%}ul,ol{list-style:none}article ul,article ol,.content ul,.content ol{list-style:revert;margin-left:var(--space-6)}button{cursor:pointer;background:none;border:none;outline:none}a{color:inherit;text-decoration:none}article a,.content a{color:var(--primary);text-decoration:underline;text-decoration-color:var(--primary);text-underline-offset:.2em}input,textarea,select{background:transparent;border:none;outline:none}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}button,input[type=submit],input[type=reset]{-webkit-appearance:none;-moz-appearance:none;appearance:none}:focus{outline:none}:focus-visible{outline:var(--outline-focus);outline-offset:var(--outline-focus-offset)}::selection{background-color:var(--primary);color:var(--primary-foreground)}summary{list-style:none}summary::-webkit-details-marker{display:none}hr{border:none;border-top:var(--border-divider);margin:var(--space-4) 0}code,pre,kbd,samp{font-family:var(--font-family-mono);font-size:.9em}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (prefers-contrast: high){:root{--border: currentColor;--border-subtle: currentColor}}@media (forced-colors: active){:root{--background: Canvas;--foreground: CanvasText;--border: ButtonBorder;--primary: Highlight;--primary-foreground: HighlightText}}body{font-family:var(--font-family-primary);font-size:var(--text-body-size);font-weight:var(--text-body-weight);line-height:var(--text-body-line-height);color:var(--foreground);background-color:var(--background);transition:var(--transition-colors)}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);margin-bottom:var(--space-4);color:var(--foreground);letter-spacing:var(--letter-spacing-tight)}h1{font-size:var(--text-h1-size);font-weight:var(--text-h1-weight);line-height:var(--text-h1-line-height);margin-bottom:var(--space-6)}h2{font-size:var(--text-h2-size);font-weight:var(--text-h2-weight);line-height:var(--text-h2-line-height);margin-bottom:var(--space-5)}h3{font-size:var(--text-h3-size);font-weight:var(--text-h3-weight);line-height:var(--text-h3-line-height)}h4{font-size:var(--text-h4-size);font-weight:var(--text-h4-weight);line-height:var(--text-h4-line-height)}h5{font-size:var(--text-h5-size);font-weight:var(--text-h5-weight);line-height:var(--text-h5-line-height)}h6{font-size:var(--text-h6-size);font-weight:var(--text-h6-weight);line-height:var(--text-h6-line-height)}p{margin-bottom:var(--space-4);color:var(--foreground)}p:last-child{margin-bottom:0}p.lead,.text-lead{font-size:var(--text-body-large-size);font-weight:var(--text-body-large-weight);line-height:var(--text-body-large-line-height);color:var(--foreground-muted)}p.small,.text-small{font-size:var(--text-body-small-size);font-weight:var(--text-body-small-weight);line-height:var(--text-body-small-line-height)}strong,b{font-weight:var(--font-weight-semibold)}em,i{font-style:italic}small{font-size:var(--text-caption-size);color:var(--foreground-muted)}mark{background-color:var(--warning);color:var(--foreground);padding:var(--space-0-5) var(--space-1);border-radius:var(--radius-sm)}del{text-decoration:line-through;color:var(--foreground-muted)}ins{text-decoration:none;background-color:var(--success);color:var(--foreground);padding:var(--space-0-5);border-radius:var(--radius-sm)}code{font-family:var(--text-code-family);font-size:var(--text-code-size);font-weight:var(--text-code-weight);background-color:var(--muted);color:var(--foreground);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);border:var(--border-default)}pre{font-family:var(--text-code-family);font-size:var(--text-code-size);line-height:var(--text-code-line-height);background-color:var(--surface);color:var(--foreground);padding:var(--space-4);border-radius:var(--radius-lg);border:var(--border-default);overflow-x:auto;margin:var(--space-4) 0}pre code{background:none;border:none;padding:0;font-size:inherit}kbd{font-family:var(--text-code-family);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);background-color:var(--surface);color:var(--foreground);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);border:var(--border-default);box-shadow:var(--shadow-sm)}blockquote{margin:var(--space-6) 0;padding:var(--space-4) var(--space-6);border-left:var(--border-width-4) var(--border-style-solid) var(--primary);background-color:var(--muted);border-radius:var(--radius-md);font-style:italic;color:var(--foreground-muted)}blockquote p:last-child{margin-bottom:0}blockquote cite{display:block;margin-top:var(--space-2);font-size:var(--text-body-small-size);font-style:normal;color:var(--foreground-subtle)}blockquote cite:before{content:"— "}article ul,article ol,.content ul,.content ol{margin:var(--space-4) 0;padding-left:var(--space-6)}article li,.content li{margin-bottom:var(--space-1)}article li:last-child,.content li:last-child{margin-bottom:0}dl{margin:var(--space-4) 0}dt{font-weight:var(--font-weight-semibold);margin-bottom:var(--space-1);color:var(--foreground)}dd{margin-bottom:var(--space-3);margin-left:var(--space-4);color:var(--foreground-muted)}dd:last-child{margin-bottom:0}a{color:var(--primary);transition:var(--transition-link)}a:hover{color:var(--primary-hover)}a:focus-visible{outline:var(--outline-focus);outline-offset:var(--outline-focus-offset);border-radius:var(--radius-sm)}.text-uppercase{text-transform:var(--text-transform-uppercase)}.text-lowercase{text-transform:var(--text-transform-lowercase)}.text-capitalize{text-transform:var(--text-transform-capitalize)}.text-thin{font-weight:var(--font-weight-thin)}.text-light{font-weight:var(--font-weight-light)}.text-normal{font-weight:var(--font-weight-regular)}.text-medium{font-weight:var(--font-weight-medium)}.text-semibold{font-weight:var(--font-weight-semibold)}.text-bold{font-weight:var(--font-weight-bold)}.text-extrabold{font-weight:var(--font-weight-extrabold)}.text-black{font-weight:var(--font-weight-black)}.text-italic{font-style:italic}.text-normal-style{font-style:normal}.text-underline{text-decoration:underline}.text-line-through{text-decoration:line-through}.text-no-underline{text-decoration:none}.text-tracking-tighter{letter-spacing:var(--letter-spacing-tighter)}.text-tracking-tight{letter-spacing:var(--letter-spacing-tight)}.text-tracking-normal{letter-spacing:var(--letter-spacing-normal)}.text-tracking-wide{letter-spacing:var(--letter-spacing-wide)}.text-tracking-wider{letter-spacing:var(--letter-spacing-wider)}.text-tracking-widest{letter-spacing:var(--letter-spacing-widest)}.text-muted{color:var(--foreground-muted)}.text-subtle{color:var(--foreground-subtle)}@keyframes fadeIn{0%{opacity:0;transform:translateY(var(--space-2))}to{opacity:1;transform:translateY(0)}}@keyframes fadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(var(--space-2))}}@keyframes slideIn{0%{transform:translate(calc(var(--space-5) * -1));opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(calc(var(--space-5) * -1));opacity:0}}@keyframes slideUp{0%{transform:translateY(var(--space-4));opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideDown{0%{transform:translateY(calc(var(--space-4) * -1));opacity:0}to{transform:translateY(0);opacity:1}}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes scaleOut{0%{transform:scale(1);opacity:1}to{transform:scale(.9);opacity:0}}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(calc(var(--space-5) * -1))}to{transform:translateY(0)}}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}to{transform:scale(1);opacity:1}}@keyframes pulseGlow{0%{box-shadow:0 0 rgba(var(--primary-rgb, var(--redwood-rgb)),.4)}70%{box-shadow:0 0 0 var(--space-2) rgba(var(--primary-rgb, var(--redwood-rgb)),0)}to{box-shadow:0 0 rgba(var(--primary-rgb, var(--redwood-rgb)),0)}}@keyframes bounce{0%,20%,53%,80%,to{transform:translateZ(0)}40%,43%{transform:translate3d(0,calc(var(--space-8) * -1),0)}70%{transform:translate3d(0,calc(var(--space-4) * -1),0)}90%{transform:translate3d(0,calc(var(--space-1) * -1),0)}}@keyframes ripple{0%{transform:translate(-50%,-50%) scale(0);opacity:.6}to{transform:translate(-50%,-50%) scale(1);opacity:0}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(calc(var(--space-2) * -1))}20%,40%,60%,80%{transform:translate(var(--space-2))}}@keyframes zoomIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes zoomOut{0%{transform:scale(1);opacity:1}to{transform:scale(0);opacity:0}}@keyframes flip{0%{transform:perspective(400px) rotateY(-360deg);animation-timing-function:ease-out}40%{transform:perspective(400px) translateZ(150px) rotateY(-190deg);animation-timing-function:ease-out}50%{transform:perspective(400px) translateZ(150px) rotateY(-170deg);animation-timing-function:ease-in}80%{transform:perspective(400px) scale3d(.95,.95,.95);animation-timing-function:ease-in}to{transform:perspective(400px);animation-timing-function:ease-in}}.animate-none{animation:none}.animate-float{animation:var(--animation-float)}.animate-pulse{animation:var(--animation-pulse)}.animate-pulse-glow{animation:pulseGlow var(--duration-slower) var(--ease-in-out) infinite}.animate-bounce{animation:var(--animation-bounce)}.animate-spin{animation:var(--animation-spin)}.animate-fadeIn{animation:var(--animation-fade-in)}.animate-fadeOut{animation:var(--animation-fade-out)}.animate-slideIn{animation:var(--animation-slide-in)}.animate-slideOut{animation:var(--animation-slide-out)}.animate-slideUp{animation:slideUp var(--duration-medium) var(--ease-out) forwards}.animate-slideDown{animation:slideDown var(--duration-medium) var(--ease-out) forwards}.animate-scaleIn{animation:var(--animation-scale-in)}.animate-scaleOut{animation:var(--animation-scale-out)}.animate-shake{animation:shake var(--duration-slow) var(--ease-in-out)}.animate-zoomIn{animation:zoomIn var(--duration-medium) var(--ease-out) forwards}.animate-zoomOut{animation:zoomOut var(--duration-medium) var(--ease-out) forwards}.animate-flip{animation:flip var(--duration-slower) var(--ease-in-out)}.animate-delay-none{animation-delay:var(--delay-none)}.animate-delay-short{animation-delay:var(--delay-short)}.animate-delay-medium{animation-delay:var(--delay-medium)}.animate-delay-long{animation-delay:var(--delay-long)}.animate-delay-longer{animation-delay:var(--delay-longer)}.animate-stagger-1{animation-delay:var(--stagger-1)}.animate-stagger-2{animation-delay:var(--stagger-2)}.animate-stagger-3{animation-delay:var(--stagger-3)}.animate-stagger-4{animation-delay:var(--stagger-4)}.animate-stagger-5{animation-delay:var(--stagger-5)}.animate-duration-fast{animation-duration:var(--duration-fast)}.animate-duration-normal{animation-duration:var(--duration-normal)}.animate-duration-medium{animation-duration:var(--duration-medium)}.animate-duration-slow{animation-duration:var(--duration-slow)}.animate-duration-slower{animation-duration:var(--duration-slower)}.animate-duration-slowest{animation-duration:var(--duration-slowest)}.animate-once{animation-iteration-count:1}.animate-infinite{animation-iteration-count:infinite}.animate-fill-both{animation-fill-mode:both}.animate-fill-forwards{animation-fill-mode:forwards}.animate-fill-backwards{animation-fill-mode:backwards}.animate-fill-none{animation-fill-mode:none}.animate-play{animation-play-state:running}.animate-pause{animation-play-state:paused}.transition-none{transition:none}.transition-all{transition:var(--transition-all)}.transition-colors{transition:var(--transition-colors)}.transition-opacity{transition:var(--transition-opacity)}.transition-transform{transition:var(--transition-transform)}.ease-linear{transition-timing-function:var(--ease-linear)}.ease-in{transition-timing-function:var(--ease-in)}.ease-out{transition-timing-function:var(--ease-out)}.ease-in-out{transition-timing-function:var(--ease-in-out)}.pdf-page-wrapper{animation:var(--animation-fade-in)}.hover-lift{transition:var(--transition-transform)}.hover-lift:hover{transform:translateY(calc(var(--space-1) * -1))}.hover-scale{transition:var(--transition-transform)}.hover-scale:hover{transform:scale(1.05)}.hover-rotate{transition:var(--transition-transform)}.hover-rotate:hover{transform:rotate(5deg)}:root{--raisin-black: #1a1423;--dark-purple: #372549;--eggplant: #774c60;--redwood: #b75d69;--pale-dogwood: #eacdc2;--space-cadet: var(--raisin-black);--federal-blue: var(--dark-purple);--zaffre: var(--eggplant);--glaucous: var(--redwood);--honeydew: var(--pale-dogwood);--raisin-black-rgb: 26, 20, 35;--dark-purple-rgb: 55, 37, 73;--eggplant-rgb: 119, 76, 96;--redwood-rgb: 183, 93, 105;--pale-dogwood-rgb: 234, 205, 194;--space-cadet-rgb: var(--raisin-black-rgb);--federal-blue-rgb: var(--dark-purple-rgb);--zaffre-rgb: var(--eggplant-rgb);--glaucous-rgb: var(--redwood-rgb);--honeydew-rgb: var(--pale-dogwood-rgb);--raisin-black-hsl: 264, 27%, 11%;--dark-purple-hsl: 270, 33%, 22%;--eggplant-hsl: 332, 22%, 38%;--redwood-hsl: 352, 38%, 54%;--pale-dogwood-hsl: 17, 49%, 84%;--space-cadet-hsl: var(--raisin-black-hsl);--federal-blue-hsl: var(--dark-purple-hsl);--zaffre-hsl: var(--eggplant-hsl);--glaucous-hsl: var(--redwood-hsl);--honeydew-hsl: var(--pale-dogwood-hsl);--background: var(--pale-dogwood);--background-subtle: rgba(var(--pale-dogwood-rgb), .6);--background-surface: rgba(var(--pale-dogwood-rgb), .8);--background-overlay: rgba(var(--raisin-black-rgb), .5);--foreground: var(--raisin-black);--foreground-muted: var(--dark-purple);--foreground-subtle: var(--eggplant);--primary: var(--eggplant);--primary-active: var(--dark-purple);--primary-foreground: var(--pale-dogwood);--secondary: var(--redwood);--secondary-hover: var(--eggplant);--secondary-active: var(--dark-purple);--secondary-foreground: var(--pale-dogwood);--accent: var(--dark-purple);--accent-hover: var(--eggplant);--accent-foreground: var(--pale-dogwood);--border: rgba(var(--eggplant-rgb), .3);--border-subtle: rgba(var(--redwood-rgb), .2);--border-strong: var(--eggplant);--muted: rgba(var(--redwood-rgb), .1);--hover: rgba(var(--redwood-rgb), .1);--active: rgba(var(--eggplant-rgb), .15);--disabled: rgba(var(--eggplant-rgb), .5);--focus: var(--redwood);--card: rgba(var(--pale-dogwood-rgb), .8);--card-hover: rgba(var(--pale-dogwood-rgb), .9);--surface: rgba(var(--pale-dogwood-rgb), .9);--surface-hover: var(--pale-dogwood);--success: #10b981;--success-light: #6ee7b7;--success-dark: #065f46;--success-hover: #059669;--success-rgb: 16, 185, 129;--warning: #f59e0b;--warning-light: #fcd34d;--warning-dark: #92400e;--warning-hover: #d97706;--warning-rgb: 245, 158, 11;--error: #ef4444;--error-light: #fca5a5;--error-dark: #991b1b;--error-hover: #dc2626;--error-rgb: 239, 68, 68;--info: var(--eggplant);--info-light: rgba(var(--eggplant-rgb), .3);--info-dark: var(--dark-purple);--gradient-primary: linear-gradient(135deg, var(--raisin-black), var(--dark-purple), var(--eggplant));--gradient-secondary: linear-gradient(45deg, var(--eggplant), var(--redwood), var(--pale-dogwood));--gradient-accent: linear-gradient(90deg, var(--dark-purple), var(--eggplant));--gradient-to-top: linear-gradient(0deg, var(--raisin-black), var(--dark-purple), var(--eggplant), var(--redwood), var(--pale-dogwood));--gradient-to-right: linear-gradient(90deg, var(--raisin-black), var(--dark-purple), var(--eggplant), var(--redwood), var(--pale-dogwood));--gradient-to-bottom: linear-gradient(180deg, var(--raisin-black), var(--dark-purple), var(--eggplant), var(--redwood), var(--pale-dogwood));--gradient-to-left: linear-gradient(270deg, var(--raisin-black), var(--dark-purple), var(--eggplant), var(--redwood), var(--pale-dogwood));--gradient-radial: radial-gradient(circle, var(--raisin-black), var(--dark-purple), var(--eggplant), var(--redwood), var(--pale-dogwood));--hero-overlay: linear-gradient(135deg, rgba(var(--pale-dogwood-rgb), .05), rgba(var(--pale-dogwood-rgb), .1), rgba(var(--pale-dogwood-rgb), .05));--gradient-overlay: var(--hero-overlay);--hero-text-shadow: 0 2px 8px rgba(var(--raisin-black-rgb), .5);--hero-text-shadow-light: 0 1px 4px rgba(var(--raisin-black-rgb), .3);--features-background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);--features-background-dark: linear-gradient(135deg, var(--raisin-black) 0%, var(--dark-purple) 100%);--card-background: var(--pale-dogwood);--card-background-dark: var(--dark-purple);--gradient-blue: linear-gradient(135deg, #2563eb, #7c3aed);--gradient-blue-to-purple: linear-gradient(90deg, #2563eb, #7c3aed);--gradient-purple-light: linear-gradient(90deg, #7c3aed, #a855f7);--text-slate-900: #1e293b;--text-slate-600: #64748b;--text-slate-500: #64748b;--text-blue-600: #2563eb;--border-slate-200: #e2e8f0;--border-purple-200: #ddd6fe;--highlight-gradient: linear-gradient(to right, #a855f7, #ec4899);--features-hero-bg: linear-gradient(135deg, #1a1a2e 0%, #16213e 25%, #0f3460 50%, #1a1a2e 100%);--features-hero-overlay: linear-gradient(135deg, rgba(255, 255, 255, .05) 0%, rgba(255, 255, 255, .1) 50%, rgba(255, 255, 255, .05) 100%);--accent-muted: rgba(var(--eggplant-rgb), .1);--primary-light: rgba(var(--eggplant-rgb), .3);--primary-dark: var(--dark-purple);--primary-hover: var(--redwood);--muted-foreground: var(--foreground-muted);--secondary-foreground: var(--primary-foreground)}[data-theme=dark]{--background: var(--raisin-black);--background-subtle: rgba(var(--dark-purple-rgb), .6);--background-surface: rgba(var(--dark-purple-rgb), .8);--background-overlay: rgba(var(--pale-dogwood-rgb), .1);--foreground: var(--pale-dogwood);--foreground-muted: var(--redwood);--foreground-subtle: #d1d5db;--primary: var(--redwood);--primary-hover: var(--eggplant);--primary-active: var(--pale-dogwood);--secondary: var(--dark-purple);--secondary-hover: var(--eggplant);--secondary-active: var(--redwood);--border: rgba(var(--eggplant-rgb), .4);--border-subtle: rgba(var(--redwood-rgb), .3);--border-strong: var(--redwood);--muted: rgba(var(--eggplant-rgb), .2);--hover: rgba(var(--eggplant-rgb), .15);--active: rgba(var(--redwood-rgb), .2);--disabled: rgba(var(--pale-dogwood-rgb), .3);--card: rgba(var(--dark-purple-rgb), .8);--card-hover: rgba(var(--dark-purple-rgb), .9);--surface: rgba(var(--dark-purple-rgb), .9);--surface-hover: var(--dark-purple);--hero-overlay: linear-gradient(135deg, rgba(var(--dark-purple-rgb), .1), rgba(var(--eggplant-rgb), .1), rgba(var(--dark-purple-rgb), .1));--gradient-overlay: var(--hero-overlay);--hero-text-shadow: 0 2px 8px rgba(var(--raisin-black-rgb), .8);--hero-text-shadow-light: 0 1px 4px rgba(var(--raisin-black-rgb), .5);--pdf-background: var(--raisin-black);--pdf-surface: var(--dark-purple);--pdf-text: var(--pale-dogwood);--pdf-border: rgba(var(--eggplant-rgb), .3);--pdf-hover: rgba(var(--redwood-rgb), .1);--pdf-active: var(--redwood);--pdf-selection: rgba(var(--redwood-rgb), .3);--pdf-highlight: var(--redwood);--pdf-shadow: rgba(var(--raisin-black-rgb), .5)}:root{--toolbar-bg: var(--background);--toolbar-border: var(--border);--toolbar-shadow: var(--shadow-sm);--button-bg: rgba(var(--raisin-black-rgb), .03);--button-border: var(--border);--button-hover: rgba(var(--raisin-black-rgb), .05);--button-active: rgba(var(--raisin-black-rgb), .08);--button-text: var(--foreground);--button-active-text: var(--primary);--active-bg: rgba(var(--eggplant-rgb), .1);--active-border: var(--primary);--active-text: var(--primary);--dropdown-bg: var(--background);--dropdown-border: var(--border);--dropdown-shadow: var(--shadow-md);--dropdown-hover: rgba(var(--raisin-black-rgb), .03);--viewer-bg: var(--surface);--sidebar-bg: var(--background);--sidebar-border: var(--border);--upload-bg: var(--surface)}:root{--font-family-primary: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-family-secondary: "Georgia", "Times New Roman", serif;--font-family-mono: "Fira Code", "Monaco", "Consolas", "Ubuntu Mono", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 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-thin: 100;--font-weight-light: 300;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--font-weight-black: 900;--line-height-none: 1;--line-height-tight: 1.25;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--line-height-loose: 2;--text-display-size: var(--font-size-6xl);--text-display-weight: var(--font-weight-extrabold);--text-display-line-height: var(--line-height-tight);--text-h1-size: var(--font-size-5xl);--text-h1-weight: var(--font-weight-bold);--text-h1-line-height: var(--line-height-tight);--text-h2-size: var(--font-size-4xl);--text-h2-weight: var(--font-weight-bold);--text-h2-line-height: var(--line-height-snug);--text-h3-size: var(--font-size-3xl);--text-h3-weight: var(--font-weight-semibold);--text-h3-line-height: var(--line-height-snug);--text-h4-size: var(--font-size-2xl);--text-h4-weight: var(--font-weight-semibold);--text-h4-line-height: var(--line-height-normal);--text-h5-size: var(--font-size-xl);--text-h5-weight: var(--font-weight-medium);--text-h5-line-height: var(--line-height-normal);--text-h6-size: var(--font-size-lg);--text-h6-weight: var(--font-weight-medium);--text-h6-line-height: var(--line-height-normal);--text-body-size: var(--font-size-base);--text-body-weight: var(--font-weight-regular);--text-body-line-height: var(--line-height-relaxed);--text-body-large-size: var(--font-size-lg);--text-body-large-weight: var(--font-weight-regular);--text-body-large-line-height: var(--line-height-relaxed);--text-lead-size: var(--font-size-xl);--text-lead-weight: var(--font-weight-regular);--text-lead-line-height: var(--line-height-relaxed);--text-body-small-size: var(--font-size-sm);--text-body-small-weight: var(--font-weight-regular);--text-body-small-line-height: var(--line-height-normal);--text-caption-size: var(--font-size-xs);--text-caption-weight: var(--font-weight-regular);--text-caption-line-height: var(--line-height-normal);--text-button-size: var(--font-size-sm);--text-button-weight: var(--font-weight-medium);--text-button-line-height: var(--line-height-none);--text-button-large-size: var(--font-size-base);--text-button-large-weight: var(--font-weight-medium);--text-button-large-line-height: var(--line-height-none);--text-label-size: var(--font-size-sm);--text-label-weight: var(--font-weight-medium);--text-label-line-height: var(--line-height-normal);--text-code-size: var(--font-size-sm);--text-code-weight: var(--font-weight-regular);--text-code-line-height: var(--line-height-relaxed);--text-code-family: var(--font-family-mono);--letter-spacing-tighter: -.05em;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em;--letter-spacing-wider: .05em;--letter-spacing-widest: .1em;--text-transform-none: none;--text-transform-uppercase: uppercase;--text-transform-lowercase: lowercase;--text-transform-capitalize: capitalize;--hero-title-size-mobile: var(--font-size-4xl);--hero-title-size-tablet: var(--font-size-6xl);--hero-title-size-desktop: 4.5rem;--hero-description-size: var(--font-size-xl);--section-title-size: 2.5rem;--section-subtitle-size: var(--font-size-3xl);--font-size-md: var(--font-size-base)}:root{--space-0: 0;--space-px: 1px;--space-0-5: .125rem;--space-1: .25rem;--space-1-5: .375rem;--space-2: .5rem;--space-2-5: .625rem;--space-3: .75rem;--space-3-5: .875rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 1.75rem;--space-8: 2rem;--space-9: 2.25rem;--space-10: 2.5rem;--space-11: 2.75rem;--space-12: 3rem;--space-14: 3.5rem;--space-16: 4rem;--space-18: 4.5rem;--space-20: 5rem;--space-24: 6rem;--space-28: 7rem;--space-32: 8rem;--space-36: 9rem;--space-40: 10rem;--space-44: 11rem;--space-48: 12rem;--space-52: 13rem;--space-56: 14rem;--space-60: 15rem;--space-64: 16rem;--space-72: 18rem;--space-80: 20rem;--space-96: 24rem;--spacing-xs: var(--space-1);--spacing-sm: var(--space-2);--spacing-md: var(--space-4);--spacing-lg: var(--space-6);--spacing-xl: var(--space-8);--spacing-2xl: var(--space-12);--spacing-3xl: var(--space-16);--spacing-4xl: var(--space-20);--spacing-5xl: var(--space-24);--spacing-section: var(--space-24);--spacing-section-y: var(--space-20);--spacing-container: var(--space-6);--spacing-component: var(--space-4);--spacing-element: var(--space-2);--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1200px;--container-2xl: 1400px;--hero-text-max-width: 48rem;--hero-description-max-width: 32rem;--spacing-xxl: var(--spacing-3xl);--border-radius-sm: var(--radius-sm);--border-radius-md: var(--radius-md);--border-radius-lg: var(--radius-lg);--spacing-button-x: var(--space-4);--spacing-button-y: var(--space-2);--spacing-button-large-x: var(--space-6);--spacing-button-large-y: var(--space-3);--spacing-input-x: var(--space-3);--spacing-input-y: var(--space-2);--spacing-form-group: var(--space-4);--spacing-label: var(--space-1);--spacing-card: var(--space-6);--spacing-card-compact: var(--space-4);--spacing-nav-item: var(--space-4);--spacing-nav-gap: var(--space-2);--space-negative-1: calc(var(--space-1) * -1);--space-negative-2: calc(var(--space-2) * -1);--space-negative-3: calc(var(--space-3) * -1);--space-negative-4: calc(var(--space-4) * -1);--space-negative-6: calc(var(--space-6) * -1);--space-negative-8: calc(var(--space-8) * -1);--space-negative-12: calc(var(--space-12) * -1);--space-negative-16: calc(var(--space-16) * -1);--spacing-multiplier-mobile: .75;--spacing-multiplier-tablet: .875;--spacing-multiplier-desktop: 1;--spacing-multiplier-large: 1.125;--icon-size-xs: var(--space-3);--icon-size-sm: var(--space-4);--icon-size-md: var(--space-5);--icon-size-lg: var(--space-6);--icon-size-xl: var(--space-7);--icon-size-2xl: var(--space-8)}:root{--border-width-0: 0px;--border-width-1: 1px;--border-width-2: 2px;--border-width-4: 4px;--border-width-8: 8px;--border-width-thin: var(--border-width-1);--border-width-thick: var(--border-width-2);--border-width-thicker: var(--border-width-4);--border-style-solid: solid;--border-style-dashed: dashed;--border-style-dotted: dotted;--border-style-double: double;--border-style-groove: groove;--border-style-ridge: ridge;--border-style-inset: inset;--border-style-outset: outset;--radius-none: 0px;--radius-sm: .125rem;--radius-base: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-3xl: 1.5rem;--radius-full: 9999px;--border-default: var(--border-width-thin) var(--border-style-solid) var(--border);--border-thick: var(--border-width-thick) var(--border-style-solid) var(--border);--border-interactive: var(--border-width-thin) var(--border-style-solid) var(--border-subtle);--border-hover: var(--border-width-thin) var(--border-style-solid) var(--primary);--border-focus: var(--border-width-thick) var(--border-style-solid) var(--focus);--border-active: var(--border-width-thick) var(--border-style-solid) var(--primary);--border-success: var(--border-width-thin) var(--border-style-solid) var(--success);--border-warning: var(--border-width-thin) var(--border-style-solid) var(--warning);--border-error: var(--border-width-thin) var(--border-style-solid) var(--error);--border-info: var(--border-width-thin) var(--border-style-solid) var(--info);--radius-button: var(--radius-md);--radius-button-sm: var(--radius-base);--radius-button-lg: var(--radius-lg);--radius-input: var(--radius-md);--radius-card: var(--radius-lg);--radius-card-lg: var(--radius-xl);--radius-modal: var(--radius-xl);--radius-dropdown: var(--radius-lg);--radius-badge: var(--radius-full);--radius-avatar: var(--radius-full);--border-input: var(--border-width-thin) var(--border-style-solid) var(--border);--border-input-hover: var(--border-width-thin) var(--border-style-solid) var(--border-strong);--border-input-focus: var(--border-width-thick) var(--border-style-solid) var(--primary);--border-input-error: var(--border-width-thin) var(--border-style-solid) var(--error);--border-button: var(--border-width-thin) var(--border-style-solid) transparent;--border-button-outline: var(--border-width-thin) var(--border-style-solid) var(--primary);--border-button-ghost: var(--border-width-thin) var(--border-style-solid) transparent;--border-card: var(--border-width-thin) var(--border-style-solid) var(--border-subtle);--border-divider: var(--border-width-thin) var(--border-style-solid) var(--border-subtle);--border-divider-strong: var(--border-width-thin) var(--border-style-solid) var(--border);--outline-focus: 2px solid var(--focus);--outline-focus-offset: 2px;--outline-error: 2px solid var(--error);--outline-error-offset: 0px}:root{--shadow-none: none;--shadow-inner: inset 0 2px 4px 0 rgba(var(--raisin-black-rgb), .05);--shadow-inner-lg: inset 0 4px 8px 0 rgba(var(--raisin-black-rgb), .1);--shadow-xs: 0 1px 2px 0 rgba(var(--raisin-black-rgb), .05);--shadow-sm: 0 1px 3px 0 rgba(var(--raisin-black-rgb), .1), 0 1px 2px -1px rgba(var(--raisin-black-rgb), .1);--shadow-md: 0 4px 6px -1px rgba(var(--raisin-black-rgb), .1), 0 2px 4px -2px rgba(var(--raisin-black-rgb), .1);--shadow-lg: 0 10px 15px -3px rgba(var(--raisin-black-rgb), .1), 0 4px 6px -4px rgba(var(--raisin-black-rgb), .1);--shadow-xl: 0 20px 25px -5px rgba(var(--raisin-black-rgb), .1), 0 8px 10px -6px rgba(var(--raisin-black-rgb), .1);--shadow-2xl: 0 25px 50px -12px rgba(var(--raisin-black-rgb), .25);--shadow-primary: 0 4px 6px -1px rgba(var(--redwood-rgb), .1), 0 2px 4px -2px rgba(var(--redwood-rgb), .1);--shadow-primary-lg: 0 10px 15px -3px rgba(var(--redwood-rgb), .1), 0 4px 6px -4px rgba(var(--redwood-rgb), .1);--shadow-secondary: 0 4px 6px -1px rgba(var(--eggplant-rgb), .1), 0 2px 4px -2px rgba(var(--eggplant-rgb), .1);--shadow-success: 0 4px 6px -1px rgba(16, 185, 129, .1), 0 2px 4px -2px rgba(16, 185, 129, .1);--shadow-warning: 0 4px 6px -1px rgba(245, 158, 11, .1), 0 2px 4px -2px rgba(245, 158, 11, .1);--shadow-error: 0 4px 6px -1px rgba(239, 68, 68, .1), 0 2px 4px -2px rgba(239, 68, 68, .1);--shadow-focus: 0 0 0 3px rgba(var(--redwood-rgb), .1);--shadow-focus-visible: 0 0 0 2px var(--background), 0 0 0 4px var(--focus);--shadow-hover: 0 8px 25px -8px rgba(var(--raisin-black-rgb), .15);--shadow-active: 0 2px 4px -2px rgba(var(--raisin-black-rgb), .1);--shadow-navbar: 0 1px 3px 0 rgba(var(--raisin-black-rgb), .1), 0 1px 2px -1px rgba(var(--raisin-black-rgb), .1);--shadow-sidebar: 0 4px 6px -1px rgba(var(--raisin-black-rgb), .1), 0 2px 4px -2px rgba(var(--raisin-black-rgb), .1);--shadow-card: var(--shadow-sm);--shadow-card-hover: var(--shadow-md);--shadow-dropdown: 0 10px 15px -3px rgba(var(--raisin-black-rgb), .1), 0 4px 6px -4px rgba(var(--raisin-black-rgb), .1);--shadow-modal: 0 25px 50px -12px rgba(var(--raisin-black-rgb), .25);--shadow-tooltip: 0 4px 6px -1px rgba(var(--raisin-black-rgb), .1), 0 2px 4px -2px rgba(var(--raisin-black-rgb), .1);--shadow-hero: 0 10px 15px -3px rgba(var(--raisin-black-rgb), .1), 0 4px 6px -4px rgba(var(--raisin-black-rgb), .1);--shadow-text-subtle: 0 1px 4px rgba(var(--raisin-black-rgb), .3);--shadow-text-hero: 0 2px 8px rgba(var(--raisin-black-rgb), .5)}[data-theme=dark]{--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .1);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .2), 0 1px 2px -1px rgba(0, 0, 0, .2);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .2), 0 2px 4px -2px rgba(0, 0, 0, .2);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .2), 0 4px 6px -4px rgba(0, 0, 0, .2);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .2), 0 8px 10px -6px rgba(0, 0, 0, .2);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .4);--shadow-navbar: 0 1px 3px 0 rgba(0, 0, 0, .2), 0 1px 2px -1px rgba(0, 0, 0, .2);--shadow-dropdown: 0 10px 15px -3px rgba(0, 0, 0, .3), 0 4px 6px -4px rgba(0, 0, 0, .3);--shadow-modal: 0 25px 50px -12px rgba(0, 0, 0, .5)}:root{--ease-linear: linear;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-back-in: cubic-bezier(.36, 0, .66, -.56);--ease-back-out: cubic-bezier(.34, 1.56, .64, 1);--ease-back-in-out: cubic-bezier(.68, -.6, .32, 1.6);--ease-bounce-in: cubic-bezier(.6, -.28, .735, .045);--ease-bounce-out: cubic-bezier(.175, .885, .32, 1.275);--ease-bounce-in-out: cubic-bezier(.68, -.55, .265, 1.55);--duration-instant: 0ms;--duration-immediate: 50ms;--duration-fast: .1s;--duration-normal: .15s;--duration-medium: .2s;--duration-slow: .3s;--duration-slower: .5s;--duration-slowest: .75s;--transition-colors: color var(--duration-normal) var(--ease-out), background-color var(--duration-normal) var(--ease-out), border-color var(--duration-normal) var(--ease-out);--transition-transform: transform var(--duration-normal) var(--ease-out);--transition-opacity: opacity var(--duration-normal) var(--ease-out);--transition-all: all var(--duration-normal) var(--ease-out);--transition-button: background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);--transition-input: border-color var(--duration-normal) var(--ease-out), box-shadow var(--duration-normal) var(--ease-out), background-color var(--duration-normal) var(--ease-out);--transition-link: color var(--duration-fast) var(--ease-out), text-decoration-color var(--duration-fast) var(--ease-out);--transition-card: box-shadow var(--duration-medium) var(--ease-out), transform var(--duration-medium) var(--ease-out);--transition-modal: opacity var(--duration-medium) var(--ease-out), transform var(--duration-medium) var(--ease-out);--transition-dropdown: opacity var(--duration-normal) var(--ease-out), transform var(--duration-normal) var(--ease-out);--animation-fade-in: fadeIn var(--duration-medium) var(--ease-out) forwards;--animation-fade-out: fadeOut var(--duration-medium) var(--ease-out) forwards;--animation-slide-in: slideIn var(--duration-medium) var(--ease-out) forwards;--animation-slide-out: slideOut var(--duration-medium) var(--ease-out) forwards;--animation-scale-in: scaleIn var(--duration-medium) var(--ease-back-out) forwards;--animation-scale-out: scaleOut var(--duration-normal) var(--ease-back-in) forwards;--animation-bounce: bounce var(--duration-slower) var(--ease-bounce-out) infinite;--animation-float: float 6s var(--ease-in-out) infinite;--animation-pulse: pulse 2s var(--ease-in-out) infinite;--animation-spin: spin 1s var(--ease-linear) infinite;--animation-ripple: ripple .6s var(--ease-out);--delay-none: 0ms;--delay-short: 75ms;--delay-medium: .15s;--delay-long: .3s;--delay-longer: .5s;--stagger-1: calc(var(--delay-short) * 1);--stagger-2: calc(var(--delay-short) * 2);--stagger-3: calc(var(--delay-short) * 3);--stagger-4: calc(var(--delay-short) * 4);--stagger-5: calc(var(--delay-short) * 5);--duration-reduced: 1ms;--transition-reduced: none}@media (prefers-reduced-motion: reduce){:root{--duration-immediate: var(--duration-reduced);--duration-fast: var(--duration-reduced);--duration-normal: var(--duration-reduced);--duration-medium: var(--duration-reduced);--duration-slow: var(--duration-reduced);--duration-slower: var(--duration-reduced);--duration-slowest: var(--duration-reduced);--transition-colors: var(--transition-reduced);--transition-transform: var(--transition-reduced);--transition-opacity: var(--transition-reduced);--transition-all: var(--transition-reduced);--transition-button: var(--transition-reduced);--transition-input: var(--transition-reduced);--transition-link: var(--transition-reduced);--transition-card: var(--transition-reduced);--transition-modal: var(--transition-reduced);--transition-dropdown: var(--transition-reduced)}}:root{--breakpoint-xs: 480px;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px;--container-xs: 100%;--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px;--container-2xl: 1536px;--container-max-xs: var(--container-xs);--container-max-sm: var(--container-sm);--container-max-md: var(--container-md);--container-max-lg: var(--container-lg);--container-max-xl: var(--container-xl);--container-max-2xl: var(--container-2xl);--grid-columns: 12;--grid-columns-sm: 4;--grid-columns-md: 8;--grid-columns-lg: 12;--grid-gap: var(--space-4);--grid-gap-sm: var(--space-2);--grid-gap-md: var(--space-4);--grid-gap-lg: var(--space-6);--grid-gap-xl: var(--space-8);--header-height: 4rem;--header-height-compact: 3rem;--header-height-large: 5rem;--sidebar-width: 16rem;--sidebar-width-compact: 12rem;--sidebar-width-large: 20rem;--sidebar-width-collapsed: 4rem;--right-sidebar-width: var(--sidebar-width-large);--sidebar-header-height: 3.75rem;--footer-height: 4rem;--footer-height-compact: 3rem;--content-max-width: 65ch;--content-max-width-wide: 80ch;--content-max-width-narrow: 50ch;--article-width: var(--content-max-width);--article-width-wide: var(--content-max-width-wide);--z-base: 0;--z-dropdown: 1000;--z-sticky: 1010;--z-fixed: 1020;--z-modal-backdrop: 1030;--z-modal: 1040;--z-popover: 1050;--z-tooltip: 1060;--z-toast: 1070;--z-maximum: 2147483647;--aspect-square: 1 / 1;--aspect-video: 16 / 9;--aspect-video-wide: 21 / 9;--aspect-photo: 4 / 3;--aspect-portrait: 3 / 4;--aspect-golden: 1.618 / 1;--size-0: 0px;--size-1: .25rem;--size-2: .5rem;--size-3: .75rem;--size-4: 1rem;--size-5: 1.25rem;--size-6: 1.5rem;--size-7: 1.75rem;--size-8: 2rem;--size-9: 2.25rem;--size-10: 2.5rem;--size-11: 2.75rem;--size-12: 3rem;--size-14: 3.5rem;--size-16: 4rem;--size-20: 5rem;--size-24: 6rem;--size-28: 7rem;--size-32: 8rem;--size-36: 9rem;--size-40: 10rem;--size-44: 11rem;--size-48: 12rem;--size-52: 13rem;--size-56: 14rem;--size-60: 15rem;--size-64: 16rem;--size-72: 18rem;--size-80: 20rem;--size-96: 24rem;--size-1-2: 50%;--size-1-3: 33.333333%;--size-2-3: 66.666667%;--size-1-4: 25%;--size-2-4: 50%;--size-3-4: 75%;--size-1-5: 20%;--size-2-5: 40%;--size-3-5: 60%;--size-4-5: 80%;--size-1-6: 16.666667%;--size-2-6: 33.333333%;--size-3-6: 50%;--size-4-6: 66.666667%;--size-5-6: 83.333333%;--size-full: 100%;--size-screen: 100vw;--size-min: min-content;--size-max: max-content;--size-fit: fit-content;--safe-area-inset-top: env(safe-area-inset-top, 0px);--safe-area-inset-right: env(safe-area-inset-right, 0px);--safe-area-inset-bottom: env(safe-area-inset-bottom, 0px);--safe-area-inset-left: env(safe-area-inset-left, 0px);--scroll-margin: var(--space-4);--scroll-margin-top: var(--header-height)}.container{max-width:var(--container-xl);margin:0 auto;padding:0 var(--spacing-container);width:100%}.container-xs{max-width:var(--container-xs);margin:0 auto;padding:0 var(--spacing-container)}.container-sm{max-width:var(--container-sm);margin:0 auto;padding:0 var(--spacing-container)}.container-md{max-width:var(--container-md);margin:0 auto;padding:0 var(--spacing-container)}.container-lg{max-width:var(--container-lg);margin:0 auto;padding:0 var(--spacing-container)}.container-xl{max-width:var(--container-xl);margin:0 auto;padding:0 var(--spacing-container)}.container-2xl{max-width:var(--container-2xl);margin:0 auto;padding:0 var(--spacing-container)}.container-fluid{width:100%;padding:0 var(--spacing-container)}.container-content{max-width:var(--content-max-width);margin:0 auto;padding:0 var(--spacing-container)}.container-content-wide{max-width:var(--content-max-width-wide);margin:0 auto;padding:0 var(--spacing-container)}.container-content-narrow{max-width:var(--content-max-width-narrow);margin:0 auto;padding:0 var(--spacing-container)}@media (max-width: 640px){.container,.container-xs,.container-sm,.container-md,.container-lg,.container-xl,.container-2xl,.container-fluid,.container-content,.container-content-wide,.container-content-narrow{padding:0 var(--space-4)}}@media (min-width: 640px) and (max-width: 768px){.container,.container-sm,.container-md,.container-lg,.container-xl,.container-2xl,.container-fluid,.container-content,.container-content-wide,.container-content-narrow{padding:0 var(--space-6)}}.container-no-padding{padding:0}.container-tight{padding:0 var(--space-2)}.container-loose{padding:0 var(--space-8)}.container-safe{padding-left:max(var(--spacing-container),var(--safe-area-inset-left));padding-right:max(var(--spacing-container),var(--safe-area-inset-right))}.grid{display:grid;gap:var(--grid-gap)}.grid-auto-fit{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.grid-auto-fit-sm{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.grid-auto-fit-lg{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-auto-fill{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.grid-cols-5{grid-template-columns:repeat(5,1fr)}.grid-cols-6{grid-template-columns:repeat(6,1fr)}.grid-cols-7{grid-template-columns:repeat(7,1fr)}.grid-cols-8{grid-template-columns:repeat(8,1fr)}.grid-cols-9{grid-template-columns:repeat(9,1fr)}.grid-cols-10{grid-template-columns:repeat(10,1fr)}.grid-cols-11{grid-template-columns:repeat(11,1fr)}.grid-cols-12{grid-template-columns:repeat(12,1fr)}.grid-cols-none{grid-template-columns:none}.grid-cols-subgrid{grid-template-columns:subgrid}.grid-rows-1{grid-template-rows:repeat(1,1fr)}.grid-rows-2{grid-template-rows:repeat(2,1fr)}.grid-rows-3{grid-template-rows:repeat(3,1fr)}.grid-rows-4{grid-template-rows:repeat(4,1fr)}.grid-rows-5{grid-template-rows:repeat(5,1fr)}.grid-rows-6{grid-template-rows:repeat(6,1fr)}.grid-rows-none{grid-template-rows:none}.grid-rows-subgrid{grid-template-rows:subgrid}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.gap-2xl{gap:var(--spacing-2xl)}.col-auto{grid-column:auto}.col-span-1{grid-column:span 1 / span 1}.col-span-2{grid-column:span 2 / span 2}.col-span-3{grid-column:span 3 / span 3}.col-span-4{grid-column:span 4 / span 4}.col-span-5{grid-column:span 5 / span 5}.col-span-6{grid-column:span 6 / span 6}.col-span-7{grid-column:span 7 / span 7}.col-span-8{grid-column:span 8 / span 8}.col-span-9{grid-column:span 9 / span 9}.col-span-10{grid-column:span 10 / span 10}.col-span-11{grid-column:span 11 / span 11}.col-span-12{grid-column:span 12 / span 12}.col-span-full{grid-column:1 / -1}.col-start-1{grid-column-start:1}.col-start-2{grid-column-start:2}.col-start-3{grid-column-start:3}.col-start-4{grid-column-start:4}.col-start-5{grid-column-start:5}.col-start-6{grid-column-start:6}.col-start-7{grid-column-start:7}.col-start-8{grid-column-start:8}.col-start-9{grid-column-start:9}.col-start-10{grid-column-start:10}.col-start-11{grid-column-start:11}.col-start-12{grid-column-start:12}.col-start-13{grid-column-start:13}.col-start-auto{grid-column-start:auto}.col-end-1{grid-column-end:1}.col-end-2{grid-column-end:2}.col-end-3{grid-column-end:3}.col-end-4{grid-column-end:4}.col-end-5{grid-column-end:5}.col-end-6{grid-column-end:6}.col-end-7{grid-column-end:7}.col-end-8{grid-column-end:8}.col-end-9{grid-column-end:9}.col-end-10{grid-column-end:10}.col-end-11{grid-column-end:11}.col-end-12{grid-column-end:12}.col-end-13{grid-column-end:13}.col-end-auto{grid-column-end:auto}.row-auto{grid-row:auto}.row-span-1{grid-row:span 1 / span 1}.row-span-2{grid-row:span 2 / span 2}.row-span-3{grid-row:span 3 / span 3}.row-span-4{grid-row:span 4 / span 4}.row-span-5{grid-row:span 5 / span 5}.row-span-6{grid-row:span 6 / span 6}.row-span-full{grid-row:1 / -1}.justify-items-start{justify-items:start}.justify-items-end{justify-items:end}.justify-items-center{justify-items:center}.justify-items-stretch{justify-items:stretch}.align-items-start{align-items:start}.align-items-end{align-items:end}.align-items-center{align-items:center}.align-items-stretch{align-items:stretch}.justify-content-start{justify-content:start}.justify-content-end{justify-content:end}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.justify-content-around{justify-content:space-around}.justify-content-evenly{justify-content:space-evenly}.justify-content-stretch{justify-content:stretch}.align-content-start{align-content:start}.align-content-end{align-content:end}.align-content-center{align-content:center}.align-content-between{align-content:space-between}.align-content-around{align-content:space-around}.align-content-evenly{align-content:space-evenly}.align-content-stretch{align-content:stretch}.place-content-start{place-content:start}.place-content-end{place-content:end}.place-content-center{place-content:center}.place-content-between{place-content:space-between}.place-content-around{place-content:space-around}.place-content-evenly{place-content:space-evenly}.place-content-stretch{place-content:stretch}.justify-self-auto{justify-self:auto}.justify-self-start{justify-self:start}.justify-self-end{justify-self:end}.justify-self-center{justify-self:center}.justify-self-stretch{justify-self:stretch}.align-self-auto{align-self:auto}.align-self-start{align-self:start}.align-self-end{align-self:end}.align-self-center{align-self:center}.align-self-stretch{align-self:stretch}@media (max-width: 640px){.grid-auto-fit,.grid-auto-fit-sm,.grid-auto-fit-lg,.grid-auto-fill{grid-template-columns:1fr}.sm\:grid-cols-1{grid-template-columns:repeat(1,1fr)}.sm\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.sm\:grid-cols-3{grid-template-columns:repeat(3,1fr)}}@media (min-width: 640px){.sm\:grid-cols-1{grid-template-columns:repeat(1,1fr)}.sm\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.sm\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.sm\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.sm\:grid-cols-5{grid-template-columns:repeat(5,1fr)}.sm\:grid-cols-6{grid-template-columns:repeat(6,1fr)}}@media (min-width: 768px){.md\:grid-cols-1{grid-template-columns:repeat(1,1fr)}.md\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.md\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.md\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.md\:grid-cols-5{grid-template-columns:repeat(5,1fr)}.md\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.md\:grid-cols-8{grid-template-columns:repeat(8,1fr)}}@media (min-width: 1024px){.lg\:grid-cols-1{grid-template-columns:repeat(1,1fr)}.lg\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.lg\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.lg\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.lg\:grid-cols-5{grid-template-columns:repeat(5,1fr)}.lg\:grid-cols-6{grid-template-columns:repeat(6,1fr)}.lg\:grid-cols-8{grid-template-columns:repeat(8,1fr)}.lg\:grid-cols-10{grid-template-columns:repeat(10,1fr)}.lg\:grid-cols-12{grid-template-columns:repeat(12,1fr)}}.grid-sidebar{display:grid;grid-template-columns:var(--sidebar-width) 1fr;gap:var(--grid-gap)}.grid-layout{display:grid;grid-template-rows:auto 1fr auto;min-height:100vh}.grid-two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--grid-gap)}.grid-three-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--grid-gap)}.flex-inline{display:inline-flex}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.flex-nowrap{flex-wrap:nowrap}.justify-start{justify-content:flex-start}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.justify-stretch{justify-content:stretch}.items-end{align-items:flex-end}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.content-start{align-content:flex-start}.content-end{align-content:flex-end}.content-center{align-content:center}.content-between{align-content:space-between}.content-around{align-content:space-around}.content-evenly{align-content:space-evenly}.content-stretch{align-content:stretch}.self-auto{align-self:auto}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-stretch{align-self:stretch}.self-baseline{align-self:baseline}.flex-grow-0{flex-grow:0}.flex-grow{flex-grow:1}.flex-grow-2{flex-grow:2}.flex-grow-3{flex-grow:3}.flex-shrink{flex-shrink:1}.flex-shrink-2{flex-shrink:2}.flex-shrink-3{flex-shrink:3}.flex-basis-0{flex-basis:0%}.flex-basis-auto{flex-basis:auto}.flex-basis-full{flex-basis:100%}.flex-basis-1-2{flex-basis:50%}.flex-basis-1-3{flex-basis:33.333333%}.flex-basis-2-3{flex-basis:66.666667%}.flex-basis-1-4{flex-basis:25%}.flex-basis-3-4{flex-basis:75%}.flex-auto{flex:1 1 auto}.flex-initial{flex:0 1 auto}.flex-none{flex:none}.gap-0{gap:var(--space-0)}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.gap-10{gap:var(--space-10)}.gap-12{gap:var(--space-12)}.gap-16{gap:var(--space-16)}.gap-20{gap:var(--space-20)}.gap-24{gap:var(--space-24)}.gap-y-0{row-gap:var(--space-0)}.gap-y-1{row-gap:var(--space-1)}.gap-y-2{row-gap:var(--space-2)}.gap-y-3{row-gap:var(--space-3)}.gap-y-4{row-gap:var(--space-4)}.gap-y-5{row-gap:var(--space-5)}.gap-y-6{row-gap:var(--space-6)}.gap-y-8{row-gap:var(--space-8)}.gap-x-0{column-gap:var(--space-0)}.gap-x-1{column-gap:var(--space-1)}.gap-x-2{column-gap:var(--space-2)}.gap-x-3{column-gap:var(--space-3)}.gap-x-4{column-gap:var(--space-4)}.gap-x-5{column-gap:var(--space-5)}.gap-x-6{column-gap:var(--space-6)}.gap-x-8{column-gap:var(--space-8)}@media (min-width: 640px){.sm\:flex{display:flex}.sm\:flex-inline{display:inline-flex}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:justify-start{justify-content:flex-start}.sm\:justify-center{justify-content:center}.sm\:justify-between{justify-content:space-between}.sm\:items-start{align-items:flex-start}.sm\:items-center{align-items:center}.sm\:items-end{align-items:flex-end}}@media (min-width: 768px){.md\:flex{display:flex}.md\:flex-inline{display:inline-flex}.md\:flex-row{flex-direction:row}.md\:flex-col{flex-direction:column}.md\:justify-start{justify-content:flex-start}.md\:justify-center{justify-content:center}.md\:justify-between{justify-content:space-between}.md\:items-start{align-items:flex-start}.md\:items-center{align-items:center}.md\:items-end{align-items:flex-end}}@media (min-width: 1024px){.lg\:flex{display:flex}.lg\:flex-inline{display:inline-flex}.lg\:flex-row{flex-direction:row}.lg\:flex-col{flex-direction:column}.lg\:justify-start{justify-content:flex-start}.lg\:justify-center{justify-content:center}.lg\:justify-between{justify-content:space-between}.lg\:items-start{align-items:flex-start}.lg\:items-center{align-items:center}.lg\:items-end{align-items:flex-end}}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-start-center{display:flex;align-items:center;justify-content:flex-start}.flex-end-center{display:flex;align-items:center;justify-content:flex-end}.flex-col-center{display:flex;flex-direction:column;align-items:center;justify-content:center}.flex-col-start{display:flex;flex-direction:column;align-items:flex-start}.flex-full{display:flex;min-height:100vh}.flex-inline-gap{display:inline-flex;gap:var(--space-2);align-items:center}.navbar{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-xs) var(--spacing-md);border-bottom:var(--border-default);color:var(--foreground);background-color:var(--background);transition:var(--transition-colors);position:sticky;height:var(--header-height);top:0;z-index:var(--z-sticky);box-shadow:var(--shadow-navbar)}.logo{display:flex;align-items:center;text-decoration:none!important;font-size:var(--text-h2-size);color:var(--foreground);margin-right:var(--spacing-md);transition:var(--transition-transform);font-weight:var(--font-weight-medium)}.logo:hover{transform:scale(1.02)}.mobile-nav-controls{display:flex;align-items:center;gap:var(--spacing-sm)}.mobile-language-switcher{display:block}.menu-button{background:none;border:none;color:var(--foreground);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-button-sm);transition:var(--transition-button);display:flex;align-items:center;justify-content:center}.menu-button:hover{background-color:var(--hover);transform:scale(1.05)}.menu-button:focus-visible{outline:var(--outline-focus);outline-offset:var(--outline-focus-offset)}.menu-icon{width:var(--size-6);height:var(--size-6);transition:var(--transition-transform)}.menu-button:hover .menu-icon{transform:scale(1.1)}.nav-links{margin-right:auto;display:none;gap:var(--spacing-md)}.nav-link{color:var(--foreground-muted);text-decoration:none!important;transition:var(--transition-link);position:relative;padding:var(--spacing-sm) var(--spacing-md);font-weight:var(--font-weight-medium);border-radius:var(--radius-button-sm);font-size:var(--text-body-size)}.nav-link:hover{color:var(--foreground);background-color:var(--hover)}.nav-link:after{content:"";position:absolute;bottom:0;left:var(--spacing-md);right:var(--spacing-md);height:2px;background-color:var(--primary);border-radius:var(--radius-full);transform:scaleX(0);transition:var(--transition-transform);transform-origin:center}.nav-link:hover:after{transform:scaleX(1)}.nav-link.mobile-restricted{color:var(--foreground-muted);opacity:.7;cursor:not-allowed}.nav-link.mobile-restricted:hover{color:var(--foreground-muted);background-color:var(--warning-alpha, rgba(var(--warning-rgb), .1))}.nav-link.mobile-restricted:after{background-color:var(--warning)}.auth-buttons{display:flex;gap:var(--spacing-md);align-items:center}.user-menu{position:relative;z-index:var(--z-dropdown)}.user-button{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;margin-right:.5rem;border-radius:2rem;cursor:pointer;color:var(--foreground);transition:all .2s ease;background-color:rgba(var(--accent-rgb, var(--primary-rgb)),.3);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(var(--primary-rgb),.15);box-shadow:0 2px 10px #0000000d}.user-button:hover{background-color:rgba(var(--accent-rgb, var(--primary-rgb)),.5);transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.user-button:focus-visible{outline:var(--outline-focus);outline-offset:var(--outline-focus-offset)}.user-avatar{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;overflow:hidden;box-shadow:0 2px 5px #0000001a}.user-icon-svg{width:100%;height:100%;padding:2px}.user-name{font-weight:var(--font-weight-semibold);max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.02em;text-shadow:0 1px 2px rgba(0,0,0,.1);color:var(--primary)}.user-dropdown{position:absolute;top:calc(100% + .72rem);right:-15%;background:var(--background);border-radius:var(--radius-dropdown);box-shadow:var(--shadow-dropdown);border:var(--border-dropdown);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);width:180px;z-index:1000;overflow:hidden;animation:var(--animation-scale-in)}@keyframes fadeIn{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.dropdown-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:none;border:none;text-align:left;cursor:pointer;transition:var(--transition-colors);color:var(--foreground);font-size:var(--text-body-small-size);font-weight:var(--font-weight-medium);width:100%;position:relative}.dropdown-item:hover{background-color:var(--hover);color:var(--primary)}.dropdown-item:focus-visible{outline:var(--outline-focus);outline-offset:calc(var(--outline-focus-offset) * -1);background-color:var(--hover)}.dropdown-item.active{background-color:var(--primary-alpha, rgba(var(--primary-rgb), .1));color:var(--primary);font-weight:var(--font-weight-semibold);border-left:var(--space-1) solid var(--primary);padding-left:calc(var(--spacing-md) - var(--space-1))}.dropdown-item:not(:last-child){border-bottom:var(--border-divider)}.dropdown-item svg{width:var(--size-4);height:var(--size-4);transition:var(--transition-transform);flex-shrink:0}.dropdown-item:hover svg,.dropdown-item.active svg{color:var(--primary);transform:scale(1.1)}.desktop-only{display:block}@media (max-width: 767px){.desktop-only{display:none!important}}@media (min-width: 768px){.nav-links{display:flex}.mobile-nav-controls,.mobile-language-switcher{display:none}}.mobile-menu{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--background-overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:var(--z-modal);transform:translate(-100%);transition:var(--transition-transform)}.mobile-menu.open{transform:translate(0)}.mobile-menu-content{background-color:var(--background);margin:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);padding:var(--spacing-lg);max-height:calc(100vh - calc(var(--spacing-xl) * 2));overflow-y:auto}.mobile-menu-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--spacing-lg);border-bottom:var(--border-divider);margin-bottom:var(--spacing-lg)}.mobile-logo{display:flex;align-items:center;text-decoration:none!important;font-size:var(--text-h3-size);color:var(--foreground);font-weight:var(--font-weight-medium)}.mobile-menu-close{background:none;border:none;color:var(--foreground-muted);cursor:pointer;padding:var(--spacing-sm);border-radius:var(--radius-button-sm);transition:var(--transition-button);display:flex;align-items:center;justify-content:center}.mobile-menu-close:hover{background-color:var(--hover);color:var(--foreground);transform:scale(1.05)}.mobile-menu-close:focus-visible{outline:var(--outline-focus);outline-offset:var(--outline-focus-offset)}.close-icon{width:var(--size-6);height:var(--size-6);transition:var(--transition-transform)}.mobile-menu-close:hover .close-icon{transform:rotate(90deg)}.mobile-menu .nav-links{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.mobile-menu .nav-link{padding:var(--spacing-md);border-radius:var(--radius-md);font-size:var(--text-body-large-size);transition:var(--transition-colors)}.mobile-menu .nav-link:hover{background-color:var(--hover)}.mobile-menu .nav-link:after{display:none}.mobile-menu .auth-buttons{flex-direction:column;gap:var(--spacing-md)}@media (max-width: 768px){.user-name{display:none}.user-button{padding:var(--spacing-sm)}.user-avatar{width:var(--size-8);height:var(--size-8)}.user-dropdown{right:var(--spacing-sm);width:160px}.dropdown-item{padding:var(--spacing-md)}}.site-footer{background:var(--background);color:var(--foreground-muted);padding:var(--spacing-5xl) 0 var(--spacing-lg);margin-top:var(--spacing-section);border-top:var(--border-divider);position:relative}.site-footer:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--gradient-accent);opacity:.3}.footer-container{max-width:var(--container-xl);margin:0 auto;padding:0 var(--spacing-container);display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-2xl)}.footer-section{margin-bottom:var(--spacing-xl)}.footer-heading{color:var(--foreground);font-size:var(--text-h5-size);font-weight:var(--text-h5-weight);margin-bottom:var(--spacing-lg);line-height:var(--text-h5-line-height)}.footer-description{line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-lg);color:var(--foreground-muted);font-size:var(--text-body-size)}.footer-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-sm)}.footer-links li{margin-bottom:0}.footer-links a{color:var(--foreground-muted);text-decoration:none;transition:var(--transition-link);font-weight:var(--font-weight-medium);font-size:var(--text-body-size);display:inline-block;padding:var(--spacing-xs) 0;border-radius:var(--radius-sm);position:relative}.footer-links a:hover{color:var(--primary);transform:translate(var(--space-1))}.footer-links a:before{content:"";position:absolute;left:calc(var(--space-2) * -1);top:50%;transform:translateY(-50%) scaleX(0);width:var(--space-1);height:var(--space-1);background-color:var(--primary);border-radius:var(--radius-full);transition:var(--transition-transform);transform-origin:center}.footer-links a:hover:before{transform:translateY(-50%) scaleX(1)}.footer-contact-link{color:var(--foreground-muted);text-decoration:none;font-weight:var(--font-weight-medium);transition:var(--transition-link);font-size:var(--text-body-size);display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);border-radius:var(--radius-md);margin:calc(var(--spacing-sm) * -1)}.footer-contact-link:hover{color:var(--primary);background-color:var(--hover);text-decoration:none}.social-links{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-lg);flex-wrap:wrap}.social-link{color:var(--foreground-muted);transition:var(--transition-button);padding:var(--spacing-sm);border-radius:var(--radius-md);border:var(--border-interactive);background-color:var(--surface);display:flex;align-items:center;justify-content:center;width:var(--size-10);height:var(--size-10);text-decoration:none}.social-link:hover{color:var(--primary);background-color:var(--primary);color:var(--primary-foreground);transform:translateY(calc(var(--space-1) * -1));box-shadow:var(--shadow-md);border-color:var(--primary)}.social-link:focus-visible{outline:var(--outline-focus);outline-offset:var(--outline-focus-offset)}.social-link svg{width:var(--size-5);height:var(--size-5);transition:var(--transition-transform)}.social-link:hover svg{transform:scale(1.1)}.footer-bottom{max-width:var(--container-xl);margin:0 auto;padding:var(--spacing-xl) var(--spacing-container) 0;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;border-top:var(--border-divider);margin-top:var(--spacing-xl);position:relative}.copyright{margin-bottom:var(--spacing-lg);color:var(--foreground-muted);font-size:var(--text-body-small-size);font-weight:var(--font-weight-regular)}.footer-legal-links{display:flex;gap:var(--spacing-lg);flex-wrap:wrap}.footer-legal-links a{color:var(--foreground-muted);text-decoration:none;font-size:var(--text-body-small-size);transition:var(--transition-link);font-weight:var(--font-weight-medium);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);border:1px solid transparent}.footer-legal-links a:hover{color:var(--primary);background-color:var(--hover);border-color:var(--border-subtle)}@media (max-width: 768px){.footer-container{grid-template-columns:1fr;gap:var(--spacing-xl);padding:0 var(--spacing-lg)}.footer-bottom{flex-direction:column;text-align:center;padding:var(--spacing-lg);gap:var(--spacing-md)}.footer-legal-links{margin-top:0;justify-content:center;gap:var(--spacing-md)}.social-links{justify-content:center;gap:var(--spacing-sm)}.footer-section{text-align:center}.footer-links{align-items:center}}.shimmer-button{--spread: 360deg;--radius: var(--radius-button-xl);--speed: var(--duration-10000);--cut: var(--space-0);--shimmer-color: var(--primary-alpha, rgba(var(--primary-rgb), .4));--bg: var(--background);--unified-sidebar-radius: 8px;position:relative;z-index:0;display:flex;cursor:pointer;align-items:center;justify-content:center;overflow:hidden;white-space:nowrap;border:var(--border-button);padding:var(--spacing-md) var(--spacing-xl);color:var(--foreground);background:var(--background);border-radius:var(--radius);transform:translateZ(0);transition:var(--transition-button);font-weight:var(--font-weight-medium);font-size:var(--text-button-size);text-shadow:var(--shadow-text-subtle);min-height:var(--size-button-md)}.shimmer-button:hover{transform:translateY(calc(var(--space-0-5) * -1));box-shadow:var(--shadow-button-hover);border-color:var(--primary-hover)}.shimmer-button:active{transform:translateY(var(--space-0-5));box-shadow:var(--shadow-button-active)}.shimmer-button:focus-visible{outline:var(--outline-focus);outline-offset:var(--outline-focus-offset)}.shimmer-button:disabled{cursor:not-allowed;opacity:.5;transform:none;box-shadow:var(--shadow-button-disabled)}.shimmer-button__spark-container{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-30;overflow:visible;container-type:size;filter:blur(var(--space-0-5));opacity:.8}.shimmer-button__spark{position:absolute;top:0;right:0;bottom:0;left:0;height:100cqh;aspect-ratio:1;border-radius:0;mask:none;animation:shimmer-slide var(--speed) linear infinite}.shimmer-button__spark:before{content:"";position:absolute;top:-100%;right:-100%;bottom:-100%;left:-100%;width:auto;rotate:0;background:conic-gradient(from calc(270deg - (var(--spread) * .5)),transparent 0,var(--shimmer-color) var(--spread),transparent var(--spread));animation:spin-around var(--duration-5000) linear infinite}.shimmer-button__highlight{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border-radius:var(--radius);padding:var(--spacing-xs) var(--spacing-lg);box-shadow:inset 0 calc(var(--space-2) * -1) var(--space-2-5) var(--primary-alpha, rgba(var(--primary-rgb), .12));transform:translateZ(0);transition:var(--transition-shadow)}.shimmer-button:hover .shimmer-button__highlight{box-shadow:inset 0 calc(var(--space-1-5) * -1) var(--space-2-5) var(--primary-alpha, rgba(var(--primary-rgb), .24))}.shimmer-button:active .shimmer-button__highlight{box-shadow:inset 0 calc(var(--space-2-5) * -1) var(--space-2-5) var(--primary-alpha, rgba(var(--primary-rgb), .24))}.shimmer-button__backdrop{position:absolute;z-index:-20;background:var(--bg);border-radius:var(--radius);inset:var(--cut);transition:var(--transition-colors)}.shimmer-button.secondary{--bg: var(--surface);--shimmer-color: var(--primary-alpha, rgba(var(--primary-rgb), .3));color:var(--foreground);background:var(--background);border:var(--border-interactive);text-shadow:none}.shimmer-button.secondary:hover{background-color:var(--surface-hover);border-color:var(--primary);color:var(--primary)}.shimmer-button.secondary .shimmer-button__backdrop{background:var(--surface)}.shimmer-button.secondary:hover .shimmer-button__backdrop{background-color:var(--surface-hover)}.shimmer-button.secondary .shimmer-button__highlight{box-shadow:inset 0 calc(var(--space-2) * -1) var(--space-2-5) var(--surface-alpha, rgba(var(--foreground-rgb), .05))}.shimmer-button.outline{--bg: transparent;--shimmer-color: var(--primary-alpha, rgba(var(--primary-rgb), .4));color:var(--primary);background:transparent;border:var(--border-interactive);text-shadow:none}.shimmer-button.outline:hover{background-color:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.shimmer-button.outline .shimmer-button__backdrop{background:transparent}.shimmer-button.outline:hover .shimmer-button__backdrop{background-color:var(--primary)}.shimmer-button.ghost{--bg: transparent;--shimmer-color: var(--primary-alpha, rgba(var(--primary-rgb), .3));color:var(--primary);background:transparent;border:1px solid transparent;text-shadow:none}.shimmer-button.ghost:hover{background-color:var(--hover);border-color:var(--border-subtle)}.shimmer-button.ghost .shimmer-button__backdrop{background:transparent}.shimmer-button.ghost:hover .shimmer-button__backdrop{background-color:var(--hover)}.shimmer-button.small{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--text-body-small-size);min-height:var(--size-button-sm);--radius: var(--radius-button-sm)}.shimmer-button.large{padding:var(--spacing-lg) var(--spacing-2xl);font-size:var(--text-body-large-size);min-height:var(--size-button-lg);--radius: var(--radius-button-lg)}@keyframes shimmer-slide{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes spin-around{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.shimmer-button__spark{animation:none}.shimmer-button__spark:before{animation:none}.shimmer-button{transition:var(--transition-reduced)}}@media (prefers-contrast: high){.shimmer-button{border-width:2px}.shimmer-button__spark-container{display:none}}@media (max-width: 768px){.shimmer-button{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--text-body-size)}.shimmer-button.large{padding:var(--spacing-md) var(--spacing-xl);font-size:var(--text-body-large-size)}}.form-group{margin-bottom:var(--spacing-lg)}.form-label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--foreground);margin-bottom:var(--spacing-sm)}.form-helper{font-size:var(--font-size-xs);color:var(--foreground-muted);margin-top:var(--spacing-xs)}.form-error{font-size:var(--font-size-xs);color:var(--error);margin-top:var(--spacing-xs)}.form-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border);border-radius:var(--radius-md);background-color:var(--background);color:var(--foreground);font-size:var(--font-size-sm);transition:var(--transition-colors);outline:none}.form-input:focus{border-color:var(--focus);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}.form-input::placeholder{color:var(--foreground-muted)}.form-input:disabled{opacity:.5;cursor:not-allowed;background-color:var(--muted)}.form-input:invalid{border-color:var(--error)}.form-input:invalid:focus{border-color:var(--error);box-shadow:0 0 0 3px rgba(var(--error-rgb),.1)}.form-input-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}.form-input-lg{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-lg)}.form-textarea{width:100%;min-height:80px;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border);border-radius:var(--radius-md);background-color:var(--background);color:var(--foreground);font-size:var(--font-size-sm);font-family:var(--font-family-primary);transition:var(--transition-colors);outline:none;resize:vertical}.form-textarea:focus{border-color:var(--focus);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}.form-textarea::placeholder{color:var(--foreground-muted)}.form-textarea:disabled{opacity:.5;cursor:not-allowed;background-color:var(--muted);resize:none}.form-select{width:100%;padding:var(--spacing-sm) var(--spacing-md);padding-right:36px;border:1px solid var(--border);border-radius:var(--radius-md);background-color:var(--background);color:var(--foreground);font-size:var(--font-size-sm);cursor:pointer;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:var(--transition-colors)}.form-select:focus{border-color:var(--focus);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}.form-select:disabled{opacity:.5;cursor:not-allowed;background-color:var(--muted)}.select-icon{position:absolute;right:var(--spacing-sm);top:50%;transform:translateY(-50%);pointer-events:none;transition:var(--transition-transform);color:var(--foreground-muted)}.select-container:focus-within .select-icon{transform:translateY(-50%) rotate(180deg)}.checkbox-container{display:flex;align-items:flex-start;gap:var(--spacing-sm);cursor:pointer}.form-checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border:2px solid var(--border);border-radius:var(--radius-sm);background-color:var(--background);cursor:pointer;position:relative;transition:var(--transition-colors);flex-shrink:0;margin-top:2px}.form-checkbox:hover{border-color:var(--primary)}.form-checkbox:focus{outline:2px solid var(--focus);outline-offset:2px}.form-checkbox:checked{background-color:var(--primary);border-color:var(--primary)}.form-checkbox:checked:after{content:"✓";position:absolute;top:-2px;left:1px;color:var(--primary-foreground);font-size:12px;font-weight:700}.form-checkbox:disabled{opacity:.5;cursor:not-allowed}.form-checkbox:disabled:hover{border-color:var(--border)}.checkbox-label{cursor:pointer;font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);-webkit-user-select:none;user-select:none}.radio-container{display:flex;align-items:flex-start;gap:var(--spacing-sm);cursor:pointer}.form-radio{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border:2px solid var(--border);border-radius:var(--radius-full);background-color:var(--background);cursor:pointer;position:relative;transition:var(--transition-colors);flex-shrink:0;margin-top:2px}.form-radio:hover{border-color:var(--primary)}.form-radio:focus{outline:2px solid var(--focus);outline-offset:2px}.form-radio:checked{background-color:var(--primary);border-color:var(--primary)}.form-radio:checked:after{content:"";position:absolute;top:2px;left:2px;width:8px;height:8px;background-color:var(--primary-foreground);border-radius:var(--radius-full)}.form-radio:disabled{opacity:.5;cursor:not-allowed}.form-radio:disabled:hover{border-color:var(--border)}.radio-label{cursor:pointer;font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);-webkit-user-select:none;user-select:none}.switch-container{display:flex;align-items:center;gap:var(--spacing-sm)}.switch{position:relative;display:inline-block;width:44px;height:24px}.switch-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--muted);border:1px solid var(--border);border-radius:var(--radius-full);transition:var(--transition-colors)}.switch-slider:before{position:absolute;content:"";height:18px;width:18px;left:2px;bottom:2px;background-color:var(--background);border-radius:var(--radius-full);transition:var(--transition-transform);box-shadow:var(--shadow-sm)}input:focus+.switch-slider{box-shadow:0 0 0 3px rgba(var(--primary-rgb),.2)}input:checked+.switch-slider:before{transform:translate(20px)}.switch-label{font-size:var(--font-size-sm);color:var(--foreground);-webkit-user-select:none;user-select:none}.file-input-container{position:relative;display:inline-block}.form-file{position:absolute;left:-9999px;opacity:0}.file-input-button{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border);border-radius:var(--radius-md);background-color:var(--background);color:var(--foreground);font-size:var(--font-size-sm);cursor:pointer;transition:var(--transition-colors);outline:none}.file-input-button:hover{background-color:var(--hover)}.file-input-button:focus{outline:2px solid var(--focus);outline-offset:2px}.file-input-text{font-size:var(--font-size-sm);color:var(--foreground-muted);margin-left:var(--spacing-sm)}.form-range{width:100%;height:6px;border-radius:var(--radius-full);background:var(--muted);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.form-range::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:var(--radius-full);background:var(--primary);cursor:pointer;box-shadow:var(--shadow-sm);transition:var(--transition-transform)}.form-range::-webkit-slider-thumb:hover{transform:scale(1.1)}.form-range::-moz-range-thumb{width:20px;height:20px;border-radius:var(--radius-full);background:var(--primary);cursor:pointer;border:none;box-shadow:var(--shadow-sm);transition:var(--transition-transform)}.form-range::-moz-range-thumb:hover{transform:scale(1.1)}.form-fieldset{border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--spacing-lg);margin:0;margin-bottom:var(--spacing-lg)}.form-legend{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--foreground);padding:0 var(--spacing-sm)}.form-input.is-valid,.form-textarea.is-valid,.form-select.is-valid{border-color:var(--success)}.form-input.is-valid:focus,.form-textarea.is-valid:focus,.form-select.is-valid:focus{border-color:var(--success);box-shadow:0 0 0 3px rgba(var(--success-rgb),.1)}.form-input.is-invalid,.form-textarea.is-invalid,.form-select.is-invalid{border-color:var(--error)}.form-input.is-invalid:focus,.form-textarea.is-invalid:focus,.form-select.is-invalid:focus{border-color:var(--error);box-shadow:0 0 0 3px rgba(var(--error-rgb),.1)}.valid-feedback{font-size:var(--font-size-xs);color:var(--success);margin-top:var(--spacing-xs)}.invalid-feedback{font-size:var(--font-size-xs);color:var(--error);margin-top:var(--spacing-xs)}[data-theme=dark] .form-input,[data-theme=dark] .form-textarea,[data-theme=dark] .form-select{background-color:var(--background);border-color:var(--border);color:var(--foreground)}[data-theme=dark] .form-input:disabled,[data-theme=dark] .form-textarea:disabled,[data-theme=dark] .form-select:disabled{background-color:var(--muted);opacity:.6}.modern-range-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:8px;margin:10px 0;border-radius:50px;background:var(--background);outline:none;cursor:pointer;transition:all .3s ease;border:none}.modern-range-slider:hover{box-shadow:0 4px 8px #00000026,inset 0 1px 2px #0000000d;transform:translateY(-1px)}.modern-range-slider:focus{outline:none;box-shadow:0 0 0 3px #774c6033}.modern-range-slider:disabled{opacity:.5;cursor:not-allowed;background:#f1f5f9}.modern-range-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#774c60;border:2px solid #ffffff;cursor:pointer;box-shadow:0 2px 6px #0003;transition:all .2s ease;margin-top:-6px}.modern-range-slider::-webkit-slider-thumb:hover{transform:scale(1.1);background:#8b5a70;box-shadow:0 4px 12px #0000004d}.modern-range-slider::-webkit-slider-thumb:active{transform:scale(.95)}.modern-range-slider::-webkit-slider-runnable-track{width:100%;height:8px;cursor:pointer;background:#e2e8f0;border-radius:50px;border:none}.modern-range-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#774c60;border:2px solid #ffffff;cursor:pointer;box-shadow:0 2px 6px #0003;transition:all .2s ease;-moz-appearance:none;-webkit-appearance:none;appearance:none}.modern-range-slider::-moz-range-thumb:hover{transform:scale(1.1);background:#8b5a70;box-shadow:0 4px 12px #0000004d}.modern-range-slider::-moz-range-track{width:100%;height:8px;cursor:pointer;background:#e2e8f0;border-radius:50px;border:none}.modern-range-slider::-ms-track{width:100%;height:8px;cursor:pointer;background:transparent;border-color:transparent;border-width:6px 0;color:transparent}.modern-range-slider::-ms-fill-lower{background:#774c60;border-radius:50px}.modern-range-slider::-ms-fill-upper{background:#e2e8f0;border-radius:50px}.modern-range-slider::-ms-thumb{width:20px;height:20px;border-radius:50%;background:#774c60;border:2px solid #ffffff;cursor:pointer;box-shadow:0 2px 6px #0003}.threshold-range-slider{background:linear-gradient(to right,#774c60 0%,#774c60 var(--progress, 50%),#e2e8f0 var(--progress, 50%),#e2e8f0 100%)}.threshold-range-slider::-webkit-slider-runnable-track{background:transparent}.threshold-range-slider::-moz-range-track{background:transparent}.range-slider-container{display:flex;align-items:center;gap:1rem;margin:.5rem 0;position:relative}.range-slider-label{font-size:.75rem;font-weight:500;color:#64748b;min-width:2.5rem;text-align:center;-webkit-user-select:none;user-select:none}.range-slider-value{font-size:.875rem;font-weight:600;color:var(--foreground);min-width:3rem;text-align:center;background:#774c601a;padding:.25rem .5rem;border-radius:.375rem;border:1px solid rgba(119,76,96,.2)}@media (prefers-color-scheme: dark){.range-slider-value{border-color:#774c604d}}@media (max-width: 768px){.modern-range-slider{height:10px;margin:12px 0}.modern-range-slider::-webkit-slider-thumb{width:24px;height:24px}.modern-range-slider::-moz-range-thumb{width:24px;height:24px}.modern-range-slider::-ms-thumb{width:24px;height:24px}.range-slider-container{gap:.75rem}}.toast-container{position:fixed;z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--spacing-sm);max-width:400px;width:100%;pointer-events:none}.toast-top-right{top:var(--spacing-lg);right:var(--spacing-lg)}.toast-top-left{top:var(--spacing-lg);left:var(--spacing-lg)}.toast-bottom-right{bottom:var(--spacing-lg);right:var(--spacing-lg)}.toast-bottom-left{bottom:var(--spacing-lg);left:var(--spacing-lg)}.toast-top-center{top:var(--spacing-lg);left:50%;transform:translate(-50%)}.toast-bottom-center{bottom:var(--spacing-lg);left:50%;transform:translate(-50%)}.toast{display:flex;align-items:flex-start;padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-toast);background-color:var(--background);border:var(--border-default);box-shadow:var(--shadow-toast);pointer-events:auto;max-width:100%;transition:var(--transition-toast);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);gap:var(--spacing-sm);position:relative;overflow:hidden}.toast:before{content:"";position:absolute;top:0;left:0;bottom:0;width:var(--space-1);background:var(--toast-accent-color, var(--primary));border-radius:var(--radius-full)}.toast-enter{animation:var(--animation-toast-enter)}.toast-exit{animation:var(--animation-toast-exit)}.toast-success{--toast-accent-color: var(--success);border-color:var(--success-alpha, rgba(var(--success-rgb), .2));background-color:var(--success-background, rgba(var(--success-rgb), .05))}.toast-error{--toast-accent-color: var(--destructive);border-color:var(--destructive-alpha, rgba(var(--destructive-rgb), .2));background-color:var(--destructive-background, rgba(var(--destructive-rgb), .05))}.toast-info{--toast-accent-color: var(--info);border-color:var(--info-alpha, rgba(var(--info-rgb), .2));background-color:var(--info-background, rgba(var(--info-rgb), .05))}.toast-warning{--toast-accent-color: var(--warning);border-color:var(--warning-alpha, rgba(var(--warning-rgb), .2));background-color:var(--warning-background, rgba(var(--warning-rgb), .05))}.toast-icon{margin-right:var(--spacing-sm);flex-shrink:0;width:var(--size-5);height:var(--size-5);display:flex;align-items:center;justify-content:center;margin-top:var(--space-0-5)}.toast-success .toast-icon{color:var(--success)}.toast-error .toast-icon{color:var(--destructive)}.toast-info .toast-icon{color:var(--info)}.toast-warning .toast-icon{color:var(--warning)}.toast-content{flex:1;font-size:var(--text-body-small-size);color:var(--foreground);line-height:var(--line-height-relaxed)}.toast-title{font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs);color:var(--foreground);font-size:var(--text-body-size)}.toast-description{color:var(--foreground-muted);font-size:var(--text-body-small-size)}.toast-close{background:transparent;border:none;color:var(--foreground-muted);cursor:pointer;padding:var(--spacing-xs);margin-left:var(--spacing-xs);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);flex-shrink:0;transition:var(--transition-button);width:var(--size-6);height:var(--size-6);margin-top:var(--space-0-5)}.toast-close:hover{color:var(--foreground);background-color:var(--hover);transform:scale(1.1)}.toast-close:focus-visible{outline:var(--outline-focus);outline-offset:var(--outline-focus-offset)}.confirmation-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--background-overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:var(--spacing-lg);animation:var(--animation-fade-in)}.confirmation-dialog{background-color:var(--background);border-radius:var(--radius-modal);width:100%;max-width:460px;box-shadow:var(--shadow-modal);animation:var(--animation-scale-in);overflow:hidden;border:var(--border-modal);position:relative}.confirmation-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg) var(--spacing-xl);border-bottom:var(--border-divider);background-color:var(--surface)}.confirmation-title{font-size:var(--text-h5-size);font-weight:var(--text-h5-weight);margin:0;color:var(--foreground);line-height:var(--text-h5-line-height)}.confirmation-close{background:transparent;border:none;color:var(--foreground-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-button-sm);width:var(--size-8);height:var(--size-8);transition:var(--transition-button)}.confirmation-close:hover{background-color:var(--hover);color:var(--foreground);transform:scale(1.1)}.confirmation-close:focus-visible{outline:var(--outline-focus);outline-offset:var(--outline-focus-offset)}.confirmation-content{padding:var(--spacing-xl);font-size:var(--text-body-size);color:var(--foreground);line-height:var(--line-height-relaxed)}.confirmation-actions{display:flex;gap:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-xl);border-top:var(--border-divider);background-color:var(--surface);justify-content:flex-end}.confirmation-delete .confirmation-header,.confirmation-error .confirmation-header{background-color:var(--destructive-background, rgba(var(--destructive-rgb), .05));border-bottom-color:var(--destructive-alpha, rgba(var(--destructive-rgb), .2))}.confirmation-warning .confirmation-header{background-color:var(--warning-background, rgba(var(--warning-rgb), .05));border-bottom-color:var(--warning-alpha, rgba(var(--warning-rgb), .2))}.confirmation-info .confirmation-header{background-color:var(--info-background, rgba(var(--info-rgb), .05));border-bottom-color:var(--info-alpha, rgba(var(--info-rgb), .2))}.confirmation-button{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-button-md);font-weight:var(--font-weight-medium);font-size:var(--text-button-size);cursor:pointer;transition:var(--transition-button);border:var(--border-button);min-height:var(--size-button-sm);display:inline-flex;align-items:center;justify-content:center}.confirmation-button-primary{background-color:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.confirmation-button-primary:hover{background-color:var(--primary-hover);border-color:var(--primary-hover);transform:translateY(calc(var(--space-0-5) * -1));box-shadow:var(--shadow-button-hover)}.confirmation-button-secondary{background-color:var(--surface);color:var(--foreground);border-color:var(--border-default)}.confirmation-button-secondary:hover{background-color:var(--surface-hover);border-color:var(--primary);color:var(--primary)}.confirmation-button-danger{background-color:var(--destructive);color:var(--destructive-foreground);border-color:var(--destructive)}.confirmation-button-danger:hover{background-color:var(--destructive-hover);border-color:var(--destructive-hover);transform:translateY(calc(var(--space-0-5) * -1));box-shadow:var(--shadow-destructive)}.confirmation-button-warning{background-color:var(--warning);color:var(--warning-foreground);border-color:var(--warning)}.confirmation-button-warning:hover{background-color:var(--warning-hover);border-color:var(--warning-hover);transform:translateY(calc(var(--space-0-5) * -1));box-shadow:var(--shadow-warning)}.confirmation-button-success{background-color:var(--success);color:var(--success-foreground);border-color:var(--success)}.confirmation-button-success:hover{background-color:var(--success-hover);border-color:var(--success-hover);transform:translateY(calc(var(--space-0-5) * -1));box-shadow:var(--shadow-success)}.confirmation-button-link{background:transparent;color:var(--primary);border:1px solid transparent;text-decoration:underline;text-decoration-color:transparent}.confirmation-button-link:hover{text-decoration-color:var(--primary);background-color:var(--hover)}.confirmation-input-group{margin-bottom:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-sm)}.confirmation-input-label{font-size:var(--text-body-small-size);font-weight:var(--font-weight-medium);color:var(--foreground);margin-bottom:var(--spacing-xs)}.confirmation-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:var(--border-input);border-radius:var(--radius-input);background-color:var(--background);color:var(--foreground);font-size:var(--text-body-size);transition:var(--transition-input);min-height:var(--size-input-md)}.confirmation-input:focus{outline:var(--outline-focus);outline-offset:var(--outline-focus-offset);border-color:var(--primary);box-shadow:var(--shadow-input-focus)}@media (max-width: 640px){.toast-container{max-width:calc(100vw - var(--spacing-lg));margin:0 var(--spacing-md)}.toast-top-right,.toast-top-left,.toast-top-center{top:var(--spacing-md);left:var(--spacing-md);right:var(--spacing-md);transform:none}.toast-bottom-right,.toast-bottom-left,.toast-bottom-center{bottom:var(--spacing-md);left:var(--spacing-md);right:var(--spacing-md);transform:none}.confirmation-dialog{margin:var(--spacing-md);max-width:calc(100vw - var(--spacing-xl))}.confirmation-actions{flex-direction:column-reverse}.confirmation-button{width:100%}}.theme-toggle{background:none;border:var(--border-interactive);cursor:pointer;padding:var(--spacing-sm);border-radius:var(--radius-full);transition:var(--transition-button);display:flex;align-items:center;justify-content:center;background-color:var(--surface);color:var(--foreground-muted);width:var(--size-10);height:var(--size-10);position:relative;overflow:hidden}.theme-toggle:hover{transform:scale(1.1) rotate(15deg);background-color:var(--surface-hover);border-color:var(--primary);color:var(--primary);box-shadow:var(--shadow-button-hover)}.theme-toggle:active{transform:scale(.95) rotate(0);box-shadow:var(--shadow-button-active)}.theme-toggle:focus-visible{outline:var(--outline-focus);outline-offset:var(--outline-focus-offset)}.theme-icon{width:var(--size-5);height:var(--size-5);color:inherit;transition:var(--transition-transform);position:relative;z-index:1}.theme-toggle:hover .theme-icon{transform:scale(1.1)}.theme-toggle[data-theme=light]{background-color:var(--warning-background, rgba(var(--warning-rgb), .1));border-color:var(--warning-alpha, rgba(var(--warning-rgb), .3));color:var(--warning)}.theme-toggle[data-theme=light]:hover{background-color:var(--warning);color:var(--warning-foreground);border-color:var(--warning)}.theme-toggle[data-theme=dark]{background-color:var(--info-background, rgba(var(--info-rgb), .1));border-color:var(--info-alpha, rgba(var(--info-rgb), .3));color:var(--info)}.theme-toggle[data-theme=dark]:hover{background-color:var(--info);color:var(--info-foreground);border-color:var(--info)}.theme-toggle:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:var(--radius-full);background:var(--gradient-primary);transform:translate(-50%,-50%);transition:var(--transition-transform);z-index:0;opacity:0}.theme-toggle:hover:before{width:100%;height:100%;opacity:.1}@media (prefers-reduced-motion: reduce){.theme-toggle{transition:var(--transition-reduced)}.theme-toggle:hover{transform:scale(1.05)}.theme-toggle:active{transform:scale(.98)}.theme-icon{transition:var(--transition-reduced)}}@media (prefers-contrast: high){.theme-toggle{border-width:2px}.theme-toggle:hover{outline:2px solid currentColor;outline-offset:2px}}@media (max-width: 768px){.theme-toggle{width:var(--size-9);height:var(--size-9);padding:var(--spacing-xs)}.theme-icon{width:var(--size-4);height:var(--size-4)}}.language-switcher{position:relative;display:inline-block}.language-button{background:var(--background);border:var(--border-interactive);color:var(--foreground);border-radius:var(--radius-button-lg);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--text-body-small-size);transition:var(--transition-button);font-weight:var(--font-weight-medium);min-height:var(--size-button-sm);position:relative}.language-button:hover{border-color:var(--primary);color:var(--primary);transform:translateY(calc(var(--space-0-5) * -1));box-shadow:var(--shadow-button-hover)}.language-button:focus-visible{outline:var(--outline-focus);outline-offset:var(--outline-focus-offset)}.language-button:active{transform:translateY(0);box-shadow:var(--shadow-button-active)}.language-button-text{flex:1;text-align:left}.language-button-icon{width:var(--size-4);height:var(--size-4);transition:var(--transition-transform);color:var(--foreground-muted)}.language-button[aria-expanded=true] .language-button-icon{transform:rotate(180deg);color:var(--primary)}.language-dropdown{position:absolute;right:0;min-width:140px;background:var(--background);border-radius:var(--radius-dropdown);box-shadow:var(--shadow-dropdown);z-index:var(--z-dropdown);overflow:hidden;animation:var(--animation-scale-in);border:var(--border-dropdown);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.language-dropdown.top{bottom:calc(100% + var(--spacing-sm));transform-origin:bottom center}.language-dropdown.bottom{top:calc(100% + var(--spacing-sm));transform-origin:top center}.language-dropdown .dropdown-item{display:flex;align-items:center;width:100%;padding:var(--spacing-sm) var(--spacing-md);background:none;border:none;text-align:left;cursor:pointer;transition:var(--transition-colors);color:var(--foreground);font-size:var(--text-body-small-size);font-weight:var(--font-weight-medium);gap:var(--spacing-sm);position:relative}.language-dropdown .dropdown-item:hover{background-color:var(--hover);color:var(--primary)}.language-dropdown .dropdown-item:focus-visible{outline:var(--outline-focus);outline-offset:calc(var(--outline-focus-offset) * -1);background-color:var(--hover)}.language-dropdown .dropdown-item.active{background-color:var(--primary-alpha, rgba(var(--primary-rgb), .1));color:var(--primary);font-weight:var(--font-weight-semibold);border-left:var(--space-1) solid var(--primary);padding-left:calc(var(--spacing-md) - var(--space-1))}.language-dropdown .dropdown-item.active:after{content:"";position:absolute;right:var(--spacing-sm);top:50%;transform:translateY(-50%);width:var(--size-3);height:var(--size-3);background-color:var(--primary);border-radius:var(--radius-full)}.dropdown-item-flag{width:var(--size-4);height:var(--size-4);border-radius:var(--radius-sm);flex-shrink:0;background-size:cover;background-position:center}.dropdown-item-text{flex:1}.dropdown-item-code{font-size:var(--text-caption-size);color:var(--foreground-muted);font-weight:var(--font-weight-regular);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.language-dropdown .dropdown-item:hover .dropdown-item-code{color:var(--primary)}.language-dropdown .dropdown-separator{height:1px;background-color:var(--border-divider);margin:var(--spacing-xs) 0}@media (prefers-contrast: high){.language-button,.language-dropdown{border-width:2px}.language-dropdown .dropdown-item.active{border-left-width:var(--space-1-5)}}@media (prefers-reduced-motion: reduce){.language-dropdown{animation:var(--animation-fade-in)}.language-button,.language-button-icon{transition:var(--transition-reduced)}}@media (max-width: 768px){.language-dropdown{min-width:120px;right:auto;left:0}.language-button{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--text-caption-size)}.language-dropdown .dropdown-item{padding:var(--spacing-md) var(--spacing-sm)}}.language-dropdown .dropdown-item:focus{background-color:var(--hover);outline:none}.language-dropdown .dropdown-item[aria-selected=true]{background-color:var(--primary-alpha, rgba(var(--primary-rgb), .1))}.loading-wrapper-container{position:relative;min-height:var(--size-20)}.loading-wrapper-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:var(--z-loading);background-color:var(--background-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:var(--radius-md);animation:var(--animation-fade-in)}.loading-wrapper-centered{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:var(--spacing-5xl);padding:var(--spacing-xl)}.spinner{width:var(--size-8);height:var(--size-8);border:var(--space-0-5) solid var(--border-subtle);border-top:var(--space-0-5) solid var(--primary);border-radius:var(--radius-full);animation:var(--animation-spin);color:var(--primary)}.spinner.small{width:var(--size-4);height:var(--size-4);border-width:var(--space-px-2)}.spinner.large{width:var(--size-12);height:var(--size-12);border-width:var(--space-1)}.spinner.primary{border-color:var(--primary-alpha, rgba(var(--primary-rgb), .2));border-top-color:var(--primary)}.spinner.secondary{border-color:var(--border-subtle);border-top-color:var(--foreground-muted)}.loading-text{margin-top:var(--spacing-md);color:var(--foreground-muted);font-size:var(--text-body-small-size);font-weight:var(--font-weight-medium);text-align:center;animation:var(--animation-pulse)}.inline-spinner{display:inline-flex;align-items:center;gap:var(--spacing-sm)}.inline-spinner .spinner{width:var(--size-4);height:var(--size-4);border-width:var(--space-px-2)}@media (prefers-reduced-motion: reduce){.spinner{animation:var(--animation-pulse)}.loading-wrapper-overlay,.loading-text{animation:none}}.loading-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-color-scheme: dark){.loading-wrapper-overlay{background-color:var(--background-overlay-dark, rgba(0, 0, 0, .8))}.spinner{border-color:var(--border-subtle-dark, rgba(255, 255, 255, .1));border-top-color:var(--primary)}}.focus-container{position:relative;padding:var(--spacing-xs)}.focus-word{position:relative;font-size:var(--text-h3-size);font-weight:var(--text-h3-weight);line-height:var(--text-h3-line-height);cursor:pointer;transition:var(--transition-focus);color:var(--foreground);-webkit-user-select:none;user-select:none;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md)}.focus-word:hover{color:var(--primary);background-color:var(--hover);transform:scale(1.02)}.focus-word.active{filter:blur(0);color:var(--primary);background-color:var(--primary-alpha, rgba(var(--primary-rgb), .1));transform:scale(1.05);text-shadow:var(--shadow-text-focus)}.focus-word.inactive{filter:blur(1px);opacity:.5;color:var(--foreground-muted)}.focus-frame{position:absolute;top:0;left:0;pointer-events:none;box-sizing:content-box;border:none;z-index:var(--z-focus-frame);transition:var(--transition-focus-frame)}.corner{position:absolute;width:var(--size-4);height:var(--size-4);border:var(--space-0-5) solid var(--primary);border-radius:var(--radius-sm);transition:var(--transition-corner);background-color:var(--primary-alpha, rgba(var(--primary-rgb), .1));-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.corner:before{content:"";position:absolute;inset:calc(var(--space-1) * -1);border:1px solid var(--primary-alpha, rgba(var(--primary-rgb), .3));border-radius:var(--radius-sm);opacity:.1;animation:var(--animation-glow)}.top-left{top:calc(var(--space-0-5) * -1);left:calc(var(--space-2) * -1);border-right:none;border-bottom:none}.top-right{top:calc(var(--space-0-5) * -1);right:calc(var(--space-1-5) * -1);border-left:none;border-bottom:none}.bottom-left{bottom:calc(var(--space-0-5) * -1);left:calc(var(--space-2) * -1);border-right:none;border-top:none}.bottom-right{bottom:calc(var(--space-0-5) * -1);right:calc(var(--space-1-5) * -1);border-left:none;border-top:none}.focus-frame.active .corner{transform:scale(1.1);box-shadow:var(--shadow-focus-corner)}.focus-frame.active .corner:before{opacity:.3;animation:var(--animation-glow)}@media (prefers-reduced-motion: reduce){.focus-word{transition:var(--transition-reduced)}.focus-word:hover,.focus-word.active{transform:none}.corner{transition:var(--transition-reduced)}.corner:before{animation:none}.focus-frame.active .corner{transform:none}}@media (prefers-contrast: high){.corner{border-width:var(--space-1);background-color:transparent}.corner:before{display:none}.focus-word.active{outline:var(--space-0-5) solid var(--primary);outline-offset:var(--space-1)}}@media (max-width: 768px){.focus-container{gap:var(--spacing-xs)}.corner{width:var(--size-3);height:var(--size-3);border-width:var(--space-px-2)}}@media (max-width: 480px){.focus-container{gap:var(--spacing-sm)}}.processing-progress-container{position:relative;width:100%;margin:var(--spacing-xs) 0;border-radius:var(--radius-sm);overflow:hidden;background-color:var(--surface-subtle);transition:var(--transition-colors)}.progress-container{position:relative;height:var(--size-2);width:100%;background-color:var(--surface-subtle);border-radius:var(--radius-sm);overflow:hidden;box-shadow:var(--shadow-inset)}.progress-bar{position:absolute;top:0;left:0;height:100%;width:0%;background:var(--gradient-primary);border-radius:var(--radius-sm);transition:var(--transition-width);box-shadow:var(--shadow-progress);will-change:width;transform:translateZ(0)}.processing-label{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-body-small-size);color:var(--foreground);margin-bottom:var(--spacing-xs);padding:0 var(--spacing-xs);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal)}.progress-processing .progress-bar{background:var(--gradient-primary);animation:progress-pulse var(--duration-slow) infinite}.progress-success .progress-bar{background:var(--gradient-success)}.progress-error .progress-bar{background:var(--gradient-error)}.progress-warning .progress-bar{background:var(--gradient-warning)}.progress-processing .processing-label{color:var(--primary)}.progress-success .processing-label{color:var(--success)}.progress-error .processing-label{color:var(--error)}.progress-warning .processing-label{color:var(--warning)}.cancel-processing-button{position:absolute;right:var(--spacing-xs);top:50%;transform:translateY(-50%);background:none;border:none;color:var(--foreground-muted);font-size:var(--text-caption-size);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);opacity:.7;transition:var(--transition-colors);display:flex;align-items:center;justify-content:center}.cancel-processing-button:hover{opacity:1;background-color:var(--error);color:var(--error-foreground)}.cancel-processing-button:focus{outline:var(--border-focus);outline-offset:var(--space-0-5)}@keyframes progress-pulse{0%{opacity:.8;background-position:0% 50%}50%{opacity:1;background-position:100% 50%}to{opacity:.8;background-position:0% 50%}}.progress-bar[aria-valuenow="99"]{animation:final-progress-pulse var(--duration-normal) infinite}@keyframes final-progress-pulse{0%{opacity:.7}50%{opacity:1}to{opacity:.7}}.progress-container.progress-thin{height:var(--space-1)}.progress-container.progress-thick{height:var(--size-3)}.progress-container.progress-xl{height:var(--size-4)}.progress-indeterminate .progress-bar{width:30%;background:var(--gradient-primary);animation:progress-indeterminate var(--duration-slow) infinite linear}@keyframes progress-indeterminate{0%{transform:translate(-100%)}to{transform:translate(400%)}}@media (max-width: 768px){.processing-progress-container{margin:var(--spacing-xs) 0}.progress-container{height:var(--space-1-5)}.processing-label{font-size:var(--text-caption-size);padding:0 var(--spacing-xs)}.cancel-processing-button{padding:var(--spacing-xs);font-size:var(--text-caption-size)}}.features-preview{padding:var(--spacing-section-y) 0;background:var(--gradient-muted);position:relative;overflow:hidden}.features-preview-container{max-width:var(--container-xl);margin:0 auto;padding:0 var(--spacing-container);position:relative;z-index:1}.features-preview-header{text-align:center;margin-bottom:var(--spacing-xxl)}.features-preview-header h2{font-size:var(--text-h1-size);font-weight:var(--text-h1-weight);line-height:var(--text-h1-line-height);color:var(--foreground);margin-bottom:var(--spacing-lg);background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.features-preview-header p{font-size:var(--text-lead-size);color:var(--muted-foreground);max-width:600px;margin:0 auto;line-height:var(--line-height-relaxed)}.tools-preview-section,.detection-preview-section{margin-bottom:var(--spacing-xxl)}.tools-preview-section h3,.detection-preview-section h3{font-size:var(--text-h2-size);font-weight:var(--text-h2-weight);line-height:var(--text-h2-line-height);color:var(--foreground);margin-bottom:var(--spacing-xl);text-align:center;background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.tools-preview-grid,.detection-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.tool-preview-card{background:var(--card);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-card);transition:var(--transition-card);border:var(--border-card);position:relative;overflow:hidden}.tool-preview-card:before{content:"";position:absolute;top:0;left:0;right:0;height:var(--space-1);background:var(--gradient-accent);opacity:0;transition:var(--transition-colors)}.tool-preview-card:hover{transform:translateY(calc(var(--space-1) * -1));box-shadow:var(--shadow-card-hover)}.tool-preview-card:hover:before{opacity:1}.tool-preview-card.detection{border-color:var(--primary-light)}.tool-preview-card.detection:before{background:var(--gradient-secondary)}.tool-preview-icon{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-lg);display:block;color:var(--primary)}.tool-preview-card h4{font-size:var(--text-h4-size);font-weight:var(--text-h4-weight);line-height:var(--text-h4-line-height);color:var(--foreground);margin-bottom:var(--spacing-sm)}.tool-preview-card p{color:var(--muted-foreground);line-height:var(--line-height-relaxed);margin:0;font-size:var(--text-body-size)}.features-preview-footer{background:var(--card);border-radius:var(--border-radius-xl);padding:var(--spacing-xl);box-shadow:var(--shadow-card);border:var(--border-card)}.preview-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.stat-item{text-align:center;padding:var(--spacing-lg);border-radius:var(--border-radius-md);background:var(--gradient-accent);border:var(--border-card);display:flex;justify-content:center;align-items:center}.stat-number{display:block;font-size:var(--text-h1-size);font-weight:var(--font-weight-bold);color:var(--primary);margin-bottom:var(--spacing-xs)}.stat-label{display:block;font-size:var(--text-body-small-size);color:var(--muted-foreground);font-weight:var(--font-weight-medium)}.preview-cta{text-align:center}.features-link-button{display:inline-flex;align-items:center;gap:var(--spacing-sm);background:var(--gradient-primary);color:var(--primary-foreground);text-decoration:none;padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--border-radius-md);font-weight:var(--font-weight-semibold);transition:var(--transition-button);font-size:var(--text-button-size)}.features-link-button:hover{transform:translateY(calc(var(--space-1) * -.5));box-shadow:var(--shadow-button-hover)}.features-link-button:after{content:"→";transition:var(--transition-transform)}.features-link-button:hover:after{transform:translate(var(--space-1))}@media (max-width: 768px){.features-preview{padding:var(--spacing-xl) 0}.features-preview-container{padding:0 var(--spacing-lg)}.features-preview-header h2{font-size:var(--text-h2-size)}.features-preview-header p{font-size:var(--text-body-size)}.tools-preview-grid,.detection-preview-grid{grid-template-columns:1fr;gap:var(--spacing-lg)}.tool-preview-card{padding:var(--spacing-lg)}.preview-stats{grid-template-columns:repeat(2,1fr)}.features-link-button{padding:var(--spacing-sm) var(--spacing-lg)}}@media (max-width: 480px){.features-preview-header h2{font-size:var(--text-h3-size)}.preview-stats{grid-template-columns:1fr}.tool-preview-card{padding:var(--spacing-md)}}.hero{position:relative;min-height:calc(100vh - var(--header-height, 76px));display:flex;align-items:center}.floating-papers{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.hero-content{max-width:var(--container-xl);margin:0 auto;padding:0 var(--spacing-container);position:relative;z-index:10}.hero-text{max-width:48rem;margin:0 auto;text-align:center}.hero-title{font-size:var(--text-h3-size);font-weight:var(--text-h3-weight);line-height:var(--text-h3-line-height);color:var(--foreground);margin-bottom:var(--spacing-xl)}.highlight-safe{background:var(--gradient-accent);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hero-description{color:var(--muted-foreground);font-size:var(--text-lead-size);margin-bottom:var(--spacing-xl);max-width:32rem;margin-left:auto;margin-right:auto;line-height:var(--line-height-relaxed)}.hero-buttons{display:flex;flex-direction:column;gap:var(--spacing-lg);align-items:center}.btn-icon{margin-right:var(--spacing-sm);width:var(--size-5);height:var(--size-5)}@media (min-width: 640px){.hero-buttons{flex-direction:row;justify-content:center}}@media (min-width: 768px){.hero-title{font-size:var(--text-h2-size)}}@media (min-width: 1024px){.hero-title{font-size:var(--text-display-size)}}.landing-page{min-height:auto;position:relative;overflow:hidden;background-color:var(--background);color:var(--foreground)}.landing-page:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--hero-overlay, transparent);z-index:1;pointer-events:none}.content{position:relative;z-index:2}.floating-paper-container{position:relative;width:100%;height:100%}.floating-paper{position:absolute;z-index:1}.paper-content{width:var(--size-16);height:var(--size-20);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--border-radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-card);display:flex;align-items:center;justify-content:center;transition:var(--transition-card);opacity:.8}.paper-content:hover{transform:scale(1.1);opacity:1;box-shadow:var(--shadow-card-hover);border-color:var(--primary)}.paper-icon{width:var(--size-8);height:var(--size-8);color:var(--primary);opacity:.7;transition:var(--transition-colors)}.paper-content:hover .paper-icon{opacity:1;color:var(--secondary)}.floating-paper.float-slow{animation:float-slow 6s ease-in-out infinite}.floating-paper.float-medium{animation:float-medium 4s ease-in-out infinite}.floating-paper.float-fast{animation:float-fast 3s ease-in-out infinite}@keyframes float-slow{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-10px) rotate(1deg)}50%{transform:translateY(-20px) rotate(0)}75%{transform:translateY(-10px) rotate(-1deg)}}@keyframes float-medium{0%,to{transform:translateY(0) rotate(0)}33%{transform:translateY(-15px) rotate(2deg)}66%{transform:translateY(-8px) rotate(-1deg)}}@keyframes float-fast{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-12px) rotate(1deg)}}.hero-cta{margin-top:var(--spacing-xl);text-align:center}.hero-stats{display:flex;justify-content:center;gap:var(--spacing-xl);margin-top:var(--spacing-xxl);flex-wrap:wrap}.hero-stat{text-align:center;min-width:120px}.hero-stat-value{display:block;font-size:var(--text-h2-size);font-weight:var(--font-weight-bold);color:var(--primary);margin-bottom:var(--spacing-xs)}.hero-stat-label{display:block;font-size:var(--text-body-small-size);color:var(--muted-foreground);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}@media (max-width: 767px){.hero-stats{gap:var(--spacing-lg)}.hero-stat-value{font-size:var(--text-h3-size)}}.about-page{background-color:var(--background);color:var(--foreground);min-height:100vh;display:flex;flex-direction:column}.about-hero{background:var(--background);color:var(--primary-foreground);padding:var(--spacing-section-y) 0;text-align:center;position:relative;overflow:hidden;box-shadow:var(--shadow-hero)}.about-hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--gradient-overlay);pointer-events:none;z-index:1}.about-hero-content{max-width:var(--container-lg);margin:0 auto;padding:0 var(--spacing-container);position:relative;z-index:2}.about-hero h1{font-size:var(--text-display-size);font-weight:var(--text-display-weight);line-height:var(--text-display-line-height);margin-bottom:var(--spacing-lg);animation:var(--animation-fade-up);text-shadow:var(--shadow-text-hero);color:var(--primary-foreground)}.about-hero p{font-size:var(--text-lead-size);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-lg);animation:var(--animation-fade-up-delayed);color:var(--foreground);opacity:.95;text-shadow:var(--shadow-text-subtle);font-weight:var(--font-weight-regular)}.about-container{max-width:var(--container-xl);margin:0 auto;padding:var(--spacing-xl);width:100%}.about-container section{margin-bottom:var(--spacing-section)}.about-container h2{font-size:var(--text-h1-size);font-weight:var(--text-h1-weight);line-height:var(--text-h1-line-height);margin-bottom:var(--spacing-xl);text-align:center;position:relative;padding-bottom:var(--spacing-lg);color:var(--foreground)}.about-container h2:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:var(--size-20);height:var(--space-1);background:var(--gradient-accent);border-radius:var(--radius-full)}.story-content{display:flex;gap:var(--spacing-xl);align-items:center}.story-image{flex:0 0 40%;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);transition:var(--transition-card)}.story-image:hover{box-shadow:var(--shadow-card-hover);transform:translateY(calc(var(--space-1) * -1))}.story-image img{width:100%;height:auto;display:block;transition:var(--transition-transform)}.story-image:hover img{transform:scale(1.05)}.story-text{flex:1}.story-text p{margin-bottom:var(--spacing-md);line-height:var(--line-height-relaxed);color:var(--foreground-muted);font-size:var(--text-body-size)}.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-xl);margin-top:var(--spacing-xl)}.team-member{background-color:var(--surface);border-radius:var(--radius-card);overflow:hidden;box-shadow:var(--shadow-card);transition:var(--transition-card);border:var(--border-card)}.team-member:hover{transform:translateY(calc(var(--space-2) * -1));box-shadow:var(--shadow-card-hover)}.member-photo{width:100%;height:300px;overflow:hidden;position:relative}.member-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:var(--transition-transform)}.team-member:hover .member-photo img{transform:scale(1.05)}.team-member h3{padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-xs);margin:0;font-size:var(--text-h5-size);font-weight:var(--text-h5-weight);line-height:var(--text-h5-line-height);color:var(--foreground)}.member-title{padding:0 var(--spacing-lg);margin:0 0 var(--spacing-md);color:var(--primary);font-weight:var(--font-weight-medium);font-size:var(--text-body-small-size);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.member-bio{padding:0 var(--spacing-lg) var(--spacing-lg);margin:0;color:var(--foreground-muted);line-height:var(--line-height-relaxed);font-size:var(--text-body-size)}.mission-content{max-width:var(--container-lg);margin:0 auto}.mission-values{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--spacing-xl);margin-top:var(--spacing-xl)}.value-item{background-color:var(--surface);border:var(--border-subtle);border-radius:var(--radius-card);padding:var(--spacing-xl);text-align:center;transition:var(--transition-card);box-shadow:var(--shadow-sm)}.value-item:hover{transform:translateY(calc(var(--space-1) * -1));box-shadow:var(--shadow-card);border-color:var(--primary)}.value-icon{font-size:var(--text-display-size);color:var(--primary);margin-bottom:var(--spacing-lg);display:block}.value-item h3{font-size:var(--text-h5-size);font-weight:var(--text-h5-weight);margin-bottom:var(--spacing-md);color:var(--foreground)}.value-item p{color:var(--foreground-muted);line-height:var(--line-height-relaxed);margin:0;font-size:var(--text-body-size)}.education-content{display:flex;gap:var(--spacing-xl);align-items:center;margin-top:var(--spacing-xl)}.education-image{flex:0 0 45%;text-align:center}.education-image img,.education-image svg{max-width:100%;height:auto;border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.education-text{flex:1}.education-text h3{font-size:var(--text-h3-size);font-weight:var(--text-h3-weight);margin-bottom:var(--spacing-md);color:var(--foreground)}.education-text p{margin-bottom:var(--spacing-md);line-height:var(--line-height-relaxed);color:var(--foreground-muted);font-size:var(--text-body-size)}.future-section p{text-align:center;font-size:var(--text-body-large-size);line-height:var(--line-height-relaxed);color:var(--foreground-muted);max-width:var(--container-md);margin:0 auto}.contact-section{background:var(--surface);border-radius:var(--radius-xl);padding:var(--spacing-2xl);text-align:center;box-shadow:var(--shadow-card);border:var(--border-card)}.contact-content{max-width:var(--container-sm);margin:0 auto}.contact-content h2{font-size:var(--text-h2-size);margin-bottom:var(--spacing-lg);color:var(--foreground)}.contact-content p{font-size:var(--text-body-large-size);margin-bottom:var(--spacing-xl);color:var(--foreground-muted);line-height:var(--line-height-relaxed)}.contact-button{display:inline-flex;align-items:center;gap:var(--spacing-sm);background:var(--gradient-primary);color:var(--primary-foreground);text-decoration:none;padding:var(--spacing-lg) var(--spacing-2xl);border-radius:var(--radius-button-lg);font-weight:var(--font-weight-semibold);transition:var(--transition-button);font-size:var(--text-button-size);border:var(--border-button);box-shadow:var(--shadow-button)}.contact-button:hover{transform:translateY(calc(var(--space-0-5) * -1));box-shadow:var(--shadow-button-hover);filter:brightness(1.1)}@media (max-width: 1024px){.story-content,.education-content{flex-direction:column;text-align:center}.story-image,.education-image{flex:none;max-width:400px;margin:0 auto}}@media (max-width: 768px){.about-hero h1{font-size:var(--text-h1-size)}.about-hero p{font-size:var(--text-body-large-size)}.team-grid{grid-template-columns:1fr;gap:var(--spacing-lg)}.about-container{padding:var(--spacing-lg)}.mission-values{grid-template-columns:1fr;gap:var(--spacing-lg)}}@media (max-width: 480px){.about-hero h1{font-size:var(--text-h2-size)}.about-container{padding:var(--spacing-md)}.about-container h2{font-size:var(--text-h2-size)}.contact-button{width:100%;justify-content:center}}.features-page{background-color:var(--background);color:var(--foreground);min-height:100vh;display:flex;flex-direction:column;font-family:var(--font-family),serif}.features-hero{background:var(--background);color:var(--primary-foreground);padding:var(--spacing-section-y) 0;text-align:center;position:relative;overflow:hidden;box-shadow:var(--shadow-hero)}.features-hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--gradient-overlay);pointer-events:none;z-index:1}.features-hero-content{max-width:var(--container-lg);margin:0 auto;padding:0 var(--spacing-container);position:relative;z-index:2}.features-hero h1{font-size:var(--text-display-size);font-weight:var(--text-display-weight);line-height:var(--text-display-line-height);margin-bottom:var(--spacing-lg);animation:var(--animation-fade-up);text-shadow:var(--shadow-text-hero);color:var(--primary-foreground)}.features-hero p{font-size:var(--text-lead-size);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-lg);animation:var(--animation-fade-up-delayed);color:var(--foreground);opacity:.95;text-shadow:var(--shadow-text-subtle);font-weight:var(--font-weight-regular);max-width:700px;margin-left:auto;margin-right:auto}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.features-container{max-width:1200px;margin:0 auto;padding:var(--spacing-xl);width:100%}.features-container section{margin-bottom:var(--spacing-xxl);animation:sectionFadeIn 1s ease-out}@keyframes sectionFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.features-container h2{font-size:2.25rem;font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-lg);text-align:center;position:relative;padding-bottom:var(--spacing-md);color:var(--foreground)}.features-container h2:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:80px;height:4px;background-color:var(--primary);border-radius:4px;transition:width .3s ease}.features-container section:hover h2:after{width:120px}.section-description{text-align:center;max-width:800px;margin:0 auto var(--spacing-xl);color:var(--muted-foreground);font-size:var(--font-size-lg);line-height:1.6}.tools-categories{display:flex;flex-direction:column;gap:var(--spacing-xxl)}.tools-category{animation:categoryFadeIn .8s ease-out}@keyframes categoryFadeIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.tools-category h3{font-size:1.75rem;font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-lg);text-align:center;color:var(--primary);position:relative;padding-bottom:var(--spacing-sm)}.tools-category h3:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:60px;height:3px;background:linear-gradient(90deg,var(--primary),var(--primary-light));border-radius:3px}.tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-lg);margin-top:var(--spacing-md)}@media (min-width: 1024px){.tools-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1200px){.tools-grid{grid-template-columns:repeat(3,1fr)}}.tool-feature-card{background-color:var(--card);border:1px solid var(--border);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);transition:all .3s cubic-bezier(.4,0,.2,1);text-align:center;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.tool-feature-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:var(--primary);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.tool-feature-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--primary-light)}.tool-feature-card:hover:before{transform:scaleX(1)}.tool-feature-icon{font-size:3rem;margin-bottom:var(--spacing-md);color:var(--primary);transition:transform .3s ease}.tool-feature-card:hover .tool-feature-icon{transform:scale(1.1)}.tool-feature-card h3{font-size:var(--font-size-xl);margin-bottom:var(--spacing-md);font-weight:var(--font-weight-bold);color:var(--foreground)}.tool-feature-card p{color:var(--muted-foreground);line-height:1.6;font-size:var(--font-size-md)}.selection-modes{margin-top:var(--spacing-md);padding:var(--spacing-sm);background-color:var(--accent-muted);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm)}.modes-label{font-weight:var(--font-weight-medium);color:var(--foreground)}.mode-tag{color:var(--primary);font-weight:var(--font-weight-medium);background-color:var(--background);padding:2px 6px;border-radius:var(--border-radius-xs);border:1px solid var(--border);margin-left:4px;display:inline-block}.methods-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:var(--spacing-xl);margin-top:var(--spacing-xl)}.feature-card{background-color:var(--card);border:1px solid var(--border);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;box-shadow:var(--shadow-sm);overflow:hidden}.feature-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary-light)}.feature-card.expanded{box-shadow:var(--shadow-lg)}.feature-card-header{display:flex;align-items:center;margin-bottom:var(--spacing-md);position:relative}.feature-icon{font-size:2.5rem;margin-right:var(--spacing-md);transition:transform .3s ease}.feature-card:hover .feature-icon{transform:scale(1.1)}.feature-card h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin:0;flex-grow:1;color:var(--foreground)}.data-safety-badge{position:absolute;top:-10px;right:-10px;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:uppercase;box-shadow:var(--shadow-sm);z-index:1}.data-safety-badge.safe{background-color:#10b981;color:#fff}.data-safety-badge.not-safe{background-color:#ef4444;color:#fff}.feature-description{margin-bottom:var(--spacing-md);line-height:1.6;color:var(--foreground);font-size:var(--font-size-md)}.feature-precision{margin-bottom:var(--spacing-md);padding:var(--spacing-sm);background-color:var(--accent-muted);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--foreground);border-left:3px solid var(--primary)}.accuracy-chart{margin:var(--spacing-md) 0;padding:var(--spacing-sm);background-color:var(--background);border-radius:var(--border-radius-sm);border:1px solid var(--border)}.accuracy-chart h4{margin-bottom:var(--spacing-sm);font-size:var(--font-size-md);color:var(--foreground);text-align:center}.feature-entities-preview{margin-bottom:var(--spacing-md)}.feature-entities-preview strong{color:var(--foreground);font-weight:var(--font-weight-medium)}.entity-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-top:var(--spacing-xs)}.entity-tag{background-color:var(--secondary);color:var(--secondary-foreground);padding:4px 10px;border-radius:12px;font-size:var(--font-size-xs);display:inline-block;transition:all .2s ease}.entity-tag:hover{transform:translateY(-2px);box-shadow:var(--shadow-xs)}.entity-tag.more-tag{background-color:var(--muted);color:var(--muted-foreground)}.view-all-button{background-color:transparent;border:none;color:var(--primary);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--spacing-xs) 0;text-decoration:underline;transition:all .2s ease}.view-all-button:hover{color:var(--primary-hover);transform:translate(3px)}.expanded-entities{margin-top:var(--spacing-md);padding:var(--spacing-md);background-color:var(--accent-muted);border-radius:var(--border-radius-md);animation:expandIn .3s ease-out}@keyframes expandIn{0%{opacity:0;max-height:0}to{opacity:1;max-height:2000px}}.expanded-entities h4{margin-bottom:var(--spacing-sm);font-size:var(--font-size-md);color:var(--foreground)}.entity-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--spacing-sm)}.entity-item{display:flex;align-items:center;padding:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--muted-foreground)}.entity-dot{width:8px;height:8px;border-radius:50%;background-color:var(--primary);margin-right:var(--spacing-xs)}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(450px,1fr));gap:var(--spacing-xl);margin-top:var(--spacing-lg)}.chart-container{background-color:var(--card);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border);transition:all .3s ease}.chart-container:hover{box-shadow:var(--shadow-md);transform:translateY(-5px)}.chart-container h3{text-align:center;margin-bottom:var(--spacing-md);font-size:var(--font-size-lg);color:var(--foreground)}.comparison-section{margin-bottom:var(--spacing-xxl)}.comparison-table-container{overflow-x:auto;margin-top:var(--spacing-lg);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md)}.comparison-table{width:100%;border-collapse:collapse;border-spacing:0;font-size:var(--font-size-sm);overflow:hidden}.comparison-table th,.comparison-table td{padding:var(--spacing-md);text-align:center;border-bottom:1px solid var(--border)}.comparison-table th{background-color:var(--primary);color:#fff;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px}.comparison-table th:first-child{text-align:left;border-top-left-radius:var(--border-radius-sm)}.comparison-table th:last-child{border-top-right-radius:var(--border-radius-sm)}.comparison-table tr:last-child td{border-bottom:none}.comparison-table tr:nth-child(2n){background-color:var(--accent-muted)}.comparison-table .positive{color:#10b981;font-weight:var(--font-weight-medium)}.comparison-table .negative{color:#ef4444;font-weight:var(--font-weight-medium)}.comparison-table .neutral{color:#f59e0b;font-weight:var(--font-weight-medium)}.comparison-table .centered{text-align:center;font-style:italic;color:var(--muted-foreground)}.cta-section{background-color:var(--accent-muted);padding:var(--spacing-xxl) 0;border-radius:var(--border-radius-lg);margin-top:var(--spacing-xxl)}.cta-content{max-width:800px;margin:0 auto;text-align:center}.cta-content h2{font-size:2.5rem;margin-bottom:var(--spacing-lg);font-weight:var(--font-weight-bold);color:var(--foreground)}.cta-content p{font-size:var(--font-size-lg);margin-bottom:var(--spacing-xl);color:var(--muted-foreground);line-height:1.6}.cta-buttons{display:flex;gap:var(--spacing-md);justify-content:center;flex-wrap:wrap}.cta-button{padding:var(--spacing-sm) var(--spacing-xl);border-radius:var(--border-radius-md);font-weight:var(--font-weight-medium);font-size:var(--font-size-md);transition:all .3s ease;cursor:pointer;text-decoration:none}.cta-button.primary{background-color:var(--primary);color:#fff;border:none}.cta-button.primary:hover{background-color:var(--primary-hover);transform:translateY(-3px);box-shadow:var(--shadow-md)}.cta-button.secondary{background-color:transparent;color:var(--primary);border:1px solid var(--primary)}.cta-button.secondary:hover{background-color:var(--primary-light);color:var(--primary-dark);transform:translateY(-3px);box-shadow:var(--shadow-md)}@media (max-width: 1024px){.methods-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.charts-grid{grid-template-columns:1fr}}@media (max-width: 768px){.features-hero h1{font-size:2.5rem}.features-hero p{font-size:var(--font-size-lg)}.entity-grid{grid-template-columns:repeat(2,1fr)}.cta-buttons{flex-direction:column;align-items:center}.cta-button{width:100%;max-width:300px;margin-bottom:var(--spacing-sm)}.tools-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}@media (max-width: 480px){.features-hero h1{font-size:2rem}.features-container{padding:var(--spacing-md)}.features-container h2{font-size:1.8rem}.tools-grid,.methods-grid,.entity-grid{grid-template-columns:1fr}.comparison-table th,.comparison-table td{padding:var(--spacing-sm);font-size:var(--font-size-xs)}}.how-to-page{background-color:var(--background);color:var(--foreground);min-height:100vh;display:flex;flex-direction:column}.how-to-hero{background:var(--background);color:var(--primary-foreground);padding:var(--spacing-section-y) 0;text-align:center;position:relative;overflow:hidden;box-shadow:var(--shadow-hero)}.how-to-hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--gradient-overlay);pointer-events:none;z-index:1}.how-to-hero-content{max-width:var(--container-lg);margin:0 auto;padding:0 var(--spacing-container);position:relative;z-index:2}.how-to-hero h1{font-size:var(--text-display-size);font-weight:var(--text-display-weight);line-height:var(--text-display-line-height);margin-bottom:var(--spacing-lg);animation:var(--animation-fade-up);text-shadow:var(--shadow-text-hero);color:var(--primary-foreground)}.how-to-hero p{font-size:var(--text-lead-size);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-lg);animation:var(--animation-fade-up-delayed);color:var(--foreground);opacity:.95;text-shadow:var(--shadow-text-subtle);font-weight:var(--font-weight-regular)}.how-to-container{max-width:1200px;margin:0 auto;padding:var(--spacing-xl);width:100%}.workflow-section,.advanced-features-section{margin:var(--spacing-xxl) 0;animation:fadeIn .8s ease-out}.workflow-section h2,.advanced-features-section h2{font-size:2rem;font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-md);color:var(--foreground);text-align:center}.section-description{text-align:center;max-width:700px;margin:0 auto var(--spacing-xl);color:var(--muted-foreground);font-size:var(--font-size-lg);line-height:1.6}.workflow-explainer{background-color:var(--card);border-radius:var(--border-radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-lg);overflow:hidden;margin-top:var(--spacing-xl)}.workflow-tabs{display:flex;overflow-x:auto;background-color:var(--muted);border-bottom:1px solid var(--border);scroll-behavior:smooth;scrollbar-color:var(--primary) var(--background)}.workflow-tab{display:flex;align-items:center;padding:var(--spacing-md) var(--spacing-lg);background:none;border:none;border-right:1px solid var(--border);border-bottom:3px solid transparent;cursor:pointer;white-space:nowrap;transition:all .2s ease;color:var(--muted-foreground)}.workflow-tab:hover{background-color:var(--accent-muted);color:var(--foreground)}.workflow-tab.active{background-color:var(--background);color:var(--primary);border-bottom:3px solid var(--primary);font-weight:var(--font-weight-medium)}.tab-icon{font-size:1.2rem;margin-right:var(--spacing-sm)}.tab-label{font-size:var(--font-size-md)}.workflow-content{padding:var(--spacing-xl)}.workflow-heading{margin-bottom:var(--spacing-lg);text-align:center}.workflow-heading h3{font-size:1.75rem;font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-sm);color:var(--foreground)}.workflow-heading p{color:var(--muted-foreground);font-size:var(--font-size-md);max-width:600px;margin:0 auto}.workflow-visual{margin:var(--spacing-xl) auto;height:240px;max-width:800px;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-md);overflow:hidden}.workflow-illustration{width:100%;height:100%;background-position:center;background-repeat:no-repeat;background-size:contain;transition:all .3s ease}.upload-illustration{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAwIiBoZWlnaHQ9IjI0MCIgdmlld0JveD0iMCAwIDQwMCAyNDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8cmVjdCB3aWR0aD0iNDAwIiBoZWlnaHQ9IjI0MCIgZmlsbD0iIzIzMjcyZiIvPgogICAgPHJlY3QgeD0iMTAwIiB5PSI0MCIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIxNjAiIHJ4PSIxMCIgZmlsbD0iIzIzMjcyZiIgc3Ryb2tlPSIjNmI3MjgwIiBzdHJva2Utd2lkdGg9IjIiCiAgICAgICAgICBzdHJva2UtZGFzaGFycmF5PSI1LDUiLz4KICA8cGF0aCBkPSJNMjAwIDYwIEwyMDAgMTQwIE0xNzAgOTAgTDIwMCA2MCBMMjMwIDkwIiBzdHJva2U9IiM0ZjQ2ZTUiIHN0cm9rZS13aWR0aD0iMyIgZmlsbD0ibm9uZSIgLz4KICAgIDx0ZXh0IHg9IjIwMCIgeT0iMTcwIiBmb250LWZhbWlseT0iQXJpYWwiIGZvbnQtc2l6ZT0iMTYiIGZpbGw9IiNmM2Y0ZjYiIHRleHQtYW5jaG9yPSJtaWRkbGUiPkRyb3AgZmlsZXMgaGVyZTwvdGV4dD4KICAgIDx0ZXh0IHg9IjIwMCIgeT0iMTkwIiBmb250LWZhbWlseT0iQXJpYWwiIGZvbnQtc2l6ZT0iMTQiIGZpbGw9IiNhNzhiZmEiIHRleHQtYW5jaG9yPSJtaWRkbGUiPm9yIGNsaWNrIHRvIGJyb3dzZQogICAgPC90ZXh0Pgo8L3N2Zz4g);background-color:rgba(var(--primary-rgb),.1)}.detection-illustration{background-image:url("data:image/svg+xml,%3csvg%20width='400'%20height='240'%20viewBox='0%200%20400%20240'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='400'%20height='240'%20fill='%2323272f'/%3e%3crect%20x='80'%20y='40'%20width='240'%20height='160'%20rx='4'%20fill='%2323272f'%20stroke='%236b7280'%20stroke-width='1'/%3e%3c!--%20Document%20lines%20--%3e%3cline%20x1='100'%20y1='70'%20x2='300'%20y2='70'%20stroke='%23f3f4f6'%20stroke-width='2'/%3e%3cline%20x1='100'%20y1='90'%20x2='300'%20y2='90'%20stroke='%23f3f4f6'%20stroke-width='2'/%3e%3cline%20x1='100'%20y1='110'%20x2='300'%20y2='110'%20stroke='%23f3f4f6'%20stroke-width='2'/%3e%3cline%20x1='100'%20y1='130'%20x2='300'%20y2='130'%20stroke='%23f3f4f6'%20stroke-width='2'/%3e%3cline%20x1='100'%20y1='150'%20x2='300'%20y2='150'%20stroke='%23f3f4f6'%20stroke-width='2'/%3e%3cline%20x1='100'%20y1='170'%20x2='300'%20y2='170'%20stroke='%23f3f4f6'%20stroke-width='2'/%3e%3c!--%20Highlighted%20entities%20--%3e%3crect%20x='120'%20y='65'%20width='60'%20height='12'%20rx='2'%20fill='%23fde68a'%20stroke='%23f472b6'%20stroke-width='1'/%3e%3crect%20x='220'%20y='85'%20width='40'%20height='12'%20rx='2'%20fill='%23bbf7d0'%20stroke='%234ade80'%20stroke-width='1'/%3e%3crect%20x='150'%20y='125'%20width='80'%20height='12'%20rx='2'%20fill='%23a78bfa'%20stroke='%236366f1'%20stroke-width='1'/%3e%3crect%20x='110'%20y='165'%20width='50'%20height='12'%20rx='2'%20fill='%23f3f4f6'%20stroke='%23f472b6'%20stroke-width='1'/%3e%3c!--%20Magnifying%20glass%20--%3e%3ccircle%20cx='300'%20cy='60'%20r='30'%20fill='none'%20stroke='%23f472b6'%20stroke-width='2'/%3e%3cline%20x1='320'%20y1='80'%20x2='335'%20y2='95'%20stroke='%23f472b6'%20stroke-width='3'/%3e%3ccircle%20cx='300'%20cy='60'%20r='15'%20fill='%2338bdf8'%20fill-opacity='0.5'/%3e%3c/svg%3e");background-color:rgba(var(--secondary-rgb),.1)}.highlighting-illustration{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAwIiBoZWlnaHQ9IjI0MCIgdmlld0JveD0iMCAwIDQwMCAyNDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8cmVjdCB3aWR0aD0iNDAwIiBoZWlnaHQ9IjI0MCIgZmlsbD0iIzIzMjcyZiIvPgogIAogIDwhLS0gRG9jdW1lbnQgLS0+CiAgICA8cmVjdCB4PSI4MCIgeT0iNDAiIHdpZHRoPSIyNDAiIGhlaWdodD0iMTYwIiByeD0iNCIgZmlsbD0iIzIzMjcyZiIgc3Ryb2tlPSIjNmI3MjgwIiBzdHJva2Utd2lkdGg9IjEiLz4KICAKICA8IS0tIFRleHQgbGluZXMgLS0+CiAgICA8bGluZSB4MT0iMTAwIiB5MT0iNzAiIHgyPSIzMDAiIHkyPSI3MCIgc3Ryb2tlPSIjZjNmNGY2IiBzdHJva2Utd2lkdGg9IjIiLz4KICAgIDxsaW5lIHgxPSIxMDAiIHkxPSI5MCIgeDI9IjMwMCIgeTI9IjkwIiBzdHJva2U9IiNmM2Y0ZjYiIHN0cm9rZS13aWR0aD0iMiIvPgogICAgPGxpbmUgeDE9IjEwMCIgeTE9IjExMCIgeDI9IjMwMCIgeTI9IjExMCIgc3Ryb2tlPSIjZjNmNGY2IiBzdHJva2Utd2lkdGg9IjIiLz4KICAgIDxsaW5lIHgxPSIxMDAiIHkxPSIxMzAiIHgyPSIzMDAiIHkyPSIxMzAiIHN0cm9rZT0iI2YzZjRmNiIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgICA8bGluZSB4MT0iMTAwIiB5MT0iMTUwIiB4Mj0iMzAwIiB5Mj0iMTUwIiBzdHJva2U9IiNmM2Y0ZjYiIHN0cm9rZS13aWR0aD0iMiIvPgogICAgPGxpbmUgeDE9IjEwMCIgeTE9IjE3MCIgeDI9IjMwMCIgeTI9IjE3MCIgc3Ryb2tlPSIjZjNmNGY2IiBzdHJva2Utd2lkdGg9IjIiLz4KICAKICA8IS0tIE1hbnVhbCBoaWdobGlnaHQgLS0+CiAgICA8cmVjdCB4PSIxMjAiIHk9IjE0NSIgd2lkdGg9IjE2MCIgaGVpZ2h0PSIzMCIgcng9IjIiIGZpbGw9IiNmZGU2OGEiIGZpbGwtb3BhY2l0eT0iMC41IiBzdHJva2U9IiNmNDcyYjYiCiAgICAgICAgICBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1kYXNoYXJyYXk9IjMsMiIvPgogIAogIDwhLS0gQ3Vyc29yL3BvaW50ZXIgLS0+CiAgPHBhdGggZD0iTTE4MCA5MCBMMTk1IDEwNSBMMTg1IDEwNSBMMTk1IDEyMCBMMTg1IDExNSBMMTc1IDEzMCBMMTcwIDExMCBMMTgwIDExMCBaIiBmaWxsPSIjNGY0NmU1IiAvPgogIAogIDwhLS0gVGV4dCBzZWxlY3Rpb24gLS0+CiAgICA8cmVjdCB4PSIxMzAiIHk9Ijg1IiB3aWR0aD0iMTEwIiBoZWlnaHQ9IjEyIiByeD0iMiIgZmlsbD0iI2E3OGJmYSIgc3Ryb2tlPSIjNjM2NmYxIiBzdHJva2Utd2lkdGg9IjEiLz4KICAKICA8IS0tIFNlbGVjdGlvbiBpY29ucyAtLT4KICA8cmVjdCB4PSIzMzAiIHk9IjYwIiB3aWR0aD0iMzAiIGhlaWdodD0iMzAiIHJ4PSI0IiBmaWxsPSIjZjNmNGY2IiBzdHJva2U9IiM2YjcyODAiIHN0cm9rZS13aWR0aD0iMSIgLz4KICAgIDx0ZXh0IHg9IjM0NSIgeT0iODIiIGZvbnQtZmFtaWx5PSJBcmlhbCIgZm9udC1zaXplPSIxNiIgZmlsbD0iIzIzMjcyZiIgdGV4dC1hbmNob3I9Im1pZGRsZSI+VDwvdGV4dD4KICAKICA8cmVjdCB4PSIzMzAiIHk9IjEwMCIgd2lkdGg9IjMwIiBoZWlnaHQ9IjMwIiByeD0iNCIgZmlsbD0iI2YzZjRmNiIgc3Ryb2tlPSIjNmI3MjgwIiBzdHJva2Utd2lkdGg9IjEiIC8+CiAgICA8cmVjdCB4PSIzMzUiIHk9IjEwNSIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIiByeD0iMiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMjMyNzJmIiBzdHJva2Utd2lkdGg9IjIiLz4KPC9zdmc+IA==);background-color:rgba(var(--primary-rgb),.1)}.search-illustration{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAwIiBoZWlnaHQ9IjI0MCIgdmlld0JveD0iMCAwIDQwMCAyNDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8cmVjdCB3aWR0aD0iNDAwIiBoZWlnaHQ9IjI0MCIgZmlsbD0iIzIzMjcyZiIvPgogIAogIDwhLS0gU2VhcmNoIGJhciAtLT4KICAgIDxyZWN0IHg9IjgwIiB5PSI0MCIgd2lkdGg9IjI0MCIgaGVpZ2h0PSI0MCIgcng9IjIwIiBmaWxsPSIjMjMyNzJmIiBzdHJva2U9IiM2YjcyODAiIHN0cm9rZS13aWR0aD0iMSIvPgogIDxjaXJjbGUgY3g9IjEwMCIgY3k9IjYwIiByPSIxNSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNmI3MjgwIiBzdHJva2Utd2lkdGg9IjIiIC8+CiAgPGxpbmUgeDE9IjExMCIgeTE9IjcwIiB4Mj0iMTIwIiB5Mj0iODAiIHN0cm9rZT0iIzZiNzI4MCIgc3Ryb2tlLXdpZHRoPSIyIiAvPgogICAgPHRleHQgeD0iMTYwIiB5PSI2NyIgZm9udC1mYW1pbHk9IkFyaWFsIiBmb250LXNpemU9IjE0IiBmaWxsPSIjYTc4YmZhIiB0ZXh0LWFuY2hvcj0ibGVmdCI+U2VhcmNoIGZvciBzZW5zaXRpdmUKICAgICAgICBkYXRhLi4uCiAgICA8L3RleHQ+CiAgCiAgPCEtLSBEb2N1bWVudCB3aXRoIHNlYXJjaCByZXN1bHRzIC0tPgogICAgPHJlY3QgeD0iODAiIHk9IjEwMCIgd2lkdGg9IjI0MCIgaGVpZ2h0PSIxMjAiIHJ4PSI0IiBmaWxsPSIjMjMyNzJmIiBzdHJva2U9IiM2YjcyODAiIHN0cm9rZS13aWR0aD0iMSIvPgogIAogIDwhLS0gVGV4dCBsaW5lcyAtLT4KICAgIDxsaW5lIHgxPSIxMDAiIHkxPSIxMjAiIHgyPSIzMDAiIHkyPSIxMjAiIHN0cm9rZT0iI2YzZjRmNiIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgICA8bGluZSB4MT0iMTAwIiB5MT0iMTQwIiB4Mj0iMzAwIiB5Mj0iMTQwIiBzdHJva2U9IiNmM2Y0ZjYiIHN0cm9rZS13aWR0aD0iMiIvPgogICAgPGxpbmUgeDE9IjEwMCIgeTE9IjE2MCIgeDI9IjMwMCIgeTI9IjE2MCIgc3Ryb2tlPSIjZjNmNGY2IiBzdHJva2Utd2lkdGg9IjIiLz4KICAgIDxsaW5lIHgxPSIxMDAiIHkxPSIxODAiIHgyPSIzMDAiIHkyPSIxODAiIHN0cm9rZT0iI2YzZjRmNiIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgICA8bGluZSB4MT0iMTAwIiB5MT0iMjAwIiB4Mj0iMzAwIiB5Mj0iMjAwIiBzdHJva2U9IiNmM2Y0ZjYiIHN0cm9rZS13aWR0aD0iMiIvPgogIAogIDwhLS0gU2VhcmNoIHJlc3VsdHMgaGlnaGxpZ2h0ZWQgLS0+CiAgICA8cmVjdCB4PSIxMjAiIHk9IjExNSIgd2lkdGg9IjYwIiBoZWlnaHQ9IjEyIiByeD0iMiIgZmlsbD0iI2E3OGJmYSIgc3Ryb2tlPSIjNjM2NmYxIiBzdHJva2Utd2lkdGg9IjEiLz4KICAgIDxyZWN0IHg9IjIyMCIgeT0iMTU1IiB3aWR0aD0iNjAiIGhlaWdodD0iMTIiIHJ4PSIyIiBmaWxsPSIjYTc4YmZhIiBzdHJva2U9IiM2MzY2ZjEiIHN0cm9rZS13aWR0aD0iMSIvPgogICAgPHJlY3QgeD0iMTUwIiB5PSIxOTUiIHdpZHRoPSI2MCIgaGVpZ2h0PSIxMiIgcng9IjIiIGZpbGw9IiNhNzhiZmEiIHN0cm9rZT0iIzYzNjZmMSIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgCiAgPCEtLSBOYXZpZ2F0aW9uIGNvdW50ZXIgLS0+CiAgPHJlY3QgeD0iMjcwIiB5PSI0MCIgd2lkdGg9IjUwIiBoZWlnaHQ9IjIwIiByeD0iMTAiIGZpbGw9IiNmM2Y0ZjYiIC8+CiAgPHRleHQgeD0iMjk1IiB5PSI1NSIgZm9udC1mYW1pbHk9IkFyaWFsIiBmb250LXNpemU9IjEyIiBmaWxsPSIjMzc0MTUxIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj4yIC8gMzwvdGV4dD4KICAKICA8IS0tIE5hdmlnYXRpb24gYXJyb3dzIC0tPgogIDxjaXJjbGUgY3g9IjM0MCIgY3k9IjUwIiByPSIxNSIgZmlsbD0iI2YzZjRmNiIgc3Ryb2tlPSIjNmI3MjgwIiBzdHJva2Utd2lkdGg9IjEiIC8+CiAgPHBhdGggZD0iTTM0NSA1MCBMMzM1IDUwIEwzNDAgNDUgWiIgZmlsbD0iIzZiNzI4MCIgLz4KICAKICA8Y2lyY2xlIGN4PSIzNzAiIGN5PSI1MCIgcj0iMTUiIGZpbGw9IiNmM2Y0ZjYiIHN0cm9rZT0iIzZiNzI4MCIgc3Ryb2tlLXdpZHRoPSIxIiAvPgogIDxwYXRoIGQ9Ik0zNjUgNTAgTDM3NSA1MCBMMzcwIDQ1IFoiIGZpbGw9IiM2YjcyODAiIC8+Cjwvc3ZnPiA=);background-color:rgba(var(--secondary-rgb),.1)}.redaction-illustration{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAwIiBoZWlnaHQ9IjI0MCIgdmlld0JveD0iMCAwIDQwMCAyNDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8cmVjdCB3aWR0aD0iNDAwIiBoZWlnaHQ9IjI0MCIgZmlsbD0iIzIzMjcyZiIvPgogIAogIDwhLS0gRG9jdW1lbnQgYmVmb3JlIHJlZGFjdGlvbiAtLT4KICAgIDxyZWN0IHg9IjYwIiB5PSI2MCIgd2lkdGg9IjE0MCIgaGVpZ2h0PSIxMjAiIHJ4PSI0IiBmaWxsPSIjMjMyNzJmIiBzdHJva2U9IiM2YjcyODAiIHN0cm9rZS13aWR0aD0iMSIvPgogIAogIDwhLS0gVGV4dCBsaW5lcyAtLT4KICAgIDxsaW5lIHgxPSI3NSIgeTE9IjgwIiB4Mj0iMTg1IiB5Mj0iODAiIHN0cm9rZT0iI2YzZjRmNiIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgICA8bGluZSB4MT0iNzUiIHkxPSIxMDAiIHgyPSIxODUiIHkyPSIxMDAiIHN0cm9rZT0iI2YzZjRmNiIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgICA8bGluZSB4MT0iNzUiIHkxPSIxMjAiIHgyPSIxODUiIHkyPSIxMjAiIHN0cm9rZT0iI2YzZjRmNiIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgICA8bGluZSB4MT0iNzUiIHkxPSIxNDAiIHgyPSIxODUiIHkyPSIxNDAiIHN0cm9rZT0iI2YzZjRmNiIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgICA8bGluZSB4MT0iNzUiIHkxPSIxNjAiIHgyPSIxODUiIHkyPSIxNjAiIHN0cm9rZT0iI2YzZjRmNiIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgCiAgPCEtLSBIaWdobGlnaHRlZCB0ZXh0IHRvIGJlIHJlZGFjdGVkIC0tPgogICAgPHJlY3QgeD0iODUiIHk9Ijk1IiB3aWR0aD0iNjAiIGhlaWdodD0iMTIiIHJ4PSIyIiBmaWxsPSIjZmRlNjhhIiBzdHJva2U9IiNmNDcyYjYiIHN0cm9rZS13aWR0aD0iMSIvPgogICAgPHJlY3QgeD0iMTEwIiB5PSIxMTUiIHdpZHRoPSI0MCIgaGVpZ2h0PSIxMiIgcng9IjIiIGZpbGw9IiNiYmY3ZDAiIHN0cm9rZT0iIzRhZGU4MCIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgICA8cmVjdCB4PSI3NSIgeT0iMTU1IiB3aWR0aD0iNzAiIGhlaWdodD0iMTIiIHJ4PSIyIiBmaWxsPSIjYTdmM2QwIiBzdHJva2U9IiMyMmM1NWUiIHN0cm9rZS13aWR0aD0iMSIvPgogIAogIDwhLS0gQXJyb3cgcG9pbnRpbmcgdG8gcmVkYWN0ZWQgdmVyc2lvbiAtLT4KICA8cGF0aCBkPSJNMjEwIDEyMCBMMjQwIDEyMCIgc3Ryb2tlPSIjNmI3MjgwIiBzdHJva2Utd2lkdGg9IjMiIC8+CiAgPHBhdGggZD0iTTIzNSAxMTAgTDI0NSAxMjAgTDIzNSAxMzAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzZiNzI4MCIgc3Ryb2tlLXdpZHRoPSIzIiAvPgogIAogIDwhLS0gRG9jdW1lbnQgYWZ0ZXIgcmVkYWN0aW9uIC0tPgogICAgPHJlY3QgeD0iMjUwIiB5PSI2MCIgd2lkdGg9IjE0MCIgaGVpZ2h0PSIxMjAiIHJ4PSI0IiBmaWxsPSIjMjMyNzJmIiBzdHJva2U9IiM2YjcyODAiIHN0cm9rZS13aWR0aD0iMSIvPgogIAogIDwhLS0gVGV4dCBsaW5lcyAtLT4KICAgIDxsaW5lIHgxPSIyNjUiIHkxPSI4MCIgeDI9IjM3NSIgeTI9IjgwIiBzdHJva2U9IiNmM2Y0ZjYiIHN0cm9rZS13aWR0aD0iMiIvPgogICAgPGxpbmUgeDE9IjI2NSIgeTE9IjEwMCIgeDI9IjM3NSIgeTI9IjEwMCIgc3Ryb2tlPSIjZjNmNGY2IiBzdHJva2Utd2lkdGg9IjIiLz4KICAgIDxsaW5lIHgxPSIyNjUiIHkxPSIxMjAiIHgyPSIzNzUiIHkyPSIxMjAiIHN0cm9rZT0iI2YzZjRmNiIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgICA8bGluZSB4MT0iMjY1IiB5MT0iMTQwIiB4Mj0iMzc1IiB5Mj0iMTQwIiBzdHJva2U9IiNmM2Y0ZjYiIHN0cm9rZS13aWR0aD0iMiIvPgogICAgPGxpbmUgeDE9IjI2NSIgeTE9IjE2MCIgeDI9IjM3NSIgeTI9IjE2MCIgc3Ryb2tlPSIjZjNmNGY2IiBzdHJva2Utd2lkdGg9IjIiLz4KICAKICA8IS0tIFJlZGFjdGVkIGFyZWFzIC0tPgogIDxyZWN0IHg9IjI4NSIgeT0iOTUiIHdpZHRoPSI2MCIgaGVpZ2h0PSIxMiIgcng9IjIiIGZpbGw9IiMxODE4MWIiIC8+CiAgPHJlY3QgeD0iMzEwIiB5PSIxMTUiIHdpZHRoPSI0MCIgaGVpZ2h0PSIxMiIgcng9IjIiIGZpbGw9IiMxODE4MWIiIC8+CiAgPHJlY3QgeD0iMjc1IiB5PSIxNTUiIHdpZHRoPSI3MCIgaGVpZ2h0PSIxMiIgcng9IjIiIGZpbGw9IiMxODE4MWIiIC8+CiAgCiAgPCEtLSBEb3dubG9hZCBidXR0b24gLS0+CiAgPHJlY3QgeD0iMjcwIiB5PSIxOTAiIHdpZHRoPSIxMDAiIGhlaWdodD0iMzAiIHJ4PSI2IiBmaWxsPSIjNGY0NmU1IiAvPgogIDx0ZXh0IHg9IjMyMCIgeT0iMjEwIiBmb250LWZhbWlseT0iQXJpYWwiIGZvbnQtc2l6ZT0iMTIiIGZpbGw9IiNmZmZmZmYiIHRleHQtYW5jaG9yPSJtaWRkbGUiPkRPV05MT0FEIFBERjwvdGV4dD4KPC9zdmc+IA==);background-color:rgba(var(--primary-rgb),.1)}.workflow-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg);margin-top:var(--spacing-xl)}.workflow-step{background-color:var(--accent-muted);padding:var(--spacing-lg);border-radius:var(--border-radius-md);display:flex;align-items:flex-start;border:1px solid var(--border);transition:all .2s ease}.workflow-step:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--primary)}.step-marker{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background-color:var(--primary);color:var(--primary-foreground);font-weight:var(--font-weight-bold);margin-right:var(--spacing-md);flex-shrink:0}.step-details h4{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs);color:var(--foreground)}.step-details p{color:var(--muted-foreground);font-size:var(--font-size-sm);line-height:1.5}.features-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(500px,1fr));gap:var(--spacing-lg);margin-top:var(--spacing-xl)}.view-more-features{text-align:center;margin-top:var(--spacing-xl);padding-top:var(--spacing-lg)}.view-more-button{display:inline-flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;text-decoration:none;padding:.875rem 2rem;border-radius:8px;font-weight:600;transition:all .3s ease;font-size:1rem;box-shadow:0 4px 6px -1px #0000001a}.view-more-button:hover{transform:translateY(-2px);box-shadow:0 8px 25px -3px #2563eb4d;text-decoration:none;color:#fff}.view-more-button:after{content:"→";transition:transform .3s ease}.view-more-button:hover:after{transform:translate(4px)}.feature-walkthrough{background-color:var(--card);border-radius:var(--border-radius-md);border:1px solid var(--border);overflow:hidden;transition:all .2s ease;margin-bottom:var(--spacing-md)}.feature-walkthrough:hover{box-shadow:var(--shadow-md);border-color:var(--primary-light)}.feature-walkthrough.expanded{box-shadow:var(--shadow-lg)}.feature-walkthrough-header{display:flex;align-items:center;padding:var(--spacing-lg);cursor:pointer;transition:background-color .2s ease}.feature-walkthrough-header:hover{background-color:var(--accent-muted)}.feature-icon{font-size:2rem;margin-right:var(--spacing-md);color:var(--primary);flex-shrink:0}.feature-title{flex-grow:1}.feature-title h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs);color:var(--foreground)}.feature-title p{font-size:var(--font-size-sm);color:var(--muted-foreground);line-height:1.5}.expand-icon{font-size:1.5rem;color:var(--primary);width:24px;height:24px;display:flex;align-items:center;justify-content:center}.feature-walkthrough-content{padding:0 var(--spacing-lg) var(--spacing-lg);animation:expandContent .3s ease-out}@keyframes expandContent{0%{opacity:0;max-height:0}to{opacity:1;max-height:1000px}}.steps-container{margin-top:var(--spacing-md);border-top:1px solid var(--border);padding-top:var(--spacing-md)}.step-item{display:flex;margin-bottom:var(--spacing-md)}.step-number{width:28px;height:28px;background-color:var(--primary);color:var(--primary-foreground);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);margin-right:var(--spacing-md);flex-shrink:0}.step-content{flex-grow:1}.step-content h4{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-xs);color:var(--foreground)}.step-content p{font-size:var(--font-size-sm);color:var(--muted-foreground);line-height:1.5}.feature-image{margin-top:var(--spacing-lg);border-radius:var(--border-radius-md);overflow:hidden;box-shadow:var(--shadow-sm)}.feature-image img{width:100%;display:block}.how-to-additional-info{margin-top:var(--spacing-xxl);animation:fadeIn 1s ease-out}.how-to-additional-info h2{font-size:1.75rem;font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-lg);color:var(--foreground);text-align:center}.resource-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-lg);margin-top:var(--spacing-lg)}.resource-card{background-color:var(--card);border-radius:var(--border-radius-md);padding:var(--spacing-lg);border:1px solid var(--border);transition:all var(--transition-speed) var(--transition-function);display:flex;flex-direction:column;animation:fadeIn 1.2s ease-out}.resource-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--primary)}.card-icon{font-size:2rem;margin-bottom:var(--spacing-md)}.resource-card h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-sm);color:var(--foreground)}.resource-card p{color:var(--muted-foreground);margin-bottom:var(--spacing-md);line-height:1.5;flex-grow:1}.card-link{display:inline-block;color:var(--primary);text-decoration:none;font-weight:var(--font-weight-medium);transition:color var(--transition-speed) var(--transition-function);margin-top:auto}.card-link:hover{color:var(--primary-hover);text-decoration:underline}.how-to-feedback{margin-top:var(--spacing-xxl);padding-top:var(--spacing-xl);border-top:1px solid var(--border);text-align:center;animation:fadeIn 1.4s ease-out}.how-to-feedback h2{font-size:1.5rem;font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-md)}.feedback-buttons{display:flex;justify-content:center;gap:var(--spacing-md);margin:var(--spacing-md) 0}.feedback-button{background-color:var(--secondary);color:var(--secondary-foreground);border:none;border-radius:var(--border-radius-md);padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-md);cursor:pointer;transition:all var(--transition-speed) var(--transition-function)}.feedback-button:hover{background-color:var(--primary);color:var(--primary-foreground)}.feedback-thank-you{text-align:center;animation:fadeIn .5s ease-out}.thank-you-icon{font-size:3rem;margin-bottom:var(--spacing-md);animation:bounceIn .6s ease-out}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.feedback-thank-you h2{font-size:1.5rem;font-weight:var(--font-weight-semibold);color:var(--primary);margin-bottom:var(--spacing-sm)}.feedback-thank-you p{color:var(--muted-foreground);font-size:var(--font-size-md);max-width:500px;margin:0 auto;line-height:1.6}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 992px){.features-grid{grid-template-columns:1fr}.workflow-step{padding:var(--spacing-md)}}@media (max-width: 768px){.how-to-container{padding:var(--spacing-lg)}.how-to-hero h1{font-size:2.25rem}.how-to-hero p{font-size:var(--font-size-md)}.resource-cards,.workflow-steps{grid-template-columns:1fr}.workflow-tabs{flex-wrap:nowrap;overflow-x:auto}}@media (max-width: 480px){.how-to-container{padding:var(--spacing-md)}.how-to-hero h1{font-size:2rem}.feedback-buttons{flex-direction:column;gap:var(--spacing-sm)}.feature-walkthrough-header{flex-direction:column;text-align:center}.feature-icon{margin-right:0;margin-bottom:var(--spacing-sm)}.expand-icon{margin-top:var(--spacing-sm)}.workflow-tab{padding:var(--spacing-sm)}}.container{width:100%;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}.py-8{padding-top:2rem;padding-bottom:2rem}.px-4{padding-left:1rem;padding-right:1rem}.max-w-5xl{max-width:64rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.h-2{height:.5rem}.h-4{height:1rem}.h-12{height:3rem}.h-16{height:4rem}.h-24{height:6rem}.w-24{width:6rem}.flex{display:flex}.flex-1{flex:1 1 0%}.flex-col{flex-direction:column}.flex-shrink-0{flex-shrink:0}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.space-y-0\.5>*+*{margin-top:.125rem}.space-y-2>*+*{margin-top:.5rem}.space-y-3>*+*{margin-top:.75rem}.space-y-4>*+*{margin-top:1rem}.space-y-6>*+*{margin-top:1.5rem}.space-x-1>*+*{margin-left:.25rem}.space-x-2>*+*{margin-left:.5rem}.space-x-6>*+*{margin-left:1.5rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.text-muted-foreground{color:var(--muted-foreground)}.text-destructive{color:var(--destructive)}.leading-none{line-height:1}.bg-background{background-color:var(--background)}.bg-muted{background-color:var(--muted)}.bg-amber-50{background-color:rgba(var(--pale-dogwood-rgb),.1)}.bg-amber-950{background-color:var(--dark-purple)}.text-amber-800{color:var(--redwood)}.text-amber-300{color:var(--pale-dogwood)}.border{border:1px solid var(--border)}.border-b{border-bottom:1px solid var(--border)}.border-destructive{border-color:var(--destructive)}.border-dashed{border-style:dashed}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:9999px}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pt-2{padding-top:.5rem}.pl-8{padding-left:2rem}.settings-container{position:relative;padding-top:4rem;min-height:calc(100vh - 60px);background-color:var(--background);color:var(--foreground)}.go-back-button{position:absolute;top:1.5rem;left:1rem;z-index:10;display:inline-flex;align-items:center;justify-content:center;background:none;border:none;padding:.5rem;cursor:pointer;color:var(--muted-foreground);border-radius:50%;width:40px;height:40px;transition:background-color .2s,color .2s;outline:none}.go-back-button:hover{background-color:var(--muted);color:var(--foreground)}.go-back-button:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.card{position:relative;display:flex;flex-direction:column;background-color:var(--background);color:var(--foreground);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);overflow:hidden}.card-header{display:flex;flex-direction:column;padding:1.5rem;padding-bottom:0;gap:.25rem}.card-title{font-size:1.25rem;font-weight:600;line-height:1.2;letter-spacing:-.01em;color:var(--foreground)}.card-description{color:var(--muted-foreground);font-size:.875rem;margin-top:.25rem}.card-content{padding:1.5rem;flex-grow:1}.tabs{display:flex;flex-direction:column;width:100%}.tabs-list{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:1.5rem;background-color:var(--muted);border-radius:var(--radius-md);padding:.25rem;border:1px solid var(--border)}.tab-trigger{flex-grow:1;text-align:center;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;font-size:.875rem;line-height:1.25rem;font-weight:500;padding:.6rem 1rem;background-color:transparent;color:var(--muted-foreground);border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color .2s,color .2s,box-shadow .2s;outline:none}.tab-trigger:hover:not([data-state=active]){background-color:rgba(var(--eggplant-rgb),.05);color:var(--foreground)}.tab-trigger[data-state=active]{background-color:var(--background);color:var(--primary);box-shadow:var(--shadow-sm);font-weight:600}@media (max-width: 768px){.tabs-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.tab-trigger{padding:.75rem .5rem}}.tab-content{margin-top:1rem;display:none}.tab-content.active{display:block;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem;color:var(--foreground)}.form-input{display:flex;width:100%;height:2.5rem;padding:0 .75rem;background-color:var(--background);color:var(--foreground);border:1px solid var(--border);border-radius:var(--radius-md);font-size:.875rem;transition:border-color .2s,box-shadow .2s}.form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(var(--eggplant-rgb),.2)}.form-input::placeholder{color:var(--muted-foreground);opacity:.8}.form-input:disabled{background-color:var(--muted);opacity:.7;cursor:not-allowed}.form-helper{font-size:.75rem;color:var(--muted-foreground);margin-top:.35rem}.switch-container{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0}.switch{position:relative;display:inline-block;width:40px;height:22px;flex-shrink:0}.switch input{opacity:0;width:0;height:0}.switch-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--muted);border:1px solid var(--border);transition:background-color .3s ease;border-radius:22px}.switch-slider:before{position:absolute;content:"";height:16px;width:16px;left:2px;bottom:2px;background-color:#fff;box-shadow:var(--shadow-sm);transition:transform .3s ease;border-radius:50%}input:checked+.switch-slider{background-color:var(--primary);border-color:var(--primary)}input:focus+.switch-slider{box-shadow:0 0 0 2px rgba(var(--eggplant-rgb),.3)}input:checked+.switch-slider:before{transform:translate(18px);background-color:#fff}input:disabled+.switch-slider{opacity:.5;cursor:not-allowed}.button{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;height:2.5rem;padding-left:1rem;padding-right:1rem;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s,opacity .2s;cursor:pointer;border:1px solid transparent;-webkit-user-select:none;user-select:none;outline:none}.button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.button:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.button-primary{background-color:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.button-primary:hover:not(:disabled){background-color:var(--primary-hover);opacity:.9}.button-outline{background-color:transparent;border:1px solid var(--border);color:var(--foreground)}.button-outline:hover:not(:disabled){background-color:var(--muted);border-color:var(--primary)}.button-destructive{background-color:var(--destructive);color:var(--destructive-foreground);border-color:var(--destructive)}.button-destructive:hover:not(:disabled){opacity:.9}.button-ghost{background-color:transparent;border-color:transparent;color:var(--foreground)}.button-ghost:hover:not(:disabled){background-color:var(--muted);color:var(--foreground)}.button-ghost.text-destructive:hover:not(:disabled){background-color:rgba(var(--destructive-rgb),.1);color:var(--destructive)}.button-sm{height:2rem;padding-left:.75rem;padding-right:.75rem;font-size:.75rem}.button-lg{height:3rem;padding-left:1.5rem;padding-right:1.5rem;font-size:1rem}.button-icon{margin-right:.5rem;width:1em;height:1em}.button-icon:only-child{margin-right:0}.button .animate-spin{margin-right:.5rem}.button.button-sm .button-icon{margin-right:.3rem}.separator{height:1px;background-color:var(--border);margin:1.5rem 0}.alert{position:relative;display:flex;gap:.75rem;padding:1rem;border-radius:var(--radius-md);border:1px solid var(--border);background-color:var(--background)}.alert-destructive{background-color:rgba(var(--destructive-rgb),.1);border-color:var(--destructive);color:var(--destructive)}.alert-success{background-color:rgba(var(--eggplant-rgb),.1);border-color:var(--primary);color:var(--primary)}.alert-icon{flex-shrink:0;height:1.25rem;width:1.25rem;margin-top:.1rem}.alert-title{font-weight:600;margin-bottom:.25rem;line-height:1.3}.alert-description{font-size:.875rem;line-height:1.4;color:var(--foreground)}.alert-destructive .alert-description{color:var(--destructive)}.alert-success .alert-description{color:var(--primary)}.avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;width:4rem;height:4rem;border-radius:9999px;background-color:var(--muted);border:2px solid var(--background);box-shadow:var(--shadow-sm)}.avatar-image{width:100%;height:100%;object-fit:cover}.avatar-fallback{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background-color:var(--muted);color:var(--muted-foreground);font-weight:500}.progress{position:relative;overflow:hidden;background-color:var(--muted);border-radius:9999px;height:.5rem;width:100%}.progress-value{height:100%;background-color:var(--primary);transition:width .4s ease;border-radius:9999px}.badge{display:inline-flex;align-items:center;border-radius:9999px;padding:.15rem .6rem;height:1.4rem;font-size:.7rem;font-weight:500;line-height:1;background-color:var(--primary);color:var(--primary-foreground);border:1px solid transparent;white-space:nowrap}.badge-outline{background-color:transparent;border:1px solid var(--border);color:var(--muted-foreground);font-weight:400}.accordion{width:100%}.accordion-item{border-bottom:1px solid var(--border)}.accordion-item:last-child{border-bottom:none}.accordion-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:1rem 0;text-align:left;background:none;border:none;font-size:1rem;font-weight:500;color:var(--foreground);cursor:pointer;transition:color .2s}.accordion-trigger:hover{color:var(--primary)}.accordion-trigger-icon{transition:transform .2s ease-in-out;flex-shrink:0;margin-left:.5rem}.accordion-trigger[data-state=open] .accordion-trigger-icon{transform:rotate(180deg)}.accordion-content{display:grid;grid-template-rows:0fr;overflow:hidden;transition:grid-template-rows .3s ease-out,padding-bottom .3s ease-out;padding-bottom:0}.accordion-content.open{grid-template-rows:1fr;padding-bottom:1rem}.accordion-content>*{overflow:hidden}.checkbox-container{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.25rem 0}.checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;width:1.1rem;height:1.1rem;border:1px solid var(--border);border-radius:var(--radius-sm);background-color:var(--background);cursor:pointer;transition:background-color .2s,border-color .2s;flex-shrink:0}.checkbox:hover{border-color:var(--primary)}.checkbox:focus{outline:none;box-shadow:0 0 0 2px rgba(var(--eggplant-rgb),.2)}.checkbox:checked{background-color:var(--primary);border-color:var(--primary)}.checkbox:checked:after{content:"";display:block;width:.3rem;height:.6rem;border:solid var(--primary-foreground);border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg)}.checkbox:disabled{opacity:.5;cursor:not-allowed;border-color:var(--border)}.checkbox:disabled:hover{border-color:var(--border)}.checkbox-label{font-size:.875rem;color:var(--foreground);cursor:pointer;-webkit-user-select:none;user-select:none}.select-container{position:relative}.select{display:flex;width:100%;height:2.5rem;padding:0 2.5rem 0 .75rem;background-color:var(--background);color:var(--foreground);border:1px solid var(--border);border-radius:var(--radius-md);font-size:.875rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;transition:border-color .2s,box-shadow .2s}.select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(var(--eggplant-rgb),.2)}.select:disabled{background-color:var(--muted);opacity:.7;cursor:not-allowed}.select-icon{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--muted-foreground);transition:transform .2s}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;background-color:#0009;animation:fadeIn .2s ease-out}.modal-content{position:relative;width:90%;max-width:32rem;background-color:var(--background);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-lg);animation:slideIn .3s ease-out;max-height:90vh;overflow-y:auto}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 767px){.flex-col-mobile{flex-direction:column}.hidden-mobile{display:none}.grid-cols-2,.md\:grid-cols-3{grid-template-columns:repeat(1,minmax(0,1fr))}.card-content .md\:flex-row{flex-direction:column}.card-content .md\:items-end{align-items:center}}@media (min-width: 768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-end{align-items:flex-end}.md\:block{display:block}.md\:hidden{display:none}.md\:min-h-min{min-height:min-content}}[data-theme=dark] .alert-destructive{background-color:rgba(var(--destructive-rgb),.15)}[data-theme=dark] .alert-success{background-color:rgba(var(--eggplant-rgb),.15)}.form-header-with-icon{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;margin-top:1rem}.login-page{display:flex;align-items:center;justify-content:center;max-height:100vh;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:var(--foreground);transition:background-color var(--transition-speed) var(--transition-function),color var(--transition-speed) var(--transition-function)}.login-left,.login-right{flex:1 1 0;display:flex;align-items:center;justify-content:center;min-height:80vh;max-width:30vw;box-sizing:border-box}.login-left{padding:1rem 1.5rem;background:none;margin-top:0}.login-right{background:none;padding:1rem 1.5rem;min-width:0;min-height:80vh;display:flex;align-items:center;justify-content:center}.login-image{width:100%;max-width:420px;max-height:480px;object-fit:contain;border-radius:1.5rem;box-shadow:0 8px 32px #1f26872e;background:transparent;margin:0 auto;display:block}.login-container{width:100%;max-width:28rem;background:var(--background);border:1.5px solid var(--border);border-radius:1.5rem;padding:2.5rem 2.5rem 2rem;margin-bottom:1rem;box-shadow:0 8px 32px #1f26872e;transition:transform .3s ease,box-shadow .3s ease;animation:loginContainerAppear .5s ease forwards;transform:translateY(20px);opacity:0;max-height:95vh;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@keyframes loginContainerAppear{to{transform:translateY(0);opacity:1}}@keyframes fadeIn{to{opacity:1}}.login-container:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.login-title{font-size:1.5rem;font-weight:var(--font-weight-bold);color:var(--foreground);margin-bottom:.5rem;justify-self:flex-start}.login-subtitle{color:var(--muted-foreground);margin-bottom:1.5rem}.login-form .form-group{margin-bottom:1.25rem}.form-group-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.login-container label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--foreground);margin-bottom:.25rem;transition:color .2s ease}.login-container input[type=text],.login-container input[type=email],.login-container input[type=password]{width:100%;padding:1rem;border:1.5px solid var(--border);border-radius:.75rem;outline:none;font:inherit;background-color:var(--background);color:var(--foreground);transition:all .2s cubic-bezier(.4,0,.2,1);font-size:1rem;margin-top:.25rem}.login-container input::placeholder{color:var(--muted-foreground)}.login-container input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #27ab6f26;background:var(--background)}.login-container input:focus+label{color:var(--primary)}.forgot-password{font-size:var(--font-size-sm);color:var(--muted-foreground);text-decoration:underline;transition:color .2s ease}.forgot-password:hover{color:var(--primary)}.login-button{width:100%;padding:.85rem 1rem;background:var(--primary-hover);color:var(--foreground);border:none;border-radius:.75rem;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 2px 8px #1f26871a;letter-spacing:.02em}.login-button:after{content:"";position:absolute;top:50%;left:50%;width:150%;height:150%;background:radial-gradient(circle,var(--button-secondary-bg-color) 0%,var(--button-primary-bg-color) 70%);transform:translate(-50%,-50%) scale(0);border-radius:50%;opacity:0;pointer-events:none}.login-button:hover{background:var(--primary);transform:translateY(-2px) scale(1.01);box-shadow:0 4px 16px #1f268721}.login-button:hover:after{animation:buttonRipple .6s ease-out}.login-button:active{transform:translateY(0);box-shadow:none}.login-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.reset-confirmation{width:100%;animation:fadeIn var(--transition-speed) var(--transition-function) forwards;text-align:center}.success-message{display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(var(--success-rgb),.1),rgba(var(--success-rgb),.05));border:var(--space-0-5) solid rgba(var(--success-rgb),.2);border-radius:var(--radius-lg);padding:var(--space-6);margin-bottom:var(--space-6);animation:successMessageAppear .6s var(--transition-function) forwards;transform:translateY(var(--space-2-5))}@keyframes successMessageAppear{to{transform:translateY(0);opacity:1}}.success-message p{margin:0;line-height:var(--line-height-relaxed)}.success-message p:first-child{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--foreground);margin-bottom:var(--space-3)}.success-message p.mt-2{font-size:var(--font-size-sm);color:var(--muted-foreground);margin-top:var(--space-2);line-height:var(--line-height-normal)}.success-message strong{color:var(--success);font-weight:var(--font-weight-semibold)}.reset-confirmation .login-button{margin-top:var(--space-4);animation:fadeIn var(--transition-speed) var(--transition-function) forwards;animation-delay:.2s}.reset-confirmation .signup-prompt{margin-top:var(--space-3);margin-bottom:0;animation-delay:.4s}.signup-prompt{text-align:center;font-size:1rem;color:var(--muted-foreground);animation:fadeIn .5s ease forwards;animation-delay:.3s;opacity:0;margin-top:2rem;margin-bottom:1.5rem}.signup-prompt.enhanced-toggle a{color:var(--primary);font-weight:700;text-decoration:underline;font-size:1.08em;margin-left:.5em;transition:color .2s}.divider,.social-buttons,.social-button,.social-icon{display:none!important}.login-terms{font-size:var(--font-size-xs);color:var(--muted-foreground);text-align:center;max-width:24rem;line-height:1.4;animation:fadeIn .5s ease forwards;animation-delay:.5s;opacity:0}.login-terms a{text-decoration:underline;color:var(--muted-foreground);transition:color .2s ease}.login-terms a:hover{color:var(--primary)}@media (max-width: 900px){.login-left,.login-right{max-width:100vw;padding:2rem .5rem}.login-image{max-width:320px;max-height:320px}}@media (max-width: 768px){.login-page{height:auto;min-height:100vh}.login-left,.login-right{max-width:100vw;min-height:unset;padding:2rem .5rem}.login-right{max-width:0;max-height:0;margin-top:1.5rem;margin-bottom:2rem}.login-image{max-width:220px;max-height:220px}.login-container{padding:var(--spacing-xl)}.login-title{font-size:var(--text-h3-size)}}@media (max-width: 480px){.login-page{padding:var(--spacing-sm)}.login-container{padding:var(--spacing-lg);margin-bottom:var(--spacing-md)}.login-button{padding:var(--spacing-md)}}.pdf-viewer-container{width:100%;height:100%;overflow-y:auto;scrollbar-color:var(--button-border) var(--background);background-color:var(--background);padding:var(--spacing-md) var(--spacing-lg);box-sizing:border-box;position:relative;display:flex;flex-direction:column;align-items:center;transition:background-color var(--transition-speed) var(--transition-function);scroll-behavior:smooth;will-change:scroll-position;overscroll-behavior:none;-webkit-overflow-scrolling:touch;scrollbar-width:thin;overflow-x:auto;touch-action:pan-y pan-x}.pdf-dark-mode .react-pdf__Page__canvas{filter:invert(1) hue-rotate(180deg)}.pdf-dark-mode .react-pdf__Page__textContent{color:#fff!important}.pdf-viewer-container::-webkit-scrollbar{width:12px;height:12px}.pdf-viewer-container::-webkit-scrollbar-track{background:var(--background);border-radius:6px}.pdf-viewer-container::-webkit-scrollbar-thumb{background-color:var(--button-border);border-radius:6px;border:2px solid var(--background);transition:background-color .3s ease}.pdf-viewer-container::-webkit-scrollbar-thumb:hover{background-color:var(--primary)}.pdf-viewer-container::-webkit-scrollbar-corner{background:var(--background)}[data-theme=dark] .pdf-viewer-container::-webkit-scrollbar-track{background:var(--background)}[data-theme=dark] .pdf-viewer-container::-webkit-scrollbar-thumb{background-color:var(--border, #374151);border:2px solid var(--background)}[data-theme=dark] .pdf-viewer-container::-webkit-scrollbar-thumb:hover{background-color:var(--primary)}[data-theme=dark] .pdf-viewer-container::-webkit-scrollbar-corner{background:var(--background)}[data-theme=dark] .pdf-viewer-container{scrollbar-color:var(--border, #374151) var(--background)}.pdf-add-file-button{position:sticky;top:var(--spacing-md);left:100%;width:40px;height:40px;border-radius:50%;background-color:var(--primary);color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:50;box-shadow:var(--shadow-md);transition:all var(--transition-speed) var(--transition-function)}.pdf-add-file-button:hover{transform:translateY(-2px) scale(1.05);box-shadow:var(--shadow-lg)}.pdf-add-file-button:active{transform:translateY(0) scale(.95)}.pdf-add-file-icon{transition:transform var(--transition-speed) var(--transition-function)}.pdf-add-file-button:hover .pdf-add-file-icon{transform:rotate(90deg)}.pdf-loading,.pdf-error{padding:var(--spacing-lg);text-align:center;color:var(--muted-foreground);animation:pulse 2s infinite}.pdf-error{color:var(--destructive)}.react-pdf__Document,.pdf-pages-container{display:flex;flex-direction:column;align-items:center;width:100%;padding-bottom:var(--spacing-lg);position:relative}.pdf-page-wrapper{margin:var(--spacing-md);position:relative;display:flex;justify-content:center;align-items:center;background-color:#fff;box-shadow:var(--shadow-md);border-radius:var(--border-radius-sm);transition:transform .3s cubic-bezier(.25,.8,.25,1);width:fit-content;border:2.5px solid transparent;contain:layout paint style;will-change:transform,border-color,box-shadow;transform:translateZ(0);backface-visibility:hidden}.pdf-document-draggable-container{position:relative;width:100%;height:100%;transition:transform .05s ease-out;will-change:transform}.pdf-viewer-container.zoomed-in{overflow:auto;background-color:var(--viewer-bg)}.page-number-indicator{position:absolute;bottom:-2rem;left:50%;transform:translate(-50%);background-color:var(--foreground);color:var(--background);padding:2px 8px;border-radius:10px;font-size:var(--font-size-xs);z-index:5;opacity:0;transition:opacity .3s ease,transform .3s ease}.pdf-page-wrapper:hover .page-number-indicator,.pdf-page-wrapper.active .page-number-indicator{opacity:1;background-color:var(--primary);color:var(--foreground);bottom:1rem;font-weight:700;transform:translate(-50%) translateY(-5px);box-shadow:var(--shadow-sm)}.selection-overlay{position:absolute;pointer-events:auto;z-index:1000;border:1px dashed var(--primary);background-color:#27ab6f33;border-radius:var(--border-radius-sm)}.page-overlay{position:absolute;top:0;left:0;right:0;bottom:0;z-index:15;pointer-events:all}[data-theme=dark] .pdf-page-wrapper{background-color:#2d3748}[data-theme=dark] .page-number-indicator{background-color:var(--foreground);color:var(--background)}.file-upload-area{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:400px;height:200px;border:2px dashed var(--button-border);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);gap:var(--spacing-lg);cursor:pointer;transition:all var(--transition-speed) var(--transition-function);position:relative}.pdf-page canvas{display:block;width:100%;height:auto;background-color:#fff;transform:translateZ(0);backface-visibility:hidden}.pdf-viewer-container:after{content:"";position:absolute;bottom:20px;left:50%;transform:translate(-50%);width:30px;height:50px;border:2px solid var(--primary);border-radius:15px;animation:scrollHint 3s infinite;opacity:.6;pointer-events:none;display:none}@keyframes scrollHint{0%{transform:translate(-50%) translateY(0);opacity:.6}30%{transform:translate(-50%) translateY(10px);opacity:.8}60%{transform:translate(-50%) translateY(0);opacity:.6}to{transform:translate(-50%) translateY(0);opacity:.6}}.pdf-viewer-container.show-scroll-hint:after{display:block}.pdf-page-loading-placeholder{background-color:var(--background);border-radius:.25rem;display:flex;align-items:center;justify-content:center;min-height:400px}@media (max-width: 768px){.pdf-page-wrapper{margin:10px auto}.pdf-viewer-container{padding:0 var(--spacing-sm)}.pdf-add-file-button{top:var(--spacing-sm);left:var(--spacing-sm);width:36px;height:36px}}.pdf-file-header{padding:0 var(--spacing-lg);background-color:var(--background);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:all var(--transition-speed) var(--transition-function)}.pdf-file-header .pdf-file-actions .pdf-file-action-button{all:unset;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;background:transparent;color:#6b7280;cursor:pointer;transition:all .2s ease;position:relative}.pdf-file-header .pdf-file-actions .pdf-file-action-button:hover{background:#6366f11a;color:#6366f1}.pdf-file-header .pdf-file-actions .pdf-file-action-button:last-child:hover{background:#ef44441a;color:#ef4444}.pdf-file-header .pdf-file-actions .pdf-file-action-button.selected{background:#6366f126;color:#6366f1}.pdf-file-header .pdf-file-actions .pdf-file-action-button svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2}.pdf-file-header .pdf-file-actions .pdf-file-action-button.selected svg{stroke:currentColor;fill:none}.pdf-file-header .pdf-file-actions .pdf-file-action-button .select-icon{width:14px;height:14px;border:1.5px solid currentColor;border-radius:2px;background:transparent;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pdf-file-container:hover{transform:none}@media (max-width: 768px){.pdf-file-header{padding:var(--spacing-sm) var(--spacing-md)}.pdf-file-actions{gap:var(--spacing-xs)}.pdf-file-action-button{width:24px;height:24px;padding:2px}}.fullscreen-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--background);z-index:9999;display:flex;flex-direction:column;overflow:hidden;animation:fadeInOverlay .3s ease}.fullscreen-toolbar{background-color:var(--sidebar-bg);border-bottom:1px solid var(--border);height:40px;box-shadow:0 2px 8px #0000001a;z-index:10}.fullscreen-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0}.fullscreen-close-button:hover{color:var(--destructive);background-color:var(--button-hover)}.fullscreen-content{flex:1;overflow:auto;background-color:var(--viewer-bg);position:relative;display:flex;flex-direction:column;align-items:center;width:100%;height:calc(100vh - 60px)}.fullscreen-content .pdf-document-container{width:100%;max-width:1000px;display:flex;flex-direction:column;align-items:center}.fullscreen-content .react-pdf__Page canvas{display:block!important;opacity:1!important;visibility:visible!important}@media (min-width: 1200px){.fullscreen-content .pdf-document-container{max-width:1100px}}@media (max-width: 768px){.fullscreen-toolbar{padding:.5rem 1rem;height:50px}.fullscreen-title{font-size:var(--font-size-md);max-width:70%}.fullscreen-content{padding:var(--spacing-sm)}}.multi-pdf-container{flex-direction:column;gap:var(--spacing-xs);width:100%;padding:var(--spacing-xs);contain:style layout;transform:translateZ(0);display:flow-root}.pdf-file-container.current{border:2px solid var(--primary);box-shadow:0 0 0 1px #27ab6f33,var(--shadow-md);z-index:2}.pdf-file-header{padding:var(--spacing-md) var(--spacing-lg);background-color:var(--background);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.pdf-file-title{margin:0;font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:80%}.pdf-file-actions{display:flex;gap:var(--spacing-sm)}.pdf-file-action-button{background:none;border:none;color:var(--muted-foreground);cursor:pointer;transition:color var(--transition-speed) var(--transition-function);display:flex;align-items:center;justify-content:center;padding:var(--spacing-xs);border-radius:var(--border-radius-sm)}.pdf-file-action-button:hover{color:var(--destructive);background-color:var(--button-hover)}@media (max-width: 768px){.multi-pdf-container{padding:var(--spacing-sm);gap:var(--spacing-lg)}.pdf-file-header{padding:var(--spacing-sm)}}@keyframes pulse{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.thumbnail-wrapper{transition:transform .3s cubic-bezier(.25,.8,.25,1),box-shadow .3s cubic-bezier(.25,.8,.25,1),background-color .3s cubic-bezier(.25,.8,.25,1);will-change:transform,box-shadow,background-color}.thumbnail-wrapper:hover{transform:translateY(-2px) scale(1.03);box-shadow:var(--shadow-sm);background-color:var(--dropdown-hover);z-index:5}@keyframes thumbnailPulse{0%{transform:translateY(-2px) scale(1.05);background-color:rgba(var(--primary-rgb),.1)}50%{transform:translateY(-3px) scale(1.08);background-color:rgba(var(--primary-rgb),.2)}to{transform:translateY(-2px) scale(1.05);background-color:rgba(var(--primary-rgb),.1)}}.thumbnail-wrapper.highlight-pulse{animation:thumbnailPulse 1s cubic-bezier(.25,.8,.25,1)}.react-pdf__Page.react-pdf__Page--loading{min-height:400px;background-color:var(--background);border-radius:var(--border-radius-sm);display:flex;align-items:center;justify-content:center;position:relative}.react-pdf__Page.react-pdf__Page--loading:after{content:"";position:absolute;width:40px;height:40px;border-radius:50%;border:3px solid var(--primary);border-top-color:transparent;animation:spinner 1s linear infinite}.pdf-page-draggable-container{position:relative;width:100%;height:100%;overflow:visible}.pdf-viewer-container.zoomed-in{cursor:grab;overflow:auto;background-color:var(--viewer-bg)}.pdf-viewer-container.zoomed-in:active{cursor:grabbing}.pdf-document-container.zoomed{min-width:fit-content;min-height:fit-content}.pdf-page-draggable-container{position:relative;width:100%;height:100%;overflow:visible;transition:transform .05s ease-out;will-change:transform}.pdf-page-wrapper.dragging,.pdf-page-wrapper.dragging *{user-select:none!important;-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important}.react-pdf__Page{position:relative;margin:0;padding:0;display:block;width:auto!important;height:auto!important}.pdf-page-content{position:relative;display:inline-block;width:auto;height:auto}.thumbnail-wrapper.active{border:2px solid var(--primary);background-color:rgba(var(--primary-rgb),.1);transform:translateY(-2px) scale(1.05);box-shadow:var(--shadow-sm)}.thumbnail-wrapper.active .page-number-label{background-color:var(--primary);color:#fff;font-weight:700}.pdf-page-wrapper.active.just-activated{animation:activePagePulse 1.5s cubic-bezier(.25,.8,.25,1)}.pdf-document-container.zoomed .react-pdf__Page__textContent{cursor:text!important}.pdf-document-container.zoomed .pdf-page{cursor:default}.pdf-file-action-button:hover{color:var(--primary);background-color:var(--button-hover);margin:0 2px}.pdf-document-container.zoomed .react-pdf__Page__textContent ::selection{background-color:rgba(var(--primary-rgb),.3)!important;color:var(--foreground)!important}.react-pdf__Page__textContent{position:absolute!important;top:0!important;left:0!important;width:100%!important;height:100%!important;z-index:2;transform:none!important;-webkit-user-select:text;user-select:text;pointer-events:auto!important}.react-pdf__Page__textContent span{color:transparent;position:absolute;white-space:pre-wrap;cursor:text!important;transform-origin:0 0;-webkit-user-select:text!important;user-select:text!important;pointer-events:auto!important}.react-pdf__Page__textContent ::selection{background-color:rgba(var(--primary-rgb),.3)!important;color:var(--foreground)!important}.pdf-page-wrapper.custom-text-selection-mode .custom-text-selection-overlay{cursor:text}.pdf-page-wrapper.custom-text-selection-mode .custom-text-selection-overlay:active{cursor:crosshair}.pdf-page-wrapper.custom-text-selection-mode .custom-text-selection-overlay{z-index:1000}.pdf-page-wrapper{margin:var(--spacing-xl) auto;position:relative;display:flex;justify-content:center;align-items:center;background-color:var(--surface);box-shadow:var(--shadow-md);border-radius:var(--radius-card);transition:transform var(--transition-transform),border-color var(--transition-colors),box-shadow var(--transition-card);width:fit-content;border:2.5px solid transparent;contain:layout paint style;will-change:transform,border-color,box-shadow;transform:translateZ(0);backface-visibility:hidden}.pdf-page-wrapper:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.pdf-page-wrapper.active{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary),var(--shadow-lg);z-index:10;transition:all .3s cubic-bezier(.25,.8,.25,1)}.pdf-page-wrapper.just-activated{animation:activePagePulse .6s var(--ease-out)}.page-number-indicator{position:absolute;bottom:-2rem;left:50%;transform:translate(-50%);background-color:var(--foreground);color:var(--background);padding:2px 8px;border-radius:10px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);z-index:5;opacity:0;transition:opacity .3s ease,transform .3s ease;pointer-events:none}.pdf-page-wrapper:hover .page-number-indicator,.pdf-page-wrapper.active .page-number-indicator{opacity:1;background-color:var(--background);color:var(--foreground);bottom:1rem;font-weight:700;transform:translate(-50%) translateY(-5px);box-shadow:var(--shadow-sm)}.pdf-page-content{position:relative;background-color:var(--background);border-radius:var(--radius-card);overflow:hidden}.react-pdf__Page{position:relative!important;border-radius:var(--radius-card);overflow:hidden;background-color:var(--surface)}.react-pdf__Page canvas{border-radius:var(--radius-card);box-shadow:none;background-color:var(--surface)}.react-pdf__Page__textContent{position:absolute!important;top:0!important;left:0!important;width:100%!important;height:100%!important;z-index:2;transform:none!important;-webkit-user-select:text;user-select:text;pointer-events:auto!important;color:transparent}.react-pdf__Page__textContent span{position:absolute!important;font-family:inherit!important;transform-origin:0% 0%!important;color:transparent!important}.react-pdf__Page__annotations{position:absolute!important;top:0!important;left:0!important;width:100%!important;height:100%!important;z-index:3;pointer-events:auto!important}.selection-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:4;pointer-events:auto}.page-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:5;pointer-events:auto;background-color:transparent}.pdf-page-loading-placeholder{width:100%;height:400px;background:var(--muted);border-radius:var(--radius-card);display:flex;align-items:center;justify-content:center;animation:pulse var(--duration-slower) infinite}.react-pdf__Page.react-pdf__Page--loading{background:var(--muted);display:flex;align-items:center;justify-content:center;min-height:400px;position:relative;border-radius:var(--radius-card)}.react-pdf__Page.react-pdf__Page--loading:after{content:"";width:var(--space-8);height:var(--space-8);border:2px solid var(--border-subtle);border-top:2px solid var(--primary);border-radius:var(--radius-full);animation:spin 1s linear infinite}[data-theme=dark] .pdf-page-wrapper{background-color:var(--background)}[data-theme=dark] .page-number-indicator{background-color:var(--background);color:var(--foreground)}@keyframes activePagePulse{0%{transform:scale(1)}50%{transform:scale(1.02);border-color:var(--primary)}to{transform:scale(1)}}@media (max-width: 768px){.pdf-page-wrapper{margin:var(--spacing-md) auto}.page-number-indicator{font-size:var(--font-size-xs);padding:var(--spacing-xs)}}.react-pdf__Document,.pdf-pages-container{display:flex;flex-direction:column;align-items:center;width:100%;padding-bottom:var(--spacing-2xl);position:relative}.pdf-document{display:flex;flex-direction:column;align-items:center;width:100%;padding-bottom:var(--spacing-md)}.pdf-document-container{position:relative;width:100%;min-height:100vh;display:flex;flex-direction:column;align-items:center;animation:fadeIn var(--duration-medium) var(--ease-out)}.pdf-document-draggable-container{position:relative;width:100%;height:100%;transition:transform var(--duration-immediate) var(--ease-out);will-change:transform}.pdf-document-container.dragging .pdf-document-draggable-container{transition:none}.pdf-page-draggable-container{position:relative;width:100%;height:100%;transition:transform var(--duration-normal) var(--ease-out);will-change:transform}.pdf-page-wrapper.dragging .pdf-page-draggable-container{transition:none}.pdf-document-container.zoomed{min-width:fit-content;min-height:fit-content;cursor:grab}.pdf-document-container.zoomed.dragging{cursor:grabbing}.pdf-document-container.zoomed .react-pdf__Page__textContent{pointer-events:auto}.pdf-document-container.zoomed .pdf-page{cursor:grab}.pdf-document-container.zoomed .react-pdf__Page__textContent ::selection{background:var(--primary)!important;color:var(--primary-foreground)!important}.pdf-page-wrapper.dragging,.pdf-document-container.dragging{-webkit-user-select:none;user-select:none;cursor:grabbing!important}.pdf-page-wrapper.dragging *{pointer-events:none}.pdf-file-header{position:sticky;top:0;width:100%;background:var(--background);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);padding:var(--spacing-md) var(--spacing-lg);display:flex;align-items:center;justify-content:space-between;z-index:10;transition:all var(--transition-speed) var(--transition-function)}.pdf-file-header-left{display:flex;align-items:center;gap:var(--spacing-sm);flex:1;min-width:0}.pdf-file-toggle-button{background:none;border:none;color:var(--muted-foreground);cursor:pointer;transition:all var(--transition-speed) var(--transition-function);display:flex;align-items:center;justify-content:center;padding:var(--spacing-xs);border-radius:var(--border-radius-sm);margin-right:var(--spacing-xs)}.pdf-file-toggle-button:hover{color:var(--primary);background-color:var(--button-hover)}.pdf-file-title{margin:0;font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.pdf-file-actions{display:flex;gap:var(--spacing-sm);flex-shrink:0}.pdf-file-action-button{background:none;border:none;color:var(--muted-foreground);cursor:pointer;transition:all var(--transition-speed) var(--transition-function);display:flex;align-items:center;justify-content:center;padding:var(--spacing-xs);border-radius:var(--border-radius-sm);width:28px;height:28px}.pdf-file-action-button:hover{color:var(--primary);background-color:var(--button-hover)}.pdf-file-container{width:100%;background:var(--background);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);overflow:hidden;transition:all var(--transition-card);opacity:1;transform:translateY(0);margin-bottom:var(--spacing-lg);border:var(--border-default)}.pdf-file-container:hover{box-shadow:var(--shadow-md)}.pdf-file-container.current{border-color:var(--primary);box-shadow:var(--shadow-lg)}.pdf-document-container{animation:fadeIn var(--transition-speed) var(--transition-function);transform-origin:top center}.pdf-loading-placeholder{min-height:300px;background-color:var(--background);display:flex;align-items:center;justify-content:center;width:100%;position:relative;animation:pulse 2s infinite}.pdf-loading-placeholder:after{content:"";width:40px;height:40px;border-radius:50%;border:3px solid var(--primary);border-top-color:transparent;animation:spinner 1s linear infinite}@keyframes spinner{to{transform:rotate(360deg)}}@keyframes activePagePulse{0%{border-color:var(--primary);box-shadow:0 0 0 1px rgba(var(--primary-rgb),.8),var(--shadow-lg)}50%{border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.4),var(--shadow-lg)}to{border-color:var(--primary);box-shadow:0 0 0 1px rgba(var(--primary-rgb),.8),var(--shadow-lg)}}.pdf-page-wrapper.just-activated{animation:activePagePulse 1.5s cubic-bezier(.25,.8,.25,1)}.react-pdf__Page__textContent *::selection{background:transparent!important;color:inherit!important}.react-pdf__Page__textContent.text-selection-enabled ::selection{background-color:transparent!important;color:inherit!important}.react-pdf__Page__textContent.text-selection-enabled{cursor:text!important;user-select:text!important;-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important}.text-selection-highlight-container{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:999;overflow:visible}.text-selection-highlight-span{position:absolute;pointer-events:none;border-radius:1px;will-change:transform,opacity;box-sizing:border-box}.pdf-page-wrapper.text-selection-mode:hover:before,.pdf-page-wrapper.rectangle-mode:hover:before{opacity:.8}.selection-overlay{position:absolute;pointer-events:none;z-index:50;border:1px solid rgba(39,171,111,.6);background-color:#27ab6f4d;border-radius:2px}.react-pdf__Page__annotations section{position:absolute;transform-origin:0 0}.react-pdf__Page__annotations .linkAnnotation{position:absolute;cursor:pointer;border:1px dashed transparent;border-radius:2px;pointer-events:auto}.react-pdf__Page__annotations .linkAnnotation:hover{border-color:#00f3;box-shadow:0 0 3px #00f3}.react-pdf__Page__annotations [data-annotation-id=""]{display:none}.react-pdf__Page__annotations .linkAnnotation.active{pointer-events:none}@media (max-width: 768px){.pdf-file-header{padding:var(--spacing-sm)}.pdf-file-title{font-size:var(--font-size-base);max-width:200px}.pdf-file-actions{gap:var(--spacing-xs)}.pdf-file-action-button{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}}.pdf-viewer-page{display:flex;flex-direction:column;height:100vh;overflow-x:hidden;overflow-y:auto;background-color:var(--background);color:var(--foreground);transition:background-color var(--transition-speed) var(--transition-function),color var(--transition-speed) var(--transition-function)}.viewer-header{flex-shrink:0}.viewer-content{display:flex;grid-template-columns:auto 1fr auto;height:calc(100vh - 60px);overflow:hidden;position:relative}.left-sidebar,.right-sidebar{display:flex!important;flex-direction:column!important;background-color:var(--sidebar-bg);border-color:var(--sidebar-border);transition:width var(--transition-speed) var(--transition-function),transform var(--transition-speed) var(--transition-function);position:relative;height:100%!important;z-index:10;max-width:320px;will-change:width}.sidebar-content,.entity-detection-sidebar,.search-sidebar,.redaction-sidebar,.tabbed-sidebar,.file-selector,.tab-panel,.sidebar-content>*{overflow-y:visible!important;height:auto!important;min-height:0!important;flex:1 1 auto!important}.left-sidebar{overflow-y:hidden;border-right:1px solid var(--sidebar-border);background-color:var(--sidebar-bg);transition:width var(--transition-speed) var(--transition-function),transform var(--transition-speed) var(--transition-function),opacity var(--transition-speed) var(--transition-function),background-color var(--transition-speed) var(--transition-function);box-shadow:2px 0 8px #0000000d;position:relative;z-index:5;width:20vw}.left-sidebar.collapsed{width:0!important;opacity:0;transform:translate(-20px);overflow:hidden}.sidebar-hover-sensor{position:absolute;top:0;left:0;width:1vw;height:80%;margin:8vh auto;z-index:4;background-color:transparent;cursor:pointer}.main-content{flex:1;overflow:auto;position:relative;display:flex;flex-direction:column;background-color:var(--background);transition:margin-left var(--transition-speed) var(--transition-function),background-color var(--transition-speed) var(--transition-function);scrollbar-width:thin;scrollbar-color:var(--button-border) var(--background)}.file-upload-container{flex:1;display:flex;flex-direction:column;margin:var(--header-height);align-items:center;justify-content:center;padding:var(--spacing-lg);gap:var(--spacing-lg);border-radius:var(--border-radius-lg);cursor:pointer;animation:fadeIn .5s ease forwards}.file-upload-title{font-size:24px;font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-lg);color:var(--foreground)}.file-upload-area{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:400px;height:200px;border:2px dashed var(--button-border);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);gap:var(--spacing-lg);cursor:pointer;transition:all var(--transition-speed) var(--transition-function)}.file-upload-area:hover{border-color:var(--primary);background-color:var(--dropdown-hover);transform:translateY(-5px);box-shadow:var(--shadow-md)}.file-upload-icon{color:var(--muted-foreground);transition:transform var(--transition-speed) var(--transition-function)}.file-upload-text{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--muted-foreground);text-align:center;transition:color var(--transition-speed) var(--transition-function)}.tabs-header{display:flex;border-bottom:1px solid var(--sidebar-border)}.tab-button{flex:1;padding:var(--spacing-md) var(--spacing-sm);background:none;border:none;outline:none;cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--muted-foreground);position:relative;transition:all var(--transition-speed) var(--transition-function)}.sidebar-hover-sensor:hover:after{content:"";position:absolute;top:50%;left:10px;width:5px;height:50px;background-color:var(--primary);border-radius:3px;transform:translateY(-50%);opacity:.6;animation:pulseIndicator 2s infinite}@keyframes pulseIndicator{0%{opacity:.3;height:40px}50%{opacity:.8;height:60px}to{opacity:.3;height:40px}}@media (max-width: 992px){.right-sidebar{width:280px}}@media (max-width: 768px){.viewer-content{flex-direction:column}.left-sidebar,.right-sidebar{width:100%!important;max-height:200px;border-right:none;border-left:none}.left-sidebar{border-bottom:1px solid var(--sidebar-border)}.right-sidebar{border-top:1px solid var(--sidebar-border)}.left-sidebar.collapsed{max-height:0;transform:translateY(-20px)}.sidebar-hover-sensor{height:20px;width:100%;top:0}}.file-upload-subtitle{font-size:var(--font-size-sm);color:var(--muted-foreground);margin-top:var(--spacing-xs)}.file-upload-area.drag-active{border-color:var(--primary);background-color:var(--active-bg);transform:scale(1.02)}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideIn{0%{width:0;opacity:0}to{width:100%;opacity:1}}.enhanced-toolbar{display:flex;align-items:center;justify-content:center;background-color:var(--toolbar-bg);margin-bottom:var(--spacing-md);padding:var(--spacing-xs) var(--spacing-lg) var(--spacing-xs) var(--spacing-lg);box-shadow:0 2px 8px var(--toolbar-shadow);flex-wrap:nowrap;gap:var(--spacing-md);position:sticky;top:0;transition:all var(--transition-speed) var(--transition-function);z-index:50}.toolbar-section{flex:0;display:flex;align-items:center;flex-wrap:nowrap;justify-content:space-between;gap:var(--spacing-xs)}.sidebar-toggle{display:flex;align-items:center;justify-content:center;position:relative;transition:all .3s var(--transition-function);color:var(--foreground);background:transparent;border:none;cursor:pointer;border-radius:var(--border-radius-md)}.sidebar-toggle svg{transition:transform .3s var(--transition-function);color:var(--primary);height:var(--icon-size-xs);width:var(--icon-size-xs)}.sidebar-toggle:hover{background-color:var(--button-hover)}.sidebar-toggle:hover svg{transform:scale(1.1)}.sidebar-toggle:active svg{transform:scale(.95)}.toolbar-button{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);margin:var(--spacing-xs);border:1px solid var(--button-border);border-radius:var(--border-radius-md);background-color:var(--button-bg);cursor:pointer;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--button-text);transition:all var(--transition-speed) var(--transition-function);position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolbar-button:hover:not(:disabled){background-color:var(--button-hover);border-color:var(--button-border);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.toolbar-button:hover:not(:disabled):after{content:"";position:absolute;top:50%;left:50%;width:100%;height:120%;background:radial-gradient(circle,#fff3,#fff0 70%);transform:translate(-50%,-50%) scale(0);border-radius:50%;opacity:0;pointer-events:none;animation:ripple .6s ease-out}.toolbar-button:active:not(:disabled){background-color:var(--button-active);transform:translateY(0);box-shadow:0 1px 2px #0000000d}.toolbar-button.active{background-color:var(--active-bg);border-color:var(--active-border);color:var(--active-text);box-shadow:var(--shadow-sm)}.toolbar-button.sidebar-toggle{width:var(--icon-size-lg);height:var(--icon-size-lg);display:flex;align-items:center;justify-content:center;padding:0}.toolbar-button.sidebar-toggle.left{margin-right:var(--spacing-md)}.toolbar-button.sidebar-toggle:hover svg{transform:scale(1.1)}@media (max-width: 768px){.left-sidebar:not(.collapsed),.right-sidebar:not(.collapsed){width:85%;position:absolute;top:0;bottom:0;z-index:1000}.left-sidebar:not(.collapsed){left:0}.right-sidebar:not(.collapsed){right:0}}.toolbar-button.sidebar-toggle.right{margin-left:var(--spacing-md)}.toolbar-button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.toolbar-button svg{width:var(--icon-size-sm);height:var(--icon-size-sm);min-width:var(--icon-size-sm);min-height:var(--icon-size-sm);flex-shrink:0;font-size:var(--icon-size-sm);transition:transform var(--transition-speed) var(--transition-function)}.toolbar-button:hover:not(:disabled) svg{transform:scale(1.1)}[class*=icon-]{font-size:24px;line-height:1;display:inline-block}.icon-first-page,.icon-prev-page,.icon-next-page,.icon-last-page{color:var(--primary);font-size:24px}.icon-first-page:before{content:"⏮"}.icon-prev-page:before{content:"⏪"}.icon-next-page:before{content:"⏩"}.icon-last-page:before{content:"⏭"}.icon-zoom-in,.icon-zoom-out,.icon-zoom-fit{color:var(--secondary);font-size:24px}.icon-zoom-in:before{content:"🔍"}.icon-zoom-out:before{content:"🔍"}.icon-zoom-fit:before{content:"⛶"}.icon-highlighter{color:#fbbf24;font-size:20px}.icon-highlighter:before{content:"🖍"}.icon-redact{color:#ef4444;font-size:20px}.icon-redact:before{content:"■"}.icon-select{color:var(--primary);font-size:20px}.icon-select:before{content:"🔲"}.icon-search{color:var(--accent);font-size:20px}.icon-search:before{content:"🔍"}.icon-download{color:#10b981}.icon-download:before{content:"⬇"}.icon-upload{color:#3b82f6}.icon-upload:before{content:"⬆"}.icon-save{color:var(--primary)}.icon-save:before{content:"💾"}.icon-print{color:var(--muted-foreground)}.icon-print:before{content:"🖨"}.icon-fullscreen{color:var(--secondary)}.icon-fullscreen:before{content:"⛶"}.icon-sidebar-left,.icon-sidebar-right{color:var(--primary)}.icon-sidebar-left:before{content:"⫸"}.icon-sidebar-right:before{content:"⫷"}.icon-menu{color:var(--foreground)}.icon-menu:before{content:"☰"}.icon-settings{color:var(--muted-foreground)}.icon-settings:before{content:"⚙"}.icon-help{color:var(--accent)}.icon-help:before{content:"❓"}.icon-person{color:#8b5cf6}.icon-person:before{content:"👤"}.icon-location{color:#f59e0b}.icon-location:before{content:"📍"}.icon-organization{color:#06b6d4}.icon-organization:before{content:"🏢"}.icon-phone{color:#84cc16}.icon-phone:before{content:"📞"}.icon-email{color:#3b82f6}.icon-email:before{content:"✉"}.icon-ssn{color:#ef4444}.icon-ssn:before{content:"🆔"}.icon-credit-card{color:#f59e0b}.icon-credit-card:before{content:"💳"}.icon-processing{color:var(--accent);animation:spin 2s linear infinite}.icon-processing:before{content:"⟳"}.icon-complete{color:#10b981}.icon-complete:before{content:"✓"}.icon-error{color:#ef4444}.icon-error:before{content:"✗"}.icon-warning{color:#f59e0b}.icon-warning:before{content:"⚠"}.toolbar-button .icon-sm{font-size:20px}.toolbar-button .icon-md{font-size:24px}.toolbar-button .icon-lg{font-size:28px}.toolbar-button .icon-xl{font-size:32px}.toolbar-button.active .icon-highlighter{color:#f59e0b}.toolbar-button.active .icon-redact{color:#dc2626}.toolbar-button.active .icon-select{color:var(--primary-hover)}.toolbar-button:disabled svg,.toolbar-button:disabled:before{color:var(--muted-foreground);opacity:.5}.button-label{display:inline-block;transition:opacity var(--transition-speed) var(--transition-function)}.zoom-level{display:inline-block;min-width:60px;text-align:center;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:0 var(--spacing-sm);-webkit-user-select:none;user-select:none;background-color:var(--button-bg);border-radius:var(--border-radius-sm);padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--button-border)}.page-navigation-form{display:flex;align-items:center;gap:var(--spacing-xs);background-color:var(--button-bg);border-radius:var(--border-radius-md);padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--button-border);transition:border-color .2s ease}.page-navigation-form:focus-within{border-color:var(--primary);box-shadow:0 0 0 2px #27ab6f33}.page-navigation-form input{width:40px;padding:var(--spacing-xs);text-align:center;border:1px solid var(--button-border);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);background-color:var(--toolbar-bg);color:var(--button-text);transition:all var(--transition-speed) var(--transition-function)}.page-navigation-form input:focus{outline:none;border-color:var(--active-border);box-shadow:0 0 0 2px #27ab6f33}.page-navigation-form span{font-size:var(--font-size-sm);color:var(--button-text)}.toolbar-dropdown{position:relative}.dropdown-menu{position:absolute;top:calc(100% + var(--spacing-sm));left:0;z-index:100;min-width:220px;background-color:var(--dropdown-bg);border:1px solid var(--dropdown-border);border-radius:var(--border-radius-md);box-shadow:0 4px 12px var(--dropdown-shadow);padding:var(--spacing-sm) 0;margin-top:var(--spacing-xs);opacity:0;transform:translateY(-10px);transition:all var(--transition-speed) var(--transition-function);animation:fadeIn var(--transition-speed) var(--transition-function) forwards;pointer-events:auto}.dropdown-item{padding:var(--spacing-sm) var(--spacing-xl);font-size:var(--font-size-sm);cursor:pointer;display:flex;align-items:center;gap:var(--spacing-sm);color:var(--button-text);transition:background-color var(--transition-speed) var(--transition-function);min-height:36px}.dropdown-item:hover{background-color:var(--dropdown-hover)}.dropdown-item label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;width:100%}.dropdown-item input[type=checkbox]{margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border:2px solid var(--button-border);border-radius:3px;position:relative;cursor:pointer;transition:all var(--transition-speed) var(--transition-function)}.dropdown-item input[type=checkbox]:checked{background-color:var(--primary);border-color:var(--primary)}.dropdown-item input[type=checkbox]:checked:after{content:"";position:absolute;top:2px;left:5px;width:4px;height:8px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.dropdown-item input[type=color]{width:24px;height:24px;border:1px solid var(--button-border);border-radius:var(--border-radius-sm);cursor:pointer;padding:0;margin-left:auto;transition:all var(--transition-speed) var(--transition-function);vertical-align:middle}.dropdown-item input[type=color]:focus{outline:none;border-color:var(--active-border);box-shadow:0 0 0 2px #27ab6f33}.dropdown-item button{background:none;border:none;color:var(--primary);cursor:pointer;font-size:var(--font-size-sm);padding:0;text-align:left;width:100%;transition:all var(--transition-speed) var(--transition-function)}.dropdown-item button:hover{color:var(--primary-hover)}.dropdown-item:has(button[onClick*=ResetEntityColors]){margin-top:var(--spacing-xs)}.dropdown-divider{height:1px;background-color:var(--toolbar-border);margin:var(--spacing-sm) 0}.dropdown-section{margin-bottom:var(--spacing-sm)}.dropdown-section:last-child{margin-bottom:0}@keyframes ripple{0%{transform:translate(-50%,-50%) scale(0);opacity:.8}to{transform:translate(-50%,-50%) scale(1);opacity:0}}@media (max-width: 1200px){.enhanced-toolbar{padding:var(--spacing-sm)}.toolbar-section{gap:var(--spacing-xs)}.button-label{display:none}.toolbar-button{padding:var(--spacing-sm)}}@media (max-width: 768px){.enhanced-toolbar{justify-content:center;flex-wrap:wrap}.toolbar-section{margin-bottom:var(--spacing-sm);flex-wrap:wrap;justify-content:center}.sidebar-toggle{order:-1;margin-right:0;margin-bottom:var(--spacing-sm);width:100%;display:flex;justify-content:center}}.pdf-page-wrapper.custom-text-selection-mode .react-pdf__Page__textContent,.pdf-page-wrapper.custom-text-selection-mode .react-pdf__Page__textContent *,.pdf-page-wrapper.custom-text-selection-mode .react-pdf__Page__textContent span{user-select:none!important;-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;pointer-events:none!important}.pdf-page-wrapper.custom-text-selection-mode .react-pdf__Page__textContent *::selection,.pdf-page-wrapper.custom-text-selection-mode .react-pdf__Page__textContent *::-moz-selection{background:transparent!important;color:inherit!important}.custom-text-selection-overlay{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:auto;z-index:1000;cursor:text;background:transparent}.custom-text-selection-overlay:hover{cursor:crosshair}.selection-rect{position:absolute;pointer-events:none;border-radius:var(--radius-sm);transition:all .1s ease-out;box-shadow:var(--shadow-xs);opacity:.8;mix-blend-mode:multiply}.selection-rect:hover{opacity:.9;transform:scale(1.01)}.pdf-page-wrapper.custom-text-selection-mode{position:relative}.pdf-page-wrapper.custom-text-selection-mode:before{content:"Text Selection Mode - Click and drag to select text";position:absolute;top:-35px;left:50%;transform:translate(-50%);background-color:var(--primary);color:var(--primary-foreground);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap;z-index:1100;opacity:0;transition:opacity .3s ease,transform .3s ease;pointer-events:none;box-shadow:var(--shadow-md)}.pdf-page-wrapper.custom-text-selection-mode:hover:before{opacity:1;transform:translate(-50%) translateY(-2px)}.pdf-page-wrapper.custom-text-selection-mode{border:2px dashed var(--primary);border-opacity:.3;transition:border-opacity .3s ease}.pdf-page-wrapper.custom-text-selection-mode:hover{border-opacity:.6;box-shadow:0 0 0 1px var(--primary),var(--shadow-lg)}.react-pdf__Page__textContent *::selection{background:rgba(var(--primary-rgb),.3)!important;color:var(--foreground)!important}.text-selection-highlight-container,.text-selection-highlight-span{display:none}.pdf-page-wrapper.text-selection-mode:before,.pdf-page-wrapper.text-selection-mode:hover:before{display:none}.highlight-layer{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible;transform-origin:top left;z-index:6}.highlight-layer.interactive{pointer-events:auto}.search-highlight-layer,.entity-highlight-layer,.manual-highlight-layer{z-index:1000}.pdf-page-content{position:relative;display:inline-block}.highlight-layers-container{position:absolute;pointer-events:none;overflow:visible}.highlight-layer-factory{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible;isolation:isolate;z-index:1000}.highlight-rect,.highlight{position:absolute;pointer-events:auto;transition:all var(--transition-speed, .2s) var(--transition-function, ease);transform-origin:top left;box-sizing:border-box;backface-visibility:hidden;border-radius:var(--radius-sm);opacity:.4;box-shadow:var(--shadow-xs);cursor:pointer;border:1px solid transparent}.highlight-rect:hover,.highlight:hover{opacity:.7!important;transform:scale(1.01);box-shadow:var(--shadow-sm);border:2px dotted var(--background)!important}@keyframes pulse{0%{box-shadow:0 0 0 0 var(--muted);transform:scale(1)}50%{box-shadow:0 0 0 5px transparent;transform:scale(1.02)}to{box-shadow:0 0 0 0 transparent;transform:scale(1)}}.highlight-rect.selected,.highlight.selected{position:relative;border:2px dashed var(--accent, var(--primary))!important;opacity:.7!important;animation:pulse var(--transition-speed, 2s) infinite;z-index:10100!important;outline:2px solid var(--primary);outline-offset:1px}.search-highlight-layer .highlight-rect.selected,.entity-highlight-layer .highlight-rect.selected,.manual-highlight-layer .highlight-rect.selected{z-index:1000!important}.search-highlight,.highlight--search{background-color:var(--muted, rgba(var(--info-rgb), .3));border:1px solid var(--primary, var(--info))}.search-highlight:hover,.highlight--search:hover{background:rgba(var(--info-rgb),.4)}.highlight--search.current{background:rgba(var(--primary-rgb),.4);border-color:var(--primary);box-shadow:var(--shadow-primary)}.entity-highlight,.highlight--entity{background-color:var(--hover, rgba(var(--secondary-rgb), .3));border:1px solid var(--accent, var(--secondary))}.entity-highlight:hover,.highlight--entity:hover{background:rgba(var(--secondary-rgb),.4)}.manual-highlight,.highlight--manual{background-color:var(--success-alpha, rgba(var(--warning-rgb), .3));border:1px solid var(--success, var(--warning))}.manual-highlight:hover,.highlight--manual:hover{background:rgba(var(--warning-rgb),.4);box-shadow:var(--shadow-warning)}.highlight--redaction{background:var(--error);color:var(--error-foreground);border-color:var(--error-dark)}.highlight--redaction:hover{background:var(--error-hover)}.selection-overlay{position:absolute;pointer-events:none;z-index:1000;box-sizing:border-box;border:1px dashed var(--foreground);background-color:var(--hover);border-radius:var(--radius-sm);animation:selectionAppear var(--transition-speed, .2s) var(--transition-function, ease) forwards}@keyframes selectionAppear{0%{opacity:.2}to{opacity:.4}}.highlight-tooltip{position:fixed;background-color:var(--background);color:var(--primary-foreground);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);font-size:var(--text-xs);pointer-events:none;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis;box-shadow:var(--shadow-lg);opacity:0;animation:tooltipFadeIn var(--transition-speed, .2s) var(--transition-function, ease) forwards;z-index:var(--z-popover)}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%) translateY(-90%)}to{opacity:1;transform:translate(-50%) translateY(-100%)}}.highlight-context-menu{position:fixed;background:var(--background-surface);border:var(--border-default);border-radius:var(--radius-dropdown);box-shadow:var(--shadow-dropdown);padding:var(--spacing-xs);z-index:var(--z-popover);min-width:150px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto}.highlight-context-menu-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-colors);font-size:var(--font-size-sm);color:var(--foreground);white-space:nowrap;border:none;background:none;width:100%;text-align:left}.highlight-context-menu-item:hover{background-color:var(--hover)}.highlight-context-menu-item:focus{outline:none;background-color:var(--hover)}.highlight-context-menu-item.danger{color:var(--error)}.highlight-context-menu-item.danger:hover{background-color:var(--error);color:var(--error-foreground)}.highlight-context-menu-separator{height:1px;background:var(--border-subtle);margin:var(--spacing-xs) 0}.highlight-context-menu-icon{width:var(--space-4);height:var(--space-4);flex-shrink:0}.highlight-toolbar{position:absolute;background:var(--background-surface);border:var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--spacing-xs);z-index:var(--z-tooltip);display:flex;align-items:center;gap:var(--spacing-xs);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.highlight-toolbar-button{background:none;border:none;color:var(--foreground);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-md);transition:all var(--transition-button);display:flex;align-items:center;justify-content:center;width:var(--space-8);height:var(--space-8)}.highlight-toolbar-button:hover{background-color:var(--hover);color:var(--primary)}.highlight-toolbar-button.active{background-color:var(--primary);color:var(--primary-foreground)}.highlight-toolbar-separator{width:1px;height:var(--space-4);background:var(--border-subtle);margin:0 var(--spacing-xs)}.highlight-color-picker{display:flex;gap:var(--spacing-xs);padding:var(--spacing-sm);background:var(--background);border-radius:var(--radius-md);border:var(--border-default)}.highlight-color-option{width:var(--space-6);height:var(--space-6);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-transform);border:2px solid transparent}.highlight-color-option:hover{transform:scale(1.1);border-color:var(--border-strong)}.highlight-color-option.selected{transform:scale(1.1);border-color:var(--foreground);box-shadow:var(--shadow-focus)}.highlight-color-option--yellow{background:var(--warning)}.highlight-color-option--blue{background:var(--info)}.highlight-color-option--green{background:var(--success)}.highlight-color-option--red{background:var(--error)}.highlight-color-option--purple{background:var(--secondary)}.highlight-color-option--orange{background:var(--primary)}.page-overlay.rectangle-mode{cursor:crosshair}.rectangle-selection{position:absolute;border:2px dashed var(--primary);background:rgba(var(--primary-rgb),.1);border-radius:var(--radius-sm);pointer-events:none;z-index:9}.react-pdf__Page__annotations section{position:relative!important}.react-pdf__Page__annotations .linkAnnotation{border:1px solid rgba(var(--primary-rgb),.3);background:rgba(var(--primary-rgb),.1);border-radius:var(--radius-sm);transition:all var(--transition-colors);cursor:pointer}.react-pdf__Page__annotations .linkAnnotation:hover{border-color:var(--primary);background:rgba(var(--primary-rgb),.2)}.react-pdf__Page__annotations [data-annotation-id=""]{display:none!important}.react-pdf__Page__annotations .linkAnnotation.active{border-color:var(--primary);background:rgba(var(--primary-rgb),.3);box-shadow:var(--shadow-primary)}.react-pdf__Page__textContent{position:absolute!important;top:0!important;left:0!important;width:100%!important;height:100%!important;z-index:2;transform:none!important;pointer-events:auto;-webkit-user-select:text;user-select:text}.react-pdf__Page__annotations{position:absolute!important;top:0!important;left:0!important;width:100%!important;height:100%!important;z-index:3}@media (max-width: 768px){.pdf-page-wrapper{padding:var(--spacing-xs)}.highlight-tooltip{font-size:var(--font-size-xs);padding:var(--spacing-xs);max-width:150px}.highlight-context-menu{min-width:120px;padding:var(--spacing-xs);position:fixed;bottom:var(--spacing-lg);left:var(--spacing-md);right:var(--spacing-md);width:auto}.highlight-context-menu-item{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}.highlight-toolbar{padding:var(--spacing-xs);gap:2px}.highlight-toolbar-button{width:var(--space-6);height:var(--space-6)}.highlight-color-option{width:var(--space-5);height:var(--space-5)}.pdf-page-wrapper.custom-text-selection-mode:before{content:"Tap and drag to select text";font-size:var(--font-size-xs);padding:var(--spacing-xs)}.custom-text-selection-overlay{touch-action:none}}.fullscreen-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--background);z-index:var(--z-modal);display:flex;flex-direction:column;animation:fadeInOverlay var(--duration-medium) var(--ease-out)}.fullscreen-toolbar{position:sticky;top:0;background:var(--background-surface);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:var(--border-default);padding:var(--spacing-md);display:flex;align-items:center;justify-content:space-between;z-index:var(--z-sticky)}.fullscreen-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--foreground);margin:0;line-height:var(--line-height-tight);max-width:400px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fullscreen-close-button{background:none;border:none;color:var(--foreground-muted);cursor:pointer;padding:var(--spacing-sm);border-radius:var(--radius-button);transition:all var(--transition-button);display:flex;align-items:center;justify-content:center;width:var(--space-10);height:var(--space-10)}.fullscreen-close-button:hover{background-color:var(--hover);color:var(--foreground)}.fullscreen-content{flex:1;overflow:auto;background:var(--background);display:flex;justify-content:center;align-items:flex-start;padding:var(--spacing-lg);scrollbar-width:thin;scrollbar-color:var(--accent) var(--background-surface)}.fullscreen-content::-webkit-scrollbar{width:var(--space-3);height:var(--space-3)}.fullscreen-content::-webkit-scrollbar-track{background:var(--background-surface)}.fullscreen-content::-webkit-scrollbar-thumb{background-color:var(--accent);border-radius:var(--radius-full)}.fullscreen-content::-webkit-scrollbar-thumb:hover{background-color:var(--accent-hover)}.fullscreen-content .pdf-document-container{max-width:none;margin:0 auto;background:transparent;box-shadow:none;border-radius:0}.fullscreen-content .react-pdf__Page canvas{max-width:90vw;max-height:90vh;object-fit:contain}.processing-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--background-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;animation:fadeIn var(--duration-medium) var(--ease-out)}.processing-content{background:var(--background-surface);border:var(--border-default);border-radius:var(--radius-card);padding:var(--spacing-2xl);text-align:center;box-shadow:var(--shadow-modal);max-width:400px;width:90%}.processing-spinner{width:var(--space-12);height:var(--space-12);border:3px solid var(--border-subtle);border-top:3px solid var(--primary);border-radius:var(--radius-full);animation:spin 1s linear infinite;margin:0 auto var(--spacing-lg)}.processing-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--foreground);margin:0 0 var(--spacing-sm) 0}.processing-message{font-size:var(--font-size-sm);color:var(--foreground-muted);margin:0;line-height:var(--line-height-relaxed)}.processing-progress{margin-top:var(--spacing-lg);width:100%;height:var(--space-2);background:var(--background);border-radius:var(--radius-full);overflow:hidden}.processing-progress-bar{height:100%;background:var(--primary);border-radius:var(--radius-full);transition:width var(--duration-medium) var(--ease-out)}.confirmation-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--background-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;animation:fadeIn var(--duration-medium) var(--ease-out)}.confirmation-dialog{background:var(--background-surface);border:var(--border-default);border-radius:var(--radius-modal);padding:var(--spacing-2xl);box-shadow:var(--shadow-modal);max-width:500px;width:90%;text-align:center}.confirmation-icon{width:var(--space-16);height:var(--space-16);margin:0 auto var(--spacing-lg);color:var(--warning)}.confirmation-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--foreground);margin:0 0 var(--spacing-md) 0}.confirmation-message{font-size:var(--font-size-base);color:var(--foreground-muted);margin:0 0 var(--spacing-2xl) 0;line-height:var(--line-height-relaxed)}.confirmation-actions{display:flex;gap:var(--spacing-md);justify-content:center}.confirmation-button{background:var(--background);border:var(--border-default);color:var(--foreground);cursor:pointer;padding:var(--spacing-button-y) var(--spacing-button-x);border-radius:var(--radius-button);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);transition:all var(--transition-button);min-width:100px}.confirmation-button:hover{background-color:var(--hover);border-color:var(--primary);color:var(--primary)}.confirmation-button--primary{background-color:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.confirmation-button--primary:hover{background-color:var(--primary-hover);border-color:var(--primary-hover)}.confirmation-button--danger{background-color:var(--error);border-color:var(--error);color:var(--error-foreground)}.confirmation-button--danger:hover{background-color:var(--error-hover);border-color:var(--error-hover)}.pdf-tooltip{position:fixed;background:var(--background-surface);border:var(--border-default);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);color:var(--foreground);box-shadow:var(--shadow-tooltip);z-index:var(--z-tooltip);max-width:250px;word-wrap:break-word;pointer-events:none;opacity:0;transform:translateY(var(--spacing-xs));transition:all var(--transition-dropdown)}.pdf-tooltip.visible{opacity:1;transform:translateY(0)}.pdf-tooltip-arrow{position:absolute;width:0;height:0;border-style:solid}.pdf-tooltip-arrow--top{top:-6px;left:50%;transform:translate(-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid var(--background-surface)}.pdf-tooltip-arrow--bottom{bottom:-6px;left:50%;transform:translate(-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid var(--background-surface)}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (max-width: 768px){.fullscreen-toolbar{padding:var(--spacing-sm)}.fullscreen-title{font-size:var(--font-size-base);max-width:200px}.fullscreen-content{padding:var(--spacing-md)}.fullscreen-content .react-pdf__Page canvas{max-width:95vw;max-height:80vh}.processing-content,.confirmation-dialog{padding:var(--spacing-lg)}.confirmation-actions{flex-direction:column}.confirmation-button{width:100%}}.file-upload-area{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-5xl);border:2px dashed var(--border);border-radius:var(--radius-card);background:var(--background);transition:all var(--transition-colors);cursor:pointer;text-align:center;min-height:300px}.file-upload-area:hover{border-color:var(--primary);background:var(--background);transform:translateY(-2px)}.file-upload-area.drag-active{border-color:var(--primary);background:var(--background);transform:scale(1.02)}.file-upload-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--foreground);margin:0 0 var(--spacing-md) 0}.file-upload-icon{width:var(--space-16);height:var(--space-16);min-height:var(--space-16);color:var(--foreground);margin-bottom:var(--spacing-lg);transition:all var(--transition-transform)}.file-upload-area:hover .file-upload-icon{transform:scale(1.1);color:var(--primary)}.file-upload-text{font-size:var(--font-size-lg);color:var(--foreground);margin:0 0 var(--spacing-sm) 0;font-weight:var(--font-weight-medium)}.file-upload-area:hover .file-upload-text{color:var(--primary)}.file-upload-subtitle{font-size:var(--font-size-sm);color:var(--foreground-muted);margin:0;line-height:var(--line-height-relaxed)}.processing-status-container{position:fixed;bottom:var(--spacing-lg);right:var(--spacing-lg);background:var(--background-surface);border:var(--border-default);border-radius:var(--radius-card);padding:var(--spacing-lg);box-shadow:var(--shadow-lg);z-index:var(--z-toast);max-width:300px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:slideInFromRight var(--duration-medium) var(--ease-out)}.processing-status-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.processing-status-icon{width:var(--space-5);height:var(--space-5);color:var(--primary);animation:spin 1s linear infinite}.processing-status-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--foreground);margin:0}.processing-status-message{font-size:var(--font-size-xs);color:var(--foreground-muted);margin:0 0 var(--spacing-md) 0;line-height:var(--line-height-relaxed)}.processing-status-progress{width:100%;height:var(--space-1);background:var(--background);border-radius:var(--radius-full);overflow:hidden;margin-bottom:var(--spacing-sm)}.processing-status-progress-bar{height:100%;background:var(--primary);border-radius:var(--radius-full);transition:width var(--duration-medium) var(--ease-out)}.processing-status-cancel{background:none;border:none;color:var(--foreground-muted);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-button);transition:all var(--transition-button);font-size:var(--font-size-xs);text-align:center;width:100%}.processing-status-cancel:hover{background-color:var(--hover);color:var(--error)}.pdf-search-controls{display:flex;align-items:center;gap:var(--spacing-sm);background:var(--background-subtle);border:var(--border-default);border-radius:var(--radius-lg);padding:var(--spacing-xs)}.pdf-search-input{flex:1;background:var(--background);border:var(--border-input);border-radius:var(--radius-input);padding:var(--spacing-input-y) var(--spacing-input-x);font-size:var(--font-size-sm);color:var(--foreground);transition:all var(--transition-input)}.pdf-search-input:focus{outline:none;border-color:var(--primary);box-shadow:var(--shadow-focus)}.pdf-search-input::placeholder{color:var(--foreground-muted)}.pdf-search-button{background:none;border:none;color:var(--foreground-muted);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-button);transition:all var(--transition-button);display:flex;align-items:center;justify-content:center;width:var(--space-8);height:var(--space-8)}.pdf-search-button:hover{background-color:var(--hover);color:var(--primary)}.pdf-search-button:disabled{opacity:.5;cursor:not-allowed}.pdf-search-results{font-size:var(--font-size-xs);color:var(--foreground-muted);padding:var(--spacing-xs) var(--spacing-sm);white-space:nowrap}.select-file-icon{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);width:var(--space-6);height:var(--space-6);border-radius:var(--radius-full);background:var(--primary);color:var(--primary-foreground);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}@keyframes slideInFromRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 768px){.file-upload-area{padding:var(--spacing-2xl);min-height:200px}.file-upload-title{font-size:var(--font-size-lg)}.file-upload-text{font-size:var(--font-size-base)}.file-upload-icon{width:var(--space-12);height:var(--space-12)}.processing-status-container{bottom:var(--spacing-sm);right:var(--spacing-sm);left:var(--spacing-sm);max-width:none}.pdf-search-controls{flex-wrap:wrap}.pdf-search-input{min-width:150px}}.file-selector{width:100%;height:100%;display:flex;flex-direction:column;background:var(--background);border-radius:var(--radius-lg);overflow:hidden;animation:slideInUp .4s var(--ease-out);position:relative}.file-selector:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,var(--primary) 20%,var(--accent) 50%,var(--primary) 80%,transparent 100%);opacity:.6;animation:shimmer 3s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.file-selector-header{padding:var(--spacing-sm) var(--spacing-md) var(--spacing-sm);background:var(--background);border-bottom:1px solid var(--border);position:relative;overflow:hidden}.file-selector-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,var(--primary) 50%,transparent 100%);opacity:.3}.file-selector-title-area{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);width:100%}.file-selector-title-group{display:flex;align-items:center;gap:var(--spacing-md);flex:1}.file-selector-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--foreground);margin:0;display:flex;align-items:center;gap:var(--spacing-sm);position:relative;box-sizing:none}.file-selector-title:before{content:"";width:4px;height:24px;background:linear-gradient(180deg,var(--primary) 0%,var(--accent) 100%);border-radius:var(--radius-full);flex-shrink:0}.select-all-control{display:flex;align-items:center;position:relative}.select-all-button{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--muted-foreground);padding:var(--spacing-sm);transition:all var(--transition-colors);position:relative;overflow:hidden;min-width:36px;height:36px}.select-all-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--background);transition:left .5s}.select-all-button:hover:before{left:100%}.select-all-button:hover{background:var(--background);border-color:var(--primary);color:var(--primary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.icon-some-selected{position:relative;display:flex;align-items:center;justify-content:center}.partial-check{position:absolute;width:8px;height:2px;background:var(--background );border-radius:var(--radius-sm);top:50%;left:50%;transform:translate(-50%,-50%);animation:pulse 1.5s infinite}.icon-check-all{color:var(--primary);animation:checkmark .3s var(--ease-out)}.select-all-button .icon-check-all,.select-all-button .icon-some-selected{display:flex;align-items:center;justify-content:center}@keyframes checkmark{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.file-actions-toolbar{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0;min-height:36px;min-width:140px;justify-content:flex-end}.file-action-toolbar-button{display:flex;align-items:center;justify-content:center;background:var(--background);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--spacing-xs);color:var(--muted-foreground);cursor:pointer;transition:all var(--transition-colors);position:relative;overflow:hidden;min-width:32px;height:32px}.file-action-toolbar-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:rgba(var(--primary-rgb),.1);border-radius:50%;transition:all .3s var(--ease-out);transform:translate(-50%,-50%)}.file-action-toolbar-button:hover:before{width:40px;height:40px}.file-action-toolbar-button:hover{background:var(--background);border-color:var(--primary);color:var(--foreground);transform:translateY(-2px);box-shadow:var(--shadow-md)}.file-action-toolbar-button.delete-button:hover{border-color:var(--destructive);color:var(--destructive)}.file-action-toolbar-button.delete-button:hover:before{background:rgba(var(--destructive-rgb),.1)}.add-files-button{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%);border:none;border-radius:var(--radius-md);color:var(--primary-foreground);cursor:pointer;transition:all var(--transition-colors);font-weight:var(--font-weight-medium);position:relative;overflow:hidden;box-shadow:var(--shadow-sm)}.add-files-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 50%,transparent 100%);transition:left .5s}.add-files-button:hover:before{left:100%}.add-files-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);filter:brightness(1.1)}.add-files-button:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.file-list{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-sm);flex:1;overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth}.file-list::-webkit-scrollbar{width:6px}.file-list::-webkit-scrollbar-track{background:var(--background);border-radius:var(--radius-full)}.file-list::-webkit-scrollbar-thumb{border-radius:var(--radius-full);transition:background .2s}.file-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);border-radius:var(--radius-lg);background:var(--background);border:1px solid var(--border);cursor:pointer;transition:all var(--transition-colors);position:relative;overflow:hidden;animation:fileSlideIn .4s var(--ease-out) backwards}@keyframes fileSlideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.file-item:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;transition:opacity var(--transition-colors)}.file-item:hover:before{opacity:1}.file-item:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.file-item.current{border-color:var(--primary);position:relative}.file-item.current:after{content:"";position:absolute;left:0;top:0;height:100%;width:4px;border-radius:0 var(--radius-sm) var(--radius-sm) 0;animation:slideInFromLeft .3s var(--ease-out)}@keyframes slideInFromLeft{0%{width:0;opacity:0}to{width:4px;opacity:1}}.file-item.selected{background:linear-gradient(135deg,rgba(var(--primary-rgb),.15),rgba(var(--accent-rgb),.08));border-color:var(--primary);box-shadow:var(--shadow-sm)}.file-controls{display:flex;align-items:center;gap:var(--spacing-xs);flex-shrink:0}.file-select-button,.file-visibility-button{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;padding:var(--spacing-xs);color:var(--muted-foreground);transition:all var(--transition-colors);display:flex;align-items:center;justify-content:center;width:32px;height:32px;position:relative;overflow:hidden}.file-select-button:before,.file-visibility-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:rgba(var(--primary-rgb),.1);border-radius:50%;transition:all .3s var(--ease-out);transform:translate(-50%,-50%)}.file-select-button:hover:before,.file-visibility-button:hover:before{width:40px;height:40px}.file-select-button:hover,.file-visibility-button:hover{border-color:var(--primary);color:var(--primary);transform:scale(1.05)}.file-visibility-button.visible{color:var(--primary);border-color:var(--primary)}.file-visibility-button.hidden{opacity:.6}.file-info{display:flex;align-items:center;gap:var(--spacing-sm);flex:1;min-width:0;overflow:hidden}.file-icon{color:var(--primary);flex-shrink:0;padding:var(--spacing-xs);background:rgba(var(--primary-rgb),.1);border-radius:var(--radius-md);transition:all var(--transition-colors)}.file-item:hover .file-icon{transform:scale(1.1)}.file-details{display:flex;flex-direction:column;overflow:hidden;min-width:0;gap:var(--spacing-xs)}.file-name-container{position:relative}.file-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px;transition:color var(--transition-colors)}.file-item.current .file-name{color:var(--primary);font-weight:var(--font-weight-semibold)}.file-size{font-size:var(--font-size-xs);color:var(--muted-foreground);font-weight:var(--font-weight-normal);opacity:.8;transition:all var(--transition-colors)}.file-item:hover .file-size{opacity:1;color:var(--foreground)}.file-actions{display:flex;gap:var(--spacing-xs);align-items:center;opacity:0;transform:translate(10px);transition:all var(--transition-colors)}.file-item:hover .file-actions{opacity:1;transform:translate(0)}.file-action-button{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;padding:var(--spacing-xs);color:var(--muted-foreground);transition:all var(--transition-colors);display:flex;align-items:center;justify-content:center;width:32px;height:32px;position:relative;overflow:hidden}.file-action-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:rgba(var(--destructive-rgb),.1);border-radius:50%;transition:all .3s var(--ease-out);transform:translate(-50%,-50%)}.file-action-button:hover:before{width:40px;height:40px}.file-action-button:hover{background:var(--card-hover);border-color:var(--destructive);color:var(--destructive);transform:scale(1.05)}.file-action-button:active{transform:scale(.95)}.file-item .tooltip{visibility:hidden;position:absolute;bottom:-45px;left:50%;transform:translate(-50%);color:var(--popover-foreground);text-align:center;border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);z-index:1000;width:max-content;max-width:300px;opacity:0;transition:all var(--transition-colors);pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:var(--shadow-lg);border:1px solid var(--border)}.file-item .tooltip:after{content:"";position:absolute;bottom:100%;left:50%;margin-left:-6px;border-width:6px;border-style:solid;border-color:transparent transparent var(--popover) transparent}.file-item.last-file .tooltip{bottom:auto;top:-45px}.file-item.last-file .tooltip:after{bottom:auto;top:100%;border-color:var(--popover) transparent transparent transparent}.file-item:hover .tooltip{visibility:visible;opacity:1;transform:translate(-50%) translateY(-5px);transition-delay:.5s}.empty-files-message{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;padding:var(--spacing-xl);text-align:center;color:var(--muted-foreground);gap:var(--spacing-lg);background:linear-gradient(135deg,rgba(var(--primary-rgb),.02),rgba(var(--accent-rgb),.02));border-radius:var(--radius-lg);border:2px dashed var(--border);margin:var(--spacing-md);transition:all var(--transition-colors);position:relative;overflow:hidden}.empty-files-message:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:conic-gradient(from 0deg,transparent 0deg,rgba(var(--primary-rgb),.05) 60deg,transparent 120deg);animation:rotate 10s linear infinite;z-index:0}.empty-files-message>*{position:relative;z-index:1}.empty-files-message:hover{border-color:var(--primary);background:linear-gradient(135deg,rgba(var(--primary-rgb),.05),rgba(var(--accent-rgb),.03))}.empty-files-message p{margin:0;font-size:var(--font-size-md);font-weight:var(--font-weight-medium)}.empty-icon{color:var(--muted-foreground);opacity:.5;animation:float 3s ease-in-out infinite}.add-files-empty-button{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background:linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%);border:none;border-radius:var(--radius-lg);color:var(--primary-foreground);cursor:pointer;transition:all var(--transition-colors);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);box-shadow:var(--shadow-md);position:relative;overflow:hidden}.add-files-empty-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);transition:left .6s}.add-files-empty-button:hover:before{left:100%}.add-files-empty-button:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);filter:brightness(1.1)}.add-files-empty-button:active{transform:translateY(-1px);box-shadow:var(--shadow-md)}.storage-settings{padding:var(--spacing-lg);background:linear-gradient(135deg,var(--card) 0%,rgba(var(--card-rgb),.8) 100%);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);position:relative;overflow:hidden;animation:slideInUp .4s var(--ease-out)}.storage-settings:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary) 0%,var(--accent) 50%,var(--primary) 100%);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.storage-settings-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);color:var(--foreground);position:relative}.storage-settings-header svg{color:var(--primary);padding:var(--spacing-xs);background:rgba(var(--primary-rgb),.1);border-radius:var(--radius-md);transition:all var(--transition-colors)}.storage-settings:hover .storage-settings-header svg{transform:scale(1.1)}.storage-settings-header h4{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);background:linear-gradient(135deg,var(--foreground) 0%,var(--primary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.storage-toggle{margin-bottom:var(--spacing-md);padding:var(--spacing-md);background:var(--background);border-radius:var(--radius-md);border:1px solid var(--border);transition:all var(--transition-colors)}.storage-toggle:hover{border-color:var(--primary)}.storage-toggle-label{display:flex;align-items:center;cursor:pointer;gap:var(--spacing-sm);position:relative}.storage-toggle-label input[type=checkbox]{width:20px;height:20px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:2px solid var(--border);border-radius:var(--radius-sm);background:var(--background);cursor:pointer;position:relative;transition:all var(--transition-colors);flex-shrink:0}.storage-toggle-label input[type=checkbox]:checked{background:var(--primary);border-color:var(--primary)}.storage-toggle-label input[type=checkbox]:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--primary-foreground);font-size:12px;font-weight:700;animation:checkPop .3s var(--ease-out)}@keyframes checkPop{0%{transform:translate(-50%,-50%) scale(0)}50%{transform:translate(-50%,-50%) scale(1.2)}to{transform:translate(-50%,-50%) scale(1)}}.toggle-label-text{font-weight:var(--font-weight-medium);color:var(--foreground);transition:color var(--transition-colors)}.storage-toggle-label:hover .toggle-label-text{color:var(--primary)}.storage-description{font-size:var(--font-size-sm);color:var(--muted-foreground);margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background:rgba(var(--muted-rgb),.02);border-radius:var(--radius-md);border-left:4px solid var(--accent);line-height:1.5}.storage-stats{background:linear-gradient(135deg,var(--background) 0%,rgba(var(--card-rgb),.5) 100%);border-radius:var(--radius-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);border:1px solid var(--border);position:relative;overflow:hidden}.storage-stats:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--primary) 0%,var(--accent) 100%)}.storage-stats-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);color:var(--muted-foreground);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.storage-stats-header svg{color:var(--primary)}.storage-usage{margin-bottom:var(--spacing-md)}.progress-bar-container{height:8px;background:var(--background);border-radius:var(--radius-full);overflow:hidden;margin-bottom:var(--spacing-sm);border:1px solid var(--border);position:relative}.progress-bar{height:100%;background:linear-gradient(90deg,var(--primary) 0%,var(--accent) 100%);border-radius:var(--radius-full);transition:width .6s var(--ease-out);position:relative;overflow:hidden}.progress-bar:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);animation:shimmerProgress 2s infinite}.usage-text{font-size:var(--font-size-xs);color:var(--muted-foreground);font-weight:var(--font-weight-medium)}.clear-storage-button{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);background:linear-gradient(135deg,var(--destructive) 0%,rgba(var(--destructive-rgb),.8) 100%);color:var(--destructive-foreground);border:none;border-radius:var(--radius-md);padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;width:100%;transition:all var(--transition-colors);position:relative;overflow:hidden;box-shadow:var(--shadow-sm)}.clear-storage-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 50%,transparent 100%);transition:left .5s}.clear-storage-button:hover:before{left:100%}.clear-storage-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md);filter:brightness(1.1)}.clear-storage-button:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}.clear-storage-button:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(1)}.privacy-notice{display:flex;align-items:flex-start;gap:var(--spacing-sm);background:linear-gradient(135deg,rgba(var(--warning-rgb),.1),rgba(var(--warning-rgb),.05));border-radius:var(--radius-md);padding:var(--spacing-md);font-size:var(--font-size-xs);color:var(--warning-foreground);font-weight:var(--font-weight-medium);border:1px solid rgba(var(--warning-rgb),.2);border-left:4px solid var(--warning);position:relative;overflow:hidden}.privacy-notice:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(180deg,var(--warning) 0%,rgba(var(--warning-rgb),.5) 100%)}.privacy-notice svg{color:var(--warning);flex-shrink:0;margin-top:2px;animation:warningPulse 2s infinite}@keyframes warningPulse{0%,to{opacity:1}50%{opacity:.7}}.privacy-notice p{margin:0;line-height:1.4}@media (max-width: 768px){.file-selector-header{padding:var(--spacing-md)}.file-selector-title-area{flex-wrap:wrap;gap:var(--spacing-sm)}.file-selector-title-group{gap:var(--spacing-sm)}.file-selector-title{font-size:var(--font-size-md)}.file-actions-toolbar{gap:var(--spacing-xs);min-width:120px}.select-all-button{min-width:32px;height:32px;padding:var(--spacing-xs)}.file-action-toolbar-button{min-width:28px;height:28px;padding:var(--spacing-xs)}.add-files-button{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}.file-item{padding:var(--spacing-sm);gap:var(--spacing-xs)}.file-name{max-width:120px}.file-actions{opacity:1;transform:translate(0);position:static}.storage-settings{margin:var(--spacing-sm);padding:var(--spacing-md)}}@media (max-width: 480px){.file-selector-title-area{flex-direction:column;align-items:stretch;gap:var(--spacing-sm)}.file-selector-title-group{justify-content:space-between;width:100%}.file-selector-title{font-size:var(--font-size-md)}.file-actions-toolbar{flex-wrap:wrap;justify-content:flex-end;min-width:100px}.select-all-button{min-width:30px;height:30px;padding:6px}.add-files-button{font-size:var(--font-size-xs);padding:6px var(--spacing-xs)}}.history-viewer{width:100%;height:100%;display:flex;flex-direction:column;background:var(--background);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;animation:slideInUp .4s var(--ease-out);position:relative}.history-viewer-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);background:var(--background);border-bottom:1px solid var(--border);position:relative;min-height:56px}.history-viewer-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--foreground);margin:0;display:flex;align-items:center;gap:var(--spacing-sm);background:linear-gradient(90deg,var(--foreground) 0%,var(--foreground-muted) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.refresh-button{background:linear-gradient(135deg,var(--card) 0%,var(--background) 100%);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--spacing-xs);display:flex;justify-content:center;align-items:center;color:var(--muted-foreground);cursor:pointer;transition:all .2s;box-shadow:var(--shadow-xs);min-width:32px;height:32px}.refresh-button:hover{color:var(--primary);background:var(--card-hover);border-color:var(--primary);box-shadow:var(--shadow-sm)}.refresh-button:disabled{cursor:not-allowed;opacity:.5}.spinning{animation:spin 1.5s linear infinite}.history-content{flex:1;overflow-y:auto;padding:var(--spacing-md);background:var(--background);scroll-behavior:smooth}.document-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.document-item{display:flex;align-items:center;padding:var(--spacing-sm);border-radius:var(--radius-lg);background:var(--background);border:1px solid var(--border);cursor:pointer;transition:all .2s;position:relative;box-shadow:var(--shadow-xs);animation:fileSlideIn .4s var(--ease-out) backwards}@keyframes fileSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.document-item:hover{background:var(--card-hover);border-color:var(--primary);box-shadow:var(--shadow-md);z-index:2}.document-item.available{border-left:4px solid var(--primary);box-shadow:0 2px 8px rgba(var(--primary-rgb),.08)}.document-item.unavailable{border-left:4px solid var(--destructive);box-shadow:0 2px 8px rgba(var(--destructive-rgb),.08)}.document-icon{display:flex;align-items:center;justify-content:center;color:var(--primary);background:rgba(var(--primary-rgb),.08);border-radius:var(--radius-md);width:32px;height:32px;font-size:20px;flex-shrink:0;transition:background .2s}.document-item:hover .document-icon{background:rgba(var(--primary-rgb),.18)}.document-details{flex:1;overflow:hidden;margin-right:10px;display:flex;flex-direction:column;gap:2px}.document-name{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--foreground);margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;width:100%;letter-spacing:.01em}.unavailable-badge{font-size:11px;color:var(--destructive);background:rgba(var(--destructive-rgb),.08);padding:2px 8px;border-radius:8px;font-weight:var(--font-weight-medium);margin-left:8px;flex-shrink:0;letter-spacing:.02em}.document-meta{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted-foreground);opacity:.85}.document-date{display:flex;align-items:center;gap:4px}.entity-count{display:flex;align-items:center;gap:4px;background:linear-gradient(90deg,rgba(var(--primary-rgb),.08),rgba(var(--accent-rgb),.08));color:var(--primary);padding:2px 8px;border-radius:8px;font-weight:var(--font-weight-medium);font-size:11px}.document-delete{color:var(--muted-foreground);background:none;border:none;border-radius:var(--radius-md);width:32px;height:32px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:.7;transition:all .2s;flex-shrink:0;margin-left:var(--spacing-xs)}.document-delete:hover{color:var(--destructive);background:rgba(var(--destructive-rgb),.08);opacity:1;box-shadow:0 2px 8px rgba(var(--destructive-rgb),.08)}.empty-history{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--muted-foreground);text-align:center;padding:var(--spacing-xl);background:linear-gradient(135deg,rgba(var(--primary-rgb),.02),rgba(var(--accent-rgb),.02));border-radius:var(--radius-lg);border:2px dashed var(--border);margin:var(--spacing-md);transition:all var(--transition-colors);position:relative;overflow:hidden}.empty-history:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:conic-gradient(from 0deg,transparent 0deg,rgba(var(--primary-rgb),.05) 60deg,transparent 120deg);animation:rotate 10s linear infinite;z-index:0}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.empty-history>*{position:relative;z-index:1}.empty-history:hover{border-color:var(--primary);background:linear-gradient(135deg,rgba(var(--primary-rgb),.05),rgba(var(--accent-rgb),.03))}.empty-icon{opacity:.5;margin-bottom:var(--spacing-lg);font-size:32px;color:var(--muted-foreground);animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.empty-subtitle{font-size:var(--font-size-sm);margin-top:var(--spacing-xs);opacity:.7}.history-loading,.history-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--muted-foreground);text-align:center;padding:var(--spacing-xl)}.retry-button{margin-top:var(--spacing-md);background:linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%);color:var(--primary-foreground);border:none;border-radius:var(--radius-md);padding:var(--spacing-xs) var(--spacing-lg);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-xs);transition:all .2s}.retry-button:hover{background:var(--primary-hover);color:#fff;box-shadow:var(--shadow-md)}.doc-name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-item .tooltip{visibility:hidden;position:absolute;bottom:-36px;left:50%;transform:translate(-50%);background:var(--popover);color:var(--popover-foreground);text-align:center;border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);z-index:1000;width:max-content;max-width:300px;opacity:0;transition:all var(--transition-colors);pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:var(--shadow-lg);border:1px solid var(--border)}.document-item .tooltip:after{content:"";position:absolute;bottom:100%;left:50%;margin-left:-6px;border-width:6px;border-style:solid;border-color:transparent transparent var(--popover) transparent}.document-item:hover .tooltip{visibility:visible;opacity:1;transform:translate(-50%) translateY(-5px);transition-delay:.5s}@media (max-width: 768px){.history-viewer-header{padding:var(--spacing-md);min-height:48px}.history-content{padding:var(--spacing-sm)}.document-item{padding:var(--spacing-sm);gap:var(--spacing-xs)}.document-icon{width:28px;height:28px;font-size:16px}.empty-history{padding:var(--spacing-lg)}}@media (max-width: 480px){.history-viewer-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm)}.history-viewer-title{font-size:var(--font-size-md)}.document-item{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.document-details{margin-right:0}}.storage-settings-container{background:var(--background-surface);border:var(--border-default);border-radius:var(--radius-card);padding:var(--spacing-lg);box-shadow:var(--shadow-sm)}.storage-settings-header{margin-bottom:var(--spacing-lg)}.storage-settings-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--foreground);margin:0}.storage-settings-description{font-size:var(--font-size-sm);color:var(--foreground-muted);margin:var(--spacing-sm) 0 0 0}.storage-settings-options{display:flex;flex-direction:column;gap:var(--spacing-sm)}.storage-settings-option{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);border-radius:var(--radius-md);border:var(--border-default);background:var(--background);cursor:pointer;transition:all var(--transition-colors)}.storage-settings-option:hover{background-color:var(--hover);border-color:var(--primary)}.storage-settings-option.selected{background-color:var(--primary);border-color:var(--primary)}.storage-settings-option-radio{width:var(--space-4);height:var(--space-4);border:2px solid var(--accent);border-radius:var(--radius-full);background:var(--background);position:relative;flex-shrink:0;margin-top:var(--spacing-xs)}.storage-settings-option.selected .storage-settings-option-radio{border-color:var(--primary-foreground)}.storage-settings-option-radio:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:var(--space-2);height:var(--space-2);border-radius:var(--radius-full);background:var(--accent);opacity:0;transition:opacity var(--transition-colors)}.storage-settings-option.selected .storage-settings-option-radio:after{background:var(--primary-foreground);opacity:1}.storage-settings-option-content{flex:1}.storage-settings-option-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--foreground);margin:0 0 var(--spacing-xs) 0}.storage-settings-option-description{font-size:var(--font-size-xs);color:var(--foreground-muted);margin:0}.fade-in{animation:fadeIn .3s var(--ease-out)}.slide-up{animation:slideInUp .4s var(--ease-out)}.bounce-in{animation:bounceIn .5s var(--ease-out)}@keyframes bounceIn{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}.modern-processing-overlay{position:fixed;bottom:1.5rem;right:1.5rem;max-width:380px;min-width:320px;background:linear-gradient(145deg,var(--background) 0%,var(--card) 100%);border-radius:var(--radius-xl);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a,0 0 0 1px var(--border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:9000;overflow:hidden;transition:all .4s cubic-bezier(.25,.8,.25,1);max-height:calc(100vh - 4rem);animation:slideInFromBottom .5s cubic-bezier(.25,.8,.25,1)}@keyframes slideInFromBottom{0%{transform:translateY(100%) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.processing-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-md);border-bottom:1px solid var(--border);background:linear-gradient(90deg,rgba(var(--primary-rgb),.05),rgba(var(--accent-rgb),.03));position:relative}.processing-header:before{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--primary) 0%,var(--accent) 50%,var(--primary) 100%);animation:shimmerLine 2s infinite linear}@keyframes shimmerLine{0%{transform:translate(-100%)}to{transform:translate(100%)}}.processing-title{display:flex;align-items:center;gap:var(--spacing-sm);font-weight:var(--font-weight-semibold);color:var(--foreground);font-size:var(--font-size-sm)}.processing-icon{color:var(--primary);animation:pulseGlow 2s infinite ease-in-out}@keyframes pulseGlow{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.processing-header-actions{display:flex;align-items:center;gap:var(--spacing-xs)}.abort-all-processing-button{background:none;border:none;color:var(--warning);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-md);transition:all .3s ease;display:flex;align-items:center;justify-content:center;min-width:32px;height:32px}.abort-all-processing-button:hover:not(:disabled){background:rgba(var(--warning-rgb),.1);color:var(--warning);transform:scale(1.1)}.abort-all-processing-button:disabled{cursor:not-allowed;opacity:.7}.abort-all-processing-button.aborting{color:var(--destructive)}.close-processing-button{background:none;border:none;color:var(--muted-foreground);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-md);transition:all .3s ease;display:flex;align-items:center;justify-content:center;min-width:32px;height:32px}.close-processing-button:hover{background:var(--card-hover);color:var(--destructive);transform:scale(1.1)}.processing-items-container{padding:var(--spacing-md);max-height:400px;overflow-y:auto;scroll-behavior:smooth}.processing-items-container::-webkit-scrollbar{width:4px}.processing-items-container::-webkit-scrollbar-track{background:transparent}.processing-items-container::-webkit-scrollbar-thumb{background:var(--muted);border-radius:var(--radius-full)}.modern-processing-item{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--spacing-md);margin-bottom:var(--spacing-sm);transition:all .3s ease;position:relative;overflow:hidden;animation:slideInItem .4s ease-out backwards}@keyframes slideInItem{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.modern-processing-item:last-child{margin-bottom:0}.modern-processing-item.processing{border-left:3px solid var(--primary);background:linear-gradient(135deg,rgba(var(--primary-rgb),.05) 0%,var(--background) 100%)}.modern-processing-item.completed{border-left:3px solid var(--success);background:linear-gradient(135deg,rgba(var(--success-rgb),.05) 0%,var(--background) 100%)}.modern-processing-item.failed{border-left:3px solid var(--destructive);background:linear-gradient(135deg,rgba(var(--destructive-rgb),.05) 0%,var(--background) 100%)}.processing-item-content{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md)}.file-info-section{display:flex;align-items:flex-start;gap:var(--spacing-md);flex:1;min-width:0}.file-icon-wrapper{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);background:linear-gradient(135deg,rgba(var(--primary-rgb),.1),rgba(var(--accent-rgb),.05));flex-shrink:0}.file-icon{color:var(--primary);z-index:2}.processing-spinner-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;z-index:1}.modern-spinner{width:24px;height:24px;border:2px solid transparent;border-top:2px solid var(--primary);border-right:2px solid var(--accent);border-radius:50%;animation:modernSpin 1s linear infinite;position:relative}.modern-spinner:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;border:2px solid transparent;border-bottom:2px solid rgba(var(--primary-rgb),.3);border-left:2px solid rgba(var(--accent-rgb),.3);border-radius:50%;animation:modernSpin 1.5s linear infinite reverse}@keyframes modernSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.status-badge{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid var(--background);animation:statusPop .3s ease-out;z-index:3}@keyframes statusPop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.status-badge.success{background:var(--success);color:var(--success-foreground)}.status-badge.error{background:var(--destructive);color:var(--destructive-foreground)}.file-details-section{flex:1;min-width:0}.file-name-modern{font-weight:var(--font-weight-medium);color:var(--foreground);font-size:var(--font-size-sm);line-height:1.4;margin-bottom:var(--spacing-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-text{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.status-processing{color:var(--primary);animation:pulseText 2s infinite ease-in-out}.status-success{color:var(--success)}.status-error{color:var(--destructive)}@keyframes pulseText{0%,to{opacity:1}50%{opacity:.7}}.processing-item-actions{display:flex;align-items:center;gap:var(--spacing-xs);flex-shrink:0}.abort-processing-button{background:none;border:none;color:var(--warning);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-md);transition:all .3s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;min-width:28px;height:28px}.abort-processing-button:hover:not(:disabled){background:rgba(var(--warning-rgb),.1);color:var(--warning);transform:scale(1.1)}.abort-processing-button:disabled{cursor:not-allowed;opacity:.7}.abort-processing-button.aborting{color:var(--destructive)}.aborting-spinner{width:14px;height:14px;border:2px solid transparent;border-top:2px solid var(--destructive);border-radius:50%;animation:abortingSpin .8s linear infinite}@keyframes abortingSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dismiss-item-button{background:none;border:none;color:var(--muted-foreground);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-md);transition:all .3s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0;min-width:28px;height:28px}.dismiss-item-button:hover{background:var(--card-hover);color:var(--destructive);transform:scale(1.1)}.modern-progress-container{margin-top:var(--spacing-md)}.modern-progress-track{height:6px;background:var(--muted);border-radius:var(--radius-full);overflow:hidden;position:relative}.modern-progress-fill{height:100%;background:linear-gradient(90deg,var(--primary) 0%,var(--accent) 100%);border-radius:var(--radius-full);transition:width .3s ease;position:relative;overflow:hidden}.progress-shimmer{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);animation:shimmerProgress 1.5s infinite}@keyframes shimmerProgress{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (max-width: 768px){.modern-processing-overlay{bottom:1rem;right:1rem;left:1rem;max-width:none;min-width:280px;width:calc(100% - 2rem)}.processing-header{padding:var(--spacing-md)}.processing-items-container,.modern-processing-item{padding:var(--spacing-sm)}.file-icon-wrapper{width:36px;height:36px}.file-name-modern{font-size:var(--font-size-xs)}}@media (max-width: 480px){.modern-processing-overlay{min-width:260px}.file-info-section{gap:var(--spacing-sm)}.file-icon-wrapper{width:32px;height:32px}.modern-spinner{width:20px;height:20px}.processing-item-actions{gap:var(--spacing-xs)}.abort-processing-button,.dismiss-item-button{min-width:24px;height:24px;padding:4px}.aborting-spinner{width:12px;height:12px}}.processing-status-container{position:fixed;bottom:1.5rem;right:1.5rem;max-width:350px;background-color:var(--background);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);padding:.5rem;z-index:9000;overflow:hidden;transition:all .3s cubic-bezier(.25,.8,.25,1);border:1px solid var(--border);max-height:calc(100vh - 4rem);overflow-y:auto}.processing-status-message{padding:.75rem 1rem;margin:.5rem 0;border-radius:var(--border-radius-md);background-color:var(--active-bg);font-size:var(--font-size-sm);line-height:1.4;color:var(--foreground);animation:fade-in .3s ease-out;border-left:3px solid var(--primary)}.processing-status-message.success{border-left-color:var(--success);background-color:rgba(var(--success-rgb),.1)}.processing-status-message.error{border-left-color:var(--destructive);background-color:rgba(var(--destructive-rgb),.1)}.processing-status-message.warning{border-left-color:var(--warning);background-color:rgba(var(--warning-rgb),.1)}.processing-progress{display:flex;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-xs)}.processing-progress-bar{flex:1;height:4px;background-color:var(--muted);border-radius:2px;overflow:hidden}.processing-progress-fill{height:100%;background-color:var(--primary);border-radius:2px;transition:width .3s ease;will-change:width}.processing-progress-text{font-size:var(--font-size-xs);color:var(--muted-foreground);white-space:nowrap}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.processing-spinner{display:inline-block;width:12px;height:12px;border:2px solid var(--muted);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin-right:var(--spacing-xs)}@keyframes spin{to{transform:rotate(360deg)}}.processing-status-container.hidden{opacity:0;transform:translateY(100px);pointer-events:none}.processing-status-container.empty{display:none}@media (max-width: 768px){.processing-status-container{bottom:1rem;right:1rem;left:1rem;max-width:none;width:calc(100% - 2rem)}.processing-status-message{padding:.5rem .75rem;font-size:var(--font-size-xs)}}[data-theme=dark] .processing-status-container{border-color:var(--border);box-shadow:var(--shadow-lg)}[data-theme=dark] .processing-status-message{background-color:var(--card)}.page-thumbnails-wrapper{height:100%;width:100%;background:var(--background);border:var(--border-default);border-radius:var(--radius-md);transition:all var(--duration-medium) var(--ease-out);overflow:hidden;position:relative;display:flex;flex-direction:column}.thumbnails-header{padding:var(--spacing-md);display:flex;border-bottom:var(--border-divider);gap:var(--spacing-sm);justify-content:space-between;align-items:center;flex-wrap:wrap;background:var(--background);flex-shrink:0}.thumbnails-title-area{display:flex;align-items:center;gap:var(--spacing-sm)}.thumbnails-header h3{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--foreground)}.page-navigation{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.page-input-container{display:flex;align-items:center;gap:var(--spacing-xs);background:var(--background);border-radius:var(--radius-input);padding:var(--spacing-xs);border:var(--border-subtle);transition:var(--transition-input)}.page-input-container:focus-within{border-color:var(--primary);box-shadow:var(--shadow-focus)}.page-input{width:48px;font-size:var(--font-size-sm);color:var(--foreground);background:transparent;border:none;border-radius:var(--radius-sm);padding:var(--spacing-xs);text-align:center;font-weight:var(--font-weight-medium);transition:var(--transition-colors)}.page-input:focus{outline:none;background-color:var(--card)}.nav-button{display:flex;align-items:center;justify-content:center;width:var(--space-8);height:var(--space-8);border:var(--border-interactive);background-color:var(--card);border-radius:var(--radius-button);cursor:pointer;transition:var(--transition-button);color:var(--foreground-muted);padding:0}.nav-button svg{width:var(--icon-size-sm);height:var(--icon-size-sm);transition:transform var(--duration-fast) var(--ease-out)}.nav-button:hover:not(:disabled){background-color:var(--card-hover);border-color:var(--primary);transform:translateY(-1px);box-shadow:var(--shadow-card-hover);color:var(--primary)}.nav-button:hover:not(:disabled) svg{transform:scale(1.1)}.nav-button:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-active)}.nav-button:disabled{opacity:.5;cursor:not-allowed;color:var(--foreground-muted);transform:none}.page-indicator,.page-separator,.total-pages{font-size:var(--font-size-sm);color:var(--foreground-muted);-webkit-user-select:none;user-select:none;font-weight:var(--font-weight-medium)}.thumbnails-container{flex:1;padding:var(--spacing-md);overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth;scrollbar-gutter:stable;position:relative;min-height:0}.thumbnails-container::-webkit-scrollbar{width:8px}.thumbnails-container::-webkit-scrollbar-track{background:var(--muted);border-radius:var(--radius-full)}.thumbnails-container::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-full);transition:background-color var(--duration-fast) var(--ease-out)}.thumbnails-container::-webkit-scrollbar-thumb:hover{background:var(--primary)}.thumbnails-container{scrollbar-width:thin;scrollbar-color:var(--border) var(--muted)}.thumbnail-wrapper{position:relative;cursor:pointer;border-radius:var(--radius-card);overflow:hidden;transition:all var(--transition-transform);margin-bottom:var(--spacing-md);background:var(--background);border:var(--border-default);animation:thumbnailAppear .6s var(--ease-out) backwards;box-shadow:var(--shadow-card)}@keyframes thumbnailAppear{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.thumbnail-wrapper:hover{transform:translateY(-2px) scale(1.02);box-shadow:var(--shadow-card-hover);border-color:var(--primary)}.thumbnail-wrapper.active{transform:translateY(-1px) scale(1.01);box-shadow:var(--shadow-primary);border-color:var(--primary);background:var(--card-hover)}.thumbnail-wrapper.highlight-pulse{animation:thumbnailPulse .6s var(--ease-out)}@keyframes thumbnailPulse{0%{transform:scale(1)}50%{transform:scale(1.05);border-color:var(--primary);box-shadow:var(--shadow-primary)}to{transform:scale(1)}}.thumbnail-inner{position:relative;border-radius:var(--radius-md);overflow:hidden;transition:all var(--transition-transform);margin:var(--spacing-sm);background:var(--background);border:var(--border-subtle);min-height:120px;aspect-ratio:3/4;display:flex;align-items:center;justify-content:center}.thumbnail-wrapper:hover .thumbnail-inner{transform:scale(1.01);border-color:var(--primary)}.thumbnail-wrapper.active .thumbnail-inner{border-color:var(--primary);background:var(--surface-hover)}.thumbnail-page{width:100%!important;height:100%!important;border-radius:var(--radius-sm);overflow:hidden}.thumbnail-page canvas{width:100%!important;height:100%!important;object-fit:contain;border-radius:var(--radius-sm)}.page-number-label{position:absolute;bottom:var(--spacing-xs);left:50%;transform:translate(-50%);background:var(--card);color:var(--foreground);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border:var(--border-subtle);transition:all var(--transition-button);z-index:2;box-shadow:var(--shadow-sm)}.thumbnail-wrapper:hover .page-number-label{transform:translate(-50%) translateY(-2px) scale(1.05);box-shadow:var(--shadow-md);border-color:var(--primary)}.thumbnail-wrapper.active .page-number-label{background:var(--primary);color:var(--primary-foreground);transform:translate(-50%) translateY(-1px) scale(1.05);box-shadow:var(--shadow-primary)}.resizer{position:absolute;top:0;right:-6px;width:12px;height:100%;cursor:ew-resize;z-index:20;transition:all var(--duration-fast) var(--ease-out)}.resizer:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:4px;height:40px;background:var(--border);border-radius:var(--radius-full);transition:all var(--duration-fast) var(--ease-out)}.resizer:hover:before{background:var(--primary);width:6px;height:60px;box-shadow:var(--shadow-primary)}.resizer:active:before{background:var(--primary);box-shadow:var(--shadow-active)}.file-thumbnails-section{margin:var(--spacing-md);background:var(--background);border-radius:var(--radius-card);padding:var(--spacing-sm);border:var(--border-default);transition:all var(--transition-card)}.file-thumbnails-section.current-file{border-color:var(--primary);box-shadow:var(--shadow-primary)}.file-thumbnails-header{display:flex;align-items:center;gap:var(--spacing-md);cursor:pointer;padding:var(--spacing-sm);border-radius:var(--radius-button);transition:all var(--transition-button);margin-bottom:var(--spacing-sm);background:var(--background);border:var(--border-subtle)}.file-thumbnails-header:hover{transform:translateY(-1px);box-shadow:var(--shadow-card-hover);border-color:var(--primary)}.file-info{flex:1;display:flex;align-items:center;gap:var(--spacing-sm)}.file-icon{color:var(--foreground-muted);transition:color var(--duration-fast) var(--ease-out)}.file-thumbnails-section.current-file .file-icon{color:var(--card)}.file-name{font-weight:var(--font-weight-medium);color:var(--foreground);font-size:var(--font-size-sm);transition:color var(--duration-fast) var(--ease-out)}.expansion-indicator{transition:all var(--transition-transform);color:var(--foreground-muted);padding:var(--spacing-xs);border-radius:var(--radius-sm)}.file-thumbnails-section.current-file .expansion-indicator{transform:rotate(180deg);color:var(--primary)}.file-page-navigation{display:flex;justify-content:center;margin-bottom:var(--spacing-md);gap:var(--spacing-sm)}.file-thumbnails-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:var(--spacing-md);opacity:1;max-height:none;overflow:visible;transition:all var(--duration-medium) var(--ease-out);animation:fadeSlideIn .6s var(--ease-out)}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.thumbnails-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;gap:var(--spacing-md);background:var(--muted);border-radius:var(--radius-card);margin:var(--spacing-md);border:var(--border-subtle);color:var(--foreground-muted)}.thumbnails-spacer{height:var(--spacing-lg)}.optimized-scrolling{contain:layout style paint;will-change:transform}.optimized-scrolling .thumbnail-wrapper{contain:layout style paint;transform:translateZ(0)}.file-item.current{background:var(--card-hover);border-color:var(--primary)}.file-item.current:after{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:24px;background:var(--primary);border-radius:0 var(--radius-full) var(--radius-full) 0}.page-thumbnails-wrapper.empty{display:flex;align-items:center;justify-content:center;background:var(--muted);border:2px dashed var(--border);border-radius:var(--radius-card);min-height:300px}@media (max-width: 768px){.thumbnails-header{padding:var(--spacing-sm);flex-direction:column;align-items:stretch;gap:var(--spacing-xs)}.thumbnails-container{padding:var(--spacing-sm)}.thumbnail-wrapper{margin-bottom:var(--spacing-sm)}.thumbnail-wrapper:hover{transform:translateY(-1px) scale(1.01)}.file-thumbnails-header{padding:var(--spacing-xs)}.file-page-navigation{flex-wrap:wrap}.file-thumbnails-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:var(--spacing-sm)}.nav-button{width:36px;height:36px}.page-input{width:40px}}@media (max-width: 480px){.thumbnails-header{padding:var(--spacing-xs)}.thumbnails-header h3{font-size:var(--font-size-md)}.thumbnail-wrapper{border-radius:var(--radius-md)}.file-thumbnails-grid{grid-template-columns:repeat(auto-fill,minmax(70px,1fr))}}.thumbnail-wrapper:focus-visible,.nav-button:focus-visible,.file-thumbnails-header:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (prefers-reduced-motion: reduce){.thumbnail-wrapper,.nav-button,.file-thumbnails-header,.page-number-label,.resizer:before{transition:none}.thumbnail-wrapper:hover{transform:none}.thumbnailAppear,.thumbnailPulse,.fadeSlideIn{animation:none}}[data-theme=dark] .thumbnails-container::-webkit-scrollbar-track{background:var(--muted)}[data-theme=dark] .thumbnails-container::-webkit-scrollbar-thumb{background:var(--border)}[data-theme=dark] .thumbnails-container::-webkit-scrollbar-thumb:hover{background:var(--primary)}[data-theme=dark] .thumbnail-inner{background:var(--background);border-color:var(--border-subtle)}.sidebar-base,.entity-detection-sidebar,.search-sidebar,.redaction-sidebar{height:100%;display:flex;flex-direction:column;background-color:var(--sidebar-bg);color:var(--foreground);transition:background-color var(--transition-speed) var(--transition-function),color var(--transition-speed) var(--transition-function)}.sidebar-tabs{display:flex;flex-direction:column;height:100%;width:100%;overflow:hidden}.tabs-header{display:flex;flex-direction:row;border-bottom:1px solid var(--sidebar-border);background-color:var(--sidebar-bg);z-index:5}.tab-button{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--spacing-sm);background:none;border:none;cursor:pointer;color:var(--muted-foreground);transition:all var(--transition-speed) var(--transition-function);position:relative;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.tab-button:hover{color:var(--foreground);background-color:var(--dropdown-hover)}.tab-button.active{color:var(--primary);background-color:var(--sidebar-bg)}.tab-button.active:after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:2px;background-color:var(--primary);animation:slideIn var(--transition-speed) var(--transition-function)}.tab-panel.active{opacity:1;visibility:visible;z-index:1}@keyframes slideIn{0%{width:0;left:50%;transform:translate(-50%)}to{width:100%;left:0;transform:translate(0)}}.sidebar-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--sidebar-border);display:flex;align-items:center;justify-content:space-between;min-height:60px}.sidebar-header h3{margin:0;font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--foreground)}.sidebar-content,.entity-detection-sidebar,.search-sidebar,.redaction-sidebar{overflow-y:visible;flex:1}.sidebar-content{overflow-y:auto;padding:var(--spacing-md) var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm);scrollbar-width:thin;scrollbar-color:var(--button-border) var(--sidebar-bg)}.sidebar-content::-webkit-scrollbar{width:6px}.sidebar-content::-webkit-scrollbar-track{background:var(--sidebar-bg);border-radius:3px}.sidebar-content::-webkit-scrollbar-thumb{background-color:var(--button-border);border-radius:3px;transition:background-color var(--transition-speed) var(--transition-function)}.sidebar-content::-webkit-scrollbar-thumb:hover{background-color:var(--muted-foreground)}.sidebar-section{margin-bottom:var(--spacing-sm);animation:fadeIn .3s ease forwards}.sidebar-section h4{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--muted-foreground)}.sidebar-section h5{margin:var(--spacing-md) 0 var(--spacing-xs) 0;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--muted-foreground);display:flex;align-items:center;justify-content:space-between}.button-group{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-md)}.sidebar-button{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);border:1px solid var(--button-border);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-speed) var(--transition-function);flex:1;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);position:relative;overflow:hidden}.sidebar-button:after{content:"";position:absolute;top:50%;left:50%;width:150%;height:150%;background:radial-gradient(circle,#fff3,#fff0 70%);transform:translate(-50%,-50%) scale(0);border-radius:50%;opacity:0;pointer-events:none}.sidebar-button:hover:not(:disabled):after{animation:buttonRipple .6s ease-out}@keyframes buttonRipple{0%{transform:translate(-50%,-50%) scale(0);opacity:.6}to{transform:translate(-50%,-50%) scale(1);opacity:0}}.primary-button{background-color:var(--primary);color:var(--foreground);border-color:var(--primary)}.primary-button:hover:not(:disabled){background-color:var(--primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.primary-button:active:not(:disabled){background-color:var(--primary);transform:translateY(0)}.secondary-button{background-color:var(--button-bg);color:var(--foreground)}.secondary-button:hover:not(:disabled){background-color:var(--button-hover);transform:translateY(-2px)}.secondary-button:active:not(:disabled){background-color:var(--button-active);transform:translateY(0)}.sidebar-button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none!important}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-lg);text-align:center;color:var(--muted-foreground);border:1px dashed var(--border);border-radius:var(--border-radius-md);margin:var(--spacing-lg) 0;background-color:var(--button-bg);transition:border-color .3s ease}.empty-state:hover{border-color:var(--muted-foreground)}.empty-message{font-size:var(--font-size-sm);line-height:1.4}.empty-message p{margin:var(--spacing-xs) 0}.error-section{margin-top:var(--spacing-sm)}.error-message{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--background);color:var(--destructive);border:1px solid var(--destructive);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);animation:fadeIn .3s ease;box-shadow:0 2px 5px #0000001a}.error-icon{flex-shrink:0;animation:pulse 2s infinite}.checkmark:after{content:"";position:absolute;display:none;left:6px;top:2px;width:4px;height:8px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.scope-section{margin-bottom:var(--spacing-md)}.scope-section h4{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-md);font-weight:var(--font-weight-medium);transition:color .2s ease;position:relative;display:inline-block}.scope-section h4:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:1px;background-color:var(--primary);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.scope-section:hover h4{color:var(--primary)}.scope-buttons{display:flex;gap:var(--spacing-xs);width:100%;margin-top:var(--spacing-xs)}.scope-button{flex:1;padding:var(--spacing-sm) var(--spacing-xs);background-color:var(--button-bg);color:var(--foreground);border:1px solid var(--button-border);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);cursor:pointer;transition:all .3s cubic-bezier(.25,.8,.25,1);text-align:center;position:relative;overflow:hidden}.scope-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background-color:var(--primary);border-radius:50%;transform:translate(-50%,-50%);opacity:0;transition:width .4s ease,height .4s ease,opacity .4s ease;z-index:0}.scope-button:hover:before{width:300%;height:300%;opacity:.1}.scope-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 5px #0000001a;border-color:var(--primary)}.scope-button.active{background-color:var(--button-active);color:var(--primary);border-color:var(--primary);box-shadow:0 2px 5px #0000001a}.scope-button:disabled{opacity:.5;cursor:not-allowed}.file-summary-card{background-color:var(--background);border-radius:var(--border-radius-md);border:1px solid var(--border);overflow:hidden;margin-bottom:var(--spacing-md);box-shadow:0 2px 8px #0000000d;transition:all .3s cubic-bezier(.25,.8,.25,1);position:relative}.file-summary-card:hover{box-shadow:0 5px 15px #0000001a;transform:translateY(-2px);border-color:var(--primary)}.file-summary-header{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--button-bg);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background-color .2s ease}.file-summary-header:hover{background-color:var(--button-hover)}.file-summary-title{display:flex;align-items:center;gap:var(--spacing-sm)}.file-name{font-weight:var(--font-weight-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px;color:var(--foreground);transition:color .2s ease}.file-summary-header:hover .file-name{color:var(--primary)}.expand-icon{transition:transform .3s cubic-bezier(.34,1.56,.64,1);color:var(--muted-foreground)}.expand-icon.expanded{transform:rotate(180deg);color:var(--primary)}.file-summary-content{padding:var(--spacing-md);animation:slideDown .4s cubic-bezier(.25,.46,.45,.94);overflow:hidden}.entity-list-item,.page-list-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--border);transition:all .2s ease;position:relative;overflow:hidden}.entity-list-item:before,.page-list-item:before{content:"";position:absolute;left:0;top:0;height:100%;width:0;background-color:var(--primary);opacity:.1;transition:width .3s ease}.entity-list-item:hover:before,.page-list-item:hover:before{width:100%}.entity-list-item:last-child,.page-list-item:last-child{border-bottom:none}.entity-list-item:hover,.page-list-item:hover{background-color:var(--button-hover)}.entity-item-left,.page-item-left{display:flex;align-items:center;gap:var(--spacing-xs);max-width:60%;z-index:1}.entity-item-right,.page-item-right{display:flex;align-items:center;gap:var(--spacing-md);z-index:1}.entity-name,.page-name{font-size:var(--font-size-sm);color:var(--foreground);font-weight:var(--font-weight-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .2s ease}.entity-list-item:hover .entity-name,.page-list-item:hover .page-name{color:var(--primary)}.entity-count{font-size:var(--font-size-sm);color:var(--muted-foreground);margin-right:var(--spacing-sm);transition:color .2s ease}.entity-list-item:hover .entity-count,.page-list-item:hover .entity-count{color:var(--primary)}.navigation-buttons{display:flex;gap:var(--spacing-xs)}.nav-button{background:none;border:1px solid var(--border);cursor:pointer;color:var(--muted-foreground);padding:var(--spacing-xs);border-radius:var(--border-radius-sm);transition:all .2s ease;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.nav-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background-color:var(--primary);border-radius:50%;transform:translate(-50%,-50%);opacity:0;transition:width .3s ease,height .3s ease,opacity .3s ease}.nav-button:hover:before{width:120%;height:120%;opacity:.1}.nav-button:hover{background-color:var(--primary);color:var(--primary-foreground);border-color:var(--primary);transform:translateY(-2px);box-shadow:0 2px 5px #0000001a}.nav-button:active{transform:scale(.95)}.nav-button:disabled{opacity:.5;cursor:not-allowed}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@media (max-width: 768px){.scope-buttons{flex-direction:column}.entity-item-left,.page-item-left{max-width:50%}}.file-name-container{position:relative;display:inline-block;max-width:100%}.file-tooltip{visibility:hidden;opacity:0;position:absolute;left:50%;bottom:120%;transform:translate(-50%);background:var(--popover, #23272f);color:var(--popover-foreground, #fff);padding:6px 12px;border-radius:6px;font-size:13px;font-weight:500;white-space:pre;z-index:1000;box-shadow:0 4px 16px #0000002e;pointer-events:none;transition:opacity .2s;max-width:320px;text-align:center;word-break:break-all}.file-name-container:hover .file-tooltip,.file-name-container:focus-within .file-tooltip{visibility:visible;opacity:1}.file-tooltip:after{content:"";position:absolute;top:100%;left:50%;margin-left:-7px;border-width:7px;border-style:solid;border-color:var(--popover, #23272f) transparent transparent transparent}.file-tooltip-portal{background:var(--popover, #23272f);color:var(--popover-foreground, #fff);padding:7px 14px;border-radius:8px;font-size:13px;font-weight:500;white-space:pre;z-index:99999;box-shadow:0 6px 32px #0000002e,0 1.5px 6px #0000001a;pointer-events:none;max-width:340px;text-align:center;word-break:break-all;opacity:0;animation:tooltipFadeIn .18s cubic-bezier(.4,0,.2,1) forwards;position:absolute}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.file-tooltip-portal.top:after{content:"";position:absolute;left:50%;top:100%;transform:translate(-50%);border-width:7px 7px 0 7px;border-style:solid;border-color:var(--popover, #23272f) transparent transparent transparent}.file-tooltip-portal.bottom:after{content:"";position:absolute;left:50%;bottom:100%;transform:translate(-50%) rotate(180deg);border-width:7px 7px 0 7px;border-style:solid;border-color:var(--popover, #23272f) transparent transparent transparent}[data-theme=light] .file-tooltip-portal{background:#fff;color:#23272f;box-shadow:0 6px 32px #0000001a,0 1.5px 6px #0000000f}[data-theme=light] .file-tooltip-portal.top:after{border-color:#fff transparent transparent transparent}[data-theme=light] .file-tooltip-portal.bottom:after{border-color:#fff transparent transparent transparent}.storage-settings{padding:16px;background-color:var(--background);border-radius:var(--border-radius-md);border:1px solid var(--border)}.storage-settings-header{display:flex;align-items:center;margin-bottom:12px;color:var(--foreground)}.storage-settings-header h4{margin:0 0 0 8px;font-size:var(--font-size-md);font-weight:var(--font-weight-medium)}.storage-toggle{margin-bottom:8px}.storage-toggle-label{display:flex;align-items:center;cursor:pointer}.storage-toggle-label input[type=checkbox]{margin-right:8px}.toggle-label-text{font-weight:var(--font-weight-medium)}.storage-description{font-size:var(--font-size-sm);color:var(--muted-foreground);margin-bottom:16px}.storage-description p{margin:0}.storage-stats{background-color:var(--secondary);border-radius:var(--border-radius-sm);padding:12px;margin-bottom:16px}.storage-stats-header{display:flex;align-items:center;margin-bottom:8px;color:var(--muted-foreground);font-size:var(--font-size-sm)}.storage-stats-header span{margin-left:6px}.storage-usage{margin-bottom:12px}.progress-bar-container{height:8px;background-color:var(--background);border-radius:4px;overflow:hidden;margin-bottom:4px}.progress-bar{height:100%;background-color:var(--primary);border-radius:4px}.usage-text{font-size:var(--font-size-xs);color:var(--muted-foreground)}.clear-storage-button{display:flex;align-items:center;justify-content:center;background-color:var(--destructive-bg);color:var(--destructive);border:none;border-radius:var(--border-radius-sm);padding:6px 12px;font-size:var(--font-size-sm);cursor:pointer;width:100%;margin-top:8px;transition:background-color .2s}.clear-storage-button:hover:not(:disabled){background-color:var(--destructive);color:#fff}.clear-storage-button:disabled{opacity:.5;cursor:not-allowed}.clear-storage-button span{margin-left:6px}.privacy-notice{display:flex;align-items:flex-start;background-color:var(--warning-bg);border-radius:var(--border-radius-sm);padding:8px 12px;font-size:var(--font-size-xs);color:var(--warning);font-weight:700}.privacy-notice svg{flex-shrink:0;margin-right:8px;margin-top:2px}.privacy-notice p{margin:0}.entity-select-section{margin-bottom:var(--spacing-md);position:relative;transition:all .3s ease}.entity-select-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.entity-select-header h4{margin:0;font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--foreground);transition:color .2s ease}.entity-select{width:100%;z-index:5;position:relative}.entity-select__menu{z-index:9999!important;position:absolute!important}.entity-select__control{background-color:var(--background)!important;border-color:var(--border)!important;min-height:38px!important}.entity-select__control:hover{border-color:var(--primary)!important}.entity-select__control--is-focused{box-shadow:0 0 0 1px var(--primary)!important;border-color:var(--primary)!important}.entity-select__value-container{padding:2px 8px!important}.entity-select__indicators{cursor:pointer!important}.entity-select__menu{background-color:var(--background)!important;border-radius:var(--border-radius-md)!important;box-shadow:var(--shadow-md)!important;margin-top:4px!important}.entity-select__option{padding:8px 12px!important;cursor:pointer!important}.entity-select__option--is-focused{background-color:var(--button-hover)!important}.entity-select__option--is-selected{background-color:var(--primary)!important;color:#fff!important}.entity-select__multi-value{background-color:var(--active-bg)!important;border-radius:4px!important;margin:2px!important}.entity-select__multi-value__label{padding:2px 6px!important;color:var(--foreground)!important;font-size:.85em!important}.entity-select__multi-value__remove{cursor:pointer!important;padding:2px!important;color:var(--muted-foreground)!important}.entity-select__multi-value__remove:hover{background-color:var(--destructive)!important;color:#fff!important;border-radius:0 2px 2px 0!important}.entity-select__placeholder{color:var(--muted-foreground)!important;opacity:.8!important}.entity-select-section:hover .color-dot{transform:scale(1.1);box-shadow:0 0 0 2px rgba(var(--foreground-rgb, 15, 23, 42),.2)}.color-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:var(--spacing-sm);box-shadow:0 0 0 1px rgba(var(--foreground-rgb, 15, 23, 42),.1);transition:transform .2s ease,box-shadow .2s ease}.entity-header{background-color:var(--toolbar-bg);border-bottom:1px solid var(--toolbar-border);display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);position:relative;overflow:hidden;z-index:20}.entity-header:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,var(--primary),transparent);transform:scaleX(0);transform-origin:left;transition:transform .4s ease}.entity-header:hover:after{transform:scaleX(.8)}.entity-header h3{margin:0;font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--foreground);transition:color .2s ease}.entity-header:hover h3{color:var(--primary)}.entity-badge{background-color:var(--primary);color:var(--primary-foreground);font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-sm);border-radius:10px;font-weight:var(--font-weight-medium);transition:all .3s ease;box-shadow:0 2px 4px #0000001a;z-index:10}.entity-header:hover .entity-badge{box-shadow:0 3px 6px #00000026}.entity-count-badge{background-color:var(--primary);color:#fff;font-size:var(--font-size-xs);padding:2px 8px;border-radius:10px;font-weight:var(--font-weight-medium);transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.file-summary-header:hover .entity-count-badge{box-shadow:0 3px 6px #00000026}.performance-stats{display:flex;justify-content:space-between;gap:var(--spacing-md);background-color:var(--background);border:1px solid var(--border);border-radius:var(--border-radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-md);transition:all .3s ease}.performance-stats:hover{border-color:var(--primary);box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.performance-stats .stat-item{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;transition:transform .2s ease}.performance-stats .stat-item:hover{transform:translateY(-2px)}.performance-stats .stat-item:after{content:"";position:absolute;bottom:-8px;left:50%;width:0;height:2px;background-color:var(--primary);transform:translate(-50%);transition:width .3s ease}.performance-stats .stat-item:hover:after{width:80%}.performance-stats .stat-label{font-size:var(--font-size-xs);color:var(--muted-foreground);margin-bottom:var(--spacing-xs);transition:color .2s ease}.performance-stats .stat-item:hover .stat-label{color:var(--foreground)}.performance-stats .stat-value{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--foreground);transition:color .2s ease}.performance-stats .stat-item:hover .stat-value{color:var(--primary)}.entities-by-section{margin-top:var(--spacing-md);border:1px solid var(--border);border-radius:var(--border-radius-md);overflow:hidden;transition:all .3s ease;box-shadow:0 2px 6px #0000000d}.entities-by-section:hover{border-color:var(--primary);box-shadow:0 4px 12px #00000014}.entities-by-section h5{margin:0;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--button-bg);border-bottom:1px solid var(--border);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--foreground);transition:all .2s ease;position:relative;overflow:hidden}.entities-by-section:hover h5{color:var(--primary);background-color:var(--button-hover)}.entities-by-section h5:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background-color:var(--primary);transform:translate(-100%);transition:transform .3s ease}.entities-by-section:hover h5:before{transform:translate(0)}.entity-list{max-height:200px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--button-border) var(--button-bg)}.entity-list::-webkit-scrollbar{width:6px}.entity-list::-webkit-scrollbar-track{background:var(--button-bg);border-radius:3px}.entity-list::-webkit-scrollbar-thumb{background-color:var(--button-border);border-radius:3px;transition:background-color .2s ease}.entity-list::-webkit-scrollbar-thumb:hover{background-color:var(--primary)}.threshold-section{margin-bottom:var(--spacing-md);border:1px solid var(--border);border-radius:var(--border-radius-md);padding:var(--spacing-md);background-color:var(--background);transition:all .2s ease}.threshold-section:hover{border-color:var(--primary);box-shadow:0 2px 8px #00000014}.threshold-header{display:flex;align-items:center;margin-bottom:var(--spacing-sm);gap:var(--spacing-sm)}.threshold-header h4{margin:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.threshold-slider-container{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-sm)}.threshold-slider{flex:1;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(to right,var(--primary-lighter),var(--primary));border-radius:3px;outline:none}.threshold-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--primary);cursor:pointer;transition:all .2s ease;border:2px solid var(--background);box-shadow:0 0 4px #0003}.threshold-slider::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 0 8px #0000004d}.threshold-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--primary);cursor:pointer;transition:all .2s ease;border:2px solid var(--background);box-shadow:0 0 4px #0003}.threshold-slider::-moz-range-thumb:hover{transform:scale(1.1);box-shadow:0 0 8px #0000004d}.threshold-value{font-weight:var(--font-weight-medium);color:var(--primary);min-width:40px;text-align:center}.threshold-description{font-size:var(--font-size-xs);color:var(--muted-foreground);font-style:italic}.banlist-section{margin-bottom:var(--spacing-md);border:1px solid var(--border);border-radius:var(--border-radius-md);padding:var(--spacing-md);background-color:var(--background);transition:all .2s ease}.banlist-section:hover{border-color:var(--primary);box-shadow:0 2px 8px #00000014}.banlist-header{margin-bottom:var(--spacing-sm)}.banlist-header h4{margin:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.banlist-toggle{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.toggle-label{font-size:var(--font-size-sm)}.banlist-description{font-size:var(--font-size-xs);color:var(--muted-foreground);font-style:italic}.action-buttons{margin-top:var(--spacing-md)}.detect-button{width:100%;padding:var(--spacing-md);background-color:var(--muted);color:var(--primary);border:1px solid var(--primary);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .3s cubic-bezier(.25,.8,.25,1);position:relative;overflow:hidden;margin-bottom:var(--spacing-sm);box-shadow:0 2px 5px #0000001a}.detect-button: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 .7s ease}.detect-button:hover:before{left:100%}.detect-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.detect-button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #0000001a}.detect-button:disabled{opacity:.5;cursor:not-allowed;border:1px solid var(--destructive)}.progress-container{position:absolute;bottom:0;left:0;width:100%;height:4px;background-color:#fff3;overflow:hidden}.progress-bar{height:100%;background-color:#fffc;transition:width .3s ease;position:relative;overflow:hidden}.secondary-buttons{display:flex;gap:var(--spacing-sm)}.save-button{color:var(--primary);border-color:var(--primary)}.save-button:hover:not(:disabled){background-color:var(--primary);color:var(--primary-foreground)}.save-button svg{transition:transform .3s ease}.save-button:hover svg{transform:scale(1.2)}.entity-detection-sidebar.loading .entity-select-section,.entity-detection-sidebar.loading .scope-section,.entity-detection-sidebar.loading .action-buttons{opacity:.7;pointer-events:none}.entity-detection-sidebar.loading .detect-button:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@media (max-width: 768px){.performance-stats{flex-direction:column;align-items:center}}.search-header{background-color:var(--toolbar-bg);border-bottom:1px solid var(--toolbar-border);display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);position:relative;overflow:hidden}.search-header:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,#71c4ff,transparent);transform:scaleX(0);transform-origin:left;transition:transform .4s ease}.search-header:hover:after{transform:scaleX(.8)}.search-header:hover h3{color:#71c4ff}.search-badge{background-color:#71c4ff;color:var(--primary-foreground);font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-sm);border-radius:10px;font-weight:var(--font-weight-medium);transition:all .3s ease;box-shadow:0 2px 4px #0000001a}.search-header:hover .search-badge{box-shadow:0 3px 6px #00000026}.search-input-wrapper{display:flex;width:100%;position:relative;align-items:flex-start}.search-input{flex:1;padding:var(--spacing-sm) calc(var(--spacing-md) + 48px) var(--spacing-sm) var(--spacing-md);border:1px solid var(--border);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);background-color:var(--background);color:var(--foreground);transition:all .2s ease;min-height:40px;max-height:120px;line-height:1.4;font-family:inherit;word-wrap:break-word;white-space:pre-wrap}.search-input:focus{outline:none;border-color:#71c4ff;box-shadow:0 0 0 2px #71c4ff33}.search-button{position:absolute;right:4px;top:4px;width:40px;height:32px;background-color:#71c4ff;color:#fff;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.search-button:hover:not(:disabled){background-color:#5aaae4}.search-button:disabled{opacity:.6;cursor:not-allowed}.search-options{justify-content:space-between;display:flex;margin-top:var(--spacing-sm);gap:var(--spacing-lg)}.search-terms-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.clear-all-button{background:none;border:none;color:var(--destructive);font-size:var(--font-size-xs);cursor:pointer;padding:0;transition:opacity .2s ease}.clear-all-button:hover:not(:disabled){opacity:.8;text-decoration:underline}.clear-all-button:disabled{opacity:.5;cursor:not-allowed}.search-terms-list{margin-bottom:var(--spacing-md)}.search-term-items{display:flex;flex-direction:column;gap:var(--spacing-xs)}.search-term-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);background-color:#71c4ff1a;border:1px solid rgba(113,196,255,.3);border-radius:var(--border-radius-md);transition:all .2s ease}.search-term-item:hover{background-color:#71c4ff33;border-color:#71c4ff;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.search-term-text{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--foreground)}.search-term-options{display:flex;gap:var(--spacing-xs)}.search-term-option{background-color:#71c4ff33;color:#71c4ff;font-size:var(--font-size-xs);padding:1px 4px;border-radius:4px}.search-term-remove{background:none;border:none;color:var(--muted-foreground);cursor:pointer;display:flex;padding:0;transition:color .2s ease}.search-term-remove:hover:not(:disabled){color:var(--destructive)}.search-term-remove:disabled{opacity:.5;cursor:not-allowed}.no-search-terms{text-align:center;padding:var(--spacing-md);color:var(--muted-foreground);font-style:italic;background-color:var(--button-bg);border-radius:var(--border-radius-md)}.search-results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.results-count{font-size:var(--font-size-sm);color:var(--muted-foreground);margin-bottom:var(--spacing-sm);text-align:center}.search-navigation{display:flex;gap:var(--spacing-xs)}.progress-container{margin:var(--spacing-md) 0}.progress-label{font-size:var(--font-size-sm);color:var(--muted-foreground);margin-bottom:var(--spacing-xs)}.progress-bar-container{height:6px;background-color:var(--button-bg);border-radius:3px;overflow:hidden;margin-bottom:var(--spacing-xs)}.progress-bar{height:100%;background-color:#71c4ff;border-radius:3px;position:relative;overflow:hidden;transition:width .3s ease}.progress-bar:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:progressShimmer 1.5s infinite}.progress-percentage{font-size:var(--font-size-xs);color:var(--muted-foreground);text-align:right}@keyframes progressShimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.result-count-badge{background-color:#71c4ff;color:#fff;font-size:var(--font-size-xs);padding:2px 8px;border-radius:10px;font-weight:var(--font-weight-medium);transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.file-summary-header:hover .result-count-badge{box-shadow:0 3px 6px #00000026}.no-results{text-align:center;padding:var(--spacing-lg) 0;color:var(--muted-foreground);font-style:italic}.context-menu{position:fixed;min-width:160px;background-color:var(--background);border:1px solid var(--border);border-radius:var(--border-radius-md);box-shadow:var(--shadow-md);padding:var(--spacing-xs) 0;z-index:1000;animation:fadeIn .2s ease}.context-menu-item{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);background:none;border:none;text-align:left;font-size:var(--font-size-sm);color:var(--foreground);cursor:pointer;transition:background-color .2s ease}.context-menu-item:hover{background-color:var(--button-hover);color:#71c4ff}.context-menu-item svg{color:#71c4ff}.match-count{color:var(--foreground);background-color:#71c4ff1a;border-radius:16px;padding:2px 8px;font-size:var(--font-size-xs);transition:all .2s ease}.page-list-item:hover .match-count{background-color:#71c4ff4d;color:#71c4ff}.success-section{margin:var(--spacing-sm) 0;padding:var(--spacing-sm);border-radius:var(--border-radius-md);background-color:#2ecc711a;border:1px solid rgba(46,204,113,.3);animation:fadeIn .3s ease}.success-message{display:flex;align-items:center;gap:var(--spacing-sm);color:#2ecc71;font-size:var(--font-size-sm)}.success-icon{color:#2ecc71;flex-shrink:0}.error-section{margin:var(--spacing-sm) 0;padding:var(--spacing-sm);border-radius:var(--border-radius-md);background-color:#e74c3c1a;border:1px solid rgba(231,76,60,.3);animation:fadeIn .3s ease}.error-message{display:flex;align-items:center;gap:var(--spacing-sm);color:#e74c3c;font-size:var(--font-size-sm)}.error-icon{color:#e74c3c;flex-shrink:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.search-sidebar .nav-button:hover{background-color:#71c4ff;border-color:#71c4ff}.scope-button:hover{border-color:#71c4ff}.search-sidebar .scope-button.active{background-color:var(--primary-foreground);border-color:#71c4ff;color:#71c4ff}.search-sidebar .scope-button:hover:not(:disabled){border-color:#71c4ff}@media (max-width: 768px){.search-options{flex-direction:column;gap:var(--spacing-sm)}.search-input{padding-right:calc(var(--spacing-md) + 48px);font-size:var(--font-size-sm)}.search-button{width:36px;height:28px;right:6px;top:6px}}.redaction-mode-badge{background-color:var(--error);color:var(--error-foreground);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:2px 8px;border-radius:12px;white-space:nowrap;animation:pulse 2s infinite}.checkbox-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.checkbox-label{display:flex;align-items:center;position:relative;cursor:pointer;font-size:var(--font-size-sm);-webkit-user-select:none;user-select:none;padding:var(--spacing-sm) 0;color:var(--foreground);transition:color var(--transition-speed) var(--transition-function)}.checkbox-label input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkmark{position:relative;height:18px;width:18px;background-color:var(--background);border:1px solid var(--border);border-radius:var(--border-radius-sm);margin-right:var(--spacing-md);transition:all var(--transition-speed) var(--transition-function)}.checkbox-label:hover .checkmark{background-color:var(--button-hover);border-color:var(--primary)}.checkbox-label input:checked~.checkmark{background-color:var(--primary);border-color:var(--primary)}.checkbox-label input:checked~.checkmark:after{display:block}.detection-stats{display:flex;flex-direction:column;gap:var(--spacing-xs);background:rgba(var(--card-rgb),.9);border-radius:var(--border-radius-lg);padding:var(--spacing-sm);margin-bottom:var(--spacing-md);box-shadow:0 1px 6px #0000000f;border:1.5px solid var(--border);box-shadow:0 1px 6px #0000000f,0 0 0 1.5px var(--border)}.detection-stats:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.stat-item{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;background:var(--background);border-radius:var(--border-radius-md);padding:var(--spacing-xs) var(--spacing-md);margin-bottom:var(--spacing-xs);box-shadow:0 1px 3px #0000000a;border:1.5px solid var(--border);min-width:0;position:relative;border-left:3px solid var(--primary)}.stat-item:last-child{margin-bottom:0}.stat-label{font-size:var(--font-size-xs);color:var(--muted-foreground);margin-bottom:2px}.stat-value{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--foreground)}.stat-breakdown{background-color:var(--background);border:1px solid var(--border);border-radius:var(--border-radius-md);overflow:hidden;margin-bottom:var(--spacing-md);max-height:200px;overflow-y:auto}.stat-row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--border);font-size:var(--font-size-xs);transition:background-color var(--transition-speed) var(--transition-function)}.stat-row:last-child{border-bottom:none}.stat-row:hover{background-color:var(--button-hover)}.entity-type{font-weight:var(--font-weight-medium);color:var(--foreground);max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entity-count{background-color:var(--active-bg);color:var(--primary);padding:2px 8px;border-radius:10px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);min-width:24px;text-align:center}.page-number{font-weight:var(--font-weight-medium);color:var(--foreground)}.redact-button{background-color:var(--destructive);border-color:var(--destructive);color:#fff}.redact-button:hover:not(:disabled){background-color:#d32f2f;border-color:#c62828}.redact-button:active:not(:disabled){background-color:#b71c1c}.redaction-header{background-color:var(--toolbar-bg);border-bottom:1px solid var(--toolbar-border);display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);position:relative;overflow:hidden}.redaction-header:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,#ff7171,transparent);transform:scaleX(0);transform-origin:left;transition:transform .4s ease}.redaction-header:hover:after{transform:scaleX(.8)}.redaction-header:hover h3{color:#ff7171}.scope-options{display:flex;justify-content:space-between}.redaction-header:hover .redaction-mode-badge{box-shadow:0 3px 6px #00000026}.success-section{margin-top:var(--spacing-sm)}.success-message{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background-color:#27ae601a;color:#27ae60;border:1px solid #27ae60;border-radius:var(--border-radius-md);font-size:var(--font-size-sm);animation:fadeIn .3s ease;box-shadow:0 2px 5px #0000001a}.success-icon{flex-shrink:0;animation:pulse 2s infinite}.redact-button: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 .7s ease}.redact-button:hover:before{left:100%}.progress-container{position:absolute;bottom:0;left:0;width:100%;height:4px;background-color:#0000001a;border-radius:0 0 var(--border-radius-md) var(--border-radius-md)}.progress-bar{height:100%;background-color:#fff9;border-radius:0 0 var(--border-radius-md) 0}.detection-stats .stat-item{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;transition:transform .2s ease}.detection-stats .stat-item:hover{transform:translateY(-2px)}.detection-stats .stat-item:after{content:"";position:absolute;bottom:-8px;left:50%;width:0;height:2px;background-color:#ff7171;transform:translate(-50%);transition:width .3s ease}.detection-stats .stat-item:hover:after{width:80%}.detection-stats .stat-label{font-size:var(--font-size-xs);color:var(--muted-foreground);margin-bottom:var(--spacing-xs);transition:color .2s ease}.detection-stats .stat-item:hover .stat-label{color:var(--foreground)}.detection-stats .stat-value{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--foreground);transition:color .2s ease}.detection-stats .stat-item:hover .stat-value{color:#ff7171}.animate-spin{animation:spin 1s linear infinite}@media (max-width: 768px){.detection-stats{padding:var(--spacing-xs)}}.history-section{margin-top:var(--spacing-md);border-top:1px solid var(--sidebar-border);padding-top:var(--spacing-md)}.history-info{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md)}.history-info p{font-size:var(--font-size-xs);color:var(--muted-foreground);margin:0}.view-history-button{background-color:var(--bg-tertiary);color:var(--primary);border:1px solid var(--primary-light);border-radius:var(--border-radius-sm);padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-speed) var(--transition-function)}.view-history-button:hover{background-color:rgba(var(--primary-rgb),.1)}.settings-sidebar{display:flex;flex-direction:column;gap:var(--spacing-md);padding:0;background:transparent}.settings-section{background:rgba(var(--card-rgb),.9);border:1px solid rgba(var(--border-rgb),.18);border-radius:var(--radius-lg);padding:var(--spacing-md) var(--spacing-md);margin-bottom:var(--spacing-md);box-shadow:0 2px 12px #0000000f;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:box-shadow .18s,border-color .18s;position:relative;overflow:hidden;animation:fadeInUp .4s var(--ease-out)}.settings-section:hover{border-color:var(--primary);box-shadow:0 4px 16px rgba(var(--primary-rgb),.1)}.settings-section-title{font-size:1.05rem;font-weight:600;margin-bottom:var(--spacing-sm);letter-spacing:.01em;background:linear-gradient(90deg,var(--primary) 0%,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;border-bottom:none}.settings-item{padding:var(--spacing-xs) 0;margin-bottom:var(--spacing-xs);border-bottom:1px solid rgba(var(--border-rgb),.08)}.settings-item:last-child{border-bottom:none;margin-bottom:0}.settings-item:first-child{padding-top:0}.settings-checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;font-size:.97rem;font-weight:500;color:var(--foreground);width:100%;transition:color .18s}.settings-checkbox-label:hover{color:var(--primary)}.settings-checkbox{width:1rem;height:1rem;border-radius:var(--radius-md);border:1.5px solid var(--border);background:var(--background);cursor:pointer;position:relative;transition:border-color .18s,box-shadow .18s;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.settings-checkbox:checked{background:var(--primary);border-color:var(--primary)}.settings-checkbox:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--primary-foreground);font-size:.7rem;font-weight:700;line-height:1}.settings-checkbox:hover,.settings-checkbox:focus{border-color:var(--primary);box-shadow:0 0 0 1.5px rgba(var(--primary-rgb),.1);outline:none}.settings-item-label{font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-medium, 500);color:var(--foreground, #374151);margin-bottom:var(--spacing-sm)}.settings-radio-group{display:flex;flex-direction:column;gap:var(--spacing-xs);width:100%}.settings-radio-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--background);cursor:pointer;transition:all .18s;font-size:.97rem;font-weight:500;color:var(--foreground)}.settings-radio-item:hover{border-color:var(--primary);background:var(--card-hover);box-shadow:0 1px 4px rgba(var(--primary-rgb),.06)}.settings-radio-item.active{background:linear-gradient(90deg,var(--primary) 0%,var(--accent) 100%);border-color:var(--primary);color:var(--primary-foreground);box-shadow:0 2px 8px rgba(var(--primary-rgb),.1)}.settings-radio-item svg{flex-shrink:0;color:inherit}.settings-color-label{display:flex;align-items:center;justify-content:space-between;width:100%;font-size:.97rem;font-weight:500;color:var(--foreground)}.settings-color-input{width:1.5rem;height:1.5rem;border:1.5px solid var(--border);border-radius:var(--radius-md);cursor:pointer;background:transparent;overflow:hidden;transition:all .18s;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0}.settings-color-input:hover,.settings-color-input:focus{border-color:var(--primary);box-shadow:0 0 0 1.5px rgba(var(--primary-rgb),.1);transform:scale(1.04);outline:none}.settings-buttons{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-top:var(--spacing-md)}.settings-button{display:flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);font-size:.98rem;font-weight:600;cursor:pointer;transition:all .18s;border:1px solid transparent;text-align:center;min-height:2rem;box-shadow:0 1px 6px rgba(var(--primary-rgb),.08);background:linear-gradient(90deg,var(--primary) 0%,var(--accent) 100%);color:var(--primary-foreground);margin-top:var(--spacing-xs)}.settings-button:focus{outline:none;box-shadow:0 0 0 2px rgba(var(--primary-rgb),.12)}.settings-button:hover{box-shadow:0 2px 12px rgba(var(--primary-rgb),.12);transform:translateY(-1px) scale(1.01)}.settings-button:active{transform:translateY(0);box-shadow:none}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.settings-sidebar{gap:var(--spacing-sm)}.settings-section{padding:var(--spacing-sm)}.settings-section-title{font-size:.98rem;margin-bottom:var(--spacing-xs)}.settings-item{padding:var(--spacing-xxs) 0;margin-bottom:var(--spacing-xxs)}.settings-checkbox{width:.9rem;height:.9rem}.settings-color-input{width:1.1rem;height:1.1rem}.settings-button{padding:var(--spacing-xs) var(--spacing-sm);min-height:1.6rem;font-size:.92rem}}@media (max-width: 480px){.settings-section{padding:var(--spacing-xxs)}.settings-section-title{font-size:.92rem}.settings-button{font-size:.85rem;padding:var(--spacing-xxs) var(--spacing-xs)}}[data-theme=dark] .settings-section{background:rgba(var(--card-rgb),.9);border-color:var(--border)}[data-theme=dark] .settings-section:hover{border-color:var(--primary)}[data-theme=dark] .settings-section-title,[data-theme=dark] .settings-checkbox-label{color:var(--foreground)}[data-theme=dark] .settings-checkbox{border-color:var(--border);background:var(--background)}[data-theme=dark] .settings-color-label{color:var(--foreground)}[data-theme=dark] .settings-color-input{border-color:var(--border)}@media (prefers-reduced-motion: reduce){.settings-checkbox,.settings-color-input,.settings-button,.settings-section{transition:none}}@media (prefers-contrast: high){.settings-section,.settings-checkbox,.settings-color-input,.settings-button{border-width:2px}}.pdf-sidebar.unified-sidebar{position:fixed!important;left:0!important;top:calc(var(--header-height, 60px) + 4rem)!important;height:calc(100vh - calc(var(--header-height, 60px) + 4rem))!important;background:var(--background, #ffffff);border-right:1px solid var(--border-subtle, #e5e7eb);box-shadow:2px 0 12px #00000014;transition:width .3s cubic-bezier(.4,0,.2,1);z-index:1000!important;display:block!important;visibility:visible!important;width:var(--sidebar-width, 400px);min-width:280px;max-width:600px;opacity:1!important;transform:none!important;overflow:visible}.pdf-sidebar.unified-sidebar.collapsed{width:50px!important;min-width:50px!important}.pdf-sidebar.unified-sidebar.expanded{width:var(--sidebar-width, 400px)!important}.pdf-sidebar.unified-sidebar.resizing{transition:none}.collapse-button{position:absolute!important;top:16px!important;right:-20px!important;width:20px!important;height:20px!important;background:var(--background);border:1px solid var(--border, #e5e7eb);border-radius:50%;cursor:pointer;display:flex!important;align-items:center;justify-content:center;color:var(--muted-foreground, #6b7280);transition:all .2s ease;z-index:9999!important;box-shadow:0 2px 4px #0000001a}.collapse-button:hover{background:var(--background);color:var(--foreground, #374151);box-shadow:0 4px 8px #00000026;transform:scale(1.1)}.tab-indicators{position:absolute;left:0;top:0;width:6px;height:100%;z-index:1001;pointer-events:none}.tab-indicator{position:absolute!important;left:var(--spacing-xs)!important;width:32px!important;height:32px!important;background:var(--background);border:1px solid var(--border, #e5e7eb);border-radius:8px;display:flex!important;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:var(--muted-foreground, #6b7280);pointer-events:all;box-shadow:0 2px 4px #0000001a;z-index:1001!important}.tab-indicator:hover{background:var(--background);color:var(--foreground, #374151);transform:translate(2px) scale(1.05);box-shadow:0 4px 8px #00000026}.tab-indicator.active{background:var(--primary, #2563eb);color:var(--primary-foreground, white);border-color:var(--primary, #2563eb);transform:translate(4px);box-shadow:0 4px 12px #2563eb4d}.tab-indicator.active:hover{background:var(--primary-hover, #1d4ed8);transform:translate(4px) scale(1.05)}.indicator-icon{display:flex;align-items:center;justify-content:center}.indicator-tooltip{position:absolute;left:100%;top:50%;transform:translateY(-50%);margin-left:12px;padding:6px 10px;background:var(--popover, #1f2937);color:var(--popover-foreground, white);font-size:12px;font-weight:500;border-radius:6px;white-space:nowrap;z-index:1003;pointer-events:none}.indicator-tooltip:before{content:"";position:absolute;right:100%;top:50%;transform:translateY(-50%);border:4px solid transparent;border-right-color:var(--popover, #1f2937)}.content-area{width:100%;height:100%;min-width:0;overflow-y:auto;padding:16px 16px 16px 50px;scrollbar-width:thin;scrollbar-color:var(--border, #d1d5db) transparent;background:var(--background)}.content-area::-webkit-scrollbar{width:6px}.content-area::-webkit-scrollbar-track{background:transparent}.content-area::-webkit-scrollbar-thumb{background:var(--border, #d1d5db);border-radius:3px}.content-area::-webkit-scrollbar-thumb:hover{background:var(--muted-foreground, #9ca3af)}.file-indicator{text-align:center;padding:8px 12px;margin-bottom:16px;background:var(--background);border:1px solid var(--border, #e5e7eb);border-radius:8px;font-size:12px;font-weight:500;color:var(--muted-foreground, #6b7280);box-shadow:0 1px 3px #0000000d}.content-area .sidebar-header,.content-area .sidebar-content,.content-area .file-viewer,.content-area .thumbnails-container,.content-area .history-viewer,.content-area .entity-detection-sidebar,.content-area .search-sidebar,.content-area .redaction-sidebar{background:var(--background)!important;border:none!important;padding:0!important;margin:0!important;box-shadow:none!important;height:auto!important;max-height:none!important}.content-area>*:not(.file-indicator):not(.additional-settings){margin-bottom:16px}.content-area>*:last-child{margin-bottom:0}.additional-settings{margin-top:24px;padding-top:24px;border-top:1px solid var(--border-subtle, #f3f4f6);background:var(--background)}.additional-settings>*{margin-bottom:16px}.additional-settings>*:last-child{margin-bottom:0}.section-title{font-size:14px;font-weight:600;color:var(--foreground, #374151);margin-bottom:16px;text-transform:uppercase;letter-spacing:.5px}.pdf-sidebar.unified-sidebar.resizing{box-shadow:2px 0 20px #00000026}.pdf-sidebar.unified-sidebar.resizing .resize-handle:before{animation:resizePulse 1s ease-in-out infinite alternate}@keyframes resizePulse{0%{opacity:.6;transform:translate(-50%,-50%) scale(1)}to{opacity:1;transform:translate(-50%,-50%) scale(1.1)}}@media (max-width: 1024px){.pdf-sidebar.unified-sidebar{max-width:400px}}@media (max-width: 768px){.pdf-sidebar.unified-sidebar.expanded{width:var(--sidebar-width, 320px)!important;min-width:280px!important;max-width:350px!important}.content-area{padding:12px 12px 12px 36px}.file-indicator{font-size:11px;padding:6px 10px}.resize-handle{display:none!important}}@media (max-width: 480px){.pdf-sidebar.unified-sidebar.expanded{width:var(--sidebar-width, 280px)!important;min-width:260px!important;max-width:300px!important}.content-area{padding:12px}.file-indicator{font-size:10px;padding:4px 8px}}[data-theme=dark] .pdf-sidebar.unified-sidebar{background:var(--background);border-right-color:var(--border-subtle)}[data-theme=dark] .collapse-button{background:var(--background);border-color:var(--border, #374151);color:var(--muted-foreground, #9ca3af)}[data-theme=dark] .collapse-button:hover{background:var(--background);color:var(--foreground, #f9fafb)}[data-theme=dark] .tab-indicator{background:var(--background);border-color:var(--border, #374151);color:var(--muted-foreground, #9ca3af)}[data-theme=dark] .tab-indicator:hover{background:var(--background);color:var(--foreground, #f9fafb)}[data-theme=dark] .indicator-tooltip{background:var(--popover, #1f2937);color:var(--popover-foreground, white)}[data-theme=dark] .indicator-tooltip:before{border-right-color:var(--popover, #1f2937)}[data-theme=dark] .file-indicator{background:var(--background);border-color:var(--border, #374151);color:var(--muted-foreground, #9ca3af)}[data-theme=dark] .resize-handle:before{background:var(--border, #374151)}[data-theme=dark] .resize-handle:hover:before,[data-theme=dark] .pdf-sidebar.unified-sidebar:hover .resize-handle:before{background:var(--primary, #2563eb)}[data-theme=dark] .resize-handle.resizing:before{background:var(--primary, #2563eb);box-shadow:0 0 8px #2563eb80}[data-theme=dark] .resize-handle:after{background:linear-gradient(to bottom,transparent 0%,var(--muted-foreground, #6b7280) 20%,transparent 30%,var(--muted-foreground, #6b7280) 40%,transparent 50%,var(--muted-foreground, #6b7280) 60%,transparent 70%,var(--muted-foreground, #6b7280) 80%,transparent 100%)}.resize-handle{position:absolute!important;top:0!important;right:-3px!important;width:6px!important;height:100%!important;cursor:col-resize!important;z-index:1002!important;background:transparent;transition:background-color .2s ease}.resize-handle:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:4px;height:40px;background:var(--border, #e5e7eb);border-radius:2px;opacity:0;transition:all .2s ease}.resize-handle:hover:before,.pdf-sidebar.unified-sidebar:hover .resize-handle:before{opacity:.6;background:var(--primary, #2563eb)}.resize-handle.resizing:before{opacity:1;background:var(--primary, #2563eb);height:60px;box-shadow:0 0 8px #2563eb4d}.resize-handle:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2px;height:20px;background:linear-gradient(to bottom,transparent 0%,var(--muted-foreground, #9ca3af) 20%,transparent 30%,var(--muted-foreground, #9ca3af) 40%,transparent 50%,var(--muted-foreground, #9ca3af) 60%,transparent 70%,var(--muted-foreground, #9ca3af) 80%,transparent 100%);opacity:0;transition:opacity .2s ease}.resize-handle:hover:after,.pdf-sidebar.unified-sidebar:hover .resize-handle:after{opacity:.4}.resize-handle.resizing:after{opacity:.8}.tab-indicator:focus-visible,.collapse-button:focus-visible{outline:2px solid var(--primary, #2563eb);outline-offset:2px}.resize-handle:focus-visible{outline:2px solid var(--primary, #2563eb);outline-offset:2px}@media (prefers-reduced-motion: reduce){.pdf-sidebar.unified-sidebar,.tab-indicator,.collapse-button,.resize-handle,.resize-handle:before,.resize-handle:after{transition:none;animation:none}}body.resizing-sidebar,body.resizing-sidebar *{cursor:col-resize!important;-webkit-user-select:none;user-select:none}.modern-fullscreen-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--background);z-index:var(--z-modal);display:flex;flex-direction:column;overflow:hidden;animation:fadeInFullscreen var(--duration-medium) var(--ease-out);cursor:none}.modern-fullscreen-overlay:hover{cursor:default}.floating-file-name{position:fixed;top:var(--spacing-lg);left:var(--spacing-lg);z-index:var(--z-fixed);background:rgba(var(--background-rgb),.95);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-md);box-shadow:var(--shadow-lg);transition:all var(--duration-medium) var(--ease-out);transform:translate(-100%);opacity:0;pointer-events:none;max-width:400px}.floating-file-name.visible{transform:translate(0);opacity:1;pointer-events:auto}.file-name-content{display:flex;align-items:center;gap:var(--spacing-sm)}.file-icon{display:flex;align-items:center;justify-content:center;width:var(--space-6);height:var(--space-6);background:var(--primary);color:var(--primary-foreground);border-radius:var(--radius-sm);flex-shrink:0}.file-name-text{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}.floating-exit-button{position:fixed;top:var(--spacing-lg);right:var(--spacing-lg);z-index:var(--z-fixed);transition:all var(--duration-medium) var(--ease-out);transform:translate(100%);opacity:0;pointer-events:none}.floating-exit-button.visible{transform:translate(0);opacity:1;pointer-events:auto}.exit-button{display:flex;align-items:center;justify-content:center;width:var(--space-10);height:var(--space-10);background:rgba(var(--destructive-rgb),.1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-subtle);border-radius:var(--radius-full);color:var(--destructive);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);box-shadow:var(--shadow-md)}.exit-button:hover{background:var(--destructive);color:var(--destructive-foreground);transform:scale(1.05);box-shadow:var(--shadow-lg)}.exit-button:active{transform:scale(.95)}.fullscreen-pdf-content{flex:1;overflow:auto;background:var(--background);display:flex;justify-content:center;align-items:flex-start;padding:var(--spacing-xl);scrollbar-width:thin;scrollbar-color:var(--accent) transparent;position:relative}.fullscreen-pdf-content::-webkit-scrollbar{width:var(--space-2);height:var(--space-2)}.fullscreen-pdf-content::-webkit-scrollbar-track{background:transparent}.fullscreen-pdf-content::-webkit-scrollbar-thumb{background-color:var(--accent);border-radius:var(--radius-full);opacity:.5}.fullscreen-pdf-content::-webkit-scrollbar-thumb:hover{background-color:var(--accent-hover);opacity:1}.fullscreen-pdf-content .pdf-document-container{max-width:none;margin:0 auto;background:transparent;box-shadow:none;border-radius:0;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg)}.fullscreen-pdf-content .react-pdf__Page{box-shadow:var(--shadow-xl);border-radius:var(--radius-lg);transition:all var(--duration-medium) var(--ease-out)}.fullscreen-pdf-content .react-pdf__Page:hover{transform:translateY(-2px);box-shadow:var(--shadow-2xl)}.floating-toolbar{position:fixed;bottom:var(--spacing-lg);left:50%;transform:translate(-50%) translateY(100%);z-index:var(--z-fixed);transition:all var(--duration-medium) var(--ease-out);opacity:0;pointer-events:none}.floating-toolbar.visible{transform:translate(-50%) translateY(0);opacity:1;pointer-events:auto}.toolbar-content{background:rgba(var(--background-rgb),.95);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:var(--spacing-sm);box-shadow:var(--shadow-xl);display:flex;align-items:center;gap:var(--spacing-xs);min-height:var(--space-12)}.toolbar-group{display:flex;align-items:center;gap:var(--spacing-xs)}.toolbar-divider{width:1px;height:var(--space-6);background:var(--border);margin:0 var(--spacing-xs);opacity:.5}.toolbar-icon-button{display:flex;align-items:center;justify-content:center;width:var(--space-9);height:var(--space-9);background:transparent;border:none;border-radius:var(--radius-md);color:var(--foreground-muted);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);position:relative;overflow:hidden}.toolbar-icon-button:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--primary);opacity:0;transition:opacity var(--duration-fast) var(--ease-out);border-radius:inherit}.toolbar-icon-button:hover{color:var(--primary);transform:translateY(-1px)}.toolbar-icon-button:hover:before{opacity:.1}.toolbar-icon-button.active{color:var(--primary)}.toolbar-icon-button.active:before{opacity:.1}.toolbar-icon-button:active{transform:translateY(0)}.toolbar-icon-button:disabled{opacity:.4;cursor:not-allowed;transform:none}.toolbar-icon-button:disabled:hover:before{opacity:0}.zoom-indicator{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--primary);padding:0 var(--spacing-sm);min-width:var(--space-12);text-align:center;border-radius:var(--radius-sm);height:var(--space-6);display:flex;align-items:center;justify-content:center}@keyframes fadeInFullscreen{0%{opacity:0;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}}.toolbar-icon-button[disabled]{animation:pulse 2s infinite}@media (max-width: 768px){.floating-file-name{top:var(--spacing-md);left:var(--spacing-md);max-width:250px;padding:var(--spacing-xs) var(--spacing-sm)}.floating-exit-button{top:var(--spacing-md);right:var(--spacing-md)}.exit-button{width:var(--space-8);height:var(--space-8)}.fullscreen-pdf-content{padding:var(--spacing-md)}.floating-toolbar{bottom:var(--spacing-md);left:var(--spacing-md);right:var(--spacing-md);transform:translateY(100%)}.floating-toolbar.visible{transform:translateY(0)}.toolbar-content{padding:var(--spacing-xs);border-radius:var(--radius-lg);justify-content:space-between;width:100%}.toolbar-icon-button{width:var(--space-8);height:var(--space-8)}.toolbar-divider{display:none}.file-name-text{font-size:var(--font-size-xs);max-width:180px}}@media (max-width: 480px){.toolbar-group{gap:2px}.toolbar-icon-button{width:var(--space-7);height:var(--space-7)}.zoom-indicator{font-size:10px;min-width:var(--space-8);height:var(--space-5)}}@media (prefers-reduced-motion: reduce){.modern-fullscreen-overlay{animation:none}.floating-file-name,.floating-exit-button,.floating-toolbar,.toolbar-icon-button,.exit-button,.fullscreen-pdf-content .react-pdf__Page{transition:none}.fullscreen-pdf-content .react-pdf__Page:hover,.toolbar-icon-button:hover,.exit-button:hover,.exit-button:active{transform:none}}@media (prefers-contrast: high){.floating-file-name,.toolbar-content{background:var(--background);border-width:2px}.exit-button{border-width:2px}}.toolbar-icon-button:focus-visible,.exit-button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.fullscreen-overlay,.pdf-fullscreen-layout{display:none!important}.multi-pdf-container{display:flex;flex-direction:column;gap:var(--spacing-xs);width:100%;min-height:100vh}.multi-pdf-header{position:sticky;top:0;background:var(--background-surface);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:var(--border-default);padding:var(--spacing-md);display:flex;align-items:center;justify-content:space-between;z-index:var(--z-sticky);border-radius:var(--radius-card);margin-bottom:var(--spacing-lg)}.multi-pdf-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--foreground);margin:0}.multi-pdf-controls{display:flex;align-items:center;gap:var(--spacing-sm)}.multi-pdf-control-button{background:var(--background);border:var(--border-default);color:var(--foreground);cursor:pointer;padding:var(--spacing-button-y) var(--spacing-button-x);border-radius:var(--radius-button);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-button);display:flex;align-items:center;gap:var(--spacing-xs)}.multi-pdf-control-button:hover{background-color:var(--hover);border-color:var(--primary);color:var(--primary)}.multi-pdf-control-button--primary{background-color:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.multi-pdf-control-button--primary:hover{background-color:var(--primary-hover);border-color:var(--primary-hover)}.pdf-file-container{width:100%;background:var(--background);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);overflow:hidden;transition:all var(--transition-card);opacity:1;transform:translateY(0);margin-bottom:var(--spacing-lg);border:var(--border-default);position:relative}.pdf-file-container.current{border-color:var(--primary);box-shadow:var(--shadow-primary-lg);transform:translateY(-4px)}.pdf-file-container.open{opacity:1;transform:translateY(0)}.pdf-file-container.closed{opacity:.7;transform:translateY(-4px)}.pdf-file-container.selected{border-color:var(--primary);background-color:var(--background-subtle)}.pdf-file-header{position:sticky;top:0;width:100%;background:var(--background);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:var(--border-default);padding:var(--spacing-md);display:flex;align-items:center;justify-content:space-between;z-index:var(--z-sticky);transition:all var(--transition-colors)}.pdf-file-header-left{display:flex;align-items:center;gap:var(--spacing-md)}.pdf-file-toggle-button{background:none;border:none;color:var(--foreground);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-button);transition:all var(--transition-button);display:flex;align-items:center;justify-content:center;width:var(--space-8);height:var(--space-8)}.pdf-file-toggle-button:hover{background-color:var(--hover);color:var(--primary)}.pdf-file-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--foreground);margin:0;line-height:var(--line-height-tight);max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdf-file-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.pdf-file-action-button{background:var(--background);border:var(--border-default);color:var(--foreground);cursor:pointer;padding:var(--spacing-button-y) var(--spacing-button-x);border-radius:var(--radius-button);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-button);display:flex;align-items:center;gap:var(--spacing-xs)}.pdf-file-action-button:hover{background-color:var(--hover);border-color:var(--primary);color:var(--primary)}.pdf-file-action-button.selected{background-color:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.pdf-file-action-button:focus-visible{outline:var(--outline-focus);outline-offset:var(--outline-focus-offset)}.pdf-document-container{position:relative;width:100%;min-height:400px;display:flex;flex-direction:column;align-items:center;padding:var(--spacing-lg);background:var(--background);animation:fadeIn var(--duration-medium) var(--ease-out)}.pdf-document-container.current{background:var(--background)}.pdf-file-container:not(:last-child):after{content:"";position:absolute;bottom:calc(var(--spacing-lg) * -1);left:50%;transform:translate(-50%);width:80%;height:1px;background:var(--background);border-radius:var(--radius-full)}body.is-scrolling .pdf-file-container:not(.current){opacity:.5}.pdf-loading-placeholder{width:100%;height:400px;background:var(--background);border-radius:var(--radius-card);display:flex;align-items:center;justify-content:center;animation:pulse var(--duration-slower) infinite}.pdf-loading-placeholder:after{content:"";width:var(--space-12);height:var(--space-12);border:3px solid var(--border-subtle);border-top:3px solid var(--primary);border-radius:var(--radius-full);animation:spin 1s linear infinite}@keyframes fadeIn{0%{opacity:0;transform:translateY(var(--spacing-md))}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.multi-pdf-container{padding:var(--spacing-sm);gap:var(--spacing-md)}.multi-pdf-header{padding:var(--spacing-sm);flex-direction:column;align-items:stretch;gap:var(--spacing-sm)}.multi-pdf-title{font-size:var(--font-size-lg);text-align:center}.multi-pdf-controls{justify-content:center}.pdf-file-header{padding:var(--spacing-sm);flex-direction:column;align-items:stretch;gap:var(--spacing-sm)}.pdf-file-header-left{justify-content:center}.pdf-file-title{font-size:var(--font-size-base);max-width:200px;text-align:center}.pdf-file-actions{justify-content:center;flex-wrap:wrap}.pdf-file-action-button,.multi-pdf-control-button{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}.pdf-document-container{padding:var(--spacing-md)}}.pdf-file-container.current{border:2px solid var(--primary);box-shadow:0 0 0 1px rgba(var(--primary-rgb),.2),var(--shadow-md);z-index:2}.pdf-file-container.open{box-shadow:var(--shadow-md)}.pdf-file-container.closed{max-height:60px;overflow:hidden}.pdf-file-container.selected{background-color:rgba(var(--primary-rgb),.05)}.pdf-file-action-button.selected{color:var(--primary);background-color:rgba(var(--primary-rgb),.1)}.pdf-file-action-button:not(.selected){color:var(--foreground);background-color:var(--button-hover)}.pdf-file-action-button:not(.selected):first-child{color:var(--foreground);background-color:var(--button-hover);border:1px dotted var(--muted-foreground)}.pdf-file-action-button:not(.selected):last-of-type:hover{color:var(--destructive)}.select-file-icon{width:14px;height:14px;border:2px solid currentColor;border-radius:2px;display:block}.pdf-file-container.closed:hover{border-color:var(--button-border);background-color:var(--dropdown-hover)}.pdf-file-action-button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.multi-pdf-container{flex-direction:column;gap:var(--spacing-xl);width:100%;contain:style layout;transform:translateZ(0);display:flow-root}body.is-scrolling .pdf-file-container:not(.current){visibility:hidden}.pdf-file-container{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--border-radius-lg);background-color:var(--background);overflow:hidden;transition:all var(--transition-speed) var(--transition-function);position:relative;margin-bottom:var(--spacing-xl);box-shadow:var(--shadow-sm);will-change:transform;contain:content;backface-visibility:hidden;transform:translateZ(0);isolation:isolate;z-index:1}.pdf-file-container:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.pdf-file-container:not(:last-child):after{content:"";position:absolute;bottom:-20px;left:10%;width:80%;height:1px;background-color:var(--border)}@media (max-width: 768px){.pdf-file-container{will-change:auto}.pdf-file-container:hover{transform:none}.pdf-file-header{padding:var(--spacing-sm) var(--spacing-md)}.pdf-file-actions{gap:var(--spacing-xs)}.pdf-file-action-button{width:24px;height:24px;padding:2px}}@media (max-width: 767px){.pdf-viewer-container{padding:var(--spacing-sm);gap:var(--spacing-sm)}.pdf-page-wrapper{margin:var(--spacing-md);max-width:calc(100vw - var(--spacing-lg))}.pdf-toolbar{padding:var(--spacing-sm);gap:var(--spacing-xs);flex-wrap:wrap;min-height:auto}.pdf-toolbar-center{order:3;flex:100%;margin-top:var(--spacing-sm);justify-content:space-between}.pdf-sidebar{width:100vw;transform:translate(-100vw)}.pdf-sidebar--right{transform:translate(100vw)}.pdf-sidebar.open{transform:translate(0)}.pdf-toolbar-button,.pdf-sidebar-close,.pdf-file-action-button{min-height:var(--space-11);min-width:var(--space-11);padding:var(--spacing-xs) var(--spacing-sm)}.pdf-zoom-controls .pdf-zoom-display{display:none}.pdf-toolbar-group{flex-direction:column;gap:2px}.pdf-fullscreen-content{padding:var(--spacing-xs)}.pdf-fullscreen-page{max-width:98vw;max-height:85vh}.processing-status-container{left:var(--spacing-xs);right:var(--spacing-xs);bottom:var(--spacing-xs);max-width:none}}@media (min-width: 768px) and (max-width: 1023px){.pdf-viewer-container{padding:0 var(--spacing-xs)}.pdf-sidebar{width:var(--sidebar-width-compact)}.pdf-toolbar{padding:var(--spacing-md);gap:var(--spacing-sm)}.pdf-page-wrapper{max-width:calc(100vw - var(--spacing-xl))}.multi-pdf-header{flex-direction:row;align-items:center}.pdf-thumbnail-image{aspect-ratio:var(--aspect-photo);max-width:120px}}@media (min-width: 1024px){.pdf-viewer-container{padding:var(--spacing-md) var(--spacing-lg)}.pdf-sidebar{width:var(--sidebar-width)}.pdf-page-wrapper{max-width:none}.pdf-toolbar{padding:0 var(--spacing-lg)}.pdf-thumbnail-image{max-width:160px}.pdf-page-wrapper:hover{transform:translateY(-4px)}}@media (min-width: 1280px){.pdf-sidebar{width:var(--sidebar-width-large)}.pdf-viewer-container{padding:0 var(--spacing-xl)}.pdf-fullscreen-content .pdf-document-container{max-width:1200px}.pdf-thumbnail-image{max-width:200px}}@media (max-width: 767px) and (orientation: landscape){.pdf-viewer-container{padding:var(--spacing-xs)}.pdf-toolbar{padding:var(--spacing-xs) var(--spacing-sm);min-height:var(--header-height-compact)}.pdf-page-wrapper{margin:var(--spacing-sm) auto;max-width:calc(100vw - var(--spacing-md))}.pdf-sidebar{width:var(--sidebar-width-compact)}.pdf-fullscreen-navigation{bottom:var(--spacing-xs);padding:var(--spacing-xs)}.pdf-fullscreen-zoom-controls{right:var(--spacing-xs)}}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){.pdf-page-wrapper{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.react-pdf__Page canvas{image-rendering:-webkit-optimize-contrast}.pdf-sidebar,.pdf-toolbar{border-width:.5px}}@media (hover: none) and (pointer: coarse){.pdf-toolbar-button,.pdf-sidebar-item,.pdf-file-action-button{min-height:var(--space-11);padding:var(--spacing-sm)}.pdf-page-wrapper:hover{transform:none;box-shadow:var(--shadow-md)}.pdf-thumbnail-image:hover{transform:none}.pdf-sidebar-close,.pdf-fullscreen-close-button{min-width:var(--space-12);min-height:var(--space-12)}.pdf-viewer-container,.pdf-sidebar-content{scrollbar-width:auto}}@media (prefers-reduced-motion: reduce){.pdf-page-wrapper,.pdf-file-container,.pdf-toolbar-button,.pdf-sidebar-item{transition:none}.pdf-page-wrapper:hover,.pdf-file-container:hover{transform:none}.processing-spinner,.pdf-loading-placeholder:after{animation:none}}@media print{.pdf-toolbar,.pdf-sidebar,.pdf-fullscreen-navigation,.pdf-fullscreen-zoom-controls,.processing-status-container{display:none!important}.pdf-viewer-container{padding:0;background:#fff}.pdf-page-wrapper{margin:0;box-shadow:none;border:none;break-inside:avoid}.react-pdf__Page canvas{max-width:100%!important;height:auto!important}}.container{width:100%;margin-left:auto;margin-right:auto;padding-left:var(--spacing-container);padding-right:var(--spacing-container)}.container-sm{max-width:var(--container-sm)}.container-md{max-width:var(--container-md)}.container-lg{max-width:var(--container-lg)}.container-xl{max-width:var(--container-xl)}.container-2xl{max-width:var(--container-2xl)}.mx-auto{margin-left:auto;margin-right:auto}.ml-auto{margin-left:auto}.mr-auto{margin-right:auto}.m-0{margin:0}.m-xs{margin:var(--spacing-xs)}.m-sm{margin:var(--spacing-sm)}.m-md{margin:var(--spacing-md)}.m-lg{margin:var(--spacing-lg)}.m-xl{margin:var(--spacing-xl)}.m-2xl{margin:var(--spacing-2xl)}.mt-0{margin-top:0}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mt-2xl{margin-top:var(--spacing-2xl)}.mb-0{margin-bottom:0}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.mb-2xl{margin-bottom:var(--spacing-2xl)}.ml-0{margin-left:0}.ml-xs{margin-left:var(--spacing-xs)}.ml-sm{margin-left:var(--spacing-sm)}.ml-md{margin-left:var(--spacing-md)}.ml-lg{margin-left:var(--spacing-lg)}.mr-0{margin-right:0}.mr-xs{margin-right:var(--spacing-xs)}.mr-sm{margin-right:var(--spacing-sm)}.mr-md{margin-right:var(--spacing-md)}.mr-lg{margin-right:var(--spacing-lg)}.p-0{padding:0}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.p-2xl{padding:var(--spacing-2xl)}.pt-0{padding-top:0}.pt-xs{padding-top:var(--spacing-xs)}.pt-sm{padding-top:var(--spacing-sm)}.pt-md{padding-top:var(--spacing-md)}.pt-lg{padding-top:var(--spacing-lg)}.pt-xl{padding-top:var(--spacing-xl)}.pb-0{padding-bottom:0}.pb-xs{padding-bottom:var(--spacing-xs)}.pb-sm{padding-bottom:var(--spacing-sm)}.pb-md{padding-bottom:var(--spacing-md)}.pb-lg{padding-bottom:var(--spacing-lg)}.pb-xl{padding-bottom:var(--spacing-xl)}.px-0{padding-left:0;padding-right:0}.px-xs{padding-left:var(--spacing-xs);padding-right:var(--spacing-xs)}.px-sm{padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}.px-md{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.px-lg{padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}.px-xl{padding-left:var(--spacing-xl);padding-right:var(--spacing-xl)}.py-0{padding-top:0;padding-bottom:0}.py-xs{padding-top:var(--spacing-xs);padding-bottom:var(--spacing-xs)}.py-sm{padding-top:var(--spacing-sm);padding-bottom:var(--spacing-sm)}.py-md{padding-top:var(--spacing-md);padding-bottom:var(--spacing-md)}.py-lg{padding-top:var(--spacing-lg);padding-bottom:var(--spacing-lg)}.py-xl{padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl)}.w-full{width:100%}.w-auto{width:auto}.w-fit{width:fit-content}.h-full{height:100%}.h-auto{height:auto}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.z-0{z-index:var(--z-base)}.z-10{z-index:var(--z-dropdown)}.z-20{z-index:var(--z-sticky)}.z-30{z-index:var(--z-overlay)}.z-40{z-index:var(--z-modal)}.z-50{z-index:var(--z-toast)}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.text-display{font-size:var(--text-display-size);font-weight:var(--text-display-weight);line-height:var(--text-display-line-height)}.text-h1{font-size:var(--text-h1-size);font-weight:var(--text-h1-weight);line-height:var(--text-h1-line-height)}.text-h2{font-size:var(--text-h2-size);font-weight:var(--text-h2-weight);line-height:var(--text-h2-line-height)}.text-h3{font-size:var(--text-h3-size);font-weight:var(--text-h3-weight);line-height:var(--text-h3-line-height)}.text-h4{font-size:var(--text-h4-size);font-weight:var(--text-h4-weight);line-height:var(--text-h4-line-height)}.text-h5{font-size:var(--text-h5-size);font-weight:var(--text-h5-weight);line-height:var(--text-h5-line-height)}.text-lead{font-size:var(--text-lead-size);font-weight:var(--text-lead-weight);line-height:var(--text-lead-line-height)}.text-body-large{font-size:var(--text-body-large-size);font-weight:var(--text-body-large-weight);line-height:var(--text-body-large-line-height)}.text-body{font-size:var(--text-body-size);font-weight:var(--text-body-weight);line-height:var(--text-body-line-height)}.text-body-small{font-size:var(--text-body-small-size);font-weight:var(--text-body-small-weight);line-height:var(--text-body-small-line-height)}.text-caption{font-size:var(--text-caption-size);font-weight:var(--text-caption-weight);line-height:var(--text-caption-line-height)}.text-button{font-size:var(--text-button-size);font-weight:var(--text-button-weight);line-height:var(--text-button-line-height)}.font-thin{font-weight:var(--font-weight-thin)}.font-light{font-weight:var(--font-weight-light)}.font-regular{font-weight:var(--font-weight-regular)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.font-black{font-weight:var(--font-weight-black)}.font-primary{font-family:var(--font-primary)}.font-secondary{font-family:var(--font-secondary)}.font-mono{font-family:var(--font-mono)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.text-foreground{color:var(--foreground)}.text-foreground-muted{color:var(--foreground-muted)}.text-foreground-subtle{color:var(--foreground-subtle)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary{color:var(--secondary)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-accent{color:var(--accent)}.text-accent-foreground{color:var(--accent-foreground)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-error{color:var(--error)}.text-info{color:var(--info)}.leading-none{line-height:var(--line-height-none)}.leading-tight{line-height:var(--line-height-tight)}.leading-normal{line-height:var(--line-height-normal)}.leading-relaxed{line-height:var(--line-height-relaxed)}.leading-loose{line-height:var(--line-height-loose)}.tracking-tight{letter-spacing:var(--letter-spacing-tight)}.tracking-normal{letter-spacing:var(--letter-spacing-normal)}.tracking-wide{letter-spacing:var(--letter-spacing-wide)}.tracking-wider{letter-spacing:var(--letter-spacing-wider)}.no-underline{text-decoration:none}.underline{text-decoration:underline}.line-through{text-decoration:line-through}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-clip{text-overflow:clip}.text-ellipsis{text-overflow:ellipsis}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.break-normal{overflow-wrap:normal;word-break:normal}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.resizing{-webkit-user-select:none;user-select:none;cursor:ew-resize!important}.resizing *{-webkit-user-select:none!important;user-select:none!important}:root{--react-pdf-annotation-layer: 1;--annotation-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color: Highlight;--input-focus-outline: 1px solid Canvas;--input-unfocused-border-color: transparent;--input-disabled-border-color: transparent;--input-hover-border-color: black;--link-outline: none}@media screen and (forced-colors: active){:root{--input-focus-border-color: CanvasText;--input-unfocused-border-color: ActiveText;--input-disabled-border-color: GrayText;--input-hover-border-color: Highlight;--link-outline: 1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{position:absolute;top:0;left:0;pointer-events:none;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{position:absolute;width:100%;height:100%}.annotationLayer section{position:absolute;text-align:initial;pointer-events:auto;box-sizing:border-box;margin:0;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{position:absolute;cursor:pointer;width:100%;height:100%;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{background:none;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{background:none;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-image:none;background-color:transparent}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{-webkit-appearance:none;-moz-appearance:none;appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{position:absolute;font-size:calc(9px * var(--scale-factor));width:100%;min-width:calc(180px * var(--scale-factor));pointer-events:none}.annotationLayer .popup{position:absolute;max-width:calc(180px * var(--scale-factor));background-color:#ff9;box-shadow:0 calc(2px * var(--scale-factor)) calc(5px * var(--scale-factor)) #888;border-radius:calc(2px * var(--scale-factor));padding:calc(6px * var(--scale-factor));margin-left:calc(5px * var(--scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto}.annotationLayer .popup>*{font-size:calc(9px * var(--scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px * var(--scale-factor))}.annotationLayer .popupContent{border-top:1px solid rgba(51,51,51,1);margin-top:calc(2px * var(--scale-factor));padding-top:calc(2px * var(--scale-factor))}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{position:absolute;width:100%;height:100%;top:0;left:0}.annotationLayer .annotationTextContent{position:absolute;width:100%;height:100%;opacity:0;color:transparent;-webkit-user-select:none;user-select:none;pointer-events:none}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}:root{--react-pdf-text-layer: 1;--highlight-bg-color: rgba(180, 0, 170, 1);--highlight-selected-bg-color: rgba(0, 100, 0, 1)}@media screen and (forced-colors: active){:root{--highlight-bg-color: Highlight;--highlight-selected-bg-color: ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translate(-100%)}.textLayer{position:absolute;text-align:initial;top:0;right:0;bottom:0;left:0;overflow:hidden;line-height:1;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;margin:0;transform-origin:0 0}.textLayer span.markedContent{top:0;height:0}.textLayer .highlight{margin:-1px;padding:1px;background-color:var(--highlight-bg-color);border-radius:4px}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:transparent}.textLayer .endOfContent{display:block;position:absolute;top:100%;right:0;bottom:0;left:0;z-index:-1;cursor:default;-webkit-user-select:none;user-select:none}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{position:absolute;top:0;left:0;width:0;height:0;display:none}
