@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Inter:wght@400;500;600&display=swap";:root{--color-primary-900: #064e3b;--color-primary-800: #065f46;--color-primary-700: #047857;--color-primary-600: #059669;--color-primary-500: #10b981;--color-primary-400: #34d399;--color-primary-300: #6ee7b7;--color-primary-200: #a7f3d0;--color-primary-100: #d1fae5;--color-primary-glow: rgba(16, 185, 129, .4);--color-primary-alpha-10: rgba(16, 185, 129, .1);--color-primary-alpha-20: rgba(16, 185, 129, .2);--color-primary-bg-subtle: rgba(16, 185, 129, .05);--color-primary-bg-light: rgba(16, 185, 129, .08);--color-primary-bg-medium: rgba(16, 185, 129, .15);--color-primary-bg-strong: rgba(16, 185, 129, .25);--color-accent-alpha: rgba(52, 211, 153, .2);--color-primary: var(--color-primary-600);--color-primary-hover: var(--color-primary-500);--color-success: var(--color-primary-500);--color-info: #3b82f6;--color-warning: #f59e0b;--color-error: #ef4444;--color-hover: var(--color-primary-400);--color-active: var(--color-primary-600);--color-focus: var(--color-primary-300);--color-disabled: #475569;--color-slate-950: #020617;--color-slate-900: #0f172a;--color-slate-800: #1e293b;--color-slate-700: #334155;--color-slate-600: #475569;--color-slate-500: #64748b;--color-slate-400: #94a3b8;--color-slate-300: #cbd5e1;--color-slate-200: #e2e8f0;--color-slate-100: #f1f5f9;--color-slate-50: #f8fafc;--bg-primary: var(--color-slate-900);--bg-secondary: var(--color-slate-800);--bg-tertiary: var(--color-slate-700);--bg-gradient-start: var(--color-slate-900);--bg-gradient-end: var(--color-primary-900);--bg-glass-card: rgba(30, 41, 59, .7);--bg-glass-panel: rgba(15, 23, 42, .95);--bg-glass-overlay: rgba(5, 150, 105, .05);--bg-overlay-dark: rgba(15, 23, 42, .9);--glass-bg: rgba(30, 41, 59, .5);--glass-border: rgba(255, 255, 255, .1);--color-surface-lighter: rgba(255, 255, 255, .08);--text-primary: var(--color-slate-50);--text-secondary: var(--color-slate-200);--text-tertiary: var(--color-slate-300);--text-muted: var(--color-slate-400);--text-disabled: var(--color-slate-600);--text-on-primary: white;--color-text-primary: var(--text-primary);--color-text-secondary: var(--text-secondary);--border-default: rgba(255, 255, 255, .05);--border-light: rgba(255, 255, 255, .08);--border-medium: rgba(255, 255, 255, .15);--border-strong: rgba(255, 255, 255, .25);--border-primary: rgba(16, 185, 129, .15);--border-success: var(--color-success);--border-error: var(--color-error);--border-warning: var(--color-warning)}:root{--spacing-0: 0;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--spacing-16: 4rem;--spacing-20: 5rem;--spacing-xs: var(--spacing-1);--spacing-sm: var(--spacing-2);--spacing-md: var(--spacing-4);--spacing-lg: var(--spacing-6);--spacing-xl: var(--spacing-8);--spacing-2xl: var(--spacing-12);--space-0: var(--spacing-0);--space-1: var(--spacing-1);--space-2: var(--spacing-2);--space-3: var(--spacing-3);--space-4: var(--spacing-4);--space-5: var(--spacing-5);--space-6: var(--spacing-6);--space-8: var(--spacing-8);--space-10: var(--spacing-10);--space-12: var(--spacing-12);--space-16: var(--spacing-16);--space-20: var(--spacing-20);--space-xs: var(--spacing-xs);--space-sm: var(--spacing-sm);--space-md: var(--spacing-md);--space-lg: var(--spacing-lg);--space-xl: var(--spacing-xl);--space-2xl: var(--spacing-2xl)}@media (max-width: 767px){:root{--spacing-1: .25rem;--spacing-2: .375rem;--spacing-3: .625rem;--spacing-4: .875rem;--spacing-5: 1rem;--spacing-6: 1.25rem;--spacing-8: 1.75rem;--spacing-10: 2rem;--spacing-12: 2.5rem}}:root{--font-heading: "Outfit", sans-serif;--font-body: "Inter", sans-serif;--font-code: "Fira Code", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--text-6xl: 3.75rem;--text-0-65rem: .65rem;--text-0-7rem: .7rem;--text-0-8rem: .8rem;--text-0-85rem: .85rem;--text-0-9rem: .9rem;--text-1-1rem: 1.1rem;--text-1-2rem: 1.2rem;--text-2-5rem: 2.5rem;--text-3-5rem: 3.5rem;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--font-weight-medium: var(--font-medium);--font-weight-semibold: var(--font-semibold);--font-size-base: var(--text-base);--font-size-lg: var(--text-lg);--font-size-xl: var(--text-xl);--line-height-relaxed: var(--leading-relaxed);--leading-none: 1;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--leading-loose: 2;--leading-1-6: 1.6;--leading-1-7: 1.7;--tracking-tighter: -.05em;--tracking-tight: -.025em;--tracking-normal: 0;--tracking-wide: .025em;--tracking-wider: .05em;--tracking-widest: .1em;--tracking-neg-0-02em: -.02em;--tracking-0-02em: .02em}:root{--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-glass: 0 8px 32px 0 rgba(0, 0, 0, .3);--shadow-glass-emerald: 0 8px 32px 0 rgba(16, 185, 129, .15);--shadow-glass-strong: 0 8px 32px 0 rgba(0, 0, 0, .4);--shadow-glow-sm: 0 0 10px rgba(16, 185, 129, .3);--shadow-glow-md: 0 0 20px rgba(16, 185, 129, .4);--shadow-glow-lg: 0 0 25px rgba(16, 185, 129, .5);--shadow-glow-xl: 0 0 30px rgba(16, 185, 129, .6);--shadow-emerald-glow: 0 0 20px rgba(16, 185, 129, .4);--shadow-button: 0 4px 15px rgba(16, 185, 129, .4);--shadow-button-hover: 0 4px 20px rgba(16, 185, 129, .5);--shadow-card: 0 8px 32px 0 rgba(0, 0, 0, .25);--shadow-header: 0 4px 6px rgba(0, 0, 0, .1);--drop-shadow-glow: drop-shadow(0 0 20px rgba(16, 185, 129, .4));--drop-shadow-glow-strong: drop-shadow(0 0 25px rgba(16, 185, 129, .6))}:root{--radius-none: 0;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--radius-4px: .25rem;--radius-6px: .375rem;--radius-8px: .5rem;--radius-12px: .75rem;--radius-16px: 1rem;--border-width-0: 0;--border-width-1: 1px;--border-width-2: 2px;--border-width-3: 3px;--border-width-4: 4px;--border-base: 1px solid var(--border-default);--border-light: 1px solid var(--border-light);--border-medium: 1px solid var(--border-medium);--border-strong: 1px solid var(--border-strong);--border-primary: 1px solid var(--border-primary)}:root{--opacity-0: 0;--opacity-5: .05;--opacity-10: .1;--opacity-20: .2;--opacity-30: .3;--opacity-40: .4;--opacity-50: .5;--opacity-60: .6;--opacity-70: .7;--opacity-80: .8;--opacity-90: .9;--opacity-95: .95;--opacity-100: 1;--opacity-medium: var(--opacity-60);--blur-none: 0;--blur-sm: 4px;--blur-md: 8px;--blur-lg: 12px;--blur-xl: 16px;--blur-2xl: 24px;--blur-3xl: 40px;--blur-glass: var(--blur-2xl);--timing-instant: .1s;--timing-fast: .2s;--timing-medium: .4s;--timing-slow: .6s;--timing-ambient: 2s;--transition-fast: .15s;--transition-base: .2s;--transition-normal: .2s;--transition-slow: .3s;--transition-slower: .5s;--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-smooth: cubic-bezier(.2, .8, .2, 1);--transition-colors: color var(--transition-base) var(--ease-out), background-color var(--transition-base) var(--ease-out), border-color var(--transition-base) var(--ease-out);--transition-transform: transform var(--transition-base) var(--ease-out);--transition-all: all var(--transition-base) var(--ease-in-out);--transition-opacity: opacity var(--transition-base) var(--ease-out);--z-base: 0;--z-raised: 10;--z-dropdown: 20;--z-sticky: 30;--z-overlay: 100;--z-modal: 500;--z-popover: 999;--z-tooltip: 1000;--z-toast: 1100;--scale-90: .9;--scale-95: .95;--scale-100: 1;--scale-105: 1.05;--scale-110: 1.1;--scale-125: 1.25;--breakpoint-mobile: 320px;--breakpoint-mobile-lg: 480px;--breakpoint-tablet: 768px;--breakpoint-tablet-lg: 1024px;--breakpoint-desktop: 1280px;--breakpoint-desktop-lg: 1920px}.text-viewer,.pdf-viewer,.scroll-area{transform:translateZ(0);backface-visibility:hidden;contain:layout paint}.result-column,.text-block,.extracted-table-container,.page-image-container{contain:layout style}.loading-skeleton,.empty-state,.error-state,.skeleton-container{contain:content}button,.upload-zone,.text-block,.file-upload-label,.icon-btn,.settings-toggle{will-change:transform}button:not(:hover):not(:active),.text-block:not(:hover),.file-upload-label:not(:hover),.icon-btn:not(:hover),.settings-toggle:not(:hover){will-change:auto}.scroll-area{will-change:scroll-position}button,input,textarea,select,a[href],[role=button],[tabindex]:not([tabindex="-1"]),.file-upload-label,.icon-btn,.settings-toggle,.text-block,.table-cell,.highlight-box{transition:all var(--timing-fast) ease-out;cursor:pointer}button:hover:not(:disabled),.file-upload-label:hover,.icon-btn:hover,.settings-toggle:hover:not(:disabled),a[href]:hover,[role=button]:hover:not([aria-disabled=true]){transform:translate3d(0,-1px,0)}*:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-primary-alpha-20);animation:breathing-focus var(--timing-ambient) ease-in-out infinite}*:focus{outline:none}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible,[tabindex]:focus-visible,.upload-zone:focus-visible,.file-upload-label:focus-visible,.icon-btn:focus-visible,.settings-toggle:focus-visible,.text-block:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-primary-alpha-20);animation:breathing-focus var(--timing-ambient) ease-in-out infinite}button:active:not(:disabled),.file-upload-label:active,.icon-btn:active,a[href]:active,[role=button]:active:not([aria-disabled=true]){transform:translateZ(0)}button:disabled,input:disabled,textarea:disabled,select:disabled,[aria-disabled=true],.disabled{opacity:.5;cursor:not-allowed;pointer-events:none;transform:none}.processing,button.processing,[aria-busy=true]{position:relative;opacity:.7;cursor:wait;pointer-events:none}.processing:after,button.processing:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin var(--timing-slow) linear infinite}@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes spin-normal{to{transform:rotate(360deg)}}@keyframes pulse-opacity{0%,to{opacity:1}50%{opacity:.6}}.processing .button-text,button.processing .button-text{opacity:0}.analyzing-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-8);color:var(--color-primary-500);gap:var(--spacing-4);animation:fadeIn var(--timing-normal) ease-out}.analyzing-spinner{width:48px;height:48px;border:3px solid var(--color-primary-200);border-radius:50%;border-top-color:var(--color-primary-500);border-right-color:var(--color-primary-400);animation:spin-normal 1s cubic-bezier(.55,.15,.45,.85) infinite;box-shadow:0 0 15px var(--color-primary-alpha-20)}.analyzing-text{font-family:var(--font-heading);font-weight:var(--font-medium);font-size:var(--text-lg);letter-spacing:var(--tracking-wide);animation:pulse-opacity 2s ease-in-out infinite;background:linear-gradient(90deg,var(--color-primary-500),var(--color-primary-400));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.skip-link{position:absolute;top:-40px;left:0;background:var(--color-primary-600);color:#fff;padding:var(--spacing-2) var(--spacing-4);text-decoration:none;z-index:var(--z-modal);border-radius:0 0 var(--radius-md) 0;font-weight:var(--font-semibold);transition:var(--transition-base)}.skip-link:focus{top:0;outline:3px solid var(--color-focus);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}body{margin:0;font-family:var(--font-body);background-color:var(--bg-primary);background-image:radial-gradient(circle at 10% 20%,var(--color-primary-bg-medium) 0%,transparent 40%),radial-gradient(circle at 90% 80%,var(--color-primary-bg-light) 0%,transparent 40%);color:var(--text-primary);min-height:100vh;-webkit-font-smoothing:antialiased}.container{max-width:1600px;margin:0 auto;padding:var(--spacing-8);display:flex;flex-direction:column;min-height:100vh;box-sizing:border-box;position:relative;overflow:hidden}.container.drag-active{position:fixed;top:0;left:0;right:0;bottom:0;max-width:100%;width:100%;height:100vh;z-index:var(--z-overlay)}.container.fullscreen-session{max-width:100%;padding:var(--spacing-6);margin:0;height:100vh;overflow:hidden}.container.fullscreen-session .main-content{padding:0;flex:1;display:flex;flex-direction:column;overflow:hidden}.container.fullscreen-session .result-container{flex:1;height:auto;min-height:0;border-radius:var(--radius-xl);overflow:hidden}.container.fullscreen-session .column-header{border-radius:var(--radius-xl) var(--radius-xl) 0 0}.container.fullscreen-session .scroll-area{border-radius:0 0 var(--radius-xl) var(--radius-xl);overflow-y:auto!important;flex:1;min-height:0}.container.fullscreen-session .result-column{min-height:0}.close-session-btn{position:fixed;top:var(--spacing-2);right:var(--spacing-2);width:40px;height:40px;border-radius:var(--radius-full);background:#ef4444e6;border:2px solid rgba(255,255,255,.2);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition-all);z-index:var(--z-tooltip);-webkit-backdrop-filter:blur(var(--blur-md));backdrop-filter:blur(var(--blur-md));box-shadow:0 4px 15px #ef444466}.close-session-btn:hover{background:#dc2626;transform:translateZ(0) scale(1.1) rotate(90deg);box-shadow:0 0 25px #ef444499}.drag-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg-overlay-dark);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);animation:fadeIn var(--timing-fast) ease-out;border:3px dashed var(--color-primary-400)}.drag-overlay{animation:drag-pulse var(--timing-ambient) ease-in-out infinite,fadeIn var(--timing-fast) ease-out 1}@keyframes drag-pulse{0%,to{border-color:var(--color-primary-400);background:var(--bg-overlay-dark)}50%{border-color:var(--color-primary-300);background:#0f172af2}}.drag-overlay-content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-6);color:var(--color-primary-500);font-size:var(--text-2xl);font-weight:var(--font-semibold);font-family:var(--font-heading)}.drag-overlay-content svg{animation:bounce 1s infinite}.header{text-align:center;margin-bottom:var(--spacing-12);animation:fadeInDown .8s cubic-bezier(.2,.8,.2,1)}.header h1{font-family:var(--font-heading);font-size:var(--text-3-5rem);font-weight:var(--font-bold);letter-spacing:var(--tracking-neg-0-02em);margin-bottom:var(--spacing-2);background:linear-gradient(135deg,var(--color-slate-200) 0%,var(--color-primary-500) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:var(--drop-shadow-glow)}.header p{color:var(--text-muted);font-size:var(--text-1-2rem);font-weight:var(--font-light)}.upload-section{display:flex;justify-content:center;align-items:center;gap:var(--spacing-8);margin-bottom:var(--spacing-8);flex-wrap:wrap;animation:fadeInUp .8s cubic-bezier(.2,.8,.2,1) .1s backwards}.file-upload-label{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-3) var(--spacing-10);background:linear-gradient(135deg,var(--color-primary-600),var(--color-primary-500));color:var(--text-on-primary);border-radius:var(--radius-xl);cursor:pointer;font-family:var(--font-heading);font-weight:var(--font-semibold);transition:var(--transition-all);box-shadow:var(--shadow-button);border:1px solid var(--border-light)}.file-upload-label:hover{transform:translate3d(0,-2px,0) scale(1.02);box-shadow:var(--shadow-button-hover);animation:elastic-bounce .4s cubic-bezier(.68,-.55,.265,1.55)}.file-input{display:none}.icon-btn{background:#ffffff1a;border:1px solid var(--border-medium);color:var(--text-primary);border-radius:var(--radius-md);padding:var(--spacing-2);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition-all)}.icon-btn:hover{background:#fff3;transform:translate3d(0,-1px,0)}.icon-btn.small{padding:var(--spacing-1);width:28px;height:28px;font-size:var(--text-base);line-height:var(--leading-none)}.page-controls{display:flex;gap:var(--spacing-2)}.settings-toggle{position:absolute;top:var(--spacing-8);right:var(--spacing-8);background:linear-gradient(135deg,var(--color-primary-600),var(--color-primary-700));border:2px solid var(--border-primary);color:#fff;width:48px;height:48px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition-all);z-index:var(--z-overlay);-webkit-backdrop-filter:blur(var(--blur-xl));backdrop-filter:blur(var(--blur-xl));box-shadow:var(--shadow-button)}.settings-toggle:hover{background:linear-gradient(135deg,var(--color-primary-700),var(--color-primary-800));border-color:var(--color-primary-400);color:#fff;box-shadow:var(--shadow-glow-md);transform:translateZ(0) rotate(90deg) scale(1.15)}.settings-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(var(--blur-sm));backdrop-filter:blur(var(--blur-sm));z-index:998;animation:fadeIn var(--transition-slow) ease}.settings-panel{position:fixed;top:0;right:0;bottom:0;width:350px;background:var(--bg-glass-panel);-webkit-backdrop-filter:blur(var(--blur-glass));backdrop-filter:blur(var(--blur-glass));border-left:1px solid var(--border-light);padding:var(--spacing-10);z-index:999;box-shadow:-20px 0 50px #00000080;display:flex;flex-direction:column;animation:slideInRight var(--transition-slower) cubic-bezier(.16,1,.3,1)}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-8);padding-bottom:var(--spacing-4);border-bottom:1px solid var(--border-light)}.panel-title{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary)}.close-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--spacing-2);transition:var(--transition-colors)}.close-btn:hover{color:var(--text-primary)}.setting-group{margin-bottom:var(--spacing-8);animation:fade-in .4s ease-out backwards}.setting-label{display:block;font-size:var(--text-0-9rem);font-weight:var(--font-medium);color:var(--text-muted);margin-bottom:var(--spacing-4)}.slider-container{display:flex;align-items:center;gap:var(--spacing-4);background-color:#ffffff08;padding:var(--spacing-4);border-radius:var(--radius-lg);border:1px solid var(--border-default)}.sensitivity-slider{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:6px;background:#ffffff1a;border-radius:var(--radius-sm);outline:none}.sensitivity-slider::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:var(--radius-full);background:var(--color-primary-600);cursor:pointer;transition:var(--transition-transform);box-shadow:var(--shadow-glow-sm)}.sensitivity-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.sensitivity-value{font-family:var(--font-heading);font-weight:var(--font-semibold);color:var(--color-primary-400);width:40px;text-align:right}.result-container{display:flex;height:calc(100vh - 250px);gap:var(--spacing-6);animation:scaleIn .6s cubic-bezier(.2,.8,.2,1) .3s backwards}.result-column{flex:1;display:flex;flex-direction:column;background:var(--bg-glass-card);-webkit-backdrop-filter:blur(var(--blur-glass));backdrop-filter:blur(var(--blur-glass));border:1px solid var(--border-default);border-radius:var(--radius-2xl);overflow:hidden;box-shadow:var(--shadow-glass);position:relative}.column-header{padding:var(--spacing-5) var(--spacing-8);background:#0f172a66;border-bottom:1px solid var(--border-default);font-family:var(--font-heading);font-weight:var(--font-semibold);font-size:var(--text-1-1rem);color:var(--text-primary);letter-spacing:var(--tracking-0-02em);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.scroll-area{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--spacing-8);display:flex;flex-direction:column;gap:var(--spacing-8);position:relative;height:100%}.scroll-area::-webkit-scrollbar{width:6px}.scroll-area::-webkit-scrollbar-track{background:transparent}.scroll-area::-webkit-scrollbar-thumb{background-color:#ffffff1a;border-radius:var(--radius-full)}.scroll-area::-webkit-scrollbar-thumb:hover{background-color:#fff3}.page-image-container{position:relative;width:100%;transition:var(--transition-transform)}.pdf-image{width:100%;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--border-default);display:block}.page-label{position:absolute;top:15px;left:15px;background:var(--bg-overlay-dark);-webkit-backdrop-filter:blur(var(--blur-sm));backdrop-filter:blur(var(--blur-sm));color:#fff;padding:4px 10px;border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:var(--font-semibold);border:1px solid var(--border-light);z-index:var(--z-dropdown)}.highlight-box{position:absolute;border:2px solid transparent;border-radius:var(--radius-sm);cursor:pointer;z-index:var(--z-raised);transition:var(--transition-all);background-color:transparent}.highlight-box:hover,.highlight-box.active{border-color:var(--color-primary-400);background-color:var(--color-primary-bg-medium);box-shadow:var(--shadow-glow-sm)}.highlight-box.img-highlight:hover,.highlight-box.img-highlight.active{border-color:var(--color-warning);background-color:#fbbf2426}.highlight-box.last-copied{border-color:var(--color-success);background-color:#10b98133;box-shadow:var(--shadow-glow-md);z-index:var(--z-dropdown)}.text-page-container{animation:fadeIn var(--transition-slower) ease-out}.text-page-header{font-family:var(--font-heading);font-size:var(--text-0-85rem);color:var(--color-primary-500);text-transform:uppercase;letter-spacing:var(--tracking-widest);margin-bottom:var(--spacing-6);opacity:var(--opacity-80)}.text-block{padding:var(--spacing-5);margin-bottom:var(--spacing-5);background:#ffffff08;border-radius:var(--radius-lg);border:1px solid transparent;transition:var(--transition-all);cursor:pointer;position:relative;animation:fade-in .4s ease-out backwards}.text-block:hover{background:#ffffff0f;border-color:var(--border-primary);transform:translate3d(6px,0,0);box-shadow:var(--shadow-md)}.text-block.hovered{border-color:var(--color-primary-400);background:var(--color-primary-bg-subtle)}.text-block.last-copied{background:#10b9811a;border-color:var(--color-success);box-shadow:var(--shadow-glow-sm)}.text-block.last-copied:after{content:"COPIED";position:absolute;top:12px;right:12px;font-size:var(--text-0-65rem);color:var(--color-success);font-weight:var(--font-extrabold);letter-spacing:var(--tracking-wider);background:#10b9811a;padding:2px 6px;border-radius:var(--radius-sm)}.text-block.copied:not(.last-copied){background-color:#10b9810d;color:var(--text-muted);border-color:#10b9811a}.text-content{line-height:var(--leading-1-7);font-size:var(--text-0-9rem);color:var(--color-slate-200)}.extracted-image-block{background:#0000004d;padding:var(--spacing-2);border-radius:var(--radius-md);border:1px dashed var(--border-light);margin-bottom:var(--spacing-4)}.extracted-image-block img{border-radius:var(--radius-sm);display:block}.extracted-label{font-size:var(--text-0-7rem);color:var(--color-warning);margin-bottom:var(--spacing-2);font-weight:var(--font-bold);text-transform:uppercase}.extracted-image-block.hovered{border-color:var(--color-warning);background-color:#f59e0b1a}.extracted-table-container{overflow-x:auto;margin-bottom:var(--spacing-8);border-radius:var(--radius-lg);border:1px solid var(--border-default);background:#ffffff05}.extracted-table{width:100%;border-collapse:collapse;font-size:var(--text-0-9rem);color:var(--color-slate-200)}.table-cell{border:1px solid var(--border-light);padding:var(--spacing-3);transition:var(--transition-all);cursor:pointer}.table-cell:hover,.table-cell.hovered{background-color:var(--color-primary-bg-light);border-color:var(--color-primary-400);color:#fff}.table-cell.last-copied{background-color:#10b98133;border-color:var(--color-success);position:relative}.table-cell.last-copied:after{content:"✓";position:absolute;top:2px;right:2px;font-size:var(--text-0-7rem);color:var(--color-success);font-weight:var(--font-extrabold)}.table-cell.copied:not(.last-copied){background-color:#10b9810d;color:var(--text-muted);border:1px solid rgba(16,185,129,.2)}.error-message{background:#ef444433;border:1px solid var(--color-error);color:#fca5a5;padding:var(--spacing-3) var(--spacing-6);border-radius:var(--radius-lg);animation:fadeIn var(--transition-slow) ease}.controls-group{display:flex;gap:var(--spacing-8);align-items:center;justify-content:center;flex-wrap:wrap}button{transition:all .2s ease-out}button:hover{transform:translate3d(0,-1px,0)}button:active{transform:translateZ(0)}button.processing{opacity:.7;cursor:wait;animation:pulse 1.5s ease-in-out infinite}button.success{background:var(--color-success);animation:success-pop .5s ease-out}button.last-success{transition:all 3s ease-out}.panel-content,.settings-panel.expanding{animation:liquid-expand .6s cubic-bezier(.34,1.56,.64,1)}@keyframes ripple{0%{transform:translate3d(-50%,-50%,0) scale(0);opacity:.6}to{transform:translate3d(-50%,-50%,0) scale(4);opacity:0}}@keyframes elastic-bounce{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1.02)}}@keyframes breathing-focus{0%,to{box-shadow:0 0 0 3px var(--color-primary-alpha-20)}50%{box-shadow:0 0 0 6px var(--color-primary-alpha-10)}}@keyframes fade-in{0%{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes pulse{0%,to{opacity:.7}50%{opacity:1}}@keyframes success-pop{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes liquid-expand{0%{transform:scaleY(0);transform-origin:top;opacity:0}60%{transform:scaleY(1.05);opacity:1}to{transform:scaleY(1)}}@keyframes shimmer-wave{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes fadeInDown{0%{opacity:0;transform:translate3d(0,-30px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translate3d(0,30px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes bounce{0%,to{transform:translateZ(0)}50%{transform:translate3d(0,-10px,0)}}@keyframes slideInRight{0%{transform:translate3d(100%,0,0)}to{transform:translateZ(0)}}@media (min-width: 1920px){.container{max-width:var(--breakpoint-desktop-lg)}}@media (min-width: 1280px) and (max-width: 1919px){.container{max-width:var(--breakpoint-desktop);padding:var(--spacing-6)}}@media (min-width: 768px) and (max-width: 1279px){.container{max-width:var(--breakpoint-desktop);padding:var(--spacing-4)}}@media (max-width: 767px){.container{padding:var(--spacing-2)}}@media (max-width: 1279px){.header h1{font-size:2.5rem}.header{margin-bottom:var(--spacing-8)}.header p{font-size:var(--text-base)}}@media (max-width: 767px){.header h1{font-size:var(--text-2xl)}.header{margin-bottom:var(--spacing-6)}.header p{font-size:var(--text-sm)}}@media (max-width: 1279px){.result-container{gap:var(--spacing-4);height:calc(100vh - 200px)}}@media (max-width: 767px){.result-container{flex-direction:column;gap:var(--spacing-3);height:auto;min-height:calc(100vh - 180px)}.result-column{min-height:50vh}.result-column:first-child{flex:0 0 auto}}@media (min-width: 768px) and (max-width: 1279px){:root{font-size:15px}}@media (max-width: 767px){:root{font-size:14px}body{font-size:var(--text-sm)}}@media (max-width: 767px){button,.file-upload-label,.icon-btn{min-height:44px;min-width:44px;padding:var(--spacing-3) var(--spacing-4)}.icon-btn.small{min-height:44px;min-width:44px;padding:var(--spacing-2)}.controls-group{gap:var(--spacing-4)}.page-controls{gap:var(--spacing-3)}}@media (max-width: 1279px){.upload-section{gap:var(--spacing-6);margin-bottom:var(--spacing-6)}}@media (max-width: 767px){.upload-section{gap:var(--spacing-4);margin-bottom:var(--spacing-4);flex-direction:column}.file-upload-label{width:100%;max-width:300px}}@media (min-width: 768px) and (max-width: 1279px){.result-column,.settings-panel{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}}@media (max-width: 767px){.result-column,.settings-panel,.settings-overlay{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.close-session-btn{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}}@media (min-width: 768px) and (max-width: 1279px){.settings-panel{width:400px;max-width:50vw}}@media (max-width: 767px){.settings-panel{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100%;border-radius:0;border-left:none;padding:var(--spacing-6)}.settings-toggle{top:var(--spacing-4);right:var(--spacing-4);width:44px;height:44px}}@media (max-width: 767px){.text-page-container{column-count:1}.text-block{margin-bottom:var(--spacing-3);padding:var(--spacing-4)}.scroll-area{padding:var(--spacing-4);gap:var(--spacing-4)}}@media (max-width: 767px){.column-header{padding:var(--spacing-4) var(--spacing-5);font-size:var(--text-base)}}@media (max-width: 767px){.page-label{top:10px;left:10px;padding:3px 8px;font-size:var(--text-xs)}}@media (max-width: 767px){.extracted-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-cell{padding:var(--spacing-2);font-size:var(--text-xs)}}@media (max-width: 767px){.container.fullscreen-session{padding:var(--spacing-2)}.close-session-btn{top:var(--spacing-1);right:var(--spacing-1);width:36px;height:36px}}.skeleton-container{padding:var(--spacing-6);background:var(--glass-bg);border-radius:var(--radius-lg);border:1px solid var(--glass-border)}.skeleton-pdf{display:flex;flex-direction:column;gap:var(--spacing-4);max-width:600px;margin:0 auto}.skeleton-header{height:60px;background:var(--color-surface-lighter);border-radius:var(--radius-md)}.skeleton-page{height:400px;background:var(--color-surface-lighter);border-radius:var(--radius-md)}.skeleton-footer{height:40px;background:var(--color-surface-lighter);border-radius:var(--radius-md);width:60%}.skeleton-text{display:flex;flex-direction:column;gap:var(--spacing-3)}.skeleton-line{height:16px;background:var(--color-surface-lighter);border-radius:var(--radius-sm)}.shimmer{position:relative;overflow:hidden}.shimmer:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;animation:shimmer-wave 2s linear infinite;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);background-size:1000px 100%;background-position:-1000px 0}@media (prefers-reduced-motion: reduce){.shimmer:after{animation:none}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-12);text-align:center;min-height:400px;background:var(--glass-bg);border-radius:var(--radius-lg);border:1px dashed var(--glass-border)}.empty-state-icon{font-size:4rem;margin-bottom:var(--spacing-4);opacity:var(--opacity-medium);animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateZ(0)}50%{transform:translate3d(0,-10px,0)}}.empty-state-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-2)}.empty-state-description{font-size:var(--font-size-base);color:var(--color-text-secondary);margin-bottom:var(--spacing-6);max-width:400px}.empty-state-action{margin-top:var(--spacing-4)}@media (max-width: 767px){.empty-state{padding:var(--spacing-8);min-height:300px}.empty-state-icon{font-size:3rem}}@media (prefers-reduced-motion: reduce){.empty-state-icon{animation:none}}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-8);text-align:center;min-height:300px;background:var(--glass-bg);border-radius:var(--radius-lg);border:2px solid var(--color-error)}.error-state-warning{border-color:var(--color-warning)}.error-state-info{border-color:var(--color-info)}.error-state-icon{font-size:3.5rem;margin-bottom:var(--spacing-4);animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translateZ(0)}25%{transform:translate3d(-10px,0,0)}75%{transform:translate3d(10px,0,0)}}.error-state-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-2)}.error-state-message{font-size:var(--font-size-base);color:var(--color-text-secondary);margin-bottom:var(--spacing-6);max-width:500px;line-height:var(--line-height-relaxed)}.error-state-retry{display:inline-flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-6);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-normal)}.error-state-retry:hover{background:var(--color-primary-hover);transform:translate3d(0,-1px,0);box-shadow:var(--shadow-emerald-glow)}.error-state-retry:active{transform:translateZ(0)}.error-state-retry svg{animation:rotate-icon .6s ease-in-out}.error-state-retry:hover svg{animation:rotate-icon-continuous 1s linear infinite}@keyframes rotate-icon{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes rotate-icon-continuous{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 767px){.error-state{padding:var(--spacing-6);min-height:250px}.error-state-icon{font-size:2.5rem}}@media (prefers-reduced-motion: reduce){.error-state-icon{animation:none}.error-state-retry svg{animation:none!important}}.ripple-button{position:relative;overflow:hidden}.ripple-effect{position:absolute;border-radius:var(--radius-full);background-color:var(--color-primary-500);width:20px;height:20px;animation:ripple .6s ease-out;pointer-events:none}.toast{position:fixed;bottom:var(--spacing-lg);right:var(--spacing-lg);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-surface);border-left:4px solid var(--color-primary-500);box-shadow:var(--shadow-lg);border-radius:var(--radius-lg);display:flex;align-items:center;gap:var(--spacing-sm);opacity:0;transform:translate3d(100%,0,0);transition:all var(--timing-medium) ease-out;z-index:1000;max-width:400px;-webkit-backdrop-filter:blur(var(--blur-md));backdrop-filter:blur(var(--blur-md))}.toast-visible{opacity:1;transform:translateZ(0)}.toast-success{border-left-color:var(--color-success)}.toast-achievement{border-left-color:var(--color-warning);background:linear-gradient(135deg,#fbbf2426,#f59e0b1a);box-shadow:var(--shadow-glow-md)}.toast-info{border-left-color:var(--color-primary-400)}.toast-icon{font-size:var(--text-lg);flex-shrink:0}.toast-message{font-size:var(--text-0-9rem);color:var(--text-primary);line-height:var(--leading-1-7)}@media (max-width: 767px){.toast{bottom:var(--spacing-4);right:var(--spacing-4);left:var(--spacing-4);max-width:none}}@media (prefers-reduced-motion: reduce){.toast{transition:opacity var(--timing-fast) ease-out;transform:none}.toast-visible{transform:none}}.text-block:hover{position:relative}body.shift-pressed .text-block:hover{transform:translate3d(0,-4px,0) scale(1.1);z-index:100;box-shadow:var(--shadow-xl);transition:transform var(--timing-medium) cubic-bezier(.34,1.56,.64,1)}body.shift-pressed .table-cell:hover{transform:scale(1.15);z-index:100;box-shadow:var(--shadow-xl);transition:transform var(--timing-medium) cubic-bezier(.34,1.56,.64,1)}@media (prefers-reduced-motion: reduce){body.shift-pressed .text-block:hover,body.shift-pressed .table-cell:hover{transform:none;transition:box-shadow var(--timing-fast) ease-out}}
