@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--background: 0 0% 100%;--foreground: 240 10% 3.9%;--card: 0 0% 100%;--card-foreground: 240 10% 3.9%;--popover: 0 0% 100%;--popover-foreground: 240 10% 3.9%;--primary: 240 5.9% 10%;--primary-foreground: 0 0% 98%;--secondary: 240 4.8% 95.9%;--secondary-foreground: 240 5.9% 10%;--muted: 240 4.8% 95.9%;--muted-foreground: 240 3.8% 46.1%;--accent: 240 4.8% 95.9%;--accent-foreground: 240 5.9% 10%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 0 0% 98%;--success: 142 76% 36%;--success-foreground: 0 0% 98%;--border: 240 5.9% 90%;--input: 240 5.9% 90%;--ring: 240 5.9% 10%;--radius: .5rem;--space-3xs: .125rem;--space-2xs: .25rem;--space-xs: .375rem;--space-sm: .5rem;--space-md: .75rem;--space-lg: 1rem;--space-xl: 1.5rem;--space-2xl: 2rem;--space-bench: clamp(1rem, 2.5vw, 1.75rem);--header-h: 3.3125rem;--z-modal: 200}.dark,[data-theme=dark]{--background: 240 10% 3.9%;--foreground: 0 0% 98%;--card: 240 10% 3.9%;--card-foreground: 0 0% 98%;--popover: 240 10% 3.9%;--popover-foreground: 0 0% 98%;--primary: 0 0% 98%;--primary-foreground: 240 5.9% 10%;--secondary: 240 3.7% 15.9%;--secondary-foreground: 0 0% 98%;--muted: 240 3.7% 15.9%;--muted-foreground: 240 5% 64.9%;--accent: 240 3.7% 15.9%;--accent-foreground: 0 0% 98%;--destructive: 0 62.8% 30.6%;--destructive-foreground: 0 0% 98%;--success: 142 69% 58%;--success-foreground: 240 10% 3.9%;--border: 240 3.7% 15.9%;--input: 240 3.7% 15.9%;--ring: 240 4.9% 83.9%}*{margin:0;padding:0;box-sizing:border-box;border-color:hsl(var(--border))}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1.5;color:hsl(var(--foreground));background:hsl(var(--background));min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}:focus:not(:focus-visible){outline:none}@keyframes panel-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes welcome-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.header{background:hsl(var(--card));border-bottom:1px solid hsl(var(--border));padding:var(--space-md) var(--space-bench);position:sticky;top:0;z-index:50}.header-inner{width:100%;max-width:100%;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.logo{font-size:1.125rem;font-weight:700;color:hsl(var(--foreground));text-decoration:none;letter-spacing:-.02em;display:flex;align-items:center;gap:.5rem}.logo:hover{opacity:.8}.nav{display:flex;align-items:center;gap:1rem}.status{display:inline-flex;align-items:center;gap:.5rem;font-size:.75rem;color:hsl(var(--muted-foreground));padding:.25rem .625rem;background:hsl(var(--muted));border-radius:9999px;font-weight:500}.status-dot{width:6px;height:6px;background:hsl(var(--success));border-radius:50%;flex-shrink:0}.status.offline .status-dot{background:hsl(var(--destructive))}.header-btn{min-height:36px;padding:0 .65rem;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid hsl(var(--border));border-radius:var(--radius);color:hsl(var(--foreground));cursor:pointer;font-size:.75rem;font-weight:500;transition:background-color .15s ease,border-color .15s ease}.header-btn:hover{background:hsl(var(--accent));border-color:hsl(var(--accent))}.theme-toggle-label{line-height:1}.theme-toggle{padding:0 .65rem}.layout-toggle{padding:0 .75rem}.hidden{display:none}.checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem;color:hsl(var(--foreground))}.checkbox input{width:16px;height:16px;accent-color:hsl(var(--primary));cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%;background:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;padding:.5rem 1rem;border-radius:var(--radius);font-size:.8125rem;font-weight:500;cursor:pointer;transition:background-color .15s ease,opacity .15s ease}.btn:hover:not(:disabled){background:hsl(var(--primary) / .9)}.btn:active:not(:disabled){background:hsl(var(--primary) / .95)}.btn:disabled{opacity:.5;cursor:not-allowed}.progress{margin-top:0}.progress-bar{height:8px;background:hsl(var(--secondary));border-radius:9999px;overflow:hidden}.progress-fill{height:100%;background:hsl(var(--primary));border-radius:9999px;transition:width .3s ease}.download-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:hsl(var(--primary));color:hsl(var(--primary-foreground));padding:.5rem 1rem;border-radius:var(--radius);text-decoration:none;font-size:.8125rem;font-weight:500;margin-top:.5rem;transition:background-color .15s ease,opacity .15s ease}.download-btn:hover{background:hsl(var(--primary) / .9);opacity:.9}.download-btn:active{background:hsl(var(--primary) / .95)}.app-welcome-overlay{position:fixed;top:var(--header-h);left:220px;right:280px;bottom:0;z-index:40;display:flex;align-items:center;justify-content:flex-start;padding:var(--space-bench) var(--space-bench) var(--space-bench) var(--space-2xl);background:hsl(var(--background));border:2px dashed hsl(var(--border));border-radius:var(--radius);margin:var(--space-sm);transition:border-color .15s ease,background-color .15s ease;animation:welcome-in .3s ease}.app-welcome-overlay:hover{border-color:hsl(var(--primary) / .5);background:hsl(var(--accent) / .3)}.welcome-content{max-width:min(22rem,100%)}.welcome-icon{width:64px;height:50px;margin-bottom:1rem;border:2px solid hsl(var(--muted-foreground));border-radius:8px;opacity:.5;position:relative}.welcome-icon:before{content:"";position:absolute;top:-10px;left:8px;width:24px;height:10px;border:2px solid hsl(var(--muted-foreground));border-bottom:none;border-radius:5px 5px 0 0}.welcome-content h2{font-size:clamp(1.125rem,2.5vw,1.35rem);font-weight:600;color:hsl(var(--foreground));margin-bottom:var(--space-sm);letter-spacing:-.02em;line-height:1.25}.welcome-content p{font-size:.875rem;color:hsl(var(--muted-foreground));line-height:1.55;max-width:36ch}.app-layout{display:grid;grid-template-columns:minmax(192px,228px) minmax(0,1fr) minmax(220px,300px);height:calc(100vh - var(--header-h));overflow:hidden}.app-layout>.panel{min-width:0;animation:panel-enter .25s ease forwards}.app-layout>.panel:nth-child(1){animation-delay:0ms}.preview-split{min-width:0;min-height:0;display:flex;overflow:hidden}.preview-split-horizontal{flex-direction:row}.preview-split-vertical{flex-direction:column}.preview-split>.panel{min-width:0;min-height:0;flex:1 1 0;animation:panel-enter .25s ease forwards}.preview-split>.panel:nth-child(1){animation-delay:50ms}.preview-split>.panel:nth-child(2){animation-delay:.1s}.app-layout>.panel:nth-child(3){animation-delay:.15s}@media (max-width: 1200px){.app-layout{grid-template-columns:minmax(176px,200px) minmax(0,1fr) minmax(200px,260px)}.preview-split-horizontal{flex-direction:row}.app-welcome-overlay{left:200px;right:260px}}@media (max-width: 768px){:root{--header-h: 3.5rem;--space-bench: var(--space-md)}body{overflow-x:clip}.header{padding:var(--space-sm) var(--space-md)}.logo{font-size:1rem}.nav{gap:var(--space-sm)}.status{max-width:min(42vw,11rem);padding:var(--space-2xs) var(--space-sm)}.status>span:not(.status-dot){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-btn{min-width:44px;min-height:44px;padding:0 var(--space-sm)}.app-welcome-overlay{top:calc(var(--header-h) + var(--space-sm));left:var(--space-sm);right:var(--space-sm);bottom:var(--space-sm);padding:var(--space-lg);justify-content:center;align-items:stretch;margin:0}.welcome-content{max-width:100%;text-align:left}.welcome-content p{max-width:none}.app-layout{display:flex;flex-direction:column;height:auto;min-height:calc(100vh - var(--header-h));min-height:calc(100dvh - var(--header-h));overflow:visible}.app-layout>.panel{min-width:0;border-right:none;border-bottom:1px solid hsl(var(--border));flex-shrink:0}.app-layout>.panel:last-of-type{border-bottom:none}.preview-split{display:flex;flex-direction:column;min-width:0;flex-shrink:0}.preview-split>.panel{border-right:none;border-bottom:1px solid hsl(var(--border))}.preview-split>.panel:last-child{border-bottom:none}.app-layout>.panel:nth-child(1){max-height:min(40vh,20rem);min-height:0;display:flex;flex-direction:column}.app-layout>.panel:nth-child(1) .panel-body{flex:1;min-height:0;overflow:hidden;padding:var(--space-md);gap:var(--space-md)}.file-tree-list{flex:1;min-height:0}.file-tree-item{min-height:44px;align-items:center}.file-tree-remove{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.preview-split>.panel{display:flex;flex-direction:column;flex-shrink:0;max-height:none;overflow:hidden}.preview-split>.panel .panel-body{display:flex;flex-direction:column;flex:0 1 auto;min-height:min(44vh,24rem);max-height:min(78vh,42rem);overflow:hidden;padding:var(--space-sm) var(--space-md)}.app-layout .preview-area{flex:1 1 auto;min-height:0;overflow:auto;padding:var(--space-md);-webkit-overflow-scrolling:touch}.preview-content>.preview-image,.preview-content>.preview-video{max-height:min(65vh,520px);width:auto}.app-layout>.panel:nth-child(3){flex:1 1 auto;min-height:min(48vh,24rem)}.app-layout>.panel:nth-child(3) .panel-body{padding:var(--space-md);padding-bottom:calc(var(--space-md) + env(safe-area-inset-bottom,0px))}.file-tree-list,.chat-messages,.preview-content{-webkit-overflow-scrolling:touch}.chat-messages{gap:var(--space-sm)}.compress-actions .btn{min-height:48px;font-size:.875rem}.download-btn{min-height:44px;padding:var(--space-sm) var(--space-lg)}.checkbox{min-height:44px;align-items:center}}.panel{display:flex;flex-direction:column;background:hsl(var(--card));border-right:1px solid hsl(var(--border));overflow:hidden}.panel:last-of-type{border-right:none}.panel-header{padding:var(--space-sm) var(--space-lg);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:hsl(var(--muted-foreground));background:hsl(var(--muted) / .5);border-bottom:1px solid hsl(var(--border));flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel-body{flex:1;min-height:0;overflow:auto;padding:var(--space-md) var(--space-lg)}.app-layout>.panel:nth-child(1) .panel-body{display:flex;flex-direction:column;gap:var(--space-lg)}.app-layout>.panel:nth-child(2) .panel-body,.app-layout>.panel:nth-child(3) .panel-body{display:flex;flex-direction:column;gap:var(--space-sm);overflow:hidden;padding:var(--space-md) var(--space-lg)}.app-layout .preview-area{flex:1;min-height:0;margin:0}.app-layout>.panel:nth-child(4) .panel-body{display:flex;flex-direction:column;overflow:hidden;gap:0;padding:var(--space-lg)}.file-tree-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-xs);flex:1;min-height:0;overflow-y:auto}.file-tree-dropzone{flex-shrink:0;border:1px dashed hsl(var(--border));border-radius:var(--radius);padding:var(--space-lg);text-align:center;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.file-tree-dropzone:hover,.file-tree-dropzone.drag-over{border-color:hsl(var(--primary));background:hsl(var(--accent))}.file-tree-dropzone p{font-size:.8125rem;color:hsl(var(--muted-foreground));font-weight:500}.file-tree-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:calc(var(--radius) - 2px);cursor:pointer;font-size:.8125rem;transition:background-color .1s ease;border:1px solid transparent}.file-tree-item-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.file-tree-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:hsl(var(--foreground))}.file-tree-size{font-size:.6875rem;color:hsl(var(--muted-foreground))}.file-tree-item:hover{background:hsl(var(--accent))}.file-tree-item.active{background:hsl(var(--accent));border-color:hsl(var(--border))}.file-tree-item.active .file-tree-name{font-weight:500}.file-tree-icon{font-size:.5625rem;font-weight:600;letter-spacing:.04em;flex-shrink:0;min-width:1.75rem;text-align:center;color:hsl(var(--muted-foreground));line-height:1.2}.file-tree-remove{background:none;border:none;color:hsl(var(--muted-foreground));cursor:pointer;font-size:1rem;line-height:1;opacity:.5;padding:.125rem;border-radius:calc(var(--radius) - 4px);transition:opacity .1s ease,color .1s ease,background-color .1s ease}.file-tree-remove:hover{opacity:1;color:hsl(var(--destructive));background:hsl(var(--destructive) / .1)}.preview-area{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:12.5rem;padding:var(--space-lg);background:hsl(var(--muted) / .3);border-radius:var(--radius);overflow:auto}.preview-area>.preview-placeholder{align-self:center;flex:1;display:flex;flex-direction:column;justify-content:center;margin-inline:auto;max-width:22rem}.preview-content{flex:1;min-height:200px;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:auto}.preview-content>.preview-image,.preview-content>.preview-video,.preview-content img,.preview-content video{max-width:100%;max-height:min(55vh,520px);width:auto;height:auto;object-fit:contain;border-radius:calc(var(--radius) - 2px)}.preview-placeholder{font-size:.8125rem;color:hsl(var(--muted-foreground));text-align:center;padding:1rem}.preview-placeholder-icon{font-size:2rem;margin-bottom:.5rem;opacity:.5}.preview-placeholder-icon--error{color:hsl(var(--destructive))}.preview-filename{font-weight:500;font-size:.8125rem;color:hsl(var(--foreground));margin-bottom:.25rem;word-break:break-all}.preview-hint{font-size:.75rem;margin-top:.25rem;color:hsl(var(--muted-foreground))}.chat-messages{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-md);padding-bottom:var(--space-sm)}.chat-message{font-size:.8125rem;padding:var(--space-md) var(--space-lg);border-radius:calc(var(--radius) - 2px);background:hsl(var(--muted));border:1px solid hsl(var(--border));line-height:1.55}.chat-message.result.error{background:hsl(var(--destructive) / .1);border-color:hsl(var(--destructive) / .2);color:hsl(var(--destructive))}.chat-message.result.success{background:hsl(var(--success) / .1);border-color:hsl(var(--success) / .2);color:hsl(var(--success))}.chat-progress{display:flex;flex-direction:column;gap:var(--space-xs)}.chat-progress-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);font-size:.75rem;color:hsl(var(--muted-foreground))}.chat-progress-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-progress-percent{flex-shrink:0;font-variant-numeric:tabular-nums;color:hsl(var(--foreground))}.chat-input-area{flex-shrink:0;margin-top:auto;padding-top:var(--space-lg);border-top:1px solid hsl(var(--border));display:flex;flex-direction:column;gap:var(--space-md)}.chat-input-area .checkbox{margin-bottom:0}.chat-hint{margin:0;font-size:.75rem;color:hsl(var(--muted-foreground));line-height:1.45}.chat-browser-note{font-size:.8125rem;font-weight:600;color:hsl(var(--muted-foreground))}.chat-messages .download-btn{align-self:flex-start;margin-top:var(--space-2xs)}.compress-actions{display:flex;gap:var(--space-sm);margin-top:0}.compress-actions .btn{flex:1;padding:.5rem .75rem;font-size:.8125rem}.preview-text{width:100%;max-height:100%;overflow:auto;margin:0;padding:.75rem;font-size:.75rem;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;background:hsl(var(--muted) / .5);border-radius:calc(var(--radius) - 2px);white-space:pre-wrap;word-break:break-word;color:hsl(var(--foreground))}.preview-docx{width:100%;max-height:100%;overflow:auto;padding:.75rem;font-size:.8125rem;line-height:1.6;background:hsl(var(--background))}.preview-docx p{margin-bottom:.5rem}.preview-docx h1,.preview-docx h2,.preview-docx h3{margin:.75rem 0 .5rem;font-weight:600}.preview-docx ul,.preview-docx ol{margin-left:1.25rem}.preview-docx table{border-collapse:collapse;width:100%}.preview-docx th,.preview-docx td{border:1px solid hsl(var(--border));padding:.375rem}.preview-xlsx{width:100%;max-height:100%;overflow:auto;font-size:.75rem}.preview-xlsx table{border-collapse:collapse;width:100%}.preview-xlsx th,.preview-xlsx td{border:1px solid hsl(var(--border));padding:.25rem .5rem}.preview-xlsx th{background:hsl(var(--muted));font-weight:500}.preview-pdf{display:flex;flex-direction:column;align-items:center;gap:.5rem}.preview-pptx{width:100%;text-align:left;font-size:.8125rem;line-height:1.5;color:hsl(var(--foreground))}.preview-pptx-slide{margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid hsl(var(--border))}.preview-pptx-slide:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.preview-pptx-slide-title{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:hsl(var(--muted-foreground));margin:0 0 .5rem}.preview-pptx-line{margin:0 0 .35rem}.preview-pptx-empty{margin:0;font-style:italic;color:hsl(var(--muted-foreground))}.preview-pptx--text-fallback{padding-top:var(--space-sm)}.preview-pptx-fallback-note{font-size:.75rem;color:hsl(var(--muted-foreground));margin-bottom:var(--space-md);padding:var(--space-sm) var(--space-md);background:hsl(var(--muted) / .45);border-radius:var(--radius);border:1px solid hsl(var(--border))}.preview-pptx-visual{position:relative;width:100%;align-self:stretch;min-height:min(48vh,26rem)}.preview-pptx-visual-loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;align-items:center;justify-content:center;text-align:center;padding:var(--space-lg);font-size:.8125rem;color:hsl(var(--muted-foreground));background:hsl(var(--background) / .9);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.preview-pptx-viewer-host{width:100%;min-height:min(44vh,22rem)}.preview-content .preview-pptx-visual{align-items:stretch}.preview-page-note{font-size:.6875rem;color:hsl(var(--muted-foreground))}.preview-download{padding:1rem;text-align:center}.preview-empty .preview-placeholder-icon{opacity:.3}.preview-loading .preview-placeholder-icon{display:none}.preview-spinner{width:32px;height:32px;margin:0 auto .75rem;border:2px solid hsl(var(--border));border-top-color:hsl(var(--primary));border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.preview-error{border-style:dashed}.preview-error .preview-placeholder-icon{opacity:.6}.error-boundary{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:hsl(var(--background));z-index:var(--z-modal)}.error-boundary-content{text-align:center;padding:2rem;max-width:400px}.error-boundary h2{font-size:1.25rem;font-weight:600;color:hsl(var(--foreground));margin-bottom:.75rem}.error-boundary p{color:hsl(var(--muted-foreground));margin-bottom:1.5rem;font-size:.875rem;line-height:1.5}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.app-layout>.panel{animation:none;opacity:1}.app-welcome-overlay,.preview-spinner{animation:none}}
